commit 62d4fe8fe9042df6a07d3da56359d0e05d2d423c Author: Wayne Date: Tue Jan 16 08:22:19 2024 +0800 init diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..3551e1e --- /dev/null +++ b/.gitignore @@ -0,0 +1,4 @@ +data/ +app/public/storage/* +nuxt/ +web.bak/ diff --git a/.vscode/sftp.json b/.vscode/sftp.json new file mode 100644 index 0000000..724b4a9 --- /dev/null +++ b/.vscode/sftp.json @@ -0,0 +1,12 @@ +{ + "name": "My Server", + "host": "207.148.89.145", + "protocol": "sftp", + "port": 22, + "username": "root", + "password": "J2.bMKoPJXt[=ooM", + "remotePath": "/www/wwwroot/prodio.zltest.com.tw/", + "uploadOnSave": true, + "useTempFile": false, + "openSsh": false +} diff --git a/README.md b/README.md new file mode 100644 index 0000000..e69de29 diff --git a/admin/.env.development b/admin/.env.development new file mode 100644 index 0000000..5351128 --- /dev/null +++ b/admin/.env.development @@ -0,0 +1,9 @@ +NODE_ENV = development + +VITE_ENV = development + +VITE_APP_BASE_URL = https://prodio.zltest.com.tw/ + +VITE_APP_API_URL = https://prodio.zltest.com.tw/adminapi + +VITE_APP_IMAGE_URL = https://prodio.zltest.com.tw/storage diff --git a/admin/.env.production b/admin/.env.production new file mode 100644 index 0000000..a71763c --- /dev/null +++ b/admin/.env.production @@ -0,0 +1,9 @@ +NODE_ENV = development + +VITE_ENV = development + +VITE_APP_BASE_URL = https://prodio.zltest.com.tw + +VITE_APP_API_URL = https://prodio.zltest.com.tw/adminapi + +VITE_APP_IMAGE_URL = https://prodio.zltest.com.tw/storage \ No newline at end of file diff --git a/admin/.gitignore b/admin/.gitignore new file mode 100644 index 0000000..a547bf3 --- /dev/null +++ b/admin/.gitignore @@ -0,0 +1,24 @@ +# Logs +logs +*.log +npm-debug.log* +yarn-debug.log* +yarn-error.log* +pnpm-debug.log* +lerna-debug.log* + +node_modules +dist +dist-ssr +*.local + +# Editor directories and files +.vscode/* +!.vscode/extensions.json +.idea +.DS_Store +*.suo +*.ntvs* +*.njsproj +*.sln +*.sw? diff --git a/admin/.vscode/extensions.json b/admin/.vscode/extensions.json new file mode 100644 index 0000000..c0a6e5a --- /dev/null +++ b/admin/.vscode/extensions.json @@ -0,0 +1,3 @@ +{ + "recommendations": ["Vue.volar", "Vue.vscode-typescript-vue-plugin"] +} diff --git a/admin/README.md b/admin/README.md new file mode 100644 index 0000000..8bc4134 --- /dev/null +++ b/admin/README.md @@ -0,0 +1 @@ +後台 diff --git a/admin/ckeditor5/LICENSE.md b/admin/ckeditor5/LICENSE.md new file mode 100644 index 0000000..ff91115 --- /dev/null +++ b/admin/ckeditor5/LICENSE.md @@ -0,0 +1,49 @@ +Software License Agreement +========================== + +Copyright (c) 2014-2024, CKSource Holding sp. z o.o. All rights reserved. + +Online builder code samples are licensed under the terms of the MIT License (see Appendix A): + + http://en.wikipedia.org/wiki/MIT_License + +CKEditor 5 collaboration features are only available under a commercial license. [Contact us](https://ckeditor.com/contact/) for more details. + +Free 30-days trials of CKEditor 5 collaboration features are available: + * https://ckeditor.com/collaboration/ - Real-time collaboration (with all features). + * https://ckeditor.com/collaboration/comments/ - Inline comments feature (without real-time collaborative editing). + * https://ckeditor.com/collaboration/track-changes/ - Track changes feature (without real-time collaborative editing). + +Trademarks +---------- + +CKEditor is a trademark of CKSource Holding sp. z o.o. All other brand +and product names are trademarks, registered trademarks or service +marks of their respective holders. + +--- + +Appendix A: The MIT License +--------------------------- + +The MIT License (MIT) + +Copyright (c) 2014-2024, CKSource Holding sp. z o.o. + +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/admin/ckeditor5/README.md b/admin/ckeditor5/README.md new file mode 100644 index 0000000..3f92ec0 --- /dev/null +++ b/admin/ckeditor5/README.md @@ -0,0 +1,60 @@ +# CKEditor 5 editor generated with the online builder + +This repository presents a CKEditor 5 editor build generated by the [Online builder tool](https://ckeditor.com/ckeditor-5/online-builder) + +## Quick start + +1. Open the `sample/index.html` page in the browser. + +2. Fill the prompt with the license key. If you do not have the license key yet [contact us](https://ckeditor.com/contact/). + +## Configuring build + +Changes like changing toolbar items, changing order of icons or customizing plugin configurations should be relatively easy to make. Open the `sample/index.html` file and edit the script that initialized the CKEditor 5. Save the file and refresh the browser. That's all. + +*Note:* If you have any problems with browser caching use the `Ctrl + R` or `Cmd + R` shortcut depending on your system. + +However if you want to remove or add a plugin to the build you need to follow the next step of this guide. + +Note that it is also possible to go back to the [Online builder tool](https://ckeditor.com/ckeditor-5/online-builder) and pick other set of plugins. But we encourage you to try the harder way and to learn the principles of Node.js and CKEditor 5 ecosystems that will allow you to do more cool things in the future! + +### Installation + +In order to rebuild the application you need to install all dependencies first. To do it, open the terminal in the project directory and type: + +``` +npm install +``` + +Make sure that you have the `node` and `npm` installed first. If not, then follow the instructions on the [Node.js documentation page](https://nodejs.org/en/). + +### Adding or removing plugins + +Now you can install additional plugin in the build. Just follow the [Adding a plugin to an editor tutorial](https://ckeditor.com/docs/ckeditor5/latest/builds/guides/integration/installing-plugins.html#adding-a-plugin-to-an-editor) + +### Rebuilding editor + +If you have already done the [Installation](#installation) and [Adding or removing plugins](#adding-or-removing-plugins) steps, you're ready to rebuild the editor by running the following command: + +``` +npm run build +``` + +This will build the CKEditor 5 to the `build` directory. You can open your browser and you should be able to see the changes you've made in the code. If not, then try to refresh also the browser cache by typing `Ctrl + R` or `Cmd + R` depending on your system. + +## What's next? + +Follow the guides available on https://ckeditor.com/docs/ckeditor5/latest/framework/index.html and enjoy the document editing. + +## FAQ +| Where is the place to report bugs and feature requests? + +You can create an issue on https://github.com/ckeditor/ckeditor5/issues including the build id - `jqm6bng4zmtr-n2qr6fdzw2rs`. Make sure that the question / problem is unique, please look for a possibly asked questions in the search box. Duplicates will be closed. + +| Where can I learn more about the CKEditor 5 framework? + +Here: https://ckeditor.com/docs/ckeditor5/latest/framework/ + +| Is it possible to use online builder with common frameworks like React, Vue or Angular? + +Not yet, but it these integrations will be available at some point in the future. diff --git a/admin/ckeditor5/build/ckeditor.d.ts b/admin/ckeditor5/build/ckeditor.d.ts new file mode 100644 index 0000000..8075510 --- /dev/null +++ b/admin/ckeditor5/build/ckeditor.d.ts @@ -0,0 +1,32 @@ +/** + * @license Copyright (c) 2014-2024, CKSource Holding sp. z o.o. All rights reserved. + * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license + */ +import { ClassicEditor } from '@ckeditor/ckeditor5-editor-classic'; +import { Autoformat } from '@ckeditor/ckeditor5-autoformat'; +import { Bold, Italic } from '@ckeditor/ckeditor5-basic-styles'; +import { BlockQuote } from '@ckeditor/ckeditor5-block-quote'; +import { CloudServices } from '@ckeditor/ckeditor5-cloud-services'; +import type { EditorConfig } from '@ckeditor/ckeditor5-core'; +import { Essentials } from '@ckeditor/ckeditor5-essentials'; +import { FontColor } from '@ckeditor/ckeditor5-font'; +import { Heading } from '@ckeditor/ckeditor5-heading'; +import { GeneralHtmlSupport } from '@ckeditor/ckeditor5-html-support'; +import { AutoImage, Image, ImageCaption, ImageResize, ImageStyle, ImageToolbar, ImageUpload } from '@ckeditor/ckeditor5-image'; +import { Indent } from '@ckeditor/ckeditor5-indent'; +import { Link } from '@ckeditor/ckeditor5-link'; +import { List } from '@ckeditor/ckeditor5-list'; +import { MediaEmbed } from '@ckeditor/ckeditor5-media-embed'; +import { Paragraph } from '@ckeditor/ckeditor5-paragraph'; +import { PasteFromOffice } from '@ckeditor/ckeditor5-paste-from-office'; +import { SourceEditing } from '@ckeditor/ckeditor5-source-editing'; +import { Style } from '@ckeditor/ckeditor5-style'; +import { Table, TableToolbar } from '@ckeditor/ckeditor5-table'; +import { TextTransformation } from '@ckeditor/ckeditor5-typing'; +import { Undo } from '@ckeditor/ckeditor5-undo'; +import { SimpleUploadAdapter } from '@ckeditor/ckeditor5-upload'; +declare class Editor extends ClassicEditor { + static builtinPlugins: (typeof AutoImage | typeof Autoformat | typeof BlockQuote | typeof Bold | typeof CloudServices | typeof Essentials | typeof FontColor | typeof GeneralHtmlSupport | typeof Heading | typeof Image | typeof ImageCaption | typeof ImageResize | typeof ImageStyle | typeof ImageToolbar | typeof ImageUpload | typeof Indent | typeof Italic | typeof Link | typeof List | typeof MediaEmbed | typeof Paragraph | typeof PasteFromOffice | typeof SimpleUploadAdapter | typeof SourceEditing | typeof Style | typeof Table | typeof TableToolbar | typeof TextTransformation | typeof Undo)[]; + static defaultConfig: EditorConfig; +} +export default Editor; diff --git a/admin/ckeditor5/build/ckeditor.js b/admin/ckeditor5/build/ckeditor.js new file mode 100644 index 0000000..505980e --- /dev/null +++ b/admin/ckeditor5/build/ckeditor.js @@ -0,0 +1,6 @@ +(function(t){const e=t["zh"]=t["zh"]||{};e.dictionary=Object.assign(e.dictionary||{},{"%0 of %1":"%0/%1",Accept:"接受","Align cell text to the bottom":"向下對齊","Align cell text to the center":"置中對齊","Align cell text to the left":"靠左對齊","Align cell text to the middle":"置中對齊","Align cell text to the right":"靠右對齊","Align cell text to the top":"向上對齊","Align table to the left":"靠左對齊","Align table to the right":"靠右對齊",Alignment:"對齊",Aquamarine:"淺綠色",Background:"背景顏色",Big:"大",Black:"黑色","Block quote":"段落引用","Block styles":"區塊樣式",Blue:"藍色",Bold:"粗體",Border:"邊框","Break text":"上及下","Bulleted List":"符號清單","Bulleted list styles toolbar":"無序清單工具列",Cancel:"取消","Caption for image: %0":"影像標題:%0","Caption for the image":"影像的標題","Cell properties":"儲存格屬性","Center table":"置中對齊","Centered image":"置中圖片","Change image text alternative":"修改圖片的替代文字","Choose heading":"選取標題",Circle:"空心圓點",Clear:"清除","Click to edit block":"點擊來編輯區塊",Code:"代碼",Color:"文字顏色","Color picker":"顏色選擇",Column:"欄",Dashed:"虛線",Decimal:"數字","Decimal with leading zero":"0開頭的數字","Decrease indent":"減少縮排",Default:"預設","Delete column":"刪除欄","Delete row":"刪除列","Dim grey":"淡灰色",Dimensions:"尺寸",Disc:"實心圓點","Document colors":"文件顏色",Dotted:"點線",Double:"雙線",Downloadable:"可下載","Drag to move":"拖曳來移動","Dropdown toolbar":"下拉選單","Edit block":"編輯區塊","Edit link":"編輯連結","Editor block content toolbar":"編輯器區塊內容工具列","Editor contextual toolbar":"編輯器關聯式工具列","Editor editing area: %0":"編輯器編輯區:%0","Editor toolbar":"編輯器工具","Enter image caption":"輸入圖片說明","Enter table caption":"輸入表標題","Font Background Color":"前景顏色","Font Color":"字體顏色","Font Family":"字型","Font Size":"字體大小","Full size image":"完整尺寸圖片",Green:"綠色",Grey:"灰色",Groove:"內凹線","Header column":"標題欄","Header row":"標題列",Heading:"標題","Heading 1":"標題 1","Heading 2":"標題 2","Heading 3":"標題 3","Heading 4":"標題 4","Heading 5":"標題 5","Heading 6":"標題 6",Height:"高度",HEX:"十六進位","Horizontal text alignment toolbar":"水平對齊","HTML object":"HTML 物件",Huge:"特大","Image resize list":"圖片縮放清單","Image toolbar":"圖片工具","image widget":"圖片小工具","In line":"行中","Increase indent":"增加縮排",Insert:"插入","Insert column left":"插入左方欄","Insert column right":"插入右方欄","Insert image":"插入圖片","Insert image via URL":"使用連結插入圖片","Insert media":"插入影音","Insert paragraph after block":"在這個區塊後面插入一個段落","Insert paragraph before block":"在這個區塊前面插入一個段落","Insert row above":"插入上方列","Insert row below":"插入下方列","Insert table":"插入表格",Inset:"內邊線",Italic:"斜體","Justify cell text":"分散對齊","Left aligned image":"向左對齊圖片","Light blue":"亮藍色","Light green":"亮綠色","Light grey":"亮灰色",Link:"連結","Link image":"圖片連結","Link URL":"連結˙ URL","List properties":"清單屬性","Lower-latin":"小寫拉丁字母","Lower–roman":"小寫羅馬數字","Media toolbar":"影音工具","Media URL":"影音網址","media widget":"影音小工具","Merge cell down":"合併下方儲存格","Merge cell left":"合併左方儲存格","Merge cell right":"合併右方儲存格","Merge cell up":"合併上方儲存格","Merge cells":"合併儲存格","Multiple styles":"多重樣式",Next:"下一","No results found":"找不到結果","No searchable items":"沒有可搜尋的項目",None:"無","Numbered List":"有序清單","Numbered list styles toolbar":"有序清單工具列","Open in a new tab":"在新視窗開啟","Open link in new tab":"在新視窗開啟連結","Open media in new tab":"在新分頁打開媒體",Orange:"橘色",Original:"原始圖片",Outset:"外框線",Padding:"儲存格留白",Paragraph:"段落","Paste the media URL in the input.":"在輸入框貼上影音網址。","Press Enter to type after or press Shift + Enter to type before the widget":"按下 Enter 在小工具後輸入,或按下 Shift + Enter 在小工具前輸入",Previous:"上一",Purple:"紫色",Red:"紅色",Redo:"重做","Remove color":"移除顏色","Replace from computer":"從電腦替換","Replace image":"替換圖片","Replace image from computer":"從電腦替換圖片","Resize image":"縮放圖片","Resize image to %0":"縮放圖片到 %0","Resize image to the original size":"縮放圖片到原始尺寸","Restore default":"重設至預設值","Reversed order":"反轉順序","Rich Text Editor":"富文本編輯器",Ridge:"凸起線","Right aligned image":"向右對齊圖片",Row:"列",Save:"儲存","Select all":"選取全部","Select column":"選擇欄","Select row":"選擇列","Show more items":"顯示更多","Side image":"側邊圖片",Small:"小",Solid:"實線",Source:"原始碼","Split cell horizontally":"水平分割儲存格","Split cell vertically":"垂直分割儲存格",Square:"方形","Start at":"起始於","Start index must be greater than 0.":"起始索引須大於 0。",Strikethrough:"刪除線",Style:"樣式",Styles:"樣式",Subscript:"下標",Superscript:"上標","Table alignment toolbar":"表格對齊","Table cell text alignment":"儲存格文字對齊","Table properties":"表格屬性","Table toolbar":"表格工具","Text alternative":"替代文字","Text styles":"文字樣式",'The color is invalid. Try "#FF0000" or "rgb(255,0,0)" or "red".':'顏色代碼錯誤。試試看 "#FF0000" 或 "rgb(255, 0, 0)" 或 "red"。',"The URL must not be empty.":"網址不能空白。",'The value is invalid. Try "10px" or "2em" or simply "2".':'尺寸代碼錯誤。試試看 "10px" 或 "2em" 或簡單寫 "2"。',"This link has no URL":"此連結沒有URL","This media URL is not supported.":"不支援此影音網址。",Tiny:"特小","Tip: Paste the URL into the content to embed faster.":"提示:在內容貼上網址更快崁入。","To-do List":"代辦清單","Toggle caption off":"關閉表標題","Toggle caption on":"開啟表標題","Toggle the circle list style":"切換為空心圓點標示","Toggle the decimal list style":"切換為數字標示","Toggle the decimal with leading zero list style":"切換為0開頭的數字標示","Toggle the disc list style":"切換為實心圓點標示","Toggle the lower–latin list style":"切換為小寫拉丁文字標示","Toggle the lower–roman list style":"切換為小寫羅馬數字標示","Toggle the square list style":"切換為方形標示","Toggle the upper–latin list style":"切換為大寫拉丁文字標示","Toggle the upper–roman list style":"切換為大寫羅馬數字標示",Turquoise:"藍綠色","Type or paste your content here.":"在此輸入或貼上你的內容。","Type your title":"輸入你的標題",Underline:"底線",Undo:"取消",Unlink:"移除連結",Update:"更新","Update image URL":"更新圖片連結","Upload failed":"上傳失敗","Upload from computer":"從電腦上傳","Upload image from computer":"從電腦上傳圖片","Upload in progress":"正在上傳","Upper-latin":"大寫拉丁字母","Upper-roman":"大寫羅馬數字","Vertical text alignment toolbar":"垂直對齊",White:"白色","Widget toolbar":"小工具",Width:"寬度","Wrap text":"文繞圖",Yellow:"黃色"});e.getPluralForm=function(t){return 0}})(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); +/*! + * @license Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved. + * For licensing, see LICENSE.md. + */(function t(e,n){if(typeof exports==="object"&&typeof module==="object")module.exports=n();else if(typeof define==="function"&&define.amd)define([],n);else if(typeof exports==="object")exports["ClassicEditor"]=n();else e["ClassicEditor"]=n()})(self,(()=>(()=>{var t={8168:(t,e,n)=>{const i=n(8874);const o={};for(const t of Object.keys(i)){o[i[t]]=t}const r={rgb:{channels:3,labels:"rgb"},hsl:{channels:3,labels:"hsl"},hsv:{channels:3,labels:"hsv"},hwb:{channels:3,labels:"hwb"},cmyk:{channels:4,labels:"cmyk"},xyz:{channels:3,labels:"xyz"},lab:{channels:3,labels:"lab"},lch:{channels:3,labels:"lch"},hex:{channels:1,labels:["hex"]},keyword:{channels:1,labels:["keyword"]},ansi16:{channels:1,labels:["ansi16"]},ansi256:{channels:1,labels:["ansi256"]},hcg:{channels:3,labels:["h","c","g"]},apple:{channels:3,labels:["r16","g16","b16"]},gray:{channels:1,labels:["gray"]}};t.exports=r;for(const t of Object.keys(r)){if(!("channels"in r[t])){throw new Error("missing channels property: "+t)}if(!("labels"in r[t])){throw new Error("missing channel labels property: "+t)}if(r[t].labels.length!==r[t].channels){throw new Error("channel and label counts mismatch: "+t)}const{channels:e,labels:n}=r[t];delete r[t].channels;delete r[t].labels;Object.defineProperty(r[t],"channels",{value:e});Object.defineProperty(r[t],"labels",{value:n})}r.rgb.hsl=function(t){const e=t[0]/255;const n=t[1]/255;const i=t[2]/255;const o=Math.min(e,n,i);const r=Math.max(e,n,i);const s=r-o;let a;let c;if(r===o){a=0}else if(e===r){a=(n-i)/s}else if(n===r){a=2+(i-e)/s}else if(i===r){a=4+(e-n)/s}a=Math.min(a*60,360);if(a<0){a+=360}const l=(o+r)/2;if(r===o){c=0}else if(l<=.5){c=s/(r+o)}else{c=s/(2-r-o)}return[a,c*100,l*100]};r.rgb.hsv=function(t){let e;let n;let i;let o;let r;const s=t[0]/255;const a=t[1]/255;const c=t[2]/255;const l=Math.max(s,a,c);const d=l-Math.min(s,a,c);const u=function(t){return(l-t)/6/d+1/2};if(d===0){o=0;r=0}else{r=d/l;e=u(s);n=u(a);i=u(c);if(s===l){o=i-n}else if(a===l){o=1/3+e-i}else if(c===l){o=2/3+n-e}if(o<0){o+=1}else if(o>1){o-=1}}return[o*360,r*100,l*100]};r.rgb.hwb=function(t){const e=t[0];const n=t[1];let i=t[2];const o=r.rgb.hsl(t)[0];const s=1/255*Math.min(e,Math.min(n,i));i=1-1/255*Math.max(e,Math.max(n,i));return[o,s*100,i*100]};r.rgb.cmyk=function(t){const e=t[0]/255;const n=t[1]/255;const i=t[2]/255;const o=Math.min(1-e,1-n,1-i);const r=(1-e-o)/(1-o)||0;const s=(1-n-o)/(1-o)||0;const a=(1-i-o)/(1-o)||0;return[r*100,s*100,a*100,o*100]};function s(t,e){return(t[0]-e[0])**2+(t[1]-e[1])**2+(t[2]-e[2])**2}r.rgb.keyword=function(t){const e=o[t];if(e){return e}let n=Infinity;let r;for(const e of Object.keys(i)){const o=i[e];const a=s(t,o);if(a.04045?((e+.055)/1.055)**2.4:e/12.92;n=n>.04045?((n+.055)/1.055)**2.4:n/12.92;i=i>.04045?((i+.055)/1.055)**2.4:i/12.92;const o=e*.4124+n*.3576+i*.1805;const r=e*.2126+n*.7152+i*.0722;const s=e*.0193+n*.1192+i*.9505;return[o*100,r*100,s*100]};r.rgb.lab=function(t){const e=r.rgb.xyz(t);let n=e[0];let i=e[1];let o=e[2];n/=95.047;i/=100;o/=108.883;n=n>.008856?n**(1/3):7.787*n+16/116;i=i>.008856?i**(1/3):7.787*i+16/116;o=o>.008856?o**(1/3):7.787*o+16/116;const s=116*i-16;const a=500*(n-i);const c=200*(i-o);return[s,a,c]};r.hsl.rgb=function(t){const e=t[0]/360;const n=t[1]/100;const i=t[2]/100;let o;let r;let s;if(n===0){s=i*255;return[s,s,s]}if(i<.5){o=i*(1+n)}else{o=i+n-i*n}const a=2*i-o;const c=[0,0,0];for(let t=0;t<3;t++){r=e+1/3*-(t-1);if(r<0){r++}if(r>1){r--}if(6*r<1){s=a+(o-a)*6*r}else if(2*r<1){s=o}else if(3*r<2){s=a+(o-a)*(2/3-r)*6}else{s=a}c[t]=s*255}return c};r.hsl.hsv=function(t){const e=t[0];let n=t[1]/100;let i=t[2]/100;let o=n;const r=Math.max(i,.01);i*=2;n*=i<=1?i:2-i;o*=r<=1?r:2-r;const s=(i+n)/2;const a=i===0?2*o/(r+o):2*n/(i+n);return[e,a*100,s*100]};r.hsv.rgb=function(t){const e=t[0]/60;const n=t[1]/100;let i=t[2]/100;const o=Math.floor(e)%6;const r=e-Math.floor(e);const s=255*i*(1-n);const a=255*i*(1-n*r);const c=255*i*(1-n*(1-r));i*=255;switch(o){case 0:return[i,c,s];case 1:return[a,i,s];case 2:return[s,i,c];case 3:return[s,a,i];case 4:return[c,s,i];case 5:return[i,s,a]}};r.hsv.hsl=function(t){const e=t[0];const n=t[1]/100;const i=t[2]/100;const o=Math.max(i,.01);let r;let s;s=(2-n)*i;const a=(2-n)*o;r=n*o;r/=a<=1?a:2-a;r=r||0;s/=2;return[e,r*100,s*100]};r.hwb.rgb=function(t){const e=t[0]/360;let n=t[1]/100;let i=t[2]/100;const o=n+i;let r;if(o>1){n/=o;i/=o}const s=Math.floor(6*e);const a=1-i;r=6*e-s;if((s&1)!==0){r=1-r}const c=n+r*(a-n);let l;let d;let u;switch(s){default:case 6:case 0:l=a;d=c;u=n;break;case 1:l=c;d=a;u=n;break;case 2:l=n;d=a;u=c;break;case 3:l=n;d=c;u=a;break;case 4:l=c;d=n;u=a;break;case 5:l=a;d=n;u=c;break}return[l*255,d*255,u*255]};r.cmyk.rgb=function(t){const e=t[0]/100;const n=t[1]/100;const i=t[2]/100;const o=t[3]/100;const r=1-Math.min(1,e*(1-o)+o);const s=1-Math.min(1,n*(1-o)+o);const a=1-Math.min(1,i*(1-o)+o);return[r*255,s*255,a*255]};r.xyz.rgb=function(t){const e=t[0]/100;const n=t[1]/100;const i=t[2]/100;let o;let r;let s;o=e*3.2406+n*-1.5372+i*-.4986;r=e*-.9689+n*1.8758+i*.0415;s=e*.0557+n*-.204+i*1.057;o=o>.0031308?1.055*o**(1/2.4)-.055:o*12.92;r=r>.0031308?1.055*r**(1/2.4)-.055:r*12.92;s=s>.0031308?1.055*s**(1/2.4)-.055:s*12.92;o=Math.min(Math.max(0,o),1);r=Math.min(Math.max(0,r),1);s=Math.min(Math.max(0,s),1);return[o*255,r*255,s*255]};r.xyz.lab=function(t){let e=t[0];let n=t[1];let i=t[2];e/=95.047;n/=100;i/=108.883;e=e>.008856?e**(1/3):7.787*e+16/116;n=n>.008856?n**(1/3):7.787*n+16/116;i=i>.008856?i**(1/3):7.787*i+16/116;const o=116*n-16;const r=500*(e-n);const s=200*(n-i);return[o,r,s]};r.lab.xyz=function(t){const e=t[0];const n=t[1];const i=t[2];let o;let r;let s;r=(e+16)/116;o=n/500+r;s=r-i/200;const a=r**3;const c=o**3;const l=s**3;r=a>.008856?a:(r-16/116)/7.787;o=c>.008856?c:(o-16/116)/7.787;s=l>.008856?l:(s-16/116)/7.787;o*=95.047;r*=100;s*=108.883;return[o,r,s]};r.lab.lch=function(t){const e=t[0];const n=t[1];const i=t[2];let o;const r=Math.atan2(i,n);o=r*360/2/Math.PI;if(o<0){o+=360}const s=Math.sqrt(n*n+i*i);return[e,s,o]};r.lch.lab=function(t){const e=t[0];const n=t[1];const i=t[2];const o=i/360*2*Math.PI;const r=n*Math.cos(o);const s=n*Math.sin(o);return[e,r,s]};r.rgb.ansi16=function(t,e=null){const[n,i,o]=t;let s=e===null?r.rgb.hsv(t)[2]:e;s=Math.round(s/50);if(s===0){return 30}let a=30+(Math.round(o/255)<<2|Math.round(i/255)<<1|Math.round(n/255));if(s===2){a+=60}return a};r.hsv.ansi16=function(t){return r.rgb.ansi16(r.hsv.rgb(t),t[2])};r.rgb.ansi256=function(t){const e=t[0];const n=t[1];const i=t[2];if(e===n&&n===i){if(e<8){return 16}if(e>248){return 231}return Math.round((e-8)/247*24)+232}const o=16+36*Math.round(e/255*5)+6*Math.round(n/255*5)+Math.round(i/255*5);return o};r.ansi16.rgb=function(t){let e=t%10;if(e===0||e===7){if(t>50){e+=3.5}e=e/10.5*255;return[e,e,e]}const n=(~~(t>50)+1)*.5;const i=(e&1)*n*255;const o=(e>>1&1)*n*255;const r=(e>>2&1)*n*255;return[i,o,r]};r.ansi256.rgb=function(t){if(t>=232){const e=(t-232)*10+8;return[e,e,e]}t-=16;let e;const n=Math.floor(t/36)/5*255;const i=Math.floor((e=t%36)/6)/5*255;const o=e%6/5*255;return[n,i,o]};r.rgb.hex=function(t){const e=((Math.round(t[0])&255)<<16)+((Math.round(t[1])&255)<<8)+(Math.round(t[2])&255);const n=e.toString(16).toUpperCase();return"000000".substring(n.length)+n};r.hex.rgb=function(t){const e=t.toString(16).match(/[a-f0-9]{6}|[a-f0-9]{3}/i);if(!e){return[0,0,0]}let n=e[0];if(e[0].length===3){n=n.split("").map((t=>t+t)).join("")}const i=parseInt(n,16);const o=i>>16&255;const r=i>>8&255;const s=i&255;return[o,r,s]};r.rgb.hcg=function(t){const e=t[0]/255;const n=t[1]/255;const i=t[2]/255;const o=Math.max(Math.max(e,n),i);const r=Math.min(Math.min(e,n),i);const s=o-r;let a;let c;if(s<1){a=r/(1-s)}else{a=0}if(s<=0){c=0}else if(o===e){c=(n-i)/s%6}else if(o===n){c=2+(i-e)/s}else{c=4+(e-n)/s}c/=6;c%=1;return[c*360,s*100,a*100]};r.hsl.hcg=function(t){const e=t[1]/100;const n=t[2]/100;const i=n<.5?2*e*n:2*e*(1-n);let o=0;if(i<1){o=(n-.5*i)/(1-i)}return[t[0],i*100,o*100]};r.hsv.hcg=function(t){const e=t[1]/100;const n=t[2]/100;const i=e*n;let o=0;if(i<1){o=(n-i)/(1-i)}return[t[0],i*100,o*100]};r.hcg.rgb=function(t){const e=t[0]/360;const n=t[1]/100;const i=t[2]/100;if(n===0){return[i*255,i*255,i*255]}const o=[0,0,0];const r=e%1*6;const s=r%1;const a=1-s;let c=0;switch(Math.floor(r)){case 0:o[0]=1;o[1]=s;o[2]=0;break;case 1:o[0]=a;o[1]=1;o[2]=0;break;case 2:o[0]=0;o[1]=1;o[2]=s;break;case 3:o[0]=0;o[1]=a;o[2]=1;break;case 4:o[0]=s;o[1]=0;o[2]=1;break;default:o[0]=1;o[1]=0;o[2]=a}c=(1-n)*i;return[(n*o[0]+c)*255,(n*o[1]+c)*255,(n*o[2]+c)*255]};r.hcg.hsv=function(t){const e=t[1]/100;const n=t[2]/100;const i=e+n*(1-e);let o=0;if(i>0){o=e/i}return[t[0],o*100,i*100]};r.hcg.hsl=function(t){const e=t[1]/100;const n=t[2]/100;const i=n*(1-e)+.5*e;let o=0;if(i>0&&i<.5){o=e/(2*i)}else if(i>=.5&&i<1){o=e/(2*(1-i))}return[t[0],o*100,i*100]};r.hcg.hwb=function(t){const e=t[1]/100;const n=t[2]/100;const i=e+n*(1-e);return[t[0],(i-e)*100,(1-i)*100]};r.hwb.hcg=function(t){const e=t[1]/100;const n=t[2]/100;const i=1-n;const o=i-e;let r=0;if(o<1){r=(i-o)/(1-o)}return[t[0],o*100,r*100]};r.apple.rgb=function(t){return[t[0]/65535*255,t[1]/65535*255,t[2]/65535*255]};r.rgb.apple=function(t){return[t[0]/255*65535,t[1]/255*65535,t[2]/255*65535]};r.gray.rgb=function(t){return[t[0]/100*255,t[0]/100*255,t[0]/100*255]};r.gray.hsl=function(t){return[0,0,t[0]]};r.gray.hsv=r.gray.hsl;r.gray.hwb=function(t){return[0,100,t[0]]};r.gray.cmyk=function(t){return[0,0,0,t[0]]};r.gray.lab=function(t){return[t[0],0,0]};r.gray.hex=function(t){const e=Math.round(t[0]/100*255)&255;const n=(e<<16)+(e<<8)+e;const i=n.toString(16).toUpperCase();return"000000".substring(i.length)+i};r.rgb.gray=function(t){const e=(t[0]+t[1]+t[2])/3;return[e/255*100]}},2085:(t,e,n)=>{const i=n(8168);const o=n(4111);const r={};const s=Object.keys(i);function a(t){const e=function(...e){const n=e[0];if(n===undefined||n===null){return n}if(n.length>1){e=n}return t(e)};if("conversion"in t){e.conversion=t.conversion}return e}function c(t){const e=function(...e){const n=e[0];if(n===undefined||n===null){return n}if(n.length>1){e=n}const i=t(e);if(typeof i==="object"){for(let t=i.length,e=0;e{r[t]={};Object.defineProperty(r[t],"channels",{value:i[t].channels});Object.defineProperty(r[t],"labels",{value:i[t].labels});const e=o(t);const n=Object.keys(e);n.forEach((n=>{const i=e[n];r[t][n]=c(i);r[t][n].raw=a(i)}))}));t.exports=r},4111:(t,e,n)=>{const i=n(8168);function o(){const t={};const e=Object.keys(i);for(let n=e.length,i=0;i{"use strict";t.exports={aliceblue:[240,248,255],antiquewhite:[250,235,215],aqua:[0,255,255],aquamarine:[127,255,212],azure:[240,255,255],beige:[245,245,220],bisque:[255,228,196],black:[0,0,0],blanchedalmond:[255,235,205],blue:[0,0,255],blueviolet:[138,43,226],brown:[165,42,42],burlywood:[222,184,135],cadetblue:[95,158,160],chartreuse:[127,255,0],chocolate:[210,105,30],coral:[255,127,80],cornflowerblue:[100,149,237],cornsilk:[255,248,220],crimson:[220,20,60],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgoldenrod:[184,134,11],darkgray:[169,169,169],darkgreen:[0,100,0],darkgrey:[169,169,169],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkseagreen:[143,188,143],darkslateblue:[72,61,139],darkslategray:[47,79,79],darkslategrey:[47,79,79],darkturquoise:[0,206,209],darkviolet:[148,0,211],deeppink:[255,20,147],deepskyblue:[0,191,255],dimgray:[105,105,105],dimgrey:[105,105,105],dodgerblue:[30,144,255],firebrick:[178,34,34],floralwhite:[255,250,240],forestgreen:[34,139,34],fuchsia:[255,0,255],gainsboro:[220,220,220],ghostwhite:[248,248,255],gold:[255,215,0],goldenrod:[218,165,32],gray:[128,128,128],green:[0,128,0],greenyellow:[173,255,47],grey:[128,128,128],honeydew:[240,255,240],hotpink:[255,105,180],indianred:[205,92,92],indigo:[75,0,130],ivory:[255,255,240],khaki:[240,230,140],lavender:[230,230,250],lavenderblush:[255,240,245],lawngreen:[124,252,0],lemonchiffon:[255,250,205],lightblue:[173,216,230],lightcoral:[240,128,128],lightcyan:[224,255,255],lightgoldenrodyellow:[250,250,210],lightgray:[211,211,211],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightsalmon:[255,160,122],lightseagreen:[32,178,170],lightskyblue:[135,206,250],lightslategray:[119,136,153],lightslategrey:[119,136,153],lightsteelblue:[176,196,222],lightyellow:[255,255,224],lime:[0,255,0],limegreen:[50,205,50],linen:[250,240,230],magenta:[255,0,255],maroon:[128,0,0],mediumaquamarine:[102,205,170],mediumblue:[0,0,205],mediumorchid:[186,85,211],mediumpurple:[147,112,219],mediumseagreen:[60,179,113],mediumslateblue:[123,104,238],mediumspringgreen:[0,250,154],mediumturquoise:[72,209,204],mediumvioletred:[199,21,133],midnightblue:[25,25,112],mintcream:[245,255,250],mistyrose:[255,228,225],moccasin:[255,228,181],navajowhite:[255,222,173],navy:[0,0,128],oldlace:[253,245,230],olive:[128,128,0],olivedrab:[107,142,35],orange:[255,165,0],orangered:[255,69,0],orchid:[218,112,214],palegoldenrod:[238,232,170],palegreen:[152,251,152],paleturquoise:[175,238,238],palevioletred:[219,112,147],papayawhip:[255,239,213],peachpuff:[255,218,185],peru:[205,133,63],pink:[255,192,203],plum:[221,160,221],powderblue:[176,224,230],purple:[128,0,128],rebeccapurple:[102,51,153],red:[255,0,0],rosybrown:[188,143,143],royalblue:[65,105,225],saddlebrown:[139,69,19],salmon:[250,128,114],sandybrown:[244,164,96],seagreen:[46,139,87],seashell:[255,245,238],sienna:[160,82,45],silver:[192,192,192],skyblue:[135,206,235],slateblue:[106,90,205],slategray:[112,128,144],slategrey:[112,128,144],snow:[255,250,250],springgreen:[0,255,127],steelblue:[70,130,180],tan:[210,180,140],teal:[0,128,128],thistle:[216,191,216],tomato:[255,99,71],turquoise:[64,224,208],violet:[238,130,238],wheat:[245,222,179],white:[255,255,255],whitesmoke:[245,245,245],yellow:[255,255,0],yellowgreen:[154,205,50]}},5363:(t,e,n)=>{"use strict";n.d(e,{Z:()=>c});var i=n(4015);var o=n.n(i);var r=n(3645);var s=n.n(r);var a=s()(o());a.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-2023, 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 c=a},3789:(t,e,n)=>{"use strict";n.d(e,{Z:()=>c});var i=n(4015);var o=n.n(i);var r=n(3645);var s=n.n(r);var a=s()(o());a.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-2023, 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 c=a},799:(t,e,n)=>{"use strict";n.d(e,{Z:()=>c});var i=n(4015);var o=n.n(i);var r=n(3645);var s=n.n(r);var a=s()(o());a.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}.ck.ck-clipboard-drop-target-line{pointer-events:none;position:absolute}: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}.ck.ck-clipboard-drop-target-line{background:var(--ck-clipboard-drop-target-color);border:1px solid var(--ck-clipboard-drop-target-color);height:0;margin-top:-1px}.ck.ck-clipboard-drop-target-line:before{border-style:solid;content:"";height:0;position:absolute;top:calc(var(--ck-clipboard-drop-target-dot-width)*-.5);width:0}[dir=ltr] .ck.ck-clipboard-drop-target-line:before{border-color:transparent transparent transparent var(--ck-clipboard-drop-target-color);border-width:calc(var(--ck-clipboard-drop-target-dot-width)*.5) 0 calc(var(--ck-clipboard-drop-target-dot-width)*.5) var(--ck-clipboard-drop-target-dot-height);left:-1px}[dir=rtl] .ck.ck-clipboard-drop-target-line:before{border-color:transparent var(--ck-clipboard-drop-target-color) transparent transparent;border-width:calc(var(--ck-clipboard-drop-target-dot-width)*.5) var(--ck-clipboard-drop-target-dot-height) calc(var(--ck-clipboard-drop-target-dot-width)*.5) 0;right:-1px}',"",{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,CAIF,kCAEC,mBAAoB,CADpB,iBAED,CC9BA,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,CAOF,kEACC,gGACD,CAKA,gDACC,OAAS,CACT,sBACD,CAGD,kCAGC,gDAAiD,CADjD,sDAAuD,CADvD,QAAS,CAGT,eAwBD,CAtBC,yCAMC,kBAAmB,CALnB,UAAW,CAIX,QAAS,CAHT,iBAAkB,CAClB,uDAA0D,CAC1D,OAiBD,CArBA,mDAYE,sFAAuF,CADvF,+JAAoK,CAFpK,SAYF,CArBA,mDAmBE,sFAAuF,CADvF,+JAAmK,CAFnK,UAKF",sourcesContent:["/*\n * Copyright (c) 2003-2023, 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.ck.ck-clipboard-drop-target-line {\n\tposition: absolute;\n\tpointer-events: none;\n}\n","/*\n * Copyright (c) 2003-2023, 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/_dir.css\";\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(-.5 * var(--ck-clipboard-drop-target-dot-height));\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 * 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\n.ck.ck-clipboard-drop-target-line {\n\theight: 0;\n\tborder: 1px solid var(--ck-clipboard-drop-target-color);\n\tbackground: var(--ck-clipboard-drop-target-color);\n\tmargin-top: -1px;\n\n\t&::before {\n\t\tcontent: '';\n\t\tposition: absolute;\n\t\ttop: calc(-.5 * var(--ck-clipboard-drop-target-dot-width));\n\t\twidth: 0;\n\t\theight: 0;\n\t\tborder-style: solid;\n\n\t\t@mixin ck-dir ltr {\n\t\t\tleft: -1px;\n\n\t\t\tborder-width: calc(.5 * var(--ck-clipboard-drop-target-dot-width)) 0 calc(.5 * var(--ck-clipboard-drop-target-dot-width)) var(--ck-clipboard-drop-target-dot-height);\n\t\t\tborder-color: transparent transparent transparent var(--ck-clipboard-drop-target-color);\n\t\t}\n\n\t\t@mixin ck-dir rtl {\n\t\t\tright: -1px;\n\n\t\t\tborder-width:calc(.5 * var(--ck-clipboard-drop-target-dot-width)) var(--ck-clipboard-drop-target-dot-height) calc(.5 * var(--ck-clipboard-drop-target-dot-width)) 0;\n\t\t\tborder-color: transparent var(--ck-clipboard-drop-target-color) transparent transparent;\n\t\t}\n\t}\n}\n"],sourceRoot:""}]);const c=a},3624:(t,e,n)=>{"use strict";n.d(e,{Z:()=>c});var i=n(4015);var o=n.n(i);var r=n(3645);var s=n.n(r);var a=s()(o());a.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-2023, 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-2023, 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-2023, 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 c=a},7372:(t,e,n)=>{"use strict";n.d(e,{Z:()=>c});var i=n(4015);var o=n.n(i);var r=n(3645);var s=n.n(r);var a=s()(o());a.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-2023, 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-2023, 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 c=a},5037:(t,e,n)=>{"use strict";n.d(e,{Z:()=>c});var i=n(4015);var o=n.n(i);var r=n(3645);var s=n.n(r);var a=s()(o());a.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-2023, 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 c=a},5991:(t,e,n)=>{"use strict";n.d(e,{Z:()=>c});var i=n(4015);var o=n.n(i);var r=n(3645);var s=n.n(r);var a=s()(o());a.push([t.id,".ck-content .text-tiny{font-size:.7em}.ck-content .text-small{font-size:.85em}.ck-content .text-big{font-size:1.4em}.ck-content .text-huge{font-size:1.8em}","",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-font/theme/fontsize.css"],names:[],mappings:"AAUC,uBACC,cACD,CAEA,wBACC,eACD,CAEA,sBACC,eACD,CAEA,uBACC,eACD",sourcesContent:['/*\n * Copyright (c) 2003-2023, 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/* The values should be synchronized with the "FONT_SIZE_PRESET_UNITS" object in the "/src/fontsize/utils.js" file. */\n\n/* Styles should be prefixed with the `.ck-content` class.\nSee https://github.com/ckeditor/ckeditor5/issues/6636 */\n.ck-content {\n\t& .text-tiny {\n\t\tfont-size: .7em;\n\t}\n\n\t& .text-small {\n\t\tfont-size: .85em;\n\t}\n\n\t& .text-big {\n\t\tfont-size: 1.4em;\n\t}\n\n\t& .text-huge {\n\t\tfont-size: 1.8em;\n\t}\n}\n'],sourceRoot:""}]);const c=a},4249:(t,e,n)=>{"use strict";n.d(e,{Z:()=>c});var i=n(4015);var o=n.n(i);var r=n(3645);var s=n.n(r);var a=s()(o());a.push([t.id,".ck.ck-heading_heading1{font-size:20px}.ck.ck-heading_heading2{font-size:17px}.ck.ck-heading_heading3{font-size:14px}.ck[class*=ck-heading_heading]{font-weight:700}.ck.ck-dropdown.ck-heading-dropdown .ck-dropdown__button .ck-button__label{width:8em}.ck.ck-dropdown.ck-heading-dropdown .ck-dropdown__panel .ck-list__item{min-width:18em}","",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-heading/theme/heading.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-heading/heading.css"],names:[],mappings:"AAKA,wBACC,cACD,CAEA,wBACC,cACD,CAEA,wBACC,cACD,CAEA,+BACC,eACD,CCZC,2EACC,SACD,CAEA,uEACC,cACD",sourcesContent:['/*\n * Copyright (c) 2003-2023, 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-heading_heading1 {\n\tfont-size: 20px;\n}\n\n.ck.ck-heading_heading2 {\n\tfont-size: 17px;\n}\n\n.ck.ck-heading_heading3 {\n\tfont-size: 14px;\n}\n\n.ck[class*="ck-heading_heading"] {\n\tfont-weight: bold;\n}\n',"/*\n * Copyright (c) 2003-2023, 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/* Resize dropdown's button label. */\n.ck.ck-dropdown.ck-heading-dropdown {\n\t& .ck-dropdown__button .ck-button__label {\n\t\twidth: 8em;\n\t}\n\n\t& .ck-dropdown__panel .ck-list__item {\n\t\tmin-width: 18em;\n\t}\n}\n"],sourceRoot:""}]);const c=a},1710:(t,e,n)=>{"use strict";n.d(e,{Z:()=>c});var i=n(4015);var o=n.n(i);var r=n(3645);var s=n.n(r);var a=s()(o());a.push([t.id,":root{--ck-html-object-embed-unfocused-outline-width:1px}.ck-widget.html-object-embed{background-color:var(--ck-color-base-foreground);font-size:var(--ck-font-size-base);min-width:calc(76px + var(--ck-spacing-standard));padding:var(--ck-spacing-small);padding-top:calc(var(--ck-font-size-tiny) + var(--ck-spacing-large))}.ck-widget.html-object-embed:not(.ck-widget_selected):not(:hover){outline:var(--ck-html-object-embed-unfocused-outline-width) dashed var(--ck-color-widget-blurred-border)}.ck-widget.html-object-embed:before{background:#999;border-radius:0 0 var(--ck-border-radius) var(--ck-border-radius);color:var(--ck-color-base-background);content:attr(data-html-object-embed-label);font-family:var(--ck-font-face);font-size:var(--ck-font-size-tiny);font-style:normal;font-weight:400;left:var(--ck-spacing-standard);padding:calc(var(--ck-spacing-tiny) + var(--ck-html-object-embed-unfocused-outline-width)) var(--ck-spacing-small) var(--ck-spacing-tiny);position:absolute;top:0;transition:background var(--ck-widget-handler-animation-duration) var(--ck-widget-handler-animation-curve)}.ck-widget.html-object-embed .ck-widget__type-around .ck-widget__type-around__button.ck-widget__type-around__button_before{margin-left:50px}.ck-widget.html-object-embed .html-object-embed__content{pointer-events:none}div.ck-widget.html-object-embed{margin:1em auto}span.ck-widget.html-object-embed{display:inline-block}","",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-html-support/theme/datafilter.css"],names:[],mappings:"AAKA,MACC,kDACD,CAEA,6BAEC,gDAAiD,CADjD,kCAAmC,CAKnC,iDAAkD,CAHlD,+BAAgC,CAEhC,oEAgCD,CA7BC,kEACC,wGACD,CAEA,oCAOC,eAA4B,CAG5B,iEAAkE,CAClE,qCAAsC,CAPtC,0CAA2C,CAS3C,+BAAgC,CADhC,kCAAmC,CAVnC,iBAAkB,CADlB,eAAmB,CAKnB,+BAAgC,CAGhC,yIAA0I,CAN1I,iBAAkB,CAElB,KAAM,CAGN,0GAMD,CAGA,2HACC,gBACD,CAEA,yDAEC,mBACD,CAGD,gCACC,eACD,CAEA,iCACC,oBACD",sourcesContent:["/*\n * Copyright (c) 2003-2023, 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-html-object-embed-unfocused-outline-width: 1px;\n}\n\n.ck-widget.html-object-embed {\n\tfont-size: var(--ck-font-size-base);\n\tbackground-color: var(--ck-color-base-foreground);\n\tpadding: var(--ck-spacing-small);\n\t/* Leave space for label */\n\tpadding-top: calc(var(--ck-font-size-tiny) + var(--ck-spacing-large));\n\tmin-width: calc(76px + var(--ck-spacing-standard));\n\n\t&:not(.ck-widget_selected):not(:hover) {\n\t\toutline: var(--ck-html-object-embed-unfocused-outline-width) dashed var(--ck-color-widget-blurred-border);\n\t}\n\n\t&::before {\n\t\tfont-weight: normal;\n\t\tfont-style: normal;\n\t\tposition: absolute;\n\t\tcontent: attr(data-html-object-embed-label);\n\t\ttop: 0;\n\t\tleft: var(--ck-spacing-standard);\n\t\tbackground: hsl(0deg 0% 60%);\n\t\ttransition: background var(--ck-widget-handler-animation-duration) var(--ck-widget-handler-animation-curve);\n\t\tpadding: calc(var(--ck-spacing-tiny) + var(--ck-html-object-embed-unfocused-outline-width)) var(--ck-spacing-small) var(--ck-spacing-tiny);\n\t\tborder-radius: 0 0 var(--ck-border-radius) var(--ck-border-radius);\n\t\tcolor: var(--ck-color-base-background);\n\t\tfont-size: var(--ck-font-size-tiny);\n\t\tfont-family: var(--ck-font-face);\n\t}\n\n\t/* Make space for label. */\n\t& .ck-widget__type-around .ck-widget__type-around__button.ck-widget__type-around__button_before {\n\t\tmargin-left: 50px;\n\t}\n\n\t& .html-object-embed__content {\n\t\t/* Disable user interaction with embed content */\n\t\tpointer-events: none;\n\t}\n}\n\ndiv.ck-widget.html-object-embed {\n\tmargin: 1em auto;\n}\n\nspan.ck-widget.html-object-embed {\n\tdisplay: inline-block;\n}\n\n"],sourceRoot:""}]);const c=a},2430:(t,e,n)=>{"use strict";n.d(e,{Z:()=>c});var i=n(4015);var o=n.n(i);var r=n(3645);var s=n.n(r);var a=s()(o());a.push([t.id,".ck-content .image{clear:both;display:table;margin:.9em auto;min-width:50px;text-align:center}.ck-content .image img{display:block;height:auto;margin:0 auto;max-width:100%;min-width:100%}.ck-content .image-inline{align-items:flex-start;display:inline-flex;max-width:100%}.ck-content .image-inline picture{display:flex}.ck-content .image-inline img,.ck-content .image-inline picture{flex-grow:1;flex-shrink:1;max-width:100%}.ck.ck-editor__editable .image>figcaption.ck-placeholder:before{overflow:hidden;padding-left:inherit;padding-right:inherit;text-overflow:ellipsis;white-space:nowrap}.ck.ck-editor__editable .image{z-index:1}.ck.ck-editor__editable .image.ck-widget_selected{z-index:2}.ck.ck-editor__editable .image-inline{z-index:1}.ck.ck-editor__editable .image-inline.ck-widget_selected{z-index:2}.ck.ck-editor__editable .image-inline.ck-widget_selected ::selection{display:none}.ck.ck-editor__editable .image-inline img{height:auto}.ck.ck-editor__editable td .image-inline img,.ck.ck-editor__editable th .image-inline img{max-width:none}","",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-image/theme/image.css"],names:[],mappings:"AAMC,mBAEC,UAAW,CADX,aAAc,CAOd,gBAAkB,CAGlB,cAAe,CARf,iBA2BD,CAjBC,uBAEC,aAAc,CAad,WAAY,CAVZ,aAAc,CAGd,cAAe,CAGf,cAKD,CAGD,0BAYC,sBAAuB,CANvB,mBAAoB,CAGpB,cAoBD,CAdC,kCACC,YACD,CAGA,gEAGC,WAAY,CACZ,aAAc,CAGd,cACD,CAUD,gEASC,eAAgB,CARhB,oBAAqB,CACrB,qBAAsB,CAQtB,sBAAuB,CAFvB,kBAGD,CAKA,+BACC,SASD,CAHC,kDACC,SACD,CAMD,sCACC,SAkBD,CAZC,yDACC,SAUD,CAHC,qEACC,YACD,CAMF,0CACC,WACD,CAMC,0FACC,cACD",sourcesContent:['/*\n * Copyright (c) 2003-2023, 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 {\n\t& .image {\n\t\tdisplay: table;\n\t\tclear: both;\n\t\ttext-align: center;\n\n\t\t/* Make sure there is some space between the content and the image. Center image by default. */\n\t\t/* The first value should be equal to --ck-spacing-large variable if used in the editor context\n\t \tto avoid the content jumping (See https://github.com/ckeditor/ckeditor5/issues/9825). */\n\t\tmargin: 0.9em auto;\n\n\t\t/* Make sure the caption will be displayed properly (See: https://github.com/ckeditor/ckeditor5/issues/1870). */\n\t\tmin-width: 50px;\n\n\t\t& img {\n\t\t\t/* Prevent unnecessary margins caused by line-height (see #44). */\n\t\t\tdisplay: block;\n\n\t\t\t/* Center the image if its width is smaller than the content\'s width. */\n\t\t\tmargin: 0 auto;\n\n\t\t\t/* Make sure the image never exceeds the size of the parent container (ckeditor/ckeditor5-ui#67). */\n\t\t\tmax-width: 100%;\n\n\t\t\t/* Make sure the image is never smaller than the parent container (See: https://github.com/ckeditor/ckeditor5/issues/9300). */\n\t\t\tmin-width: 100%;\n\n\t\t\t/* Keep proportions of the block image if the height is set and the image is wider than the editor width.\n\t\t\tSee https://github.com/ckeditor/ckeditor5/issues/14542. */\n\t\t\theight: auto;\n\t\t}\n\t}\n\n\t& .image-inline {\n\t\t/*\n\t\t * Normally, the .image-inline would have "display: inline-block" and "img { width: 100% }" (to follow the wrapper while resizing).\n\t\t * Unfortunately, together with "srcset", it gets automatically stretched up to the width of the editing root.\n\t\t * This strange behavior does not happen with inline-flex.\n\t\t */\n\t\tdisplay: inline-flex;\n\n\t\t/* While being resized, don\'t allow the image to exceed the width of the editing root. */\n\t\tmax-width: 100%;\n\n\t\t/* This is required by Safari to resize images in a sensible way. Without this, the browser breaks the ratio. */\n\t\talign-items: flex-start;\n\n\t\t/* When the picture is present it must act as a flex container to let the img resize properly */\n\t\t& picture {\n\t\t\tdisplay: flex;\n\t\t}\n\n\t\t/* When the picture is present, it must act like a resizable img. */\n\t\t& picture,\n\t\t& img {\n\t\t\t/* This is necessary for the img to span the entire .image-inline wrapper and to resize properly. */\n\t\t\tflex-grow: 1;\n\t\t\tflex-shrink: 1;\n\n\t\t\t/* Prevents overflowing the editing root boundaries when an inline image is very wide. */\n\t\t\tmax-width: 100%;\n\t\t}\n\t}\n}\n\n.ck.ck-editor__editable {\n\t/*\n\t * Inhertit the content styles padding of the
in case the integration overrides `text-align: center`\n\t * of `.image` (e.g. to the left/right). This ensures the placeholder stays at the padding just like the native\n\t * caret does, and not at the edge of
.\n\t */\n\t& .image > figcaption.ck-placeholder::before {\n\t\tpadding-left: inherit;\n\t\tpadding-right: inherit;\n\n\t\t/*\n\t\t * Make sure the image caption placeholder doesn\'t overflow the placeholder area.\n\t\t * See https://github.com/ckeditor/ckeditor5/issues/9162.\n\t\t */\n\t\twhite-space: nowrap;\n\t\toverflow: hidden;\n\t\ttext-overflow: ellipsis;\n\t}\n\n\t/*\n\t * See https://github.com/ckeditor/ckeditor5/issues/15115.\n\t */\n\t& .image {\n\t\tz-index: 1;\n\n\t\t/*\n\t\t * Make sure the selected image always stays on top of its siblings.\n\t\t * See https://github.com/ckeditor/ckeditor5/issues/9108.\n\t\t */\n\t\t&.ck-widget_selected {\n\t\t\tz-index: 2;\n\t\t}\n\t}\n\n\t/*\n\t * See https://github.com/ckeditor/ckeditor5/issues/15115.\n\t */\n\t& .image-inline {\n\t\tz-index: 1;\n\n\t\t/*\n\t\t * Make sure the selected inline image always stays on top of its siblings.\n\t\t * See https://github.com/ckeditor/ckeditor5/issues/9108.\n\t\t */\n\t\t&.ck-widget_selected {\n\t\t\tz-index: 2;\n\n\t\t\t/*\n\t\t\t * Make sure the native browser selection style is not displayed.\n\t\t\t * Inline image widgets have their own styles for the selected state and\n\t\t\t * leaving this up to the browser is asking for a visual collision.\n\t\t\t */\n\t\t\t& ::selection {\n\t\t\t\tdisplay: none;\n\t\t\t}\n\t\t}\n\t}\n\n\t/* Keep proportions of the inline image if the height is set and the image is wider than the editor width.\n\tSee https://github.com/ckeditor/ckeditor5/issues/14542. */\n\t& .image-inline img {\n\t\theight: auto;\n\t}\n\n\t/* The inline image nested in the table should have its original size if not resized.\n\tSee https://github.com/ckeditor/ckeditor5/issues/9117. */\n\t& td,\n\t& th {\n\t\t& .image-inline img {\n\t\t\tmax-width: none;\n\t\t}\n\t}\n}\n'],sourceRoot:""}]);const c=a},2423:(t,e,n)=>{"use strict";n.d(e,{Z:()=>c});var i=n(4015);var o=n.n(i);var r=n(3645);var s=n.n(r);var a=s()(o());a.push([t.id,":root{--ck-color-image-caption-background:#f7f7f7;--ck-color-image-caption-text:#333;--ck-color-image-caption-highligted-background:#fd0}.ck-content .image>figcaption{background-color:var(--ck-color-image-caption-background);caption-side:bottom;color:var(--ck-color-image-caption-text);display:table-caption;font-size:.75em;outline-offset:-1px;padding:.6em;word-break:break-word}.ck.ck-editor__editable .image>figcaption.image__caption_highlighted{animation:ck-image-caption-highlight .6s ease-out}@keyframes ck-image-caption-highlight{0%{background-color:var(--ck-color-image-caption-highligted-background)}to{background-color:var(--ck-color-image-caption-background)}}","",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-image/theme/imagecaption.css"],names:[],mappings:"AAKA,MACC,2CAAoD,CACpD,kCAA8C,CAC9C,mDACD,CAGA,8BAKC,yDAA0D,CAH1D,mBAAoB,CAEpB,wCAAyC,CAHzC,qBAAsB,CAMtB,eAAgB,CAChB,mBAAoB,CAFpB,YAAa,CAHb,qBAMD,CAGA,qEACC,iDACD,CAEA,sCACC,GACC,oEACD,CAEA,GACC,yDACD,CACD",sourcesContent:["/*\n * Copyright (c) 2003-2023, 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-image-caption-background: hsl(0, 0%, 97%);\n\t--ck-color-image-caption-text: hsl(0, 0%, 20%);\n\t--ck-color-image-caption-highligted-background: hsl(52deg 100% 50%);\n}\n\n/* Content styles */\n.ck-content .image > figcaption {\n\tdisplay: table-caption;\n\tcaption-side: bottom;\n\tword-break: break-word;\n\tcolor: var(--ck-color-image-caption-text);\n\tbackground-color: var(--ck-color-image-caption-background);\n\tpadding: .6em;\n\tfont-size: .75em;\n\toutline-offset: -1px;\n}\n\n/* Editing styles */\n.ck.ck-editor__editable .image > figcaption.image__caption_highlighted {\n\tanimation: ck-image-caption-highlight .6s ease-out;\n}\n\n@keyframes ck-image-caption-highlight {\n\t0% {\n\t\tbackground-color: var(--ck-color-image-caption-highligted-background);\n\t}\n\n\t100% {\n\t\tbackground-color: var(--ck-color-image-caption-background);\n\t}\n}\n"],sourceRoot:""}]);const c=a},8879:(t,e,n)=>{"use strict";n.d(e,{Z:()=>c});var i=n(4015);var o=n.n(i);var r=n(3645);var s=n.n(r);var a=s()(o());a.push([t.id,".ck.ck-image-insert-url .ck-image-insert-url__action-row{display:grid;grid-template-columns:repeat(2,1fr)}:root{--ck-image-insert-insert-by-url-width:250px}.ck.ck-image-insert-url{--ck-input-width:100%}.ck.ck-image-insert-url .ck-image-insert-url__action-row{grid-column-gap:var(--ck-spacing-large);margin-top:var(--ck-spacing-large)}.ck.ck-image-insert-url .ck-image-insert-url__action-row .ck-button-cancel,.ck.ck-image-insert-url .ck-image-insert-url__action-row .ck-button-save{justify-content:center;min-width:auto}.ck.ck-image-insert-url .ck-image-insert-url__action-row .ck-button .ck-button__label{color:var(--ck-color-text)}.ck.ck-image-insert-form>.ck.ck-button{display:block;padding:var(--ck-list-button-padding);width:100%}[dir=ltr] .ck.ck-image-insert-form>.ck.ck-button{text-align:left}[dir=rtl] .ck.ck-image-insert-form>.ck.ck-button{text-align:right}.ck.ck-image-insert-form>.ck.ck-collapsible:not(:first-child){border-top:1px solid var(--ck-color-base-border)}.ck.ck-image-insert-form>.ck.ck-collapsible:not(:last-child){border-bottom:1px solid var(--ck-color-base-border)}.ck.ck-image-insert-form>.ck.ck-collapsible,.ck.ck-image-insert-form>.ck.ck-image-insert-url{min-width:var(--ck-image-insert-insert-by-url-width)}.ck.ck-image-insert-form>.ck.ck-image-insert-url{padding:var(--ck-spacing-large)}.ck.ck-image-insert-form:focus{outline:none}","",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-image/theme/imageinsert.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-image/imageinsert.css"],names:[],mappings:"AAMC,yDACC,YAAa,CACb,mCACD,CCFD,MACC,2CACD,CAEA,wBACC,qBAgBD,CAdC,yDACC,uCAAwC,CACxC,kCAWD,CATC,oJAEC,sBAAuB,CACvB,cACD,CAEA,sFACC,0BACD,CAKD,uCACC,aAAc,CAEd,qCAAsC,CADtC,UAUD,CAZA,iDAME,eAMF,CAZA,iDAUE,gBAEF,CAGC,8DACC,gDACD,CAEA,6DACC,mDACD,CAMD,6FAJC,oDAOD,CAHA,iDAEC,+BACD,CAEA,+BACC,YACD",sourcesContent:["/*\n * Copyright (c) 2003-2023, 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-image-insert-url {\n\t& .ck-image-insert-url__action-row {\n\t\tdisplay: grid;\n\t\tgrid-template-columns: repeat(2, 1fr);\n\t}\n}\n",'/*\n * Copyright (c) 2003-2023, 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/_dir.css";\n\n:root {\n\t--ck-image-insert-insert-by-url-width: 250px;\n}\n\n.ck.ck-image-insert-url {\n\t--ck-input-width: 100%;\n\n\t& .ck-image-insert-url__action-row {\n\t\tgrid-column-gap: var(--ck-spacing-large);\n\t\tmargin-top: var(--ck-spacing-large);\n\n\t\t& .ck-button-save,\n\t\t& .ck-button-cancel {\n\t\t\tjustify-content: center;\n\t\t\tmin-width: auto;\n\t\t}\n\n\t\t& .ck-button .ck-button__label {\n\t\t\tcolor: var(--ck-color-text);\n\t\t}\n\t}\n}\n\n.ck.ck-image-insert-form {\n\t& > .ck.ck-button {\n\t\tdisplay: block;\n\t\twidth: 100%;\n\t\tpadding: var(--ck-list-button-padding);\n\n\t\t@mixin ck-dir ltr {\n\t\t\ttext-align: left;\n\t\t}\n\n\t\t@mixin ck-dir rtl {\n\t\t\ttext-align: right;\n\t\t}\n\t}\n\n\t& > .ck.ck-collapsible {\n\t\t&:not(:first-child) {\n\t\t\tborder-top: 1px solid var(--ck-color-base-border);\n\t\t}\n\n\t\t&:not(:last-child) {\n\t\t\tborder-bottom: 1px solid var(--ck-color-base-border);\n\t\t}\n\n\t\tmin-width: var(--ck-image-insert-insert-by-url-width);\n\t}\n\n\t/* This is the case when there are no other integrations configured than insert by URL */\n\t& > .ck.ck-image-insert-url {\n\t\tmin-width: var(--ck-image-insert-insert-by-url-width);\n\t\tpadding: var(--ck-spacing-large);\n\t}\n\n\t&:focus {\n\t\toutline: none;\n\t}\n}\n'],sourceRoot:""}]);const c=a},31:(t,e,n)=>{"use strict";n.d(e,{Z:()=>c});var i=n(4015);var o=n.n(i);var r=n(3645);var s=n.n(r);var a=s()(o());a.push([t.id,".ck.ck-editor__editable img.image_placeholder{background-size:100% 100%}","",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-image/theme/imageplaceholder.css"],names:[],mappings:"AAMC,8CACC,yBACD",sourcesContent:["/*\n * Copyright (c) 2003-2023, 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& img.image_placeholder {\n\t\tbackground-size: 100% 100%;\n\t}\n}\n"],sourceRoot:""}]);const c=a},2400:(t,e,n)=>{"use strict";n.d(e,{Z:()=>c});var i=n(4015);var o=n.n(i);var r=n(3645);var s=n.n(r);var a=s()(o());a.push([t.id,".ck-content img.image_resized{height:auto}.ck-content .image.image_resized{box-sizing:border-box;display:block;max-width:100%}.ck-content .image.image_resized img{width:100%}.ck-content .image.image_resized>figcaption{display:block}.ck.ck-editor__editable td .image-inline.image_resized img,.ck.ck-editor__editable th .image-inline.image_resized img{max-width:100%}[dir=ltr] .ck.ck-button.ck-button_with-text.ck-resize-image-button .ck-button__icon{margin-right:var(--ck-spacing-standard)}[dir=rtl] .ck.ck-button.ck-button_with-text.ck-resize-image-button .ck-button__icon{margin-left:var(--ck-spacing-standard)}.ck.ck-dropdown .ck-button.ck-resize-image-button .ck-button__label{width:4em}","",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-image/theme/imageresize.css"],names:[],mappings:"AAMA,8BACC,WACD,CAEA,iCAQC,qBAAsB,CADtB,aAAc,CANd,cAkBD,CATC,qCAEC,UACD,CAEA,4CAEC,aACD,CAQC,sHACC,cACD,CAIF,oFACC,uCACD,CAEA,oFACC,sCACD,CAEA,oEACC,SACD",sourcesContent:['/*\n * Copyright (c) 2003-2023, 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/* Preserve aspect ratio of the resized image after introducing image height attribute. */\n.ck-content img.image_resized {\n\theight: auto;\n}\n\n.ck-content .image.image_resized {\n\tmax-width: 100%;\n\t/*\n\tThe `
` element for resized images must not use `display:table` as browsers do not support `max-width` for it well.\n\tSee https://stackoverflow.com/questions/4019604/chrome-safari-ignoring-max-width-in-table/14420691#14420691 for more.\n\tFortunately, since we control the width, there is no risk that the image will look bad.\n\t*/\n\tdisplay: block;\n\tbox-sizing: border-box;\n\n\t& img {\n\t\t/* For resized images it is the `
` element that determines the image width. */\n\t\twidth: 100%;\n\t}\n\n\t& > figcaption {\n\t\t/* The `
` element uses `display:block`, so `
` also has to. */\n\t\tdisplay: block;\n\t}\n}\n\n.ck.ck-editor__editable {\n\t/* The resized inline image nested in the table should respect its parent size.\n\tSee https://github.com/ckeditor/ckeditor5/issues/9117. */\n\t& td,\n\t& th {\n\t\t& .image-inline.image_resized img {\n\t\t\tmax-width: 100%;\n\t\t}\n\t}\n}\n\n[dir="ltr"] .ck.ck-button.ck-button_with-text.ck-resize-image-button .ck-button__icon {\n\tmargin-right: var(--ck-spacing-standard);\n}\n\n[dir="rtl"] .ck.ck-button.ck-button_with-text.ck-resize-image-button .ck-button__icon {\n\tmargin-left: var(--ck-spacing-standard);\n}\n\n.ck.ck-dropdown .ck-button.ck-resize-image-button .ck-button__label {\n\twidth: 4em;\n}\n'],sourceRoot:""}]);const c=a},3534:(t,e,n)=>{"use strict";n.d(e,{Z:()=>c});var i=n(4015);var o=n.n(i);var r=n(3645);var s=n.n(r);var a=s()(o());a.push([t.id,":root{--ck-image-style-spacing:1.5em;--ck-inline-image-style-spacing:calc(var(--ck-image-style-spacing)/2)}.ck-content .image-style-block-align-left,.ck-content .image-style-block-align-right{max-width:calc(100% - var(--ck-image-style-spacing))}.ck-content .image-style-align-left,.ck-content .image-style-align-right{clear:none}.ck-content .image-style-side{float:right;margin-left:var(--ck-image-style-spacing);max-width:50%}.ck-content .image-style-align-left{float:left;margin-right:var(--ck-image-style-spacing)}.ck-content .image-style-align-center{margin-left:auto;margin-right:auto}.ck-content .image-style-align-right{float:right;margin-left:var(--ck-image-style-spacing)}.ck-content .image-style-block-align-right{margin-left:auto;margin-right:0}.ck-content .image-style-block-align-left{margin-left:0;margin-right:auto}.ck-content p+.image-style-align-left,.ck-content p+.image-style-align-right,.ck-content p+.image-style-side{margin-top:0}.ck-content .image-inline.image-style-align-left,.ck-content .image-inline.image-style-align-right{margin-bottom:var(--ck-inline-image-style-spacing);margin-top:var(--ck-inline-image-style-spacing)}.ck-content .image-inline.image-style-align-left{margin-right:var(--ck-inline-image-style-spacing)}.ck-content .image-inline.image-style-align-right{margin-left:var(--ck-inline-image-style-spacing)}.ck.ck-splitbutton.ck-splitbutton_flatten.ck-splitbutton_open>.ck-splitbutton__action:not(.ck-disabled),.ck.ck-splitbutton.ck-splitbutton_flatten.ck-splitbutton_open>.ck-splitbutton__arrow:not(.ck-disabled),.ck.ck-splitbutton.ck-splitbutton_flatten.ck-splitbutton_open>.ck-splitbutton__arrow:not(.ck-disabled):not(:hover),.ck.ck-splitbutton.ck-splitbutton_flatten:hover>.ck-splitbutton__action:not(.ck-disabled),.ck.ck-splitbutton.ck-splitbutton_flatten:hover>.ck-splitbutton__arrow:not(.ck-disabled),.ck.ck-splitbutton.ck-splitbutton_flatten:hover>.ck-splitbutton__arrow:not(.ck-disabled):not(:hover){background-color:var(--ck-color-button-on-background)}.ck.ck-splitbutton.ck-splitbutton_flatten.ck-splitbutton_open>.ck-splitbutton__action:not(.ck-disabled):after,.ck.ck-splitbutton.ck-splitbutton_flatten.ck-splitbutton_open>.ck-splitbutton__arrow:not(.ck-disabled):after,.ck.ck-splitbutton.ck-splitbutton_flatten.ck-splitbutton_open>.ck-splitbutton__arrow:not(.ck-disabled):not(:hover):after,.ck.ck-splitbutton.ck-splitbutton_flatten:hover>.ck-splitbutton__action:not(.ck-disabled):after,.ck.ck-splitbutton.ck-splitbutton_flatten:hover>.ck-splitbutton__arrow:not(.ck-disabled):after,.ck.ck-splitbutton.ck-splitbutton_flatten:hover>.ck-splitbutton__arrow:not(.ck-disabled):not(:hover):after{display:none}.ck.ck-splitbutton.ck-splitbutton_flatten.ck-splitbutton_open:hover>.ck-splitbutton__action:not(.ck-disabled),.ck.ck-splitbutton.ck-splitbutton_flatten.ck-splitbutton_open:hover>.ck-splitbutton__arrow:not(.ck-disabled),.ck.ck-splitbutton.ck-splitbutton_flatten.ck-splitbutton_open:hover>.ck-splitbutton__arrow:not(.ck-disabled):not(:hover){background-color:var(--ck-color-button-on-hover-background)}","",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-image/theme/imagestyle.css"],names:[],mappings:"AAKA,MACC,8BAA+B,CAC/B,qEACD,CAMC,qFAEC,oDACD,CAIA,yEAEC,UACD,CAEA,8BACC,WAAY,CACZ,yCAA0C,CAC1C,aACD,CAEA,oCACC,UAAW,CACX,0CACD,CAEA,sCACC,gBAAiB,CACjB,iBACD,CAEA,qCACC,WAAY,CACZ,yCACD,CAEA,2CAEC,gBAAiB,CADjB,cAED,CAEA,0CACC,aAAc,CACd,iBACD,CAGA,6GAGC,YACD,CAGC,mGAGC,kDAAmD,CADnD,+CAED,CAEA,iDACC,iDACD,CAEA,kDACC,gDACD,CAUC,0lBAGC,qDAKD,CAHC,8nBACC,YACD,CAKD,oVAGC,2DACD",sourcesContent:["/*\n * Copyright (c) 2003-2023, 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-image-style-spacing: 1.5em;\n\t--ck-inline-image-style-spacing: calc(var(--ck-image-style-spacing) / 2);\n}\n\n.ck-content {\n\t/* Provides a minimal side margin for the left and right aligned images, so that the user has a visual feedback\n\tconfirming successful application of the style if image width exceeds the editor's size.\n\tSee https://github.com/ckeditor/ckeditor5/issues/9342 */\n\t& .image-style-block-align-left,\n\t& .image-style-block-align-right {\n\t\tmax-width: calc(100% - var(--ck-image-style-spacing));\n\t}\n\n\t/* Allows displaying multiple floating images in the same line.\n\tSee https://github.com/ckeditor/ckeditor5/issues/9183#issuecomment-804988132 */\n\t& .image-style-align-left,\n\t& .image-style-align-right {\n\t\tclear: none;\n\t}\n\n\t& .image-style-side {\n\t\tfloat: right;\n\t\tmargin-left: var(--ck-image-style-spacing);\n\t\tmax-width: 50%;\n\t}\n\n\t& .image-style-align-left {\n\t\tfloat: left;\n\t\tmargin-right: var(--ck-image-style-spacing);\n\t}\n\n\t& .image-style-align-center {\n\t\tmargin-left: auto;\n\t\tmargin-right: auto;\n\t}\n\n\t& .image-style-align-right {\n\t\tfloat: right;\n\t\tmargin-left: var(--ck-image-style-spacing);\n\t}\n\n\t& .image-style-block-align-right {\n\t\tmargin-right: 0;\n\t\tmargin-left: auto;\n\t}\n\n\t& .image-style-block-align-left {\n\t\tmargin-left: 0;\n\t\tmargin-right: auto;\n\t}\n\n\t/* Simulates margin collapsing with the preceding paragraph, which does not work for the floating elements. */\n\t& p + .image-style-align-left,\n\t& p + .image-style-align-right,\n\t& p + .image-style-side {\n\t\tmargin-top: 0;\n\t}\n\n\t& .image-inline {\n\t\t&.image-style-align-left,\n\t\t&.image-style-align-right {\n\t\t\tmargin-top: var(--ck-inline-image-style-spacing);\n\t\t\tmargin-bottom: var(--ck-inline-image-style-spacing);\n\t\t}\n\n\t\t&.image-style-align-left {\n\t\t\tmargin-right: var(--ck-inline-image-style-spacing);\n\t\t}\n\n\t\t&.image-style-align-right {\n\t\t\tmargin-left: var(--ck-inline-image-style-spacing);\n\t\t}\n\t}\n}\n\n.ck.ck-splitbutton {\n\t/* The button should display as a regular drop-down if the action button\n\tis forced to fire the same action as the arrow button. */\n\t&.ck-splitbutton_flatten {\n\t\t&:hover,\n\t\t&.ck-splitbutton_open {\n\t\t\t& > .ck-splitbutton__action:not(.ck-disabled),\n\t\t\t& > .ck-splitbutton__arrow:not(.ck-disabled),\n\t\t\t& > .ck-splitbutton__arrow:not(.ck-disabled):not(:hover) {\n\t\t\t\tbackground-color: var(--ck-color-button-on-background);\n\n\t\t\t\t&::after {\n\t\t\t\t\tdisplay: none;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t&.ck-splitbutton_open:hover {\n\t\t\t& > .ck-splitbutton__action:not(.ck-disabled),\n\t\t\t& > .ck-splitbutton__arrow:not(.ck-disabled),\n\t\t\t& > .ck-splitbutton__arrow:not(.ck-disabled):not(:hover) {\n\t\t\t\tbackground-color: var(--ck-color-button-on-hover-background);\n\t\t\t}\n\t\t}\n\t}\n}\n"],sourceRoot:""}]);const c=a},1547:(t,e,n)=>{"use strict";n.d(e,{Z:()=>c});var i=n(4015);var o=n.n(i);var r=n(3645);var s=n.n(r);var a=s()(o());a.push([t.id,'.ck-image-upload-complete-icon{border-radius:50%;display:block;position:absolute;right:min(var(--ck-spacing-medium),6%);top:min(var(--ck-spacing-medium),6%);z-index:1}.ck-image-upload-complete-icon:after{content:"";position:absolute}:root{--ck-color-image-upload-icon:#fff;--ck-color-image-upload-icon-background:#008a00;--ck-image-upload-icon-size:20;--ck-image-upload-icon-width:2px;--ck-image-upload-icon-is-visible:clamp(0px,100% - 50px,1px)}.ck-image-upload-complete-icon{animation-delay:0ms,3s;animation-duration:.5s,.5s;animation-fill-mode:forwards,forwards;animation-name:ck-upload-complete-icon-show,ck-upload-complete-icon-hide;background:var(--ck-color-image-upload-icon-background);font-size:calc(1px*var(--ck-image-upload-icon-size));height:calc(var(--ck-image-upload-icon-is-visible)*var(--ck-image-upload-icon-size));opacity:0;overflow:hidden;width:calc(var(--ck-image-upload-icon-is-visible)*var(--ck-image-upload-icon-size))}.ck-image-upload-complete-icon:after{animation-delay:.5s;animation-duration:.5s;animation-fill-mode:forwards;animation-name:ck-upload-complete-icon-check;border-right:var(--ck-image-upload-icon-width) solid var(--ck-color-image-upload-icon);border-top:var(--ck-image-upload-icon-width) solid var(--ck-color-image-upload-icon);box-sizing:border-box;height:0;left:25%;opacity:0;top:50%;transform:scaleX(-1) rotate(135deg);transform-origin:left top;width:0}@keyframes ck-upload-complete-icon-show{0%{opacity:0}to{opacity:1}}@keyframes ck-upload-complete-icon-hide{0%{opacity:1}to{opacity:0}}@keyframes ck-upload-complete-icon-check{0%{height:0;opacity:1;width:0}33%{height:0;width:.3em}to{height:.45em;opacity:1;width:.3em}}',"",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-image/theme/imageuploadicon.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-image/imageuploadicon.css"],names:[],mappings:"AAKA,+BAUC,iBAAkB,CATlB,aAAc,CACd,iBAAkB,CAOlB,sCAAwC,CADxC,oCAAsC,CAGtC,SAMD,CAJC,qCACC,UAAW,CACX,iBACD,CChBD,MACC,iCAA8C,CAC9C,+CAA4D,CAG5D,8BAA+B,CAC/B,gCAAiC,CACjC,4DACD,CAEA,+BAWC,sBAA4B,CAN5B,0BAAgC,CADhC,qCAAuC,CADvC,wEAA0E,CAD1E,uDAAwD,CAMxD,oDAAuD,CAWvD,oFAAuF,CAlBvF,SAAU,CAgBV,eAAgB,CAChB,mFA0BD,CAtBC,qCAgBC,mBAAsB,CADtB,sBAAyB,CAEzB,4BAA6B,CAH7B,4CAA6C,CAF7C,sFAAuF,CADvF,oFAAqF,CASrF,qBAAsB,CAdtB,QAAS,CAJT,QAAS,CAGT,SAAU,CADV,OAAQ,CAKR,mCAAoC,CACpC,yBAA0B,CAH1B,OAcD,CAGD,wCACC,GACC,SACD,CAEA,GACC,SACD,CACD,CAEA,wCACC,GACC,SACD,CAEA,GACC,SACD,CACD,CAEA,yCACC,GAGC,QAAS,CAFT,SAAU,CACV,OAED,CACA,IAEC,QAAS,CADT,UAED,CACA,GAGC,YAAc,CAFd,SAAU,CACV,UAED,CACD",sourcesContent:['/*\n * Copyright (c) 2003-2023, 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-image-upload-complete-icon {\n\tdisplay: block;\n\tposition: absolute;\n\n\t/*\n\t * Smaller images should have the icon closer to the border.\n\t * Match the icon position with the linked image indicator brought by the link image feature.\n\t */\n\ttop: min(var(--ck-spacing-medium), 6%);\n\tright: min(var(--ck-spacing-medium), 6%);\n\tborder-radius: 50%;\n\tz-index: 1;\n\n\t&::after {\n\t\tcontent: "";\n\t\tposition: absolute;\n\t}\n}\n','/*\n * Copyright (c) 2003-2023, 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-image-upload-icon: hsl(0, 0%, 100%);\n\t--ck-color-image-upload-icon-background: hsl(120, 100%, 27%);\n\n\t/* Match the icon size with the linked image indicator brought by the link image feature. */\n\t--ck-image-upload-icon-size: 20;\n\t--ck-image-upload-icon-width: 2px;\n\t--ck-image-upload-icon-is-visible: clamp(0px, 100% - 50px, 1px);\n}\n\n.ck-image-upload-complete-icon {\n\topacity: 0;\n\tbackground: var(--ck-color-image-upload-icon-background);\n\tanimation-name: ck-upload-complete-icon-show, ck-upload-complete-icon-hide;\n\tanimation-fill-mode: forwards, forwards;\n\tanimation-duration: 500ms, 500ms;\n\n\t/* To make animation scalable. */\n\tfont-size: calc(1px * var(--ck-image-upload-icon-size));\n\n\t/* Hide completed upload icon after 3 seconds. */\n\tanimation-delay: 0ms, 3000ms;\n\n\t/*\n\t * Use CSS math to simulate container queries.\n\t * https://css-tricks.com/the-raven-technique-one-step-closer-to-container-queries/#what-about-showing-and-hiding-things\n\t */\n\toverflow: hidden;\n\twidth: calc(var(--ck-image-upload-icon-is-visible) * var(--ck-image-upload-icon-size));\n\theight: calc(var(--ck-image-upload-icon-is-visible) * var(--ck-image-upload-icon-size));\n\n\t/* This is check icon element made from border-width mixed with animations. */\n\t&::after {\n\t\t/* Because of border transformation we need to "hard code" left position. */\n\t\tleft: 25%;\n\n\t\ttop: 50%;\n\t\topacity: 0;\n\t\theight: 0;\n\t\twidth: 0;\n\n\t\ttransform: scaleX(-1) rotate(135deg);\n\t\ttransform-origin: left top;\n\t\tborder-top: var(--ck-image-upload-icon-width) solid var(--ck-color-image-upload-icon);\n\t\tborder-right: var(--ck-image-upload-icon-width) solid var(--ck-color-image-upload-icon);\n\n\t\tanimation-name: ck-upload-complete-icon-check;\n\t\tanimation-duration: 500ms;\n\t\tanimation-delay: 500ms;\n\t\tanimation-fill-mode: forwards;\n\n\t\t/* #1095. While reset is not providing proper box-sizing for pseudoelements, we need to handle it. */\n\t\tbox-sizing: border-box;\n\t}\n}\n\n@keyframes ck-upload-complete-icon-show {\n\tfrom {\n\t\topacity: 0;\n\t}\n\n\tto {\n\t\topacity: 1;\n\t}\n}\n\n@keyframes ck-upload-complete-icon-hide {\n\tfrom {\n\t\topacity: 1;\n\t}\n\n\tto {\n\t\topacity: 0;\n\t}\n}\n\n@keyframes ck-upload-complete-icon-check {\n\t0% {\n\t\topacity: 1;\n\t\twidth: 0;\n\t\theight: 0;\n\t}\n\t33% {\n\t\twidth: 0.3em;\n\t\theight: 0;\n\t}\n\t100% {\n\t\topacity: 1;\n\t\twidth: 0.3em;\n\t\theight: 0.45em;\n\t}\n}\n'],sourceRoot:""}]);const c=a},6618:(t,e,n)=>{"use strict";n.d(e,{Z:()=>c});var i=n(4015);var o=n.n(i);var r=n(3645);var s=n.n(r);var a=s()(o());a.push([t.id,'.ck .ck-upload-placeholder-loader{align-items:center;display:flex;justify-content:center;left:0;position:absolute;top:0}.ck .ck-upload-placeholder-loader:before{content:"";position:relative}:root{--ck-color-upload-placeholder-loader:#b3b3b3;--ck-upload-placeholder-loader-size:32px;--ck-upload-placeholder-image-aspect-ratio:2.8}.ck .ck-image-upload-placeholder{margin:0;width:100%}.ck .ck-image-upload-placeholder.image-inline{width:calc(var(--ck-upload-placeholder-loader-size)*2*var(--ck-upload-placeholder-image-aspect-ratio))}.ck .ck-image-upload-placeholder img{aspect-ratio:var(--ck-upload-placeholder-image-aspect-ratio)}.ck .ck-upload-placeholder-loader{height:100%;width:100%}.ck .ck-upload-placeholder-loader:before{animation:ck-upload-placeholder-loader 1s linear infinite;border-radius:50%;border-right:2px solid transparent;border-top:3px solid var(--ck-color-upload-placeholder-loader);height:var(--ck-upload-placeholder-loader-size);width:var(--ck-upload-placeholder-loader-size)}@keyframes ck-upload-placeholder-loader{to{transform:rotate(1turn)}}',"",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-image/theme/imageuploadloader.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-image/imageuploadloader.css"],names:[],mappings:"AAKA,kCAGC,kBAAmB,CADnB,YAAa,CAEb,sBAAuB,CAEvB,MAAO,CALP,iBAAkB,CAIlB,KAOD,CAJC,yCACC,UAAW,CACX,iBACD,CCXD,MACC,4CAAqD,CACrD,wCAAyC,CACzC,8CACD,CAEA,iCAGC,QAAS,CADT,UAgBD,CAbC,8CACC,sGACD,CAEA,qCAOC,4DACD,CAGD,kCAEC,WAAY,CADZ,UAWD,CARC,yCAMC,yDAA0D,CAH1D,iBAAkB,CAElB,kCAAmC,CADnC,8DAA+D,CAF/D,+CAAgD,CADhD,8CAMD,CAGD,wCACC,GACC,uBACD,CACD",sourcesContent:["/*\n * Copyright (c) 2003-2023, 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-upload-placeholder-loader {\n\tposition: absolute;\n\tdisplay: flex;\n\talign-items: center;\n\tjustify-content: center;\n\ttop: 0;\n\tleft: 0;\n\n\t&::before {\n\t\tcontent: '';\n\t\tposition: relative;\n\t}\n}\n","/*\n * Copyright (c) 2003-2023, 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-upload-placeholder-loader: hsl(0, 0%, 70%);\n\t--ck-upload-placeholder-loader-size: 32px;\n\t--ck-upload-placeholder-image-aspect-ratio: 2.8;\n}\n\n.ck .ck-image-upload-placeholder {\n\t/* We need to control the full width of the SVG gray background. */\n\twidth: 100%;\n\tmargin: 0;\n\n\t&.image-inline {\n\t\twidth: calc( 2 * var(--ck-upload-placeholder-loader-size) * var(--ck-upload-placeholder-image-aspect-ratio) );\n\t}\n\n\t& img {\n\t\t/*\n\t\t * This is an arbitrary aspect for a 1x1 px GIF to display to the user. Not too tall, not too short.\n\t\t * There's nothing special about this number except that it should make the image placeholder look like\n\t\t * a real image during this short period after the upload started and before the image was read from the\n\t\t * file system (and a rich preview was loaded).\n\t\t */\n\t\taspect-ratio: var(--ck-upload-placeholder-image-aspect-ratio);\n\t}\n}\n\n.ck .ck-upload-placeholder-loader {\n\twidth: 100%;\n\theight: 100%;\n\n\t&::before {\n\t\twidth: var(--ck-upload-placeholder-loader-size);\n\t\theight: var(--ck-upload-placeholder-loader-size);\n\t\tborder-radius: 50%;\n\t\tborder-top: 3px solid var(--ck-color-upload-placeholder-loader);\n\t\tborder-right: 2px solid transparent;\n\t\tanimation: ck-upload-placeholder-loader 1s linear infinite;\n\t}\n}\n\n@keyframes ck-upload-placeholder-loader {\n\tto {\n\t\ttransform: rotate( 360deg );\n\t}\n}\n"],sourceRoot:""}]);const c=a},2926:(t,e,n)=>{"use strict";n.d(e,{Z:()=>c});var i=n(4015);var o=n.n(i);var r=n(3645);var s=n.n(r);var a=s()(o());a.push([t.id,".ck.ck-editor__editable .image,.ck.ck-editor__editable .image-inline{position:relative}.ck.ck-editor__editable .image .ck-progress-bar,.ck.ck-editor__editable .image-inline .ck-progress-bar{left:0;position:absolute;top:0}.ck.ck-editor__editable .image-inline.ck-appear,.ck.ck-editor__editable .image.ck-appear{animation:fadeIn .7s}.ck.ck-editor__editable .image .ck-progress-bar,.ck.ck-editor__editable .image-inline .ck-progress-bar{background:var(--ck-color-upload-bar-background);height:2px;transition:width .1s;width:0}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}","",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-image/theme/imageuploadprogress.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-image/imageuploadprogress.css"],names:[],mappings:"AAMC,qEAEC,iBACD,CAGA,uGAIC,MAAO,CAFP,iBAAkB,CAClB,KAED,CCRC,yFACC,oBACD,CAID,uGAIC,gDAAiD,CAFjD,UAAW,CAGX,oBAAuB,CAFvB,OAGD,CAGD,kBACC,GAAO,SAAY,CACnB,GAAO,SAAY,CACpB",sourcesContent:["/*\n * Copyright (c) 2003-2023, 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& .image,\n\t& .image-inline {\n\t\tposition: relative;\n\t}\n\n\t/* Upload progress bar. */\n\t& .image .ck-progress-bar,\n\t& .image-inline .ck-progress-bar {\n\t\tposition: absolute;\n\t\ttop: 0;\n\t\tleft: 0;\n\t}\n}\n","/*\n * Copyright (c) 2003-2023, 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& .image,\n\t& .image-inline {\n\t\t/* Showing animation. */\n\t\t&.ck-appear {\n\t\t\tanimation: fadeIn 700ms;\n\t\t}\n\t}\n\n\t/* Upload progress bar. */\n\t& .image .ck-progress-bar,\n\t& .image-inline .ck-progress-bar {\n\t\theight: 2px;\n\t\twidth: 0;\n\t\tbackground: var(--ck-color-upload-bar-background);\n\t\ttransition: width 100ms;\n\t}\n}\n\n@keyframes fadeIn {\n\tfrom { opacity: 0; }\n\tto { opacity: 1; }\n}\n"],sourceRoot:""}]);const c=a},5269:(t,e,n)=>{"use strict";n.d(e,{Z:()=>c});var i=n(4015);var o=n.n(i);var r=n(3645);var s=n.n(r);var a=s()(o());a.push([t.id,".ck.ck-text-alternative-form{display:flex;flex-direction:row;flex-wrap:nowrap}.ck.ck-text-alternative-form .ck-labeled-field-view{display:inline-block}.ck.ck-text-alternative-form .ck-label{display:none}@media screen and (max-width:600px){.ck.ck-text-alternative-form{flex-wrap:wrap}.ck.ck-text-alternative-form .ck-labeled-field-view{flex-basis:100%}.ck.ck-text-alternative-form .ck-button{flex-basis:50%}}","",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-image/theme/textalternativeform.css","webpack://./node_modules/@ckeditor/ckeditor5-ui/theme/mixins/_rwd.css"],names:[],mappings:"AAOA,6BACC,YAAa,CACb,kBAAmB,CACnB,gBAqBD,CAnBC,oDACC,oBACD,CAEA,uCACC,YACD,CCZA,oCDCD,6BAcE,cAUF,CARE,oDACC,eACD,CAEA,wCACC,cACD,CCrBD",sourcesContent:['/*\n * Copyright (c) 2003-2023, 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\n.ck.ck-text-alternative-form {\n\tdisplay: flex;\n\tflex-direction: row;\n\tflex-wrap: nowrap;\n\n\t& .ck-labeled-field-view {\n\t\tdisplay: inline-block;\n\t}\n\n\t& .ck-label {\n\t\tdisplay: none;\n\t}\n\n\t@mixin ck-media-phone {\n\t\tflex-wrap: wrap;\n\n\t\t& .ck-labeled-field-view {\n\t\t\tflex-basis: 100%;\n\t\t}\n\n\t\t& .ck-button {\n\t\t\tflex-basis: 50%;\n\t\t}\n\t}\n}\n',"/*\n * Copyright (c) 2003-2023, 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@define-mixin ck-media-phone {\n\t@media screen and (max-width: 600px) {\n\t\t@mixin-content;\n\t}\n}\n"],sourceRoot:""}]);const c=a},3925:(t,e,n)=>{"use strict";n.d(e,{Z:()=>c});var i=n(4015);var o=n.n(i);var r=n(3645);var s=n.n(r);var a=s()(o());a.push([t.id,".ck .ck-link_selected{background:var(--ck-color-link-selected-background)}.ck .ck-link_selected span.image-inline{outline:var(--ck-widget-outline-thickness) solid var(--ck-color-link-selected-background)}.ck .ck-fake-link-selection{background:var(--ck-color-link-fake-selection)}.ck .ck-fake-link-selection_collapsed{border-right:1px solid var(--ck-color-base-text);height:100%;margin-right:-1px;outline:1px solid hsla(0,0%,100%,.5)}","",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-link/link.css"],names:[],mappings:"AAMA,sBACC,mDAMD,CAHC,wCACC,yFACD,CAOD,4BACC,8CACD,CAGA,sCAEC,gDAAiD,CADjD,WAAY,CAEZ,iBAAkB,CAClB,oCACD",sourcesContent:['/*\n * Copyright (c) 2003-2023, 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/* Class added to span element surrounding currently selected link. */\n.ck .ck-link_selected {\n\tbackground: var(--ck-color-link-selected-background);\n\n\t/* Give linked inline images some outline to let the user know they are also part of the link. */\n\t& span.image-inline {\n\t\toutline: var(--ck-widget-outline-thickness) solid var(--ck-color-link-selected-background);\n\t}\n}\n\n/*\n * Classes used by the "fake visual selection" displayed in the content when an input\n * in the link UI has focus (the browser does not render the native selection in this state).\n */\n.ck .ck-fake-link-selection {\n\tbackground: var(--ck-color-link-fake-selection);\n}\n\n/* A collapsed fake visual selection. */\n.ck .ck-fake-link-selection_collapsed {\n\theight: 100%;\n\tborder-right: 1px solid var(--ck-color-base-text);\n\tmargin-right: -1px;\n\toutline: solid 1px hsla(0, 0%, 100%, .5);\n}\n'],sourceRoot:""}]);const c=a},7536:(t,e,n)=>{"use strict";n.d(e,{Z:()=>c});var i=n(4015);var o=n.n(i);var r=n(3645);var s=n.n(r);var a=s()(o());a.push([t.id,".ck.ck-link-actions{display:flex;flex-direction:row;flex-wrap:nowrap}.ck.ck-link-actions .ck-link-actions__preview{display:inline-block}.ck.ck-link-actions .ck-link-actions__preview .ck-button__label{overflow:hidden}@media screen and (max-width:600px){.ck.ck-link-actions{flex-wrap:wrap}.ck.ck-link-actions .ck-link-actions__preview{flex-basis:100%}.ck.ck-link-actions .ck-button:not(.ck-link-actions__preview){flex-basis:50%}}.ck.ck-link-actions .ck-button.ck-link-actions__preview{padding-left:0;padding-right:0}.ck.ck-link-actions .ck-button.ck-link-actions__preview .ck-button__label{color:var(--ck-color-link-default);cursor:pointer;max-width:var(--ck-input-width);min-width:3em;padding:0 var(--ck-spacing-medium);text-align:center;text-overflow:ellipsis}.ck.ck-link-actions .ck-button.ck-link-actions__preview .ck-button__label:hover{text-decoration:underline}.ck.ck-link-actions .ck-button.ck-link-actions__preview,.ck.ck-link-actions .ck-button.ck-link-actions__preview:active,.ck.ck-link-actions .ck-button.ck-link-actions__preview:focus,.ck.ck-link-actions .ck-button.ck-link-actions__preview:hover{background:none}.ck.ck-link-actions .ck-button.ck-link-actions__preview:active{box-shadow:none}.ck.ck-link-actions .ck-button.ck-link-actions__preview:focus .ck-button__label{text-decoration:underline}[dir=ltr] .ck.ck-link-actions .ck-button:not(:first-child),[dir=rtl] .ck.ck-link-actions .ck-button:not(:last-child){margin-left:var(--ck-spacing-standard)}@media screen and (max-width:600px){.ck.ck-link-actions .ck-button.ck-link-actions__preview{margin:var(--ck-spacing-standard) var(--ck-spacing-standard) 0}.ck.ck-link-actions .ck-button.ck-link-actions__preview .ck-button__label{max-width:100%;min-width:0}[dir=ltr] .ck.ck-link-actions .ck-button:not(.ck-link-actions__preview),[dir=rtl] .ck.ck-link-actions .ck-button:not(.ck-link-actions__preview){margin-left:0}}","",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-link/theme/linkactions.css","webpack://./node_modules/@ckeditor/ckeditor5-ui/theme/mixins/_rwd.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-link/linkactions.css"],names:[],mappings:"AAOA,oBACC,YAAa,CACb,kBAAmB,CACnB,gBAqBD,CAnBC,8CACC,oBAKD,CAHC,gEACC,eACD,CCXD,oCDCD,oBAcE,cAUF,CARE,8CACC,eACD,CAEA,8DACC,cACD,CCrBD,CCIA,wDACC,cAAe,CACf,eAmCD,CAjCC,0EAEC,kCAAmC,CAEnC,cAAe,CAIf,+BAAgC,CAChC,aAAc,CARd,kCAAmC,CASnC,iBAAkB,CAPlB,sBAYD,CAHC,gFACC,yBACD,CAGD,mPAIC,eACD,CAEA,+DACC,eACD,CAGC,gFACC,yBACD,CAWD,qHACC,sCACD,CDtDD,oCC0DC,wDACC,8DAMD,CAJC,0EAEC,cAAe,CADf,WAED,CAGD,gJAME,aAEF,CDzED",sourcesContent:['/*\n * Copyright (c) 2003-2023, 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\n.ck.ck-link-actions {\n\tdisplay: flex;\n\tflex-direction: row;\n\tflex-wrap: nowrap;\n\n\t& .ck-link-actions__preview {\n\t\tdisplay: inline-block;\n\n\t\t& .ck-button__label {\n\t\t\toverflow: hidden;\n\t\t}\n\t}\n\n\t@mixin ck-media-phone {\n\t\tflex-wrap: wrap;\n\n\t\t& .ck-link-actions__preview {\n\t\t\tflex-basis: 100%;\n\t\t}\n\n\t\t& .ck-button:not(.ck-link-actions__preview) {\n\t\t\tflex-basis: 50%;\n\t\t}\n\t}\n}\n',"/*\n * Copyright (c) 2003-2023, 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@define-mixin ck-media-phone {\n\t@media screen and (max-width: 600px) {\n\t\t@mixin-content;\n\t}\n}\n",'/*\n * Copyright (c) 2003-2023, 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/_unselectable.css";\n@import "@ckeditor/ckeditor5-ui/theme/mixins/_dir.css";\n@import "../mixins/_focus.css";\n@import "../mixins/_shadow.css";\n@import "@ckeditor/ckeditor5-ui/theme/mixins/_rwd.css";\n\n.ck.ck-link-actions {\n\t& .ck-button.ck-link-actions__preview {\n\t\tpadding-left: 0;\n\t\tpadding-right: 0;\n\n\t\t& .ck-button__label {\n\t\t\tpadding: 0 var(--ck-spacing-medium);\n\t\t\tcolor: var(--ck-color-link-default);\n\t\t\ttext-overflow: ellipsis;\n\t\t\tcursor: pointer;\n\n\t\t\t/* Match the box model of the link editor form\'s input so the balloon\n\t\t\tdoes not change width when moving between actions and the form. */\n\t\t\tmax-width: var(--ck-input-width);\n\t\t\tmin-width: 3em;\n\t\t\ttext-align: center;\n\n\t\t\t&:hover {\n\t\t\t\ttext-decoration: underline;\n\t\t\t}\n\t\t}\n\n\t\t&,\n\t\t&:hover,\n\t\t&:focus,\n\t\t&:active {\n\t\t\tbackground: none;\n\t\t}\n\n\t\t&:active {\n\t\t\tbox-shadow: none;\n\t\t}\n\n\t\t&:focus {\n\t\t\t& .ck-button__label {\n\t\t\t\ttext-decoration: underline;\n\t\t\t}\n\t\t}\n\t}\n\n\t@mixin ck-dir ltr {\n\t\t& .ck-button:not(:first-child) {\n\t\t\tmargin-left: var(--ck-spacing-standard);\n\t\t}\n\t}\n\n\t@mixin ck-dir rtl {\n\t\t& .ck-button:not(:last-child) {\n\t\t\tmargin-left: var(--ck-spacing-standard);\n\t\t}\n\t}\n\n\t@mixin ck-media-phone {\n\t\t& .ck-button.ck-link-actions__preview {\n\t\t\tmargin: var(--ck-spacing-standard) var(--ck-spacing-standard) 0;\n\n\t\t\t& .ck-button__label {\n\t\t\t\tmin-width: 0;\n\t\t\t\tmax-width: 100%;\n\t\t\t}\n\t\t}\n\n\t\t& .ck-button:not(.ck-link-actions__preview) {\n\t\t\t@mixin ck-dir ltr {\n\t\t\t\tmargin-left: 0;\n\t\t\t}\n\n\t\t\t@mixin ck-dir rtl {\n\t\t\t\tmargin-left: 0;\n\t\t\t}\n\t\t}\n\t}\n}\n'],sourceRoot:""}]);const c=a},4874:(t,e,n)=>{"use strict";n.d(e,{Z:()=>c});var i=n(4015);var o=n.n(i);var r=n(3645);var s=n.n(r);var a=s()(o());a.push([t.id,".ck.ck-link-form{display:flex}.ck.ck-link-form .ck-label{display:none}@media screen and (max-width:600px){.ck.ck-link-form{flex-wrap:wrap}.ck.ck-link-form .ck-labeled-field-view{flex-basis:100%}.ck.ck-link-form .ck-button{flex-basis:50%}}.ck.ck-link-form_layout-vertical{display:block}.ck.ck-link-form_layout-vertical .ck-button.ck-button-cancel,.ck.ck-link-form_layout-vertical .ck-button.ck-button-save{margin-top:var(--ck-spacing-medium)}.ck.ck-link-form_layout-vertical{min-width:var(--ck-input-width);padding:0}.ck.ck-link-form_layout-vertical .ck-labeled-field-view{margin:var(--ck-spacing-large) var(--ck-spacing-large) var(--ck-spacing-small)}.ck.ck-link-form_layout-vertical .ck-labeled-field-view .ck-input-text{min-width:0;width:100%}.ck.ck-link-form_layout-vertical>.ck-button{border-radius:0;margin:0;padding:var(--ck-spacing-standard);width:50%}.ck.ck-link-form_layout-vertical>.ck-button:not(:focus){border-top:1px solid var(--ck-color-base-border)}[dir=ltr] .ck.ck-link-form_layout-vertical>.ck-button,[dir=rtl] .ck.ck-link-form_layout-vertical>.ck-button{margin-left:0}[dir=rtl] .ck.ck-link-form_layout-vertical>.ck-button:last-of-type{border-right:1px solid var(--ck-color-base-border)}.ck.ck-link-form_layout-vertical .ck.ck-list{margin:var(--ck-spacing-standard) var(--ck-spacing-large)}.ck.ck-link-form_layout-vertical .ck.ck-list .ck-button.ck-switchbutton{padding:0;width:100%}.ck.ck-link-form_layout-vertical .ck.ck-list .ck-button.ck-switchbutton:hover{background:none}","",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-link/theme/linkform.css","webpack://./node_modules/@ckeditor/ckeditor5-ui/theme/mixins/_rwd.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-link/linkform.css"],names:[],mappings:"AAOA,iBACC,YAiBD,CAfC,2BACC,YACD,CCNA,oCDCD,iBAQE,cAUF,CARE,wCACC,eACD,CAEA,4BACC,cACD,CCfD,CDuBD,iCACC,aAYD,CALE,wHAEC,mCACD,CE/BF,iCAEC,+BAAgC,CADhC,SAgDD,CA7CC,wDACC,8EAMD,CAJC,uEACC,WAAY,CACZ,UACD,CAGD,4CAIC,eAAgB,CAFhB,QAAS,CADT,kCAAmC,CAEnC,SAkBD,CAfC,wDACC,gDACD,CARD,4GAeE,aAMF,CAJE,mEACC,kDACD,CAKF,6CACC,yDAUD,CARC,wEACC,SAAU,CACV,UAKD,CAHC,8EACC,eACD",sourcesContent:['/*\n * Copyright (c) 2003-2023, 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\n.ck.ck-link-form {\n\tdisplay: flex;\n\n\t& .ck-label {\n\t\tdisplay: none;\n\t}\n\n\t@mixin ck-media-phone {\n\t\tflex-wrap: wrap;\n\n\t\t& .ck-labeled-field-view {\n\t\t\tflex-basis: 100%;\n\t\t}\n\n\t\t& .ck-button {\n\t\t\tflex-basis: 50%;\n\t\t}\n\t}\n}\n\n/*\n * Style link form differently when manual decorators are available.\n * See: https://github.com/ckeditor/ckeditor5-link/issues/186.\n */\n.ck.ck-link-form_layout-vertical {\n\tdisplay: block;\n\n\t/*\n\t * Whether the form is in the responsive mode or not, if there are decorator buttons\n\t * keep the top margin of action buttons medium.\n\t */\n\t& .ck-button {\n\t\t&.ck-button-save,\n\t\t&.ck-button-cancel {\n\t\t\tmargin-top: var(--ck-spacing-medium);\n\t\t}\n\t}\n}\n',"/*\n * Copyright (c) 2003-2023, 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@define-mixin ck-media-phone {\n\t@media screen and (max-width: 600px) {\n\t\t@mixin-content;\n\t}\n}\n",'/*\n * Copyright (c) 2003-2023, 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/_dir.css";\n\n/*\n * Style link form differently when manual decorators are available.\n * See: https://github.com/ckeditor/ckeditor5-link/issues/186.\n */\n.ck.ck-link-form_layout-vertical {\n\tpadding: 0;\n\tmin-width: var(--ck-input-width);\n\n\t& .ck-labeled-field-view {\n\t\tmargin: var(--ck-spacing-large) var(--ck-spacing-large) var(--ck-spacing-small);\n\n\t\t& .ck-input-text {\n\t\t\tmin-width: 0;\n\t\t\twidth: 100%;\n\t\t}\n\t}\n\n\t& > .ck-button {\n\t\tpadding: var(--ck-spacing-standard);\n\t\tmargin: 0;\n\t\twidth: 50%;\n\t\tborder-radius: 0;\n\n\t\t&:not(:focus) {\n\t\t\tborder-top: 1px solid var(--ck-color-base-border);\n\t\t}\n\n\t\t@mixin ck-dir ltr {\n\t\t\tmargin-left: 0;\n\t\t}\n\n\t\t@mixin ck-dir rtl {\n\t\t\tmargin-left: 0;\n\n\t\t\t&:last-of-type {\n\t\t\t\tborder-right: 1px solid var(--ck-color-base-border);\n\t\t\t}\n\t\t}\n\t}\n\n\t/* Using additional `.ck` class for stronger CSS specificity than `.ck.ck-link-form > :not(:first-child)`. */\n\t& .ck.ck-list {\n\t\tmargin: var(--ck-spacing-standard) var(--ck-spacing-large);\n\n\t\t& .ck-button.ck-switchbutton {\n\t\t\tpadding: 0;\n\t\t\twidth: 100%;\n\n\t\t\t&:hover {\n\t\t\t\tbackground: none;\n\t\t\t}\n\t\t}\n\t}\n}\n'],sourceRoot:""}]);const c=a},4330:(t,e,n)=>{"use strict";n.d(e,{Z:()=>c});var i=n(4015);var o=n.n(i);var r=n(3645);var s=n.n(r);var a=s()(o());a.push([t.id,'.ck.ck-editor__editable a span.image-inline:after,.ck.ck-editor__editable figure.image>a:after{display:block;position:absolute}:root{--ck-link-image-indicator-icon-size:20;--ck-link-image-indicator-icon-is-visible:clamp(0px,100% - 50px,1px)}.ck.ck-editor__editable a span.image-inline:after,.ck.ck-editor__editable figure.image>a:after{background-color:rgba(0,0,0,.4);background-image:url("data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgMjAgMjAiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZmlsbD0iI2ZmZiIgZD0ibTExLjA3NyAxNSAuOTkxLTEuNDE2YS43NS43NSAwIDEgMSAxLjIyOS44NmwtMS4xNDggMS42NGEuNzQ4Ljc0OCAwIDAgMS0uMjE3LjIwNiA1LjI1MSA1LjI1MSAwIDAgMS04LjUwMy01Ljk1NS43NDEuNzQxIDAgMCAxIC4xMi0uMjc0bDEuMTQ3LTEuNjM5YS43NS43NSAwIDEgMSAxLjIyOC44Nkw0LjkzMyAxMC43bC4wMDYuMDAzYTMuNzUgMy43NSAwIDAgMCA2LjEzMiA0LjI5NGwuMDA2LjAwNHptNS40OTQtNS4zMzVhLjc0OC43NDggMCAwIDEtLjEyLjI3NGwtMS4xNDcgMS42MzlhLjc1Ljc1IDAgMSAxLTEuMjI4LS44NmwuODYtMS4yM2EzLjc1IDMuNzUgMCAwIDAtNi4xNDQtNC4zMDFsLS44NiAxLjIyOWEuNzUuNzUgMCAwIDEtMS4yMjktLjg2bDEuMTQ4LTEuNjRhLjc0OC43NDggMCAwIDEgLjIxNy0uMjA2IDUuMjUxIDUuMjUxIDAgMCAxIDguNTAzIDUuOTU1em0tNC41NjMtMi41MzJhLjc1Ljc1IDAgMCAxIC4xODQgMS4wNDVsLTMuMTU1IDQuNTA1YS43NS43NSAwIDEgMS0xLjIyOS0uODZsMy4xNTUtNC41MDZhLjc1Ljc1IDAgMCAxIDEuMDQ1LS4xODR6Ii8+PC9zdmc+");background-position:50%;background-repeat:no-repeat;background-size:14px;border-radius:100%;content:"";height:calc(var(--ck-link-image-indicator-icon-is-visible)*var(--ck-link-image-indicator-icon-size));overflow:hidden;right:min(var(--ck-spacing-medium),6%);top:min(var(--ck-spacing-medium),6%);width:calc(var(--ck-link-image-indicator-icon-is-visible)*var(--ck-link-image-indicator-icon-size))}',"",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-link/theme/linkimage.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-link/linkimage.css"],names:[],mappings:"AASE,+FACC,aAAc,CACd,iBACD,CCPF,MAEC,sCAAuC,CACvC,oEACD,CAME,+FAUC,+BAAqC,CACrC,83BAA+3B,CAG/3B,uBAA2B,CAD3B,2BAA4B,CAD5B,oBAAqB,CAGrB,kBAAmB,CAdnB,UAAW,CAsBX,oGAAuG,CAFvG,eAAgB,CAbhB,sCAAwC,CADxC,oCAAsC,CAetC,mGAED",sourcesContent:["/*\n * Copyright (c) 2003-2023, 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/* Linked image indicator */\n\t& figure.image > a,\n\t& a span.image-inline {\n\t\t&::after {\n\t\t\tdisplay: block;\n\t\t\tposition: absolute;\n\t\t}\n\t}\n}\n\n",'/*\n * Copyright (c) 2003-2023, 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/* Match the icon size with the upload indicator brought by the image upload feature. */\n\t--ck-link-image-indicator-icon-size: 20;\n\t--ck-link-image-indicator-icon-is-visible: clamp(0px, 100% - 50px, 1px);\n}\n\n.ck.ck-editor__editable {\n\t/* Linked image indicator */\n\t& figure.image > a,\n\t& a span.image-inline {\n\t\t&::after {\n\t\t\tcontent: "";\n\n\t\t\t/*\n\t\t\t * Smaller images should have the icon closer to the border.\n\t\t\t * Match the icon position with the upload indicator brought by the image upload feature.\n\t\t\t */\n\t\t\ttop: min(var(--ck-spacing-medium), 6%);\n\t\t\tright: min(var(--ck-spacing-medium), 6%);\n\n\t\t\tbackground-color: hsla(0, 0%, 0%, .4);\n\t\t\tbackground-image: url("data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgMjAgMjAiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZmlsbD0iI2ZmZiIgZD0ibTExLjA3NyAxNSAuOTkxLTEuNDE2YS43NS43NSAwIDEgMSAxLjIyOS44NmwtMS4xNDggMS42NGEuNzQ4Ljc0OCAwIDAgMS0uMjE3LjIwNiA1LjI1MSA1LjI1MSAwIDAgMS04LjUwMy01Ljk1NS43NDEuNzQxIDAgMCAxIC4xMi0uMjc0bDEuMTQ3LTEuNjM5YS43NS43NSAwIDEgMSAxLjIyOC44Nkw0LjkzMyAxMC43bC4wMDYuMDAzYTMuNzUgMy43NSAwIDAgMCA2LjEzMiA0LjI5NGwuMDA2LjAwNHptNS40OTQtNS4zMzVhLjc0OC43NDggMCAwIDEtLjEyLjI3NGwtMS4xNDcgMS42MzlhLjc1Ljc1IDAgMSAxLTEuMjI4LS44NmwuODYtMS4yM2EzLjc1IDMuNzUgMCAwIDAtNi4xNDQtNC4zMDFsLS44NiAxLjIyOWEuNzUuNzUgMCAwIDEtMS4yMjktLjg2bDEuMTQ4LTEuNjRhLjc0OC43NDggMCAwIDEgLjIxNy0uMjA2IDUuMjUxIDUuMjUxIDAgMCAxIDguNTAzIDUuOTU1em0tNC41NjMtMi41MzJhLjc1Ljc1IDAgMCAxIC4xODQgMS4wNDVsLTMuMTU1IDQuNTA1YS43NS43NSAwIDEgMS0xLjIyOS0uODZsMy4xNTUtNC41MDZhLjc1Ljc1IDAgMCAxIDEuMDQ1LS4xODR6Ii8+PC9zdmc+");\n\t\t\tbackground-size: 14px;\n\t\t\tbackground-repeat: no-repeat;\n\t\t\tbackground-position: center;\n\t\t\tborder-radius: 100%;\n\n\t\t\t/*\n\t\t\t* Use CSS math to simulate container queries.\n\t\t\t* https://css-tricks.com/the-raven-technique-one-step-closer-to-container-queries/#what-about-showing-and-hiding-things\n\t\t\t*/\n\t\t\toverflow: hidden;\n\t\t\twidth: calc(var(--ck-link-image-indicator-icon-is-visible) * var(--ck-link-image-indicator-icon-size));\n\t\t\theight: calc(var(--ck-link-image-indicator-icon-is-visible) * var(--ck-link-image-indicator-icon-size));\n\t\t}\n\t}\n}\n\n'],sourceRoot:""}]);const c=a},3190:(t,e,n)=>{"use strict";n.d(e,{Z:()=>c});var i=n(4015);var o=n.n(i);var r=n(3645);var s=n.n(r);var a=s()(o());a.push([t.id,".ck-editor__editable .ck-list-bogus-paragraph{display:block}","",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-list/theme/documentlist.css"],names:[],mappings:"AAKA,8CACC,aACD",sourcesContent:["/*\n * Copyright (c) 2003-2023, 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-editor__editable .ck-list-bogus-paragraph {\n\tdisplay: block;\n}\n"],sourceRoot:""}]);const c=a},4784:(t,e,n)=>{"use strict";n.d(e,{Z:()=>c});var i=n(4015);var o=n.n(i);var r=n(3645);var s=n.n(r);var a=s()(o());a.push([t.id,".ck-content ol{list-style-type:decimal}.ck-content ol ol{list-style-type:lower-latin}.ck-content ol ol ol{list-style-type:lower-roman}.ck-content ol ol ol ol{list-style-type:upper-latin}.ck-content ol ol ol ol ol{list-style-type:upper-roman}.ck-content ul{list-style-type:disc}.ck-content ul ul{list-style-type:circle}.ck-content ul ul ul,.ck-content ul ul ul ul{list-style-type:square}","",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-list/theme/list.css"],names:[],mappings:"AAKA,eACC,uBAiBD,CAfC,kBACC,2BAaD,CAXC,qBACC,2BASD,CAPC,wBACC,2BAKD,CAHC,2BACC,2BACD,CAMJ,eACC,oBAaD,CAXC,kBACC,sBASD,CAJE,6CACC,sBACD",sourcesContent:["/*\n * Copyright (c) 2003-2023, 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 ol {\n\tlist-style-type: decimal;\n\n\t& ol {\n\t\tlist-style-type: lower-latin;\n\n\t\t& ol {\n\t\t\tlist-style-type: lower-roman;\n\n\t\t\t& ol {\n\t\t\t\tlist-style-type: upper-latin;\n\n\t\t\t\t& ol {\n\t\t\t\t\tlist-style-type: upper-roman;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n}\n\n.ck-content ul {\n\tlist-style-type: disc;\n\n\t& ul {\n\t\tlist-style-type: circle;\n\n\t\t& ul {\n\t\t\tlist-style-type: square;\n\n\t\t\t& ul {\n\t\t\t\tlist-style-type: square;\n\t\t\t}\n\t\t}\n\t}\n}\n"],sourceRoot:""}]);const c=a},9938:(t,e,n)=>{"use strict";n.d(e,{Z:()=>c});var i=n(4015);var o=n.n(i);var r=n(3645);var s=n.n(r);var a=s()(o());a.push([t.id,".ck.ck-list-properties.ck-list-properties_without-styles{padding:var(--ck-spacing-large)}.ck.ck-list-properties.ck-list-properties_without-styles>*{min-width:14em}.ck.ck-list-properties.ck-list-properties_without-styles>*+*{margin-top:var(--ck-spacing-standard)}.ck.ck-list-properties.ck-list-properties_with-numbered-properties>.ck-list-styles-list{grid-template-columns:repeat(4,auto)}.ck.ck-list-properties.ck-list-properties_with-numbered-properties>.ck-collapsible{border-top:1px solid var(--ck-color-base-border)}.ck.ck-list-properties.ck-list-properties_with-numbered-properties>.ck-collapsible>.ck-collapsible__children>*{width:100%}.ck.ck-list-properties.ck-list-properties_with-numbered-properties>.ck-collapsible>.ck-collapsible__children>*+*{margin-top:var(--ck-spacing-standard)}.ck.ck-list-properties .ck.ck-numbered-list-properties__start-index .ck-input{min-width:auto;width:100%}.ck.ck-list-properties .ck.ck-numbered-list-properties__reversed-order{background:transparent;margin-bottom:calc(var(--ck-spacing-tiny)*-1);padding-left:0;padding-right:0}.ck.ck-list-properties .ck.ck-numbered-list-properties__reversed-order:active,.ck.ck-list-properties .ck.ck-numbered-list-properties__reversed-order:hover{background:none;border-color:transparent;box-shadow:none}","",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-list/listproperties.css"],names:[],mappings:"AAOC,yDACC,+BASD,CAPC,2DACC,cAKD,CAHC,6DACC,qCACD,CASD,wFACC,oCACD,CAGA,mFACC,gDAWD,CARE,+GACC,UAKD,CAHC,iHACC,qCACD,CAMJ,8EACC,cAAe,CACf,UACD,CAEA,uEACC,sBAAuB,CAGvB,6CAAgD,CAFhD,cAAe,CACf,eAQD,CALC,2JAGC,eAAgB,CADhB,wBAAyB,CADzB,eAGD",sourcesContent:["/*\n * Copyright (c) 2003-2023, 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-list-properties {\n\t/* When there are no list styles and there is no collapsible. */\n\t&.ck-list-properties_without-styles {\n\t\tpadding: var(--ck-spacing-large);\n\n\t\t& > * {\n\t\t\tmin-width: 14em;\n\n\t\t\t& + * {\n\t\t\t\tmargin-top: var(--ck-spacing-standard);\n\t\t\t}\n\t\t}\n\t}\n\n\t/*\n\t * When the numbered list property fields (start at, reversed) should be displayed,\n\t * more horizontal space is needed. Reconfigure the style grid to create that space.\n\t */\n\t&.ck-list-properties_with-numbered-properties {\n\t\t& > .ck-list-styles-list {\n\t\t\tgrid-template-columns: repeat( 4, auto );\n\t\t}\n\n\t\t/* When list styles are rendered and property fields are in a collapsible. */\n\t\t& > .ck-collapsible {\n\t\t\tborder-top: 1px solid var(--ck-color-base-border);\n\n\t\t\t& > .ck-collapsible__children {\n\t\t\t\t& > * {\n\t\t\t\t\twidth: 100%;\n\n\t\t\t\t\t& + * {\n\t\t\t\t\t\tmargin-top: var(--ck-spacing-standard);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\t& .ck.ck-numbered-list-properties__start-index .ck-input {\n\t\tmin-width: auto;\n\t\twidth: 100%;\n\t}\n\n\t& .ck.ck-numbered-list-properties__reversed-order {\n\t\tbackground: transparent;\n\t\tpadding-left: 0;\n\t\tpadding-right: 0;\n\t\tmargin-bottom: calc(-1 * var(--ck-spacing-tiny));\n\n\t\t&:active, &:hover {\n\t\t\tbox-shadow: none;\n\t\t\tborder-color: transparent;\n\t\t\tbackground: none;\n\t\t}\n\t}\n}\n"],sourceRoot:""}]);const c=a},2591:(t,e,n)=>{"use strict";n.d(e,{Z:()=>c});var i=n(4015);var o=n.n(i);var r=n(3645);var s=n.n(r);var a=s()(o());a.push([t.id,".ck.ck-list-styles-list{display:grid}:root{--ck-list-style-button-size:44px}.ck.ck-list-styles-list{column-gap:var(--ck-spacing-medium);grid-template-columns:repeat(3,auto);padding:var(--ck-spacing-large);row-gap:var(--ck-spacing-medium)}.ck.ck-list-styles-list .ck-button{box-sizing:content-box;margin:0;padding:0}.ck.ck-list-styles-list .ck-button,.ck.ck-list-styles-list .ck-button .ck-icon{height:var(--ck-list-style-button-size);width:var(--ck-list-style-button-size)}","",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-list/theme/liststyles.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-list/liststyles.css"],names:[],mappings:"AAKA,wBACC,YACD,CCFA,MACC,gCACD,CAEA,wBAGC,mCAAoC,CAFpC,oCAAwC,CAGxC,+BAAgC,CAFhC,gCA4BD,CAxBC,mCAiBC,sBAAuB,CAPvB,QAAS,CANT,SAmBD,CAJC,+EAhBA,uCAAwC,CADxC,sCAoBA",sourcesContent:["/*\n * Copyright (c) 2003-2023, 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-list-styles-list {\n\tdisplay: grid;\n}\n",'/*\n * Copyright (c) 2003-2023, 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-list-style-button-size: 44px;\n}\n\n.ck.ck-list-styles-list {\n\tgrid-template-columns: repeat( 3, auto );\n\trow-gap: var(--ck-spacing-medium);\n\tcolumn-gap: var(--ck-spacing-medium);\n\tpadding: var(--ck-spacing-large);\n\n\t& .ck-button {\n\t\t/* Make the button look like a thumbnail (the icon "takes it all"). */\n\t\twidth: var(--ck-list-style-button-size);\n\t\theight: var(--ck-list-style-button-size);\n\t\tpadding: 0;\n\n\t\t/*\n\t\t * Buttons are aligned by the grid so disable default button margins to not collide with the\n\t\t * gaps in the grid.\n\t\t */\n\t\tmargin: 0;\n\n\t\t/*\n\t\t * Make sure the button border (which is displayed on focus, BTW) does not steal pixels\n\t\t * from the button dimensions and, as a result, decrease the size of the icon\n\t\t * (which becomes blurry as it scales down).\n\t\t */\n\t\tbox-sizing: content-box;\n\n\t\t& .ck-icon {\n\t\t\twidth: var(--ck-list-style-button-size);\n\t\t\theight: var(--ck-list-style-button-size);\n\t\t}\n\t}\n}\n'],sourceRoot:""}]);const c=a},9292:(t,e,n)=>{"use strict";n.d(e,{Z:()=>c});var i=n(4015);var o=n.n(i);var r=n(3645);var s=n.n(r);var a=s()(o());a.push([t.id,':root{--ck-todo-list-checkmark-size:16px}.ck-content .todo-list{list-style:none}.ck-content .todo-list li{margin-bottom:5px;position:relative}.ck-content .todo-list li .todo-list{margin-top:5px}.ck-content .todo-list .todo-list__label>input{-webkit-appearance:none;border:0;display:inline-block;height:var(--ck-todo-list-checkmark-size);left:-25px;margin-left:0;margin-right:-15px;position:relative;right:0;vertical-align:middle;width:var(--ck-todo-list-checkmark-size)}.ck-content[dir=rtl] .todo-list .todo-list__label>input{left:0;margin-left:-15px;margin-right:0;right:-25px}.ck-content .todo-list .todo-list__label>input:before{border:1px solid #333;border-radius:2px;box-sizing:border-box;content:"";display:block;height:100%;position:absolute;transition:box-shadow .25s ease-in-out;width:100%}.ck-content .todo-list .todo-list__label>input:after{border-color:transparent;border-style:solid;border-width:0 calc(var(--ck-todo-list-checkmark-size)/8) calc(var(--ck-todo-list-checkmark-size)/8) 0;box-sizing:content-box;content:"";display:block;height:calc(var(--ck-todo-list-checkmark-size)/2.6);left:calc(var(--ck-todo-list-checkmark-size)/3);pointer-events:none;position:absolute;top:calc(var(--ck-todo-list-checkmark-size)/5.3);transform:rotate(45deg);width:calc(var(--ck-todo-list-checkmark-size)/5.3)}.ck-content .todo-list .todo-list__label>input[checked]:before{background:#26ab33;border-color:#26ab33}.ck-content .todo-list .todo-list__label>input[checked]:after{border-color:#fff}.ck-content .todo-list .todo-list__label .todo-list__label__description{vertical-align:middle}.ck-content .todo-list .todo-list__label.todo-list__label_without-description input[type=checkbox]{position:absolute}.ck-editor__editable.ck-content .todo-list .todo-list__label>input,.ck-editor__editable.ck-content .todo-list .todo-list__label>span[contenteditable=false]>input{cursor:pointer}.ck-editor__editable.ck-content .todo-list .todo-list__label>input:hover:before,.ck-editor__editable.ck-content .todo-list .todo-list__label>span[contenteditable=false]>input:hover:before{box-shadow:0 0 0 5px rgba(0,0,0,.1)}.ck-editor__editable.ck-content .todo-list .todo-list__label>span[contenteditable=false]>input{-webkit-appearance:none;border:0;display:inline-block;height:var(--ck-todo-list-checkmark-size);left:-25px;margin-left:0;margin-right:-15px;position:relative;right:0;vertical-align:middle;width:var(--ck-todo-list-checkmark-size)}.ck-editor__editable.ck-content[dir=rtl] .todo-list .todo-list__label>span[contenteditable=false]>input{left:0;margin-left:-15px;margin-right:0;right:-25px}.ck-editor__editable.ck-content .todo-list .todo-list__label>span[contenteditable=false]>input:before{border:1px solid #333;border-radius:2px;box-sizing:border-box;content:"";display:block;height:100%;position:absolute;transition:box-shadow .25s ease-in-out;width:100%}.ck-editor__editable.ck-content .todo-list .todo-list__label>span[contenteditable=false]>input:after{border-color:transparent;border-style:solid;border-width:0 calc(var(--ck-todo-list-checkmark-size)/8) calc(var(--ck-todo-list-checkmark-size)/8) 0;box-sizing:content-box;content:"";display:block;height:calc(var(--ck-todo-list-checkmark-size)/2.6);left:calc(var(--ck-todo-list-checkmark-size)/3);pointer-events:none;position:absolute;top:calc(var(--ck-todo-list-checkmark-size)/5.3);transform:rotate(45deg);width:calc(var(--ck-todo-list-checkmark-size)/5.3)}.ck-editor__editable.ck-content .todo-list .todo-list__label>span[contenteditable=false]>input[checked]:before{background:#26ab33;border-color:#26ab33}.ck-editor__editable.ck-content .todo-list .todo-list__label>span[contenteditable=false]>input[checked]:after{border-color:#fff}.ck-editor__editable.ck-content .todo-list .todo-list__label.todo-list__label_without-description input[type=checkbox]{position:absolute}',"",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-list/theme/todolist.css"],names:[],mappings:"AAKA,MACC,kCACD,CAwEA,uBACC,eAwBD,CAtBC,0BAEC,iBAAkB,CADlB,iBAMD,CAHC,qCACC,cACD,CAIA,+CAlFD,uBAAwB,CAQxB,QAAS,CAPT,oBAAqB,CAGrB,yCAA0C,CAO1C,UAAW,CAGX,aAAc,CAFd,kBAAmB,CAVnB,iBAAkB,CAWlB,OAAQ,CARR,qBAAsB,CAFtB,wCAiFC,CAFA,wDAhEA,MAAO,CAGP,iBAAkB,CAFlB,cAAe,CACf,WAgEA,CA5DD,sDAOC,qBAAiC,CACjC,iBAAkB,CALlB,qBAAsB,CACtB,UAAW,CAHX,aAAc,CAKd,WAAY,CAJZ,iBAAkB,CAOlB,sCAAwC,CAJxC,UAKD,CAEA,qDAaC,wBAAyB,CADzB,kBAAmB,CAEnB,sGAA+G,CAX/G,sBAAuB,CAEvB,UAAW,CAJX,aAAc,CAUd,mDAAwD,CAHxD,+CAAoD,CAJpD,mBAAoB,CAFpB,iBAAkB,CAOlB,gDAAqD,CAMrD,uBAAwB,CALxB,kDAMD,CAGC,+DACC,kBAA8B,CAC9B,oBACD,CAEA,8DACC,iBACD,CAwBA,wEACC,qBACD,CAEA,mGACC,iBACD,CAYD,kKAEC,cAKD,CAHC,4LACC,mCACD,CAMD,+FApHA,uBAAwB,CAQxB,QAAS,CAPT,oBAAqB,CAGrB,yCAA0C,CAO1C,UAAW,CAGX,aAAc,CAFd,kBAAmB,CAVnB,iBAAkB,CAWlB,OAAQ,CARR,qBAAsB,CAFtB,wCAmHA,CAFA,wGAlGC,MAAO,CAGP,iBAAkB,CAFlB,cAAe,CACf,WAkGD,CA9FA,sGAOC,qBAAiC,CACjC,iBAAkB,CALlB,qBAAsB,CACtB,UAAW,CAHX,aAAc,CAKd,WAAY,CAJZ,iBAAkB,CAOlB,sCAAwC,CAJxC,UAKD,CAEA,qGAaC,wBAAyB,CADzB,kBAAmB,CAEnB,sGAA+G,CAX/G,sBAAuB,CAEvB,UAAW,CAJX,aAAc,CAUd,mDAAwD,CAHxD,+CAAoD,CAJpD,mBAAoB,CAFpB,iBAAkB,CAOlB,gDAAqD,CAMrD,uBAAwB,CALxB,kDAMD,CAGC,+GACC,kBAA8B,CAC9B,oBACD,CAEA,8GACC,iBACD,CA2DA,uHACC,iBACD",sourcesContent:["/*\n * Copyright (c) 2003-2023, 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-todo-list-checkmark-size: 16px;\n}\n\n@define-mixin todo-list-checkbox {\n\t-webkit-appearance: none;\n\tdisplay: inline-block;\n\tposition: relative;\n\twidth: var(--ck-todo-list-checkmark-size);\n\theight: var(--ck-todo-list-checkmark-size);\n\tvertical-align: middle;\n\n\t/* Needed on iOS */\n\tborder: 0;\n\n\t/* LTR styles */\n\tleft: -25px;\n\tmargin-right: -15px;\n\tright: 0;\n\tmargin-left: 0;\n\n\t/* RTL styles */\n\t@nest [dir=rtl]& {\n\t\tleft: 0;\n\t\tmargin-right: 0;\n\t\tright: -25px;\n\t\tmargin-left: -15px;\n\t}\n\n\t&::before {\n\t\tdisplay: block;\n\t\tposition: absolute;\n\t\tbox-sizing: border-box;\n\t\tcontent: '';\n\t\twidth: 100%;\n\t\theight: 100%;\n\t\tborder: 1px solid hsl(0, 0%, 20%);\n\t\tborder-radius: 2px;\n\t\ttransition: 250ms ease-in-out box-shadow;\n\t}\n\n\t&::after {\n\t\tdisplay: block;\n\t\tposition: absolute;\n\t\tbox-sizing: content-box;\n\t\tpointer-events: none;\n\t\tcontent: '';\n\n\t\t/* Calculate tick position, size and border-width proportional to the checkmark size. */\n\t\tleft: calc( var(--ck-todo-list-checkmark-size) / 3 );\n\t\ttop: calc( var(--ck-todo-list-checkmark-size) / 5.3 );\n\t\twidth: calc( var(--ck-todo-list-checkmark-size) / 5.3 );\n\t\theight: calc( var(--ck-todo-list-checkmark-size) / 2.6 );\n\t\tborder-style: solid;\n\t\tborder-color: transparent;\n\t\tborder-width: 0 calc( var(--ck-todo-list-checkmark-size) / 8 ) calc( var(--ck-todo-list-checkmark-size) / 8 ) 0;\n\t\ttransform: rotate(45deg);\n\t}\n\n\t&[checked] {\n\t\t&::before {\n\t\t\tbackground: hsl(126, 64%, 41%);\n\t\t\tborder-color: hsl(126, 64%, 41%);\n\t\t}\n\n\t\t&::after {\n\t\t\tborder-color: hsl(0, 0%, 100%);\n\t\t}\n\t}\n}\n\n/*\n * To-do list content styles.\n */\n.ck-content .todo-list {\n\tlist-style: none;\n\n\t& li {\n\t\tposition: relative;\n\t\tmargin-bottom: 5px;\n\n\t\t& .todo-list {\n\t\t\tmargin-top: 5px;\n\t\t}\n\t}\n\n\t& .todo-list__label {\n\t\t& > input {\n\t\t\t@mixin todo-list-checkbox;\n\t\t}\n\n\t\t& .todo-list__label__description {\n\t\t\tvertical-align: middle;\n\t\t}\n\n\t\t&.todo-list__label_without-description input[type=checkbox] {\n\t\t\tposition: absolute;\n\t\t}\n\t}\n}\n\n/*\n * To-do list editing view styles.\n */\n.ck-editor__editable.ck-content .todo-list .todo-list__label {\n\t/*\n\t * To-do list should be interactive only during the editing\n\t * (https://github.com/ckeditor/ckeditor5/issues/2090).\n\t */\n\t& > input,\n\t& > span[contenteditable=false] > input {\n\t\tcursor: pointer;\n\n\t\t&:hover::before {\n\t\t\tbox-shadow: 0 0 0 5px hsla(0, 0%, 0%, 0.1);\n\t\t}\n\t}\n\n\t/*\n\t * Document Lists - editing view has an additional span around checkbox.\n\t */\n\t& > span[contenteditable=false] > input {\n\t\t@mixin todo-list-checkbox;\n\t}\n\n\t&.todo-list__label_without-description {\n\t\t& input[type=checkbox] {\n\t\t\tposition: absolute;\n\t\t}\n\t}\n}\n"],sourceRoot:""}]);const c=a},8705:(t,e,n)=>{"use strict";n.d(e,{Z:()=>c});var i=n(4015);var o=n.n(i);var r=n(3645);var s=n.n(r);var a=s()(o());a.push([t.id,".ck-content .media{clear:both;display:block;margin:.9em 0;min-width:15em}","",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-media-embed/theme/mediaembed.css"],names:[],mappings:"AAKA,mBAGC,UAAW,CASX,aAAc,CAJd,aAAe,CAQf,cACD",sourcesContent:['/*\n * Copyright (c) 2003-2023, 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 .media {\n\t/* Don\'t allow floated content overlap the media.\n\thttps://github.com/ckeditor/ckeditor5-media-embed/issues/53 */\n\tclear: both;\n\n\t/* Make sure there is some space between the content and the media. */\n\t/* The first value should be equal to --ck-spacing-large variable if used in the editor context\n\tto avoid the content jumping (See https://github.com/ckeditor/ckeditor5/issues/9825). */\n\tmargin: 0.9em 0;\n\n\t/* Make sure media is not overriden with Bootstrap default `flex` value.\n\tSee: https://github.com/ckeditor/ckeditor5/issues/1373. */\n\tdisplay: block;\n\n\t/* Give the media some minimal width in the content to prevent them\n\tfrom being "squashed" in tight spaces, e.g. in table cells (#44) */\n\tmin-width: 15em;\n}\n'],sourceRoot:""}]);const c=a},1922:(t,e,n)=>{"use strict";n.d(e,{Z:()=>c});var i=n(4015);var o=n.n(i);var r=n(3645);var s=n.n(r);var a=s()(o());a.push([t.id,'.ck-media__wrapper .ck-media__placeholder{align-items:center;display:flex;flex-direction:column}.ck-media__wrapper .ck-media__placeholder .ck-media__placeholder__url{max-width:100%;position:relative}.ck-media__wrapper .ck-media__placeholder .ck-media__placeholder__url .ck-media__placeholder__url__text{display:block;overflow:hidden}.ck-media__wrapper[data-oembed-url*="facebook.com"] .ck-media__placeholder__icon *,.ck-media__wrapper[data-oembed-url*="goo.gl/maps"] .ck-media__placeholder__icon *,.ck-media__wrapper[data-oembed-url*="google.com/maps"] .ck-media__placeholder__icon *,.ck-media__wrapper[data-oembed-url*="instagram.com"] .ck-media__placeholder__icon *,.ck-media__wrapper[data-oembed-url*="maps.app.goo.gl"] .ck-media__placeholder__icon *,.ck-media__wrapper[data-oembed-url*="maps.google.com"] .ck-media__placeholder__icon *,.ck-media__wrapper[data-oembed-url*="twitter.com"] .ck-media__placeholder__icon *{display:none}.ck-editor__editable:not(.ck-read-only) .ck-media__wrapper>:not(.ck-media__placeholder),.ck-editor__editable:not(.ck-read-only) .ck-widget:not(.ck-widget_selected) .ck-media__placeholder{pointer-events:none}:root{--ck-media-embed-placeholder-icon-size:3em;--ck-color-media-embed-placeholder-url-text:#757575;--ck-color-media-embed-placeholder-url-text-hover:var(--ck-color-base-text)}.ck-media__wrapper{margin:0 auto}.ck-media__wrapper .ck-media__placeholder{background:var(--ck-color-base-foreground);padding:calc(var(--ck-spacing-standard)*3)}.ck-media__wrapper .ck-media__placeholder .ck-media__placeholder__icon{background-position:50%;background-size:cover;height:var(--ck-media-embed-placeholder-icon-size);margin-bottom:var(--ck-spacing-large);min-width:var(--ck-media-embed-placeholder-icon-size)}.ck-media__wrapper .ck-media__placeholder .ck-media__placeholder__icon .ck-icon{height:100%;width:100%}.ck-media__wrapper .ck-media__placeholder .ck-media__placeholder__url__text{color:var(--ck-color-media-embed-placeholder-url-text);font-style:italic;text-align:center;text-overflow:ellipsis;white-space:nowrap}.ck-media__wrapper .ck-media__placeholder .ck-media__placeholder__url__text:hover{color:var(--ck-color-media-embed-placeholder-url-text-hover);cursor:pointer;text-decoration:underline}.ck-media__wrapper[data-oembed-url*="open.spotify.com"]{max-height:380px;max-width:300px}.ck-media__wrapper[data-oembed-url*="goo.gl/maps"] .ck-media__placeholder__icon,.ck-media__wrapper[data-oembed-url*="google.com/maps"] .ck-media__placeholder__icon,.ck-media__wrapper[data-oembed-url*="maps.app.goo.gl"] .ck-media__placeholder__icon,.ck-media__wrapper[data-oembed-url*="maps.google.com"] .ck-media__placeholder__icon{background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNTAuMzc4IiBoZWlnaHQ9IjI1NC4xNjciIHZpZXdCb3g9IjAgMCA2Ni4yNDYgNjcuMjQ4Ij48ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtMTcyLjUzMSAtMjE4LjQ1NSkgc2NhbGUoLjk4MDEyKSI+PHJlY3Qgcnk9IjUuMjM4IiByeD0iNS4yMzgiIHk9IjIzMS4zOTkiIHg9IjE3Ni4wMzEiIGhlaWdodD0iNjAuMDk5IiB3aWR0aD0iNjAuMDk5IiBmaWxsPSIjMzRhNjY4IiBwYWludC1vcmRlcj0ibWFya2VycyBzdHJva2UgZmlsbCIvPjxwYXRoIGQ9Im0yMDYuNDc3IDI2MC45LTI4Ljk4NyAyOC45ODdhNS4yMTggNS4yMTggMCAwIDAgMy43OCAxLjYxaDQ5LjYyMWMxLjY5NCAwIDMuMTktLjc5OCA0LjE0Ni0yLjAzN3oiIGZpbGw9IiM1Yzg4YzUiLz48cGF0aCBkPSJNMjI2Ljc0MiAyMjIuOTg4Yy05LjI2NiAwLTE2Ljc3NyA3LjE3LTE2Ljc3NyAxNi4wMTQuMDA3IDIuNzYyLjY2MyA1LjQ3NCAyLjA5MyA3Ljg3NS40My43MDMuODMgMS40MDggMS4xOSAyLjEwNy4zMzMuNTAyLjY1IDEuMDA1Ljk1IDEuNTA4LjM0My40NzcuNjczLjk1Ny45ODggMS40NCAxLjMxIDEuNzY5IDIuNSAzLjUwMiAzLjYzNyA1LjE2OC43OTMgMS4yNzUgMS42ODMgMi42NCAyLjQ2NiAzLjk5IDIuMzYzIDQuMDk0IDQuMDA3IDguMDkyIDQuNiAxMy45MTR2LjAxMmMuMTgyLjQxMi41MTYuNjY2Ljg3OS42NjcuNDAzLS4wMDEuNzY4LS4zMTQuOTMtLjc5OS42MDMtNS43NTYgMi4yMzgtOS43MjkgNC41ODUtMTMuNzk0Ljc4Mi0xLjM1IDEuNjczLTIuNzE1IDIuNDY1LTMuOTkgMS4xMzctMS42NjYgMi4zMjgtMy40IDMuNjM4LTUuMTY5LjMxNS0uNDgyLjY0NS0uOTYyLjk4OC0xLjQzOS4zLS41MDMuNjE3LTEuMDA2Ljk1LTEuNTA4LjM1OS0uNy43Ni0xLjQwNCAxLjE5LTIuMTA3IDEuNDI2LTIuNDAyIDItNS4xMTQgMi4wMDQtNy44NzUgMC04Ljg0NC03LjUxMS0xNi4wMTQtMTYuNzc2LTE2LjAxNHoiIGZpbGw9IiNkZDRiM2UiIHBhaW50LW9yZGVyPSJtYXJrZXJzIHN0cm9rZSBmaWxsIi8+PGVsbGlwc2Ugcnk9IjUuNTY0IiByeD0iNS44MjgiIGN5PSIyMzkuMDAyIiBjeD0iMjI2Ljc0MiIgZmlsbD0iIzgwMmQyNyIgcGFpbnQtb3JkZXI9Im1hcmtlcnMgc3Ryb2tlIGZpbGwiLz48cGF0aCBkPSJNMTkwLjMwMSAyMzcuMjgzYy00LjY3IDAtOC40NTcgMy44NTMtOC40NTcgOC42MDZzMy43ODYgOC42MDcgOC40NTcgOC42MDdjMy4wNDMgMCA0LjgwNi0uOTU4IDYuMzM3LTIuNTE2IDEuNTMtMS41NTcgMi4wODctMy45MTMgMi4wODctNi4yOSAwLS4zNjItLjAyMy0uNzIyLS4wNjQtMS4wNzloLTguMjU3djMuMDQzaDQuODVjLS4xOTcuNzU5LS41MzEgMS40NS0xLjA1OCAxLjk4Ni0uOTQyLjk1OC0yLjAyOCAxLjU0OC0zLjkwMSAxLjU0OC0yLjg3NiAwLTUuMjA4LTIuMzcyLTUuMjA4LTUuMjk5IDAtMi45MjYgMi4zMzItNS4yOTkgNS4yMDgtNS4yOTkgMS4zOTkgMCAyLjYxOC40MDcgMy41ODQgMS4yOTNsMi4zODEtMi4zOGMwLS4wMDItLjAwMy0uMDA0LS4wMDQtLjAwNS0xLjU4OC0xLjUyNC0zLjYyLTIuMjE1LTUuOTU1LTIuMjE1em00LjQzIDUuNjYuMDAzLjAwNnYtLjAwM3oiIGZpbGw9IiNmZmYiIHBhaW50LW9yZGVyPSJtYXJrZXJzIHN0cm9rZSBmaWxsIi8+PHBhdGggZD0ibTIxNS4xODQgMjUxLjkyOS03Ljk4IDcuOTc5IDI4LjQ3NyAyOC40NzVhNS4yMzMgNS4yMzMgMCAwIDAgLjQ0OS0yLjEyM3YtMzEuMTY1Yy0uNDY5LjY3NS0uOTM0IDEuMzQ5LTEuMzgyIDIuMDA1LS43OTIgMS4yNzUtMS42ODIgMi42NC0yLjQ2NSAzLjk5LTIuMzQ3IDQuMDY1LTMuOTgyIDguMDM4LTQuNTg1IDEzLjc5NC0uMTYyLjQ4NS0uNTI3Ljc5OC0uOTMuNzk5LS4zNjMtLjAwMS0uNjk3LS4yNTUtLjg3OS0uNjY3di0uMDEyYy0uNTkzLTUuODIyLTIuMjM3LTkuODItNC42LTEzLjkxNC0uNzgzLTEuMzUtMS42NzMtMi43MTUtMi40NjYtMy45OS0xLjEzNy0xLjY2Ni0yLjMyNy0zLjQtMy42MzctNS4xNjlsLS4wMDItLjAwM3oiIGZpbGw9IiNjM2MzYzMiLz48cGF0aCBkPSJtMjEyLjk4MyAyNDguNDk1LTM2Ljk1MiAzNi45NTN2LjgxMmE1LjIyNyA1LjIyNyAwIDAgMCA1LjIzOCA1LjIzOGgxLjAxNWwzNS42NjYtMzUuNjY2YTEzNi4yNzUgMTM2LjI3NSAwIDAgMC0yLjc2NC0zLjkgMzcuNTc1IDM3LjU3NSAwIDAgMC0uOTg5LTEuNDQgMzUuMTI3IDM1LjEyNyAwIDAgMC0uOTUtMS41MDhjLS4wODMtLjE2Mi0uMTc2LS4zMjYtLjI2NC0uNDg5eiIgZmlsbD0iI2ZkZGM0ZiIgcGFpbnQtb3JkZXI9Im1hcmtlcnMgc3Ryb2tlIGZpbGwiLz48cGF0aCBkPSJtMjExLjk5OCAyNjEuMDgzLTYuMTUyIDYuMTUxIDI0LjI2NCAyNC4yNjRoLjc4MWE1LjIyNyA1LjIyNyAwIDAgMCA1LjIzOS01LjIzOHYtMS4wNDV6IiBmaWxsPSIjZmZmIiBwYWludC1vcmRlcj0ibWFya2VycyBzdHJva2UgZmlsbCIvPjwvZz48L3N2Zz4=)}.ck-media__wrapper[data-oembed-url*="facebook.com"] .ck-media__placeholder{background:#4268b3}.ck-media__wrapper[data-oembed-url*="facebook.com"] .ck-media__placeholder .ck-media__placeholder__icon{background-image:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTAyNCIgaGVpZ2h0PSIxMDI0IiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjxwYXRoIGQ9Ik05NjcuNDg0IDBINTYuNTE3QzI1LjMwNCAwIDAgMjUuMzA0IDAgNTYuNTE3djkxMC45NjZDMCA5OTguNjk0IDI1LjI5NyAxMDI0IDU2LjUyMiAxMDI0SDU0N1Y2MjhINDE0VjQ3M2gxMzNWMzU5LjAyOWMwLTEzMi4yNjIgODAuNzczLTIwNC4yODIgMTk4Ljc1Ni0yMDQuMjgyIDU2LjUxMyAwIDEwNS4wODYgNC4yMDggMTE5LjI0NCA2LjA4OVYyOTlsLTgxLjYxNi4wMzdjLTYzLjk5MyAwLTc2LjM4NCAzMC40OTItNzYuMzg0IDc1LjIzNlY0NzNoMTUzLjQ4N2wtMTkuOTg2IDE1NUg3MDd2Mzk2aDI2MC40ODRjMzEuMjEzIDAgNTYuNTE2LTI1LjMwMyA1Ni41MTYtNTYuNTE2VjU2LjUxNUMxMDI0IDI1LjMwMyA5OTguNjk3IDAgOTY3LjQ4NCAwIiBmaWxsPSIjRkZGRkZFIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiLz48L3N2Zz4=)}.ck-media__wrapper[data-oembed-url*="facebook.com"] .ck-media__placeholder .ck-media__placeholder__url__text{color:#cdf}.ck-media__wrapper[data-oembed-url*="facebook.com"] .ck-media__placeholder .ck-media__placeholder__url__text:hover{color:#fff}.ck-media__wrapper[data-oembed-url*="instagram.com"] .ck-media__placeholder{background:linear-gradient(-135deg,#1400c7,#b800b1,#f50000)}.ck-media__wrapper[data-oembed-url*="instagram.com"] .ck-media__placeholder .ck-media__placeholder__icon{background-image:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNTA0IiBoZWlnaHQ9IjUwNCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+PGRlZnM+PHBhdGggaWQ9ImEiIGQ9Ik0wIC4xNTloNTAzLjg0MVY1MDMuOTRIMHoiLz48L2RlZnM+PGcgZmlsbD0ibm9uZSIgZmlsbC1ydWxlPSJldmVub2RkIj48bWFzayBpZD0iYiIgZmlsbD0iI2ZmZiI+PHVzZSB4bGluazpocmVmPSIjYSIvPjwvbWFzaz48cGF0aCBkPSJNMjUxLjkyMS4xNTljLTY4LjQxOCAwLTc2Ljk5Ny4yOS0xMDMuODY3IDEuNTE2LTI2LjgxNCAxLjIyMy00NS4xMjcgNS40ODItNjEuMTUxIDExLjcxLTE2LjU2NiA2LjQzNy0zMC42MTUgMTUuMDUxLTQ0LjYyMSAyOS4wNTYtMTQuMDA1IDE0LjAwNi0yMi42MTkgMjguMDU1LTI5LjA1NiA0NC42MjEtNi4yMjggMTYuMDI0LTEwLjQ4NyAzNC4zMzctMTEuNzEgNjEuMTUxQy4yOSAxNzUuMDgzIDAgMTgzLjY2MiAwIDI1Mi4wOGMwIDY4LjQxNy4yOSA3Ni45OTYgMS41MTYgMTAzLjg2NiAxLjIyMyAyNi44MTQgNS40ODIgNDUuMTI3IDExLjcxIDYxLjE1MSA2LjQzNyAxNi41NjYgMTUuMDUxIDMwLjYxNSAyOS4wNTYgNDQuNjIxIDE0LjAwNiAxNC4wMDUgMjguMDU1IDIyLjYxOSA0NC42MjEgMjkuMDU3IDE2LjAyNCA2LjIyNyAzNC4zMzcgMTAuNDg2IDYxLjE1MSAxMS43MDkgMjYuODcgMS4yMjYgMzUuNDQ5IDEuNTE2IDEwMy44NjcgMS41MTYgNjguNDE3IDAgNzYuOTk2LS4yOSAxMDMuODY2LTEuNTE2IDI2LjgxNC0xLjIyMyA0NS4xMjctNS40ODIgNjEuMTUxLTExLjcwOSAxNi41NjYtNi40MzggMzAuNjE1LTE1LjA1MiA0NC42MjEtMjkuMDU3IDE0LjAwNS0xNC4wMDYgMjIuNjE5LTI4LjA1NSAyOS4wNTctNDQuNjIxIDYuMjI3LTE2LjAyNCAxMC40ODYtMzQuMzM3IDExLjcwOS02MS4xNTEgMS4yMjYtMjYuODcgMS41MTYtMzUuNDQ5IDEuNTE2LTEwMy44NjYgMC02OC40MTgtLjI5LTc2Ljk5Ny0xLjUxNi0xMDMuODY3LTEuMjIzLTI2LjgxNC01LjQ4Mi00NS4xMjctMTEuNzA5LTYxLjE1MS02LjQzOC0xNi41NjYtMTUuMDUyLTMwLjYxNS0yOS4wNTctNDQuNjIxLTE0LjAwNi0xNC4wMDUtMjguMDU1LTIyLjYxOS00NC42MjEtMjkuMDU2LTE2LjAyNC02LjIyOC0zNC4zMzctMTAuNDg3LTYxLjE1MS0xMS43MUMzMjguOTE3LjQ0OSAzMjAuMzM4LjE1OSAyNTEuOTIxLjE1OVptMCA0NS4zOTFjNjcuMjY1IDAgNzUuMjMzLjI1NyAxMDEuNzk3IDEuNDY5IDI0LjU2MiAxLjEyIDM3LjkwMSA1LjIyNCA0Ni43NzggOC42NzQgMTEuNzU5IDQuNTcgMjAuMTUxIDEwLjAyOSAyOC45NjYgMTguODQ1IDguODE2IDguODE1IDE0LjI3NSAxNy4yMDcgMTguODQ1IDI4Ljk2NiAzLjQ1IDguODc3IDcuNTU0IDIyLjIxNiA4LjY3NCA0Ni43NzggMS4yMTIgMjYuNTY0IDEuNDY5IDM0LjUzMiAxLjQ2OSAxMDEuNzk4IDAgNjcuMjY1LS4yNTcgNzUuMjMzLTEuNDY5IDEwMS43OTctMS4xMiAyNC41NjItNS4yMjQgMzcuOTAxLTguNjc0IDQ2Ljc3OC00LjU3IDExLjc1OS0xMC4wMjkgMjAuMTUxLTE4Ljg0NSAyOC45NjYtOC44MTUgOC44MTYtMTcuMjA3IDE0LjI3NS0yOC45NjYgMTguODQ1LTguODc3IDMuNDUtMjIuMjE2IDcuNTU0LTQ2Ljc3OCA4LjY3NC0yNi41NiAxLjIxMi0zNC41MjcgMS40NjktMTAxLjc5NyAxLjQ2OS02Ny4yNzEgMC03NS4yMzctLjI1Ny0xMDEuNzk4LTEuNDY5LTI0LjU2Mi0xLjEyLTM3LjkwMS01LjIyNC00Ni43NzgtOC42NzQtMTEuNzU5LTQuNTctMjAuMTUxLTEwLjAyOS0yOC45NjYtMTguODQ1LTguODE1LTguODE1LTE0LjI3NS0xNy4yMDctMTguODQ1LTI4Ljk2Ni0zLjQ1LTguODc3LTcuNTU0LTIyLjIxNi04LjY3NC00Ni43NzgtMS4yMTItMjYuNTY0LTEuNDY5LTM0LjUzMi0xLjQ2OS0xMDEuNzk3IDAtNjcuMjY2LjI1Ny03NS4yMzQgMS40NjktMTAxLjc5OCAxLjEyLTI0LjU2MiA1LjIyNC0zNy45MDEgOC42NzQtNDYuNzc4IDQuNTctMTEuNzU5IDEwLjAyOS0yMC4xNTEgMTguODQ1LTI4Ljk2NiA4LjgxNS04LjgxNiAxNy4yMDctMTQuMjc1IDI4Ljk2Ni0xOC44NDUgOC44NzctMy40NSAyMi4yMTYtNy41NTQgNDYuNzc4LTguNjc0IDI2LjU2NC0xLjIxMiAzNC41MzItMS40NjkgMTAxLjc5OC0xLjQ2OVoiIGZpbGw9IiNGRkYiIG1hc2s9InVybCgjYikiLz48cGF0aCBkPSJNMjUxLjkyMSAzMzYuMDUzYy00Ni4zNzggMC04My45NzQtMzcuNTk2LTgzLjk3NC04My45NzMgMC00Ni4zNzggMzcuNTk2LTgzLjk3NCA4My45NzQtODMuOTc0IDQ2LjM3NyAwIDgzLjk3MyAzNy41OTYgODMuOTczIDgzLjk3NCAwIDQ2LjM3Ny0zNy41OTYgODMuOTczLTgzLjk3MyA4My45NzNabTAtMjEzLjMzOGMtNzEuNDQ3IDAtMTI5LjM2NSA1Ny45MTgtMTI5LjM2NSAxMjkuMzY1IDAgNzEuNDQ2IDU3LjkxOCAxMjkuMzY0IDEyOS4zNjUgMTI5LjM2NCA3MS40NDYgMCAxMjkuMzY0LTU3LjkxOCAxMjkuMzY0LTEyOS4zNjQgMC03MS40NDctNTcuOTE4LTEyOS4zNjUtMTI5LjM2NC0xMjkuMzY1Wk00MTYuNjI3IDExNy42MDRjMCAxNi42OTYtMTMuNTM1IDMwLjIzLTMwLjIzMSAzMC4yMy0xNi42OTUgMC0zMC4yMy0xMy41MzQtMzAuMjMtMzAuMjMgMC0xNi42OTYgMTMuNTM1LTMwLjIzMSAzMC4yMy0zMC4yMzEgMTYuNjk2IDAgMzAuMjMxIDEzLjUzNSAzMC4yMzEgMzAuMjMxIiBmaWxsPSIjRkZGIi8+PC9nPjwvc3ZnPg==)}.ck-media__wrapper[data-oembed-url*="instagram.com"] .ck-media__placeholder .ck-media__placeholder__url__text{color:#ffe0fe}.ck-media__wrapper[data-oembed-url*="instagram.com"] .ck-media__placeholder .ck-media__placeholder__url__text:hover{color:#fff}.ck-media__wrapper[data-oembed-url*="twitter.com"] .ck.ck-media__placeholder{background:linear-gradient(90deg,#71c6f4,#0d70a5)}.ck-media__wrapper[data-oembed-url*="twitter.com"] .ck.ck-media__placeholder .ck-media__placeholder__icon{background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA0MDAgNDAwIiBzdHlsZT0iZW5hYmxlLWJhY2tncm91bmQ6bmV3IDAgMCA0MDAgNDAwIiB4bWw6c3BhY2U9InByZXNlcnZlIj48cGF0aCBkPSJNNDAwIDIwMGMwIDExMC41LTg5LjUgMjAwLTIwMCAyMDBTMCAzMTAuNSAwIDIwMCA4OS41IDAgMjAwIDBzMjAwIDg5LjUgMjAwIDIwMHpNMTYzLjQgMzA1LjVjODguNyAwIDEzNy4yLTczLjUgMTM3LjItMTM3LjIgMC0yLjEgMC00LjItLjEtNi4yIDkuNC02LjggMTcuNi0xNS4zIDI0LjEtMjUtOC42IDMuOC0xNy45IDYuNC0yNy43IDcuNiAxMC02IDE3LjYtMTUuNCAyMS4yLTI2LjctOS4zIDUuNS0xOS42IDkuNS0zMC42IDExLjctOC44LTkuNC0yMS4zLTE1LjItMzUuMi0xNS4yLTI2LjYgMC00OC4yIDIxLjYtNDguMiA0OC4yIDAgMy44LjQgNy41IDEuMyAxMS00MC4xLTItNzUuNi0yMS4yLTk5LjQtNTAuNC00LjEgNy4xLTYuNSAxNS40LTYuNSAyNC4yIDAgMTYuNyA4LjUgMzEuNSAyMS41IDQwLjEtNy45LS4yLTE1LjMtMi40LTIxLjgtNnYuNmMwIDIzLjQgMTYuNiA0Mi44IDM4LjcgNDcuMy00IDEuMS04LjMgMS43LTEyLjcgMS43LTMuMSAwLTYuMS0uMy05LjEtLjkgNi4xIDE5LjIgMjMuOSAzMy4xIDQ1IDMzLjUtMTYuNSAxMi45LTM3LjMgMjAuNi01OS45IDIwLjYtMy45IDAtNy43LS4yLTExLjUtLjcgMjEuMSAxMy44IDQ2LjUgMjEuOCA3My43IDIxLjgiIHN0eWxlPSJmaWxsOiNmZmYiLz48L3N2Zz4=)}.ck-media__wrapper[data-oembed-url*="twitter.com"] .ck.ck-media__placeholder .ck-media__placeholder__url__text{color:#b8e6ff}.ck-media__wrapper[data-oembed-url*="twitter.com"] .ck.ck-media__placeholder .ck-media__placeholder__url__text:hover{color:#fff}',"",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-media-embed/theme/mediaembedediting.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-media-embed/mediaembedediting.css"],names:[],mappings:"AAMC,0CAGC,kBAAmB,CAFnB,YAAa,CACb,qBAcD,CAXC,sEAEC,cAAe,CAEf,iBAMD,CAJC,wGAEC,aAAc,CADd,eAED,CAWD,6kBACC,YACD,CAYF,2LACC,mBACD,CC1CA,MACC,0CAA2C,CAE3C,mDAA4D,CAC5D,2EACD,CAEA,mBACC,aA+FD,CA7FC,0CAEC,0CAA2C,CAD3C,0CA6BD,CA1BC,uEAIC,uBAA2B,CAC3B,qBAAsB,CAHtB,kDAAmD,CACnD,qCAAsC,CAFtC,qDAUD,CAJC,gFAEC,WAAY,CADZ,UAED,CAGD,4EACC,sDAAuD,CAGvD,iBAAkB,CADlB,iBAAkB,CAElB,sBAAuB,CAHvB,kBAUD,CALC,kFACC,4DAA6D,CAC7D,cAAe,CACf,yBACD,CAIF,wDAEC,gBAAiB,CADjB,eAED,CAEA,4UAIC,wvGACD,CAEA,2EACC,kBAaD,CAXC,wGACC,orBACD,CAEA,6GACC,UAKD,CAHC,mHACC,UACD,CAIF,4EACC,2DAcD,CAZC,yGACC,4jHACD,CAGA,8GACC,aAKD,CAHC,oHACC,UACD,CAIF,6EAEC,iDAaD,CAXC,0GACC,wiCACD,CAEA,+GACC,aAKD,CAHC,qHACC,UACD",sourcesContent:['/*\n * Copyright (c) 2003-2023, 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-media__wrapper {\n\t& .ck-media__placeholder {\n\t\tdisplay: flex;\n\t\tflex-direction: column;\n\t\talign-items: center;\n\n\t\t& .ck-media__placeholder__url {\n\t\t\t/* Otherwise the URL will overflow when the content is very narrow. */\n\t\t\tmax-width: 100%;\n\n\t\t\tposition: relative;\n\n\t\t\t& .ck-media__placeholder__url__text {\n\t\t\t\toverflow: hidden;\n\t\t\t\tdisplay: block;\n\t\t\t}\n\t\t}\n\t}\n\n\t&[data-oembed-url*="twitter.com"],\n\t&[data-oembed-url*="google.com/maps"],\n\t&[data-oembed-url*="goo.gl/maps"],\n\t&[data-oembed-url*="maps.google.com"],\n\t&[data-oembed-url*="maps.app.goo.gl"],\n\t&[data-oembed-url*="facebook.com"],\n\t&[data-oembed-url*="instagram.com"] {\n\t\t& .ck-media__placeholder__icon * {\n\t\t\tdisplay: none;\n\t\t}\n\t}\n}\n\n/* Disable all mouse interaction as long as the editor is not read–only.\n https://github.com/ckeditor/ckeditor5-media-embed/issues/58 */\n.ck-editor__editable:not(.ck-read-only) .ck-media__wrapper > *:not(.ck-media__placeholder) {\n\tpointer-events: none;\n}\n\n/* Disable all mouse interaction when the widget is not selected (e.g. to avoid opening links by accident).\n https://github.com/ckeditor/ckeditor5-media-embed/issues/18 */\n.ck-editor__editable:not(.ck-read-only) .ck-widget:not(.ck-widget_selected) .ck-media__placeholder {\n\tpointer-events: none;\n}\n','/*\n * Copyright (c) 2003-2023, 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-media-embed-placeholder-icon-size: 3em;\n\n\t--ck-color-media-embed-placeholder-url-text: hsl(0, 0%, 46%);\n\t--ck-color-media-embed-placeholder-url-text-hover: var(--ck-color-base-text);\n}\n\n.ck-media__wrapper {\n\tmargin: 0 auto;\n\n\t& .ck-media__placeholder {\n\t\tpadding: calc( 3 * var(--ck-spacing-standard) );\n\t\tbackground: var(--ck-color-base-foreground);\n\n\t\t& .ck-media__placeholder__icon {\n\t\t\tmin-width: var(--ck-media-embed-placeholder-icon-size);\n\t\t\theight: var(--ck-media-embed-placeholder-icon-size);\n\t\t\tmargin-bottom: var(--ck-spacing-large);\n\t\t\tbackground-position: center;\n\t\t\tbackground-size: cover;\n\n\t\t\t& .ck-icon {\n\t\t\t\twidth: 100%;\n\t\t\t\theight: 100%;\n\t\t\t}\n\t\t}\n\n\t\t& .ck-media__placeholder__url__text {\n\t\t\tcolor: var(--ck-color-media-embed-placeholder-url-text);\n\t\t\twhite-space: nowrap;\n\t\t\ttext-align: center;\n\t\t\tfont-style: italic;\n\t\t\ttext-overflow: ellipsis;\n\n\t\t\t&:hover {\n\t\t\t\tcolor: var(--ck-color-media-embed-placeholder-url-text-hover);\n\t\t\t\tcursor: pointer;\n\t\t\t\ttext-decoration: underline;\n\t\t\t}\n\t\t}\n\t}\n\n\t&[data-oembed-url*="open.spotify.com"] {\n\t\tmax-width: 300px;\n\t\tmax-height: 380px;\n\t}\n\n\t&[data-oembed-url*="google.com/maps"] .ck-media__placeholder__icon,\n\t&[data-oembed-url*="goo.gl/maps"] .ck-media__placeholder__icon,\n\t&[data-oembed-url*="maps.google.com"] .ck-media__placeholder__icon,\n\t&[data-oembed-url*="maps.app.goo.gl"] .ck-media__placeholder__icon {\n\t\tbackground-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNTAuMzc4IiBoZWlnaHQ9IjI1NC4xNjciIHZpZXdCb3g9IjAgMCA2Ni4yNDYgNjcuMjQ4Ij48ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtMTcyLjUzMSAtMjE4LjQ1NSkgc2NhbGUoLjk4MDEyKSI+PHJlY3Qgcnk9IjUuMjM4IiByeD0iNS4yMzgiIHk9IjIzMS4zOTkiIHg9IjE3Ni4wMzEiIGhlaWdodD0iNjAuMDk5IiB3aWR0aD0iNjAuMDk5IiBmaWxsPSIjMzRhNjY4IiBwYWludC1vcmRlcj0ibWFya2VycyBzdHJva2UgZmlsbCIvPjxwYXRoIGQ9Ik0yMDYuNDc3IDI2MC45bC0yOC45ODcgMjguOTg3YTUuMjE4IDUuMjE4IDAgMCAwIDMuNzggMS42MWg0OS42MjFjMS42OTQgMCAzLjE5LS43OTggNC4xNDYtMi4wMzd6IiBmaWxsPSIjNWM4OGM1Ii8+PHBhdGggZD0iTTIyNi43NDIgMjIyLjk4OGMtOS4yNjYgMC0xNi43NzcgNy4xNy0xNi43NzcgMTYuMDE0LjAwNyAyLjc2Mi42NjMgNS40NzQgMi4wOTMgNy44NzUuNDMuNzAzLjgzIDEuNDA4IDEuMTkgMi4xMDcuMzMzLjUwMi42NSAxLjAwNS45NSAxLjUwOC4zNDMuNDc3LjY3My45NTcuOTg4IDEuNDQgMS4zMSAxLjc2OSAyLjUgMy41MDIgMy42MzcgNS4xNjguNzkzIDEuMjc1IDEuNjgzIDIuNjQgMi40NjYgMy45OSAyLjM2MyA0LjA5NCA0LjAwNyA4LjA5MiA0LjYgMTMuOTE0di4wMTJjLjE4Mi40MTIuNTE2LjY2Ni44NzkuNjY3LjQwMy0uMDAxLjc2OC0uMzE0LjkzLS43OTkuNjAzLTUuNzU2IDIuMjM4LTkuNzI5IDQuNTg1LTEzLjc5NC43ODItMS4zNSAxLjY3My0yLjcxNSAyLjQ2NS0zLjk5IDEuMTM3LTEuNjY2IDIuMzI4LTMuNCAzLjYzOC01LjE2OS4zMTUtLjQ4Mi42NDUtLjk2Mi45ODgtMS40MzkuMy0uNTAzLjYxNy0xLjAwNi45NS0xLjUwOC4zNTktLjcuNzYtMS40MDQgMS4xOS0yLjEwNyAxLjQyNi0yLjQwMiAyLTUuMTE0IDIuMDA0LTcuODc1IDAtOC44NDQtNy41MTEtMTYuMDE0LTE2Ljc3Ni0xNi4wMTR6IiBmaWxsPSIjZGQ0YjNlIiBwYWludC1vcmRlcj0ibWFya2VycyBzdHJva2UgZmlsbCIvPjxlbGxpcHNlIHJ5PSI1LjU2NCIgcng9IjUuODI4IiBjeT0iMjM5LjAwMiIgY3g9IjIyNi43NDIiIGZpbGw9IiM4MDJkMjciIHBhaW50LW9yZGVyPSJtYXJrZXJzIHN0cm9rZSBmaWxsIi8+PHBhdGggZD0iTTE5MC4zMDEgMjM3LjI4M2MtNC42NyAwLTguNDU3IDMuODUzLTguNDU3IDguNjA2czMuNzg2IDguNjA3IDguNDU3IDguNjA3YzMuMDQzIDAgNC44MDYtLjk1OCA2LjMzNy0yLjUxNiAxLjUzLTEuNTU3IDIuMDg3LTMuOTEzIDIuMDg3LTYuMjkgMC0uMzYyLS4wMjMtLjcyMi0uMDY0LTEuMDc5aC04LjI1N3YzLjA0M2g0Ljg1Yy0uMTk3Ljc1OS0uNTMxIDEuNDUtMS4wNTggMS45ODYtLjk0Mi45NTgtMi4wMjggMS41NDgtMy45MDEgMS41NDgtMi44NzYgMC01LjIwOC0yLjM3Mi01LjIwOC01LjI5OSAwLTIuOTI2IDIuMzMyLTUuMjk5IDUuMjA4LTUuMjk5IDEuMzk5IDAgMi42MTguNDA3IDMuNTg0IDEuMjkzbDIuMzgxLTIuMzhjMC0uMDAyLS4wMDMtLjAwNC0uMDA0LS4wMDUtMS41ODgtMS41MjQtMy42Mi0yLjIxNS01Ljk1NS0yLjIxNXptNC40MyA1LjY2bC4wMDMuMDA2di0uMDAzeiIgZmlsbD0iI2ZmZiIgcGFpbnQtb3JkZXI9Im1hcmtlcnMgc3Ryb2tlIGZpbGwiLz48cGF0aCBkPSJNMjE1LjE4NCAyNTEuOTI5bC03Ljk4IDcuOTc5IDI4LjQ3NyAyOC40NzVjLjI4Ny0uNjQ5LjQ0OS0xLjM2Ni40NDktMi4xMjN2LTMxLjE2NWMtLjQ2OS42NzUtLjkzNCAxLjM0OS0xLjM4MiAyLjAwNS0uNzkyIDEuMjc1LTEuNjgyIDIuNjQtMi40NjUgMy45OS0yLjM0NyA0LjA2NS0zLjk4MiA4LjAzOC00LjU4NSAxMy43OTQtLjE2Mi40ODUtLjUyNy43OTgtLjkzLjc5OS0uMzYzLS4wMDEtLjY5Ny0uMjU1LS44NzktLjY2N3YtLjAxMmMtLjU5My01LjgyMi0yLjIzNy05LjgyLTQuNi0xMy45MTQtLjc4My0xLjM1LTEuNjczLTIuNzE1LTIuNDY2LTMuOTktMS4xMzctMS42NjYtMi4zMjctMy40LTMuNjM3LTUuMTY5bC0uMDAyLS4wMDN6IiBmaWxsPSIjYzNjM2MzIi8+PHBhdGggZD0iTTIxMi45ODMgMjQ4LjQ5NWwtMzYuOTUyIDM2Ljk1M3YuODEyYTUuMjI3IDUuMjI3IDAgMCAwIDUuMjM4IDUuMjM4aDEuMDE1bDM1LjY2Ni0zNS42NjZhMTM2LjI3NSAxMzYuMjc1IDAgMCAwLTIuNzY0LTMuOSAzNy41NzUgMzcuNTc1IDAgMCAwLS45ODktMS40NGMtLjI5OS0uNTAzLS42MTYtMS4wMDYtLjk1LTEuNTA4LS4wODMtLjE2Mi0uMTc2LS4zMjYtLjI2NC0uNDg5eiIgZmlsbD0iI2ZkZGM0ZiIgcGFpbnQtb3JkZXI9Im1hcmtlcnMgc3Ryb2tlIGZpbGwiLz48cGF0aCBkPSJNMjExLjk5OCAyNjEuMDgzbC02LjE1MiA2LjE1MSAyNC4yNjQgMjQuMjY0aC43ODFhNS4yMjcgNS4yMjcgMCAwIDAgNS4yMzktNS4yMzh2LTEuMDQ1eiIgZmlsbD0iI2ZmZiIgcGFpbnQtb3JkZXI9Im1hcmtlcnMgc3Ryb2tlIGZpbGwiLz48L2c+PC9zdmc+);\n\t}\n\n\t&[data-oembed-url*="facebook.com"] .ck-media__placeholder {\n\t\tbackground: hsl(220, 46%, 48%);\n\n\t\t& .ck-media__placeholder__icon {\n\t\t\tbackground-image: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48c3ZnIHdpZHRoPSIxMDI0cHgiIGhlaWdodD0iMTAyNHB4IiB2aWV3Qm94PSIwIDAgMTAyNCAxMDI0IiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPiAgICAgICAgPHRpdGxlPkZpbGwgMTwvdGl0bGU+ICAgIDxkZXNjPkNyZWF0ZWQgd2l0aCBTa2V0Y2guPC9kZXNjPiAgICA8ZGVmcz48L2RlZnM+ICAgIDxnIGlkPSJQYWdlLTEiIHN0cm9rZT0ibm9uZSIgc3Ryb2tlLXdpZHRoPSIxIiBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPiAgICAgICAgPGcgaWQ9ImZMb2dvX1doaXRlIiBmaWxsPSIjRkZGRkZFIj4gICAgICAgICAgICA8cGF0aCBkPSJNOTY3LjQ4NCwwIEw1Ni41MTcsMCBDMjUuMzA0LDAgMCwyNS4zMDQgMCw1Ni41MTcgTDAsOTY3LjQ4MyBDMCw5OTguNjk0IDI1LjI5NywxMDI0IDU2LjUyMiwxMDI0IEw1NDcsMTAyNCBMNTQ3LDYyOCBMNDE0LDYyOCBMNDE0LDQ3MyBMNTQ3LDQ3MyBMNTQ3LDM1OS4wMjkgQzU0NywyMjYuNzY3IDYyNy43NzMsMTU0Ljc0NyA3NDUuNzU2LDE1NC43NDcgQzgwMi4yNjksMTU0Ljc0NyA4NTAuODQyLDE1OC45NTUgODY1LDE2MC44MzYgTDg2NSwyOTkgTDc4My4zODQsMjk5LjAzNyBDNzE5LjM5MSwyOTkuMDM3IDcwNywzMjkuNTI5IDcwNywzNzQuMjczIEw3MDcsNDczIEw4NjAuNDg3LDQ3MyBMODQwLjUwMSw2MjggTDcwNyw2MjggTDcwNywxMDI0IEw5NjcuNDg0LDEwMjQgQzk5OC42OTcsMTAyNCAxMDI0LDk5OC42OTcgMTAyNCw5NjcuNDg0IEwxMDI0LDU2LjUxNSBDMTAyNCwyNS4zMDMgOTk4LjY5NywwIDk2Ny40ODQsMCIgaWQ9IkZpbGwtMSI+PC9wYXRoPiAgICAgICAgPC9nPiAgICA8L2c+PC9zdmc+);\n\t\t}\n\n\t\t& .ck-media__placeholder__url__text {\n\t\t\tcolor: hsl(220, 100%, 90%);\n\n\t\t\t&:hover {\n\t\t\t\tcolor: hsl(0, 0%, 100%);\n\t\t\t}\n\t\t}\n\t}\n\n\t&[data-oembed-url*="instagram.com"] .ck-media__placeholder {\n\t\tbackground: linear-gradient(-135deg,hsl(246, 100%, 39%),hsl(302, 100%, 36%),hsl(0, 100%, 48%));\n\n\t\t& .ck-media__placeholder__icon {\n\t\t\tbackground-image: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48c3ZnIHdpZHRoPSI1MDRweCIgaGVpZ2h0PSI1MDRweCIgdmlld0JveD0iMCAwIDUwNCA1MDQiIHZlcnNpb249IjEuMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+ICAgICAgICA8dGl0bGU+Z2x5cGgtbG9nb19NYXkyMDE2PC90aXRsZT4gICAgPGRlc2M+Q3JlYXRlZCB3aXRoIFNrZXRjaC48L2Rlc2M+ICAgIDxkZWZzPiAgICAgICAgPHBvbHlnb24gaWQ9InBhdGgtMSIgcG9pbnRzPSIwIDAuMTU5IDUwMy44NDEgMC4xNTkgNTAzLjg0MSA1MDMuOTQgMCA1MDMuOTQiPjwvcG9seWdvbj4gICAgPC9kZWZzPiAgICA8ZyBpZD0iZ2x5cGgtbG9nb19NYXkyMDE2IiBzdHJva2U9Im5vbmUiIHN0cm9rZS13aWR0aD0iMSIgZmlsbD0ibm9uZSIgZmlsbC1ydWxlPSJldmVub2RkIj4gICAgICAgIDxnIGlkPSJHcm91cC0zIj4gICAgICAgICAgICA8bWFzayBpZD0ibWFzay0yIiBmaWxsPSJ3aGl0ZSI+ICAgICAgICAgICAgICAgIDx1c2UgeGxpbms6aHJlZj0iI3BhdGgtMSI+PC91c2U+ICAgICAgICAgICAgPC9tYXNrPiAgICAgICAgICAgIDxnIGlkPSJDbGlwLTIiPjwvZz4gICAgICAgICAgICA8cGF0aCBkPSJNMjUxLjkyMSwwLjE1OSBDMTgzLjUwMywwLjE1OSAxNzQuOTI0LDAuNDQ5IDE0OC4wNTQsMS42NzUgQzEyMS4yNCwyLjg5OCAxMDIuOTI3LDcuMTU3IDg2LjkwMywxMy4zODUgQzcwLjMzNywxOS44MjIgNTYuMjg4LDI4LjQzNiA0Mi4yODIsNDIuNDQxIEMyOC4yNzcsNTYuNDQ3IDE5LjY2Myw3MC40OTYgMTMuMjI2LDg3LjA2MiBDNi45OTgsMTAzLjA4NiAyLjczOSwxMjEuMzk5IDEuNTE2LDE0OC4yMTMgQzAuMjksMTc1LjA4MyAwLDE4My42NjIgMCwyNTIuMDggQzAsMzIwLjQ5NyAwLjI5LDMyOS4wNzYgMS41MTYsMzU1Ljk0NiBDMi43MzksMzgyLjc2IDYuOTk4LDQwMS4wNzMgMTMuMjI2LDQxNy4wOTcgQzE5LjY2Myw0MzMuNjYzIDI4LjI3Nyw0NDcuNzEyIDQyLjI4Miw0NjEuNzE4IEM1Ni4yODgsNDc1LjcyMyA3MC4zMzcsNDg0LjMzNyA4Ni45MDMsNDkwLjc3NSBDMTAyLjkyNyw0OTcuMDAyIDEyMS4yNCw1MDEuMjYxIDE0OC4wNTQsNTAyLjQ4NCBDMTc0LjkyNCw1MDMuNzEgMTgzLjUwMyw1MDQgMjUxLjkyMSw1MDQgQzMyMC4zMzgsNTA0IDMyOC45MTcsNTAzLjcxIDM1NS43ODcsNTAyLjQ4NCBDMzgyLjYwMSw1MDEuMjYxIDQwMC45MTQsNDk3LjAwMiA0MTYuOTM4LDQ5MC43NzUgQzQzMy41MDQsNDg0LjMzNyA0NDcuNTUzLDQ3NS43MjMgNDYxLjU1OSw0NjEuNzE4IEM0NzUuNTY0LDQ0Ny43MTIgNDg0LjE3OCw0MzMuNjYzIDQ5MC42MTYsNDE3LjA5NyBDNDk2Ljg0Myw0MDEuMDczIDUwMS4xMDIsMzgyLjc2IDUwMi4zMjUsMzU1Ljk0NiBDNTAzLjU1MSwzMjkuMDc2IDUwMy44NDEsMzIwLjQ5NyA1MDMuODQxLDI1Mi4wOCBDNTAzLjg0MSwxODMuNjYyIDUwMy41NTEsMTc1LjA4MyA1MDIuMzI1LDE0OC4yMTMgQzUwMS4xMDIsMTIxLjM5OSA0OTYuODQzLDEwMy4wODYgNDkwLjYxNiw4Ny4wNjIgQzQ4NC4xNzgsNzAuNDk2IDQ3NS41NjQsNTYuNDQ3IDQ2MS41NTksNDIuNDQxIEM0NDcuNTUzLDI4LjQzNiA0MzMuNTA0LDE5LjgyMiA0MTYuOTM4LDEzLjM4NSBDNDAwLjkxNCw3LjE1NyAzODIuNjAxLDIuODk4IDM1NS43ODcsMS42NzUgQzMyOC45MTcsMC40NDkgMzIwLjMzOCwwLjE1OSAyNTEuOTIxLDAuMTU5IFogTTI1MS45MjEsNDUuNTUgQzMxOS4xODYsNDUuNTUgMzI3LjE1NCw0NS44MDcgMzUzLjcxOCw0Ny4wMTkgQzM3OC4yOCw0OC4xMzkgMzkxLjYxOSw1Mi4yNDMgNDAwLjQ5Niw1NS42OTMgQzQxMi4yNTUsNjAuMjYzIDQyMC42NDcsNjUuNzIyIDQyOS40NjIsNzQuNTM4IEM0MzguMjc4LDgzLjM1MyA0NDMuNzM3LDkxLjc0NSA0NDguMzA3LDEwMy41MDQgQzQ1MS43NTcsMTEyLjM4MSA0NTUuODYxLDEyNS43MiA0NTYuOTgxLDE1MC4yODIgQzQ1OC4xOTMsMTc2Ljg0NiA0NTguNDUsMTg0LjgxNCA0NTguNDUsMjUyLjA4IEM0NTguNDUsMzE5LjM0NSA0NTguMTkzLDMyNy4zMTMgNDU2Ljk4MSwzNTMuODc3IEM0NTUuODYxLDM3OC40MzkgNDUxLjc1NywzOTEuNzc4IDQ0OC4zMDcsNDAwLjY1NSBDNDQzLjczNyw0MTIuNDE0IDQzOC4yNzgsNDIwLjgwNiA0MjkuNDYyLDQyOS42MjEgQzQyMC42NDcsNDM4LjQzNyA0MTIuMjU1LDQ0My44OTYgNDAwLjQ5Niw0NDguNDY2IEMzOTEuNjE5LDQ1MS45MTYgMzc4LjI4LDQ1Ni4wMiAzNTMuNzE4LDQ1Ny4xNCBDMzI3LjE1OCw0NTguMzUyIDMxOS4xOTEsNDU4LjYwOSAyNTEuOTIxLDQ1OC42MDkgQzE4NC42NSw0NTguNjA5IDE3Ni42ODQsNDU4LjM1MiAxNTAuMTIzLDQ1Ny4xNCBDMTI1LjU2MSw0NTYuMDIgMTEyLjIyMiw0NTEuOTE2IDEwMy4zNDUsNDQ4LjQ2NiBDOTEuNTg2LDQ0My44OTYgODMuMTk0LDQzOC40MzcgNzQuMzc5LDQyOS42MjEgQzY1LjU2NCw0MjAuODA2IDYwLjEwNCw0MTIuNDE0IDU1LjUzNCw0MDAuNjU1IEM1Mi4wODQsMzkxLjc3OCA0Ny45OCwzNzguNDM5IDQ2Ljg2LDM1My44NzcgQzQ1LjY0OCwzMjcuMzEzIDQ1LjM5MSwzMTkuMzQ1IDQ1LjM5MSwyNTIuMDggQzQ1LjM5MSwxODQuODE0IDQ1LjY0OCwxNzYuODQ2IDQ2Ljg2LDE1MC4yODIgQzQ3Ljk4LDEyNS43MiA1Mi4wODQsMTEyLjM4MSA1NS41MzQsMTAzLjUwNCBDNjAuMTA0LDkxLjc0NSA2NS41NjMsODMuMzUzIDc0LjM3OSw3NC41MzggQzgzLjE5NCw2NS43MjIgOTEuNTg2LDYwLjI2MyAxMDMuMzQ1LDU1LjY5MyBDMTEyLjIyMiw1Mi4yNDMgMTI1LjU2MSw0OC4xMzkgMTUwLjEyMyw0Ny4wMTkgQzE3Ni42ODcsNDUuODA3IDE4NC42NTUsNDUuNTUgMjUxLjkyMSw0NS41NSBaIiBpZD0iRmlsbC0xIiBmaWxsPSIjRkZGRkZGIiBtYXNrPSJ1cmwoI21hc2stMikiPjwvcGF0aD4gICAgICAgIDwvZz4gICAgICAgIDxwYXRoIGQ9Ik0yNTEuOTIxLDMzNi4wNTMgQzIwNS41NDMsMzM2LjA1MyAxNjcuOTQ3LDI5OC40NTcgMTY3Ljk0NywyNTIuMDggQzE2Ny45NDcsMjA1LjcwMiAyMDUuNTQzLDE2OC4xMDYgMjUxLjkyMSwxNjguMTA2IEMyOTguMjk4LDE2OC4xMDYgMzM1Ljg5NCwyMDUuNzAyIDMzNS44OTQsMjUyLjA4IEMzMzUuODk0LDI5OC40NTcgMjk4LjI5OCwzMzYuMDUzIDI1MS45MjEsMzM2LjA1MyBaIE0yNTEuOTIxLDEyMi43MTUgQzE4MC40NzQsMTIyLjcxNSAxMjIuNTU2LDE4MC42MzMgMTIyLjU1NiwyNTIuMDggQzEyMi41NTYsMzIzLjUyNiAxODAuNDc0LDM4MS40NDQgMjUxLjkyMSwzODEuNDQ0IEMzMjMuMzY3LDM4MS40NDQgMzgxLjI4NSwzMjMuNTI2IDM4MS4yODUsMjUyLjA4IEMzODEuMjg1LDE4MC42MzMgMzIzLjM2NywxMjIuNzE1IDI1MS45MjEsMTIyLjcxNSBaIiBpZD0iRmlsbC00IiBmaWxsPSIjRkZGRkZGIj48L3BhdGg+ICAgICAgICA8cGF0aCBkPSJNNDE2LjYyNywxMTcuNjA0IEM0MTYuNjI3LDEzNC4zIDQwMy4wOTIsMTQ3LjgzNCAzODYuMzk2LDE0Ny44MzQgQzM2OS43MDEsMTQ3LjgzNCAzNTYuMTY2LDEzNC4zIDM1Ni4xNjYsMTE3LjYwNCBDMzU2LjE2NiwxMDAuOTA4IDM2OS43MDEsODcuMzczIDM4Ni4zOTYsODcuMzczIEM0MDMuMDkyLDg3LjM3MyA0MTYuNjI3LDEwMC45MDggNDE2LjYyNywxMTcuNjA0IiBpZD0iRmlsbC01IiBmaWxsPSIjRkZGRkZGIj48L3BhdGg+ICAgIDwvZz48L3N2Zz4=);\n\t\t}\n\n\t\t/* stylelint-disable-next-line no-descending-specificity */\n\t\t& .ck-media__placeholder__url__text {\n\t\t\tcolor: hsl(302, 100%, 94%);\n\n\t\t\t&:hover {\n\t\t\t\tcolor: hsl(0, 0%, 100%);\n\t\t\t}\n\t\t}\n\t}\n\n\t&[data-oembed-url*="twitter.com"] .ck.ck-media__placeholder {\n\t\t/* Use gradient to contrast with focused widget (ckeditor/ckeditor5-media-embed#22). */\n\t\tbackground: linear-gradient( to right, hsl(201, 85%, 70%), hsl(201, 85%, 35%) );\n\n\t\t& .ck-media__placeholder__icon {\n\t\t\tbackground-image: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz48c3ZnIHZlcnNpb249IjEuMSIgaWQ9IldoaXRlIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4PSIwcHgiIHk9IjBweCIgdmlld0JveD0iMCAwIDQwMCA0MDAiIHN0eWxlPSJlbmFibGUtYmFja2dyb3VuZDpuZXcgMCAwIDQwMCA0MDA7IiB4bWw6c3BhY2U9InByZXNlcnZlIj48c3R5bGUgdHlwZT0idGV4dC9jc3MiPi5zdDB7ZmlsbDojRkZGRkZGO308L3N0eWxlPjxwYXRoIGNsYXNzPSJzdDAiIGQ9Ik00MDAsMjAwYzAsMTEwLjUtODkuNSwyMDAtMjAwLDIwMFMwLDMxMC41LDAsMjAwUzg5LjUsMCwyMDAsMFM0MDAsODkuNSw0MDAsMjAweiBNMTYzLjQsMzA1LjVjODguNywwLDEzNy4yLTczLjUsMTM3LjItMTM3LjJjMC0yLjEsMC00LjItMC4xLTYuMmM5LjQtNi44LDE3LjYtMTUuMywyNC4xLTI1Yy04LjYsMy44LTE3LjksNi40LTI3LjcsNy42YzEwLTYsMTcuNi0xNS40LDIxLjItMjYuN2MtOS4zLDUuNS0xOS42LDkuNS0zMC42LDExLjdjLTguOC05LjQtMjEuMy0xNS4yLTM1LjItMTUuMmMtMjYuNiwwLTQ4LjIsMjEuNi00OC4yLDQ4LjJjMCwzLjgsMC40LDcuNSwxLjMsMTFjLTQwLjEtMi03NS42LTIxLjItOTkuNC01MC40Yy00LjEsNy4xLTYuNSwxNS40LTYuNSwyNC4yYzAsMTYuNyw4LjUsMzEuNSwyMS41LDQwLjFjLTcuOS0wLjItMTUuMy0yLjQtMjEuOC02YzAsMC4yLDAsMC40LDAsMC42YzAsMjMuNCwxNi42LDQyLjgsMzguNyw0Ny4zYy00LDEuMS04LjMsMS43LTEyLjcsMS43Yy0zLjEsMC02LjEtMC4zLTkuMS0wLjljNi4xLDE5LjIsMjMuOSwzMy4xLDQ1LDMzLjVjLTE2LjUsMTIuOS0zNy4zLDIwLjYtNTkuOSwyMC42Yy0zLjksMC03LjctMC4yLTExLjUtMC43QzExMC44LDI5Ny41LDEzNi4yLDMwNS41LDE2My40LDMwNS41Ii8+PC9zdmc+);\n\t\t}\n\n\t\t& .ck-media__placeholder__url__text {\n\t\t\tcolor: hsl(201, 100%, 86%);\n\n\t\t\t&:hover {\n\t\t\t\tcolor: hsl(0, 0%, 100%);\n\t\t\t}\n\t\t}\n\t}\n}\n'],sourceRoot:""}]);const c=a},7138:(t,e,n)=>{"use strict";n.d(e,{Z:()=>c});var i=n(4015);var o=n.n(i);var r=n(3645);var s=n.n(r);var a=s()(o());a.push([t.id,".ck.ck-media-form{align-items:flex-start;display:flex;flex-direction:row;flex-wrap:nowrap}.ck.ck-media-form .ck-labeled-field-view{display:inline-block}.ck.ck-media-form .ck-label{display:none}@media screen and (max-width:600px){.ck.ck-media-form{flex-wrap:wrap}.ck.ck-media-form .ck-labeled-field-view{flex-basis:100%}.ck.ck-media-form .ck-button{flex-basis:50%}}","",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-media-embed/theme/mediaform.css","webpack://./node_modules/@ckeditor/ckeditor5-ui/theme/mixins/_rwd.css"],names:[],mappings:"AAOA,kBAEC,sBAAuB,CADvB,YAAa,CAEb,kBAAmB,CACnB,gBAqBD,CAnBC,yCACC,oBACD,CAEA,4BACC,YACD,CCbA,oCDCD,kBAeE,cAUF,CARE,yCACC,eACD,CAEA,6BACC,cACD,CCtBD",sourcesContent:['/*\n * Copyright (c) 2003-2023, 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\n.ck.ck-media-form {\n\tdisplay: flex;\n\talign-items: flex-start;\n\tflex-direction: row;\n\tflex-wrap: nowrap;\n\n\t& .ck-labeled-field-view {\n\t\tdisplay: inline-block;\n\t}\n\n\t& .ck-label {\n\t\tdisplay: none;\n\t}\n\n\t@mixin ck-media-phone {\n\t\tflex-wrap: wrap;\n\n\t\t& .ck-labeled-field-view {\n\t\t\tflex-basis: 100%;\n\t\t}\n\n\t\t& .ck-button {\n\t\t\tflex-basis: 50%;\n\t\t}\n\t}\n}\n',"/*\n * Copyright (c) 2003-2023, 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@define-mixin ck-media-phone {\n\t@media screen and (max-width: 600px) {\n\t\t@mixin-content;\n\t}\n}\n"],sourceRoot:""}]);const c=a},4420:(t,e,n)=>{"use strict";n.d(e,{Z:()=>c});var i=n(4015);var o=n.n(i);var r=n(3645);var s=n.n(r);var a=s()(o());a.push([t.id,'.ck-source-editing-area{overflow:hidden;position:relative}.ck-source-editing-area textarea,.ck-source-editing-area:after{border:1px solid transparent;font-family:monospace;font-size:var(--ck-font-size-normal);line-height:var(--ck-line-height-base);margin:0;padding:var(--ck-spacing-large);white-space:pre-wrap}.ck-source-editing-area:after{content:attr(data-value) " ";display:block;visibility:hidden}.ck-source-editing-area textarea{border-color:var(--ck-color-base-border);border-radius:0;box-sizing:border-box;height:100%;outline:none;overflow:hidden;position:absolute;resize:none;width:100%}.ck-rounded-corners .ck-source-editing-area textarea,.ck-source-editing-area textarea.ck-rounded-corners{border-radius:var(--ck-border-radius);border-top-left-radius:0;border-top-right-radius:0}.ck-source-editing-area textarea:not([readonly]):focus{border:var(--ck-focus-ring);box-shadow:var(--ck-inner-shadow),0 0;outline:none}',"",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-source-editing/theme/sourceediting.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/mixins/_rounded.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/mixins/_focus.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/mixins/_shadow.css"],names:[],mappings:"AASA,wBAEC,eAAgB,CADhB,iBAED,CAEA,+DAIC,4BAA6B,CAG7B,qBAAsB,CADtB,oCAAqC,CADrC,sCAAuC,CAFvC,QAAS,CADT,+BAAgC,CAMhC,oBACD,CAEA,8BACC,4BAA6B,CAE7B,aAAc,CADd,iBAED,CAEA,iCASC,wCAAyC,CC7BzC,eAAgB,CD2BhB,qBAAsB,CAJtB,WAAY,CAEZ,YAAa,CACb,eAAgB,CALhB,iBAAkB,CAGlB,WAAY,CAFZ,UAkBD,CApBA,yGChBE,qCAAsC,CD4BtC,wBAAyB,CACzB,yBAOF,CAJC,uDEpCA,2BAA2B,CCF3B,qCAA8B,CDC9B,YFwCA",sourcesContent:['/*\n * Copyright (c) 2003-2023, 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-theme-lark/theme/mixins/_rounded.css";\n@import "@ckeditor/ckeditor5-theme-lark/theme/mixins/_focus.css";\n@import "@ckeditor/ckeditor5-theme-lark/theme/mixins/_shadow.css";\n\n.ck-source-editing-area {\n\tposition: relative;\n\toverflow: hidden;\n}\n\n.ck-source-editing-area::after,\n.ck-source-editing-area textarea {\n\tpadding: var(--ck-spacing-large);\n\tmargin: 0;\n\tborder: 1px solid transparent;\n\tline-height: var(--ck-line-height-base);\n\tfont-size: var(--ck-font-size-normal);\n\tfont-family: monospace;\n\twhite-space: pre-wrap;\n}\n\n.ck-source-editing-area::after {\n\tcontent: attr(data-value) " ";\n\tvisibility: hidden;\n\tdisplay: block;\n}\n\n.ck-source-editing-area textarea {\n\tposition: absolute;\n\twidth: 100%;\n\theight: 100%;\n\tresize: none;\n\toutline: none;\n\toverflow: hidden;\n\tbox-sizing: border-box;\n\n\tborder-color: var(--ck-color-base-border);\n\n\t@mixin ck-rounded-corners {\n\t\tborder-top-left-radius: 0;\n\t\tborder-top-right-radius: 0;\n\t}\n\n\t&:not([readonly]):focus {\n\t\t@mixin ck-focus-ring;\n\t\t@mixin ck-box-shadow var(--ck-inner-shadow);\n\t}\n}\n',"/*\n * Copyright (c) 2003-2023, 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","/*\n * Copyright (c) 2003-2023, 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 * A visual style of focused element's border.\n */\n@define-mixin ck-focus-ring {\n\t/* Disable native outline. */\n\toutline: none;\n\tborder: var(--ck-focus-ring)\n}\n","/*\n * Copyright (c) 2003-2023, 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 * A helper to combine multiple shadows.\n */\n@define-mixin ck-box-shadow $shadowA, $shadowB: 0 0 {\n\tbox-shadow: $shadowA, $shadowB;\n}\n\n/**\n * Gives an element a drop shadow so it looks like a floating panel.\n */\n@define-mixin ck-drop-shadow {\n\t@mixin ck-box-shadow var(--ck-drop-shadow);\n}\n"],sourceRoot:""}]);const c=a},8624:(t,e,n)=>{"use strict";n.d(e,{Z:()=>c});var i=n(4015);var o=n.n(i);var r=n(3645);var s=n.n(r);var a=s()(o());a.push([t.id,".ck.ck-dropdown.ck-style-dropdown.ck-style-dropdown_multiple-active>.ck-button>.ck-button__label{font-style:italic}","",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-style/style.css"],names:[],mappings:"AAKA,iGACC,iBACD",sourcesContent:["/*\n * Copyright (c) 2003-2023, 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-dropdown.ck-style-dropdown.ck-style-dropdown_multiple-active > .ck-button > .ck-button__label {\n\tfont-style: italic;\n}\n"],sourceRoot:""}]);const c=a},7775:(t,e,n)=>{"use strict";n.d(e,{Z:()=>c});var i=n(4015);var o=n.n(i);var r=n(3645);var s=n.n(r);var a=s()(o());a.push([t.id,":root{--ck-style-panel-columns:3}.ck.ck-style-panel .ck-style-grid{display:grid;grid-template-columns:repeat(var(--ck-style-panel-columns),auto);justify-content:start}.ck.ck-style-panel .ck-style-grid .ck-style-grid__button{display:flex;flex-direction:column;justify-content:space-between}.ck.ck-style-panel .ck-style-grid .ck-style-grid__button .ck-style-grid__button__preview{align-content:center;align-items:center;display:flex;flex-basis:100%;flex-grow:1;justify-content:flex-start}:root{--ck-style-panel-button-width:120px;--ck-style-panel-button-height:80px;--ck-style-panel-button-label-background:#f0f0f0;--ck-style-panel-button-hover-label-background:#ebebeb;--ck-style-panel-button-hover-border-color:#b3b3b3}.ck.ck-style-panel .ck-style-grid{column-gap:var(--ck-spacing-large);row-gap:var(--ck-spacing-large)}.ck.ck-style-panel .ck-style-grid .ck-style-grid__button{--ck-color-button-default-hover-background:var(--ck-color-base-background);--ck-color-button-default-active-background:var(--ck-color-base-background);height:var(--ck-style-panel-button-height);padding:0;width:var(--ck-style-panel-button-width)}.ck.ck-style-panel .ck-style-grid .ck-style-grid__button:not(:focus){border:1px solid var(--ck-color-base-border)}.ck.ck-style-panel .ck-style-grid .ck-style-grid__button .ck-button__label{flex-shrink:0;height:22px;line-height:22px;overflow:hidden;padding:0 var(--ck-spacing-medium);text-overflow:ellipsis;width:100%}.ck.ck-style-panel .ck-style-grid .ck-style-grid__button .ck-style-grid__button__preview{background:var(--ck-color-base-background);border:2px solid var(--ck-color-base-background);opacity:.9;overflow:hidden;padding:var(--ck-spacing-medium);width:100%}.ck.ck-style-panel .ck-style-grid .ck-style-grid__button.ck-disabled{--ck-color-button-default-disabled-background:var(--ck-color-base-foreground)}.ck.ck-style-panel .ck-style-grid .ck-style-grid__button.ck-disabled:not(:focus){border-color:var(--ck-style-panel-button-label-background)}.ck.ck-style-panel .ck-style-grid .ck-style-grid__button.ck-disabled .ck-style-grid__button__preview{border-color:var(--ck-color-base-foreground);filter:saturate(.3);opacity:.4}.ck.ck-style-panel .ck-style-grid .ck-style-grid__button.ck-on{border-color:var(--ck-color-base-active)}.ck.ck-style-panel .ck-style-grid .ck-style-grid__button.ck-on .ck-button__label{box-shadow:0 -1px 0 var(--ck-color-base-active);z-index:1}.ck.ck-style-panel .ck-style-grid .ck-style-grid__button.ck-on:hover{border-color:var(--ck-color-base-active-focus)}.ck.ck-style-panel .ck-style-grid .ck-style-grid__button:not(.ck-on) .ck-button__label{background:var(--ck-style-panel-button-label-background)}.ck.ck-style-panel .ck-style-grid .ck-style-grid__button:not(.ck-on):hover .ck-button__label{background:var(--ck-style-panel-button-hover-label-background)}.ck.ck-style-panel .ck-style-grid .ck-style-grid__button:hover:not(.ck-disabled):not(.ck-on){border-color:var(--ck-style-panel-button-hover-border-color)}.ck.ck-style-panel .ck-style-grid .ck-style-grid__button:hover:not(.ck-disabled):not(.ck-on) .ck-style-grid__button__preview{opacity:1}","",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-style/theme/stylegrid.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-style/stylegrid.css"],names:[],mappings:"AAKA,MACC,0BACD,CAEA,kCACC,YAAa,CACb,gEAAiE,CACjE,qBAgBD,CAdC,yDACC,YAAa,CAEb,qBAAsB,CADtB,6BAWD,CARC,yFAEC,oBAAqB,CAErB,kBAAmB,CAHnB,YAAa,CAKb,eAAgB,CADhB,WAAY,CAFZ,0BAID,CCrBF,MACC,mCAAoC,CACpC,mCAAoC,CACpC,gDAA2D,CAC3D,sDAAiE,CACjE,kDACD,CAEA,kCAEC,kCAAmC,CADnC,+BAmFD,CAhFC,yDACC,0EAA2E,CAC3E,2EAA4E,CAI5E,0CAA2C,CAF3C,SAAU,CACV,wCA0ED,CAtEC,qEACC,4CACD,CAEA,2EAOC,aAAc,CANd,WAAY,CACZ,gBAAiB,CAGjB,eAAgB,CADhB,kCAAmC,CAEnC,sBAAuB,CAHvB,UAKD,CAEA,yFAMC,0CAA2C,CAC3C,gDAAiD,CAJjD,UAAW,CADX,eAAgB,CAGhB,gCAAiC,CAJjC,UAOD,CAEA,qEACC,6EAaD,CAVC,iFACC,0DACD,CAEA,qGAGC,4CAA6C,CAC7C,mBAAoB,CAHpB,UAID,CAGD,+DACC,wCAUD,CARC,iFACC,+CAAgD,CAChD,SACD,CAEA,qEACC,8CACD,CAIA,uFACC,wDACD,CAEA,6FACC,8DACD,CAGD,6FACC,4DAKD,CAHC,6HACC,SACD",sourcesContent:["/*\n * Copyright (c) 2003-2023, 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-style-panel-columns: 3;\n}\n\n.ck.ck-style-panel .ck-style-grid {\n\tdisplay: grid;\n\tgrid-template-columns: repeat(var(--ck-style-panel-columns),auto);\n\tjustify-content: start;\n\n\t& .ck-style-grid__button {\n\t\tdisplay: flex;\n\t\tjustify-content: space-between;\n\t\tflex-direction: column;\n\n\t\t& .ck-style-grid__button__preview {\n\t\t\tdisplay: flex;\n\t\t\talign-content: center;\n\t\t\tjustify-content: flex-start;\n\t\t\talign-items: center;\n\t\t\tflex-grow: 1;\n\t\t\tflex-basis: 100%;\n\t\t}\n\t}\n}\n","/*\n * Copyright (c) 2003-2023, 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-style-panel-button-width: 120px;\n\t--ck-style-panel-button-height: 80px;\n\t--ck-style-panel-button-label-background: hsl(0, 0%, 94.1%);\n\t--ck-style-panel-button-hover-label-background: hsl(0, 0%, 92.1%);\n\t--ck-style-panel-button-hover-border-color: hsl(0, 0%, 70%);\n}\n\n.ck.ck-style-panel .ck-style-grid {\n\trow-gap: var(--ck-spacing-large);\n\tcolumn-gap: var(--ck-spacing-large);\n\n\t& .ck-style-grid__button {\n\t\t--ck-color-button-default-hover-background: var(--ck-color-base-background);\n\t\t--ck-color-button-default-active-background: var(--ck-color-base-background);\n\n\t\tpadding: 0;\n\t\twidth: var(--ck-style-panel-button-width);\n\t\theight: var(--ck-style-panel-button-height);\n\n\t\t/* Let default .ck-button :focus styles apply */\n\t\t&:not(:focus) {\n\t\t\tborder: 1px solid var(--ck-color-base-border);\n\t\t}\n\n\t\t& .ck-button__label {\n\t\t\theight: 22px;\n\t\t\tline-height: 22px;\n\t\t\twidth: 100%;\n\t\t\tpadding: 0 var(--ck-spacing-medium);\n\t\t\toverflow: hidden;\n\t\t\ttext-overflow: ellipsis;\n\t\t\tflex-shrink: 0;\n\t\t}\n\n\t\t& .ck-style-grid__button__preview {\n\t\t\twidth: 100%;\n\t\t\toverflow: hidden;\n\t\t\topacity: .9;\n\n\t\t\tpadding: var(--ck-spacing-medium);\n\t\t\tbackground: var(--ck-color-base-background);\n\t\t\tborder: 2px solid var(--ck-color-base-background);\n\t\t}\n\n\t\t&.ck-disabled {\n\t\t\t--ck-color-button-default-disabled-background: var(--ck-color-base-foreground);\n\n\t\t\t/* Let default .ck-button :focus styles apply */\n\t\t\t&:not(:focus) {\n\t\t\t\tborder-color: var(--ck-style-panel-button-label-background);\n\t\t\t}\n\n\t\t\t& .ck-style-grid__button__preview {\n\t\t\t\topacity: .4;\n\n\t\t\t\tborder-color: var(--ck-color-base-foreground);\n\t\t\t\tfilter: saturate(.3);\n\t\t\t}\n\t\t}\n\n\t\t&.ck-on {\n\t\t\tborder-color: var(--ck-color-base-active);\n\n\t\t\t& .ck-button__label {\n\t\t\t\tbox-shadow: 0 -1px 0 var(--ck-color-base-active);\n\t\t\t\tz-index: 1; /* Stay on top of the preview with the shadow. */\n\t\t\t}\n\n\t\t\t&:hover {\n\t\t\t\tborder-color: var(--ck-color-base-active-focus);\n\t\t\t}\n\t\t}\n\n\t\t&:not(.ck-on) {\n\t\t\t& .ck-button__label {\n\t\t\t\tbackground: var(--ck-style-panel-button-label-background);\n\t\t\t}\n\n\t\t\t&:hover .ck-button__label {\n\t\t\t\tbackground: var(--ck-style-panel-button-hover-label-background);\n\t\t\t}\n\t\t}\n\n\t\t&:hover:not(.ck-disabled):not(.ck-on) {\n\t\t\tborder-color: var(--ck-style-panel-button-hover-border-color);\n\n\t\t\t& .ck-style-grid__button__preview {\n\t\t\t\topacity: 1;\n\t\t\t}\n\t\t}\n\t}\n}\n"],sourceRoot:""}]);const c=a},5634:(t,e,n)=>{"use strict";n.d(e,{Z:()=>c});var i=n(4015);var o=n.n(i);var r=n(3645);var s=n.n(r);var a=s()(o());a.push([t.id,".ck.ck-style-panel .ck-style-panel__style-group>.ck-label{margin:var(--ck-spacing-large) 0}.ck.ck-style-panel .ck-style-panel__style-group:first-child>.ck-label{margin-top:0}","",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-style/stylegroup.css"],names:[],mappings:"AAMC,0DACC,gCACD,CAGC,sEACC,YACD",sourcesContent:["/*\n * Copyright (c) 2003-2023, 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-style-panel .ck-style-panel__style-group {\n\t& > .ck-label {\n\t\tmargin: var(--ck-spacing-large) 0;\n\t}\n\n\t&:first-child {\n\t\t& > .ck-label {\n\t\t\tmargin-top: 0;\n\t\t}\n\t}\n}\n"],sourceRoot:""}]);const c=a},4637:(t,e,n)=>{"use strict";n.d(e,{Z:()=>c});var i=n(4015);var o=n.n(i);var r=n(3645);var s=n.n(r);var a=s()(o());a.push([t.id,":root{--ck-style-panel-max-height:470px}.ck.ck-style-panel{max-height:var(--ck-style-panel-max-height);overflow-y:auto;padding:var(--ck-spacing-large)}","",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-style/stylepanel.css"],names:[],mappings:"AAKA,MACC,iCACD,CAEA,mBAGC,2CAA4C,CAD5C,eAAgB,CADhB,+BAGD",sourcesContent:["/*\n * Copyright (c) 2003-2023, 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-style-panel-max-height: 470px;\n}\n\n.ck.ck-style-panel {\n\tpadding: var(--ck-spacing-large);\n\toverflow-y: auto;\n\tmax-height: var(--ck-style-panel-max-height);\n}\n"],sourceRoot:""}]);const c=a},9953:(t,e,n)=>{"use strict";n.d(e,{Z:()=>c});var i=n(4015);var o=n.n(i);var r=n(3645);var s=n.n(r);var a=s()(o());a.push([t.id,".ck.ck-input-color{display:flex;flex-direction:row-reverse;width:100%}.ck.ck-input-color>input.ck.ck-input-text{flex-grow:1;min-width:auto}.ck.ck-input-color>div.ck.ck-dropdown{min-width:auto}.ck.ck-input-color>div.ck.ck-dropdown>.ck-input-color__button .ck-dropdown__arrow{display:none}.ck.ck-input-color .ck.ck-input-color__button{display:flex}.ck.ck-input-color .ck.ck-input-color__button .ck.ck-input-color__button__preview{overflow:hidden;position:relative}.ck.ck-input-color .ck.ck-input-color__button .ck.ck-input-color__button__preview>.ck.ck-input-color__button__preview__no-color-indicator{display:block;position:absolute}[dir=ltr] .ck.ck-input-color>.ck.ck-input-text{border-bottom-right-radius:0;border-top-right-radius:0}[dir=rtl] .ck.ck-input-color>.ck.ck-input-text{border-bottom-left-radius:0;border-top-left-radius:0}.ck.ck-input-color>.ck.ck-input-text:focus{z-index:0}.ck.ck-input-color>.ck.ck-dropdown>.ck.ck-button.ck-input-color__button{padding:0}[dir=ltr] .ck.ck-input-color>.ck.ck-dropdown>.ck.ck-button.ck-input-color__button{border-bottom-left-radius:0;border-top-left-radius:0}[dir=ltr] .ck.ck-input-color>.ck.ck-dropdown>.ck.ck-button.ck-input-color__button:not(:focus){border-left:1px solid transparent}[dir=rtl] .ck.ck-input-color>.ck.ck-dropdown>.ck.ck-button.ck-input-color__button{border-bottom-right-radius:0;border-top-right-radius:0}[dir=rtl] .ck.ck-input-color>.ck.ck-dropdown>.ck.ck-button.ck-input-color__button:not(:focus){border-right:1px solid transparent}.ck.ck-input-color>.ck.ck-dropdown>.ck.ck-button.ck-input-color__button.ck-disabled{background:var(--ck-color-input-disabled-background)}.ck.ck-input-color>.ck.ck-dropdown>.ck.ck-button.ck-input-color__button>.ck.ck-input-color__button__preview{border-radius:0}.ck-rounded-corners .ck.ck-input-color>.ck.ck-dropdown>.ck.ck-button.ck-input-color__button>.ck.ck-input-color__button__preview,.ck.ck-input-color>.ck.ck-dropdown>.ck.ck-button.ck-input-color__button>.ck.ck-input-color__button__preview.ck-rounded-corners{border-radius:var(--ck-border-radius)}.ck.ck-input-color>.ck.ck-dropdown>.ck.ck-button.ck-input-color__button>.ck.ck-input-color__button__preview{border:1px solid var(--ck-color-input-border);height:20px;width:20px}.ck.ck-input-color>.ck.ck-dropdown>.ck.ck-button.ck-input-color__button>.ck.ck-input-color__button__preview>.ck.ck-input-color__button__preview__no-color-indicator{background:red;border-radius:2px;height:150%;left:50%;top:-30%;transform:rotate(45deg);transform-origin:50%;width:8%}.ck.ck-input-color .ck.ck-input-color__remove-color{border-bottom-left-radius:0;border-bottom-right-radius:0;padding:calc(var(--ck-spacing-standard)/2) var(--ck-spacing-standard);width:100%}.ck.ck-input-color .ck.ck-input-color__remove-color:not(:focus){border-bottom:1px solid var(--ck-color-input-border)}[dir=ltr] .ck.ck-input-color .ck.ck-input-color__remove-color{border-top-right-radius:0}[dir=rtl] .ck.ck-input-color .ck.ck-input-color__remove-color{border-top-left-radius:0}.ck.ck-input-color .ck.ck-input-color__remove-color .ck.ck-icon{margin-right:var(--ck-spacing-standard)}[dir=rtl] .ck.ck-input-color .ck.ck-input-color__remove-color .ck.ck-icon{margin-left:var(--ck-spacing-standard);margin-right:0}","",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-table/theme/colorinput.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-table/colorinput.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/mixins/_rounded.css"],names:[],mappings:"AAKA,mBAEC,YAAa,CACb,0BAA2B,CAF3B,UAgCD,CA5BC,0CAEC,WAAY,CADZ,cAED,CAEA,sCACC,cAMD,CAHC,kFACC,YACD,CAGD,8CAEC,YAWD,CATC,kFAEC,eAAgB,CADhB,iBAOD,CAJC,0IAEC,aAAc,CADd,iBAED,CC1BF,+CAGE,4BAA6B,CAD7B,yBAcF,CAhBA,+CAQE,2BAA4B,CAD5B,wBASF,CAHC,2CACC,SACD,CAIA,wEACC,SA0CD,CA3CA,kFAKE,2BAA4B,CAD5B,wBAuCF,CApCE,8FACC,iCACD,CATF,kFAcE,4BAA6B,CAD7B,yBA8BF,CA3BE,8FACC,kCACD,CAGD,oFACC,oDACD,CAEA,4GC1CF,eD2DE,CAjBA,+PCtCD,qCDuDC,CAjBA,4GAKC,6CAA8C,CAD9C,WAAY,CADZ,UAcD,CAVC,oKAKC,cAA6B,CAC7B,iBAAkB,CAHlB,WAAY,CADZ,QAAS,CADT,QAAS,CAMT,uBAAwB,CACxB,oBAAqB,CAJrB,QAKD,CAKH,oDAIC,2BAA4B,CAC5B,4BAA6B,CAH7B,qEAAwE,CADxE,UA0BD,CApBC,gEACC,oDACD,CATD,8DAYE,yBAeF,CA3BA,8DAgBE,wBAWF,CARC,gEACC,uCAMD,CAPA,0EAKE,sCAAuC,CADvC,cAGF",sourcesContent:["/*\n * Copyright (c) 2003-2023, 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-input-color {\n\twidth: 100%;\n\tdisplay: flex;\n\tflex-direction: row-reverse;\n\n\t& > input.ck.ck-input-text {\n\t\tmin-width: auto;\n\t\tflex-grow: 1;\n\t}\n\n\t& > div.ck.ck-dropdown {\n\t\tmin-width: auto;\n\n\t\t/* This dropdown has no arrow but a color preview instead. */\n\t\t& > .ck-input-color__button .ck-dropdown__arrow {\n\t\t\tdisplay: none;\n\t\t}\n\t}\n\n\t& .ck.ck-input-color__button {\n\t\t/* Resolving issue with misaligned buttons on Safari (see #10589) */\n\t\tdisplay: flex;\n\n\t\t& .ck.ck-input-color__button__preview {\n\t\t\tposition: relative;\n\t\t\toverflow: hidden;\n\n\t\t\t& > .ck.ck-input-color__button__preview__no-color-indicator {\n\t\t\t\tposition: absolute;\n\t\t\t\tdisplay: block;\n\t\t\t}\n\t\t}\n\t}\n}\n",'/*\n * Copyright (c) 2003-2023, 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/_dir.css";\n@import "../mixins/_rounded.css";\n\n.ck.ck-input-color {\n\t& > .ck.ck-input-text {\n\t\t@mixin ck-dir ltr {\n\t\t\tborder-top-right-radius: 0;\n\t\t\tborder-bottom-right-radius: 0;\n\t\t}\n\n\t\t@mixin ck-dir rtl {\n\t\t\tborder-top-left-radius: 0;\n\t\t\tborder-bottom-left-radius: 0;\n\t\t}\n\n\t\t/* Make sure the focused input is always on top of the dropdown button so its\n\t\t outline and border are never cropped (also when the input is read-only). */\n\t\t&:focus {\n\t\t\tz-index: 0;\n\t\t}\n\t}\n\n\t& > .ck.ck-dropdown {\n\t\t& > .ck.ck-button.ck-input-color__button {\n\t\t\tpadding: 0;\n\n\t\t\t@mixin ck-dir ltr {\n\t\t\t\tborder-top-left-radius: 0;\n\t\t\t\tborder-bottom-left-radius: 0;\n\n\t\t\t\t&:not(:focus) {\n\t\t\t\t\tborder-left: 1px solid transparent;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t@mixin ck-dir rtl {\n\t\t\t\tborder-top-right-radius: 0;\n\t\t\t\tborder-bottom-right-radius: 0;\n\n\t\t\t\t&:not(:focus) {\n\t\t\t\t\tborder-right: 1px solid transparent;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t&.ck-disabled {\n\t\t\t\tbackground: var(--ck-color-input-disabled-background);\n\t\t\t}\n\n\t\t\t& > .ck.ck-input-color__button__preview {\n\t\t\t\t@mixin ck-rounded-corners;\n\n\t\t\t\twidth: 20px;\n\t\t\t\theight: 20px;\n\t\t\t\tborder: 1px solid var(--ck-color-input-border);\n\n\t\t\t\t& > .ck.ck-input-color__button__preview__no-color-indicator {\n\t\t\t\t\ttop: -30%;\n\t\t\t\t\tleft: 50%;\n\t\t\t\t\theight: 150%;\n\t\t\t\t\twidth: 8%;\n\t\t\t\t\tbackground: hsl(0, 100%, 50%);\n\t\t\t\t\tborder-radius: 2px;\n\t\t\t\t\ttransform: rotate(45deg);\n\t\t\t\t\ttransform-origin: 50%;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\t& .ck.ck-input-color__remove-color {\n\t\twidth: 100%;\n\t\tpadding: calc(var(--ck-spacing-standard) / 2) var(--ck-spacing-standard);\n\n\t\tborder-bottom-left-radius: 0;\n\t\tborder-bottom-right-radius: 0;\n\n\t\t&:not(:focus) {\n\t\t\tborder-bottom: 1px solid var(--ck-color-input-border);\n\t\t}\n\n\t\t@mixin ck-dir ltr {\n\t\t\tborder-top-right-radius: 0;\n\t\t}\n\n\t\t@mixin ck-dir rtl {\n\t\t\tborder-top-left-radius: 0;\n\t\t}\n\n\t\t& .ck.ck-icon {\n\t\t\tmargin-right: var(--ck-spacing-standard);\n\n\t\t\t@mixin ck-dir rtl {\n\t\t\t\tmargin-right: 0;\n\t\t\t\tmargin-left: var(--ck-spacing-standard);\n\t\t\t}\n\t\t}\n\t}\n}\n',"/*\n * Copyright (c) 2003-2023, 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 c=a},7502:(t,e,n)=>{"use strict";n.d(e,{Z:()=>c});var i=n(4015);var o=n.n(i);var r=n(3645);var s=n.n(r);var a=s()(o());a.push([t.id,".ck.ck-form{padding:0 0 var(--ck-spacing-large)}.ck.ck-form:focus{outline:none}.ck.ck-form .ck.ck-input-text{min-width:100%;width:0}.ck.ck-form .ck.ck-dropdown{min-width:100%}.ck.ck-form .ck.ck-dropdown .ck-dropdown__button:not(:focus){border:1px solid var(--ck-color-base-border)}.ck.ck-form .ck.ck-dropdown .ck-dropdown__button .ck-button__label{width:100%}","",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-table/form.css"],names:[],mappings:"AAKA,YACC,mCAyBD,CAvBC,kBAEC,YACD,CAEA,8BACC,cAAe,CACf,OACD,CAEA,4BACC,cAWD,CARE,6DACC,4CACD,CAEA,mEACC,UACD",sourcesContent:["/*\n * Copyright (c) 2003-2023, 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-form {\n\tpadding: 0 0 var(--ck-spacing-large);\n\n\t&:focus {\n\t\t/* See: https://github.com/ckeditor/ckeditor5/issues/4773 */\n\t\toutline: none;\n\t}\n\n\t& .ck.ck-input-text {\n\t\tmin-width: 100%;\n\t\twidth: 0;\n\t}\n\n\t& .ck.ck-dropdown {\n\t\tmin-width: 100%;\n\n\t\t& .ck-dropdown__button {\n\t\t\t&:not(:focus) {\n\t\t\t\tborder: 1px solid var(--ck-color-base-border);\n\t\t\t}\n\n\t\t\t& .ck-button__label {\n\t\t\t\twidth: 100%;\n\t\t\t}\n\t\t}\n\t}\n}\n"],sourceRoot:""}]);const c=a},6908:(t,e,n)=>{"use strict";n.d(e,{Z:()=>c});var i=n(4015);var o=n.n(i);var r=n(3645);var s=n.n(r);var a=s()(o());a.push([t.id,".ck.ck-form__row{display:flex;flex-direction:row;flex-wrap:nowrap;justify-content:space-between}.ck.ck-form__row>:not(.ck-label){flex-grow:1}.ck.ck-form__row.ck-table-form__action-row .ck-button-cancel,.ck.ck-form__row.ck-table-form__action-row .ck-button-save{justify-content:center}.ck.ck-form__row{padding:var(--ck-spacing-standard) var(--ck-spacing-large) 0}[dir=ltr] .ck.ck-form__row>:not(.ck-label)+*{margin-left:var(--ck-spacing-large)}[dir=rtl] .ck.ck-form__row>:not(.ck-label)+*{margin-right:var(--ck-spacing-large)}.ck.ck-form__row>.ck-label{min-width:100%;width:100%}.ck.ck-form__row.ck-table-form__action-row{margin-top:var(--ck-spacing-large)}.ck.ck-form__row.ck-table-form__action-row .ck-button .ck-button__label{color:var(--ck-color-text)}","",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-table/theme/formrow.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-table/formrow.css"],names:[],mappings:"AAKA,iBACC,YAAa,CACb,kBAAmB,CACnB,gBAAiB,CACjB,6BAaD,CAVC,iCACC,WACD,CAGC,wHAEC,sBACD,CCbF,iBACC,4DA2BD,CAvBE,6CAEE,mCAMF,CARA,6CAME,oCAEF,CAGD,2BAEC,cAAe,CADf,UAED,CAEA,2CACC,kCAKD,CAHC,wEACC,0BACD",sourcesContent:["/*\n * Copyright (c) 2003-2023, 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-form__row {\n\tdisplay: flex;\n\tflex-direction: row;\n\tflex-wrap: nowrap;\n\tjustify-content: space-between;\n\n\t/* Ignore labels that work as fieldset legends */\n\t& > *:not(.ck-label) {\n\t\tflex-grow: 1;\n\t}\n\n\t&.ck-table-form__action-row {\n\t\t& .ck-button-save,\n\t\t& .ck-button-cancel {\n\t\t\tjustify-content: center;\n\t\t}\n\t}\n}\n",'/*\n * Copyright (c) 2003-2023, 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/_dir.css";\n\n.ck.ck-form__row {\n\tpadding: var(--ck-spacing-standard) var(--ck-spacing-large) 0;\n\n\t/* Ignore labels that work as fieldset legends */\n\t& > *:not(.ck-label) {\n\t\t& + * {\n\t\t\t@mixin ck-dir ltr {\n\t\t\t\tmargin-left: var(--ck-spacing-large);\n\t\t\t}\n\n\t\t\t@mixin ck-dir rtl {\n\t\t\t\tmargin-right: var(--ck-spacing-large);\n\t\t\t}\n\t\t}\n\t}\n\n\t& > .ck-label {\n\t\twidth: 100%;\n\t\tmin-width: 100%;\n\t}\n\n\t&.ck-table-form__action-row {\n\t\tmargin-top: var(--ck-spacing-large);\n\n\t\t& .ck-button .ck-button__label {\n\t\t\tcolor: var(--ck-color-text);\n\t\t}\n\t}\n}\n'],sourceRoot:""}]);const c=a},468:(t,e,n)=>{"use strict";n.d(e,{Z:()=>c});var i=n(4015);var o=n.n(i);var r=n(3645);var s=n.n(r);var a=s()(o());a.push([t.id,".ck .ck-insert-table-dropdown__grid{display:flex;flex-direction:row;flex-wrap:wrap}:root{--ck-insert-table-dropdown-padding:10px;--ck-insert-table-dropdown-box-height:11px;--ck-insert-table-dropdown-box-width:12px;--ck-insert-table-dropdown-box-margin:1px}.ck .ck-insert-table-dropdown__grid{padding:var(--ck-insert-table-dropdown-padding) var(--ck-insert-table-dropdown-padding) 0;width:calc(var(--ck-insert-table-dropdown-box-width)*10 + var(--ck-insert-table-dropdown-box-margin)*20 + var(--ck-insert-table-dropdown-padding)*2)}.ck .ck-insert-table-dropdown__label,.ck[dir=rtl] .ck-insert-table-dropdown__label{text-align:center}.ck .ck-insert-table-dropdown-grid-box{border:1px solid var(--ck-color-base-border);border-radius:1px;margin:var(--ck-insert-table-dropdown-box-margin);min-height:var(--ck-insert-table-dropdown-box-height);min-width:var(--ck-insert-table-dropdown-box-width);outline:none;transition:none}.ck .ck-insert-table-dropdown-grid-box:focus{box-shadow:none}.ck .ck-insert-table-dropdown-grid-box.ck-on{background:var(--ck-color-focus-outer-shadow);border-color:var(--ck-color-focus-border)}","",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-table/theme/inserttable.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-table/inserttable.css"],names:[],mappings:"AAKA,oCACC,YAAa,CACb,kBAAmB,CACnB,cACD,CCJA,MACC,uCAAwC,CACxC,0CAA2C,CAC3C,yCAA0C,CAC1C,yCACD,CAEA,oCAGC,yFAA0F,CAD1F,oJAED,CAEA,mFAEC,iBACD,CAEA,uCAIC,4CAA6C,CAC7C,iBAAkB,CAFlB,iDAAkD,CADlD,qDAAsD,CADtD,mDAAoD,CAKpD,YAAa,CACb,eAUD,CARC,6CACC,eACD,CAEA,6CAEC,6CAA8C,CAD9C,yCAED",sourcesContent:["/*\n * Copyright (c) 2003-2023, 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-insert-table-dropdown__grid {\n\tdisplay: flex;\n\tflex-direction: row;\n\tflex-wrap: wrap;\n}\n","/*\n * Copyright (c) 2003-2023, 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-insert-table-dropdown-padding: 10px;\n\t--ck-insert-table-dropdown-box-height: 11px;\n\t--ck-insert-table-dropdown-box-width: 12px;\n\t--ck-insert-table-dropdown-box-margin: 1px;\n}\n\n.ck .ck-insert-table-dropdown__grid {\n\t/* The width of a container should match 10 items in a row so there will be a 10x10 grid. */\n\twidth: calc(var(--ck-insert-table-dropdown-box-width) * 10 + var(--ck-insert-table-dropdown-box-margin) * 20 + var(--ck-insert-table-dropdown-padding) * 2);\n\tpadding: var(--ck-insert-table-dropdown-padding) var(--ck-insert-table-dropdown-padding) 0;\n}\n\n.ck .ck-insert-table-dropdown__label,\n.ck[dir=rtl] .ck-insert-table-dropdown__label {\n\ttext-align: center;\n}\n\n.ck .ck-insert-table-dropdown-grid-box {\n\tmin-width: var(--ck-insert-table-dropdown-box-width);\n\tmin-height: var(--ck-insert-table-dropdown-box-height);\n\tmargin: var(--ck-insert-table-dropdown-box-margin);\n\tborder: 1px solid var(--ck-color-base-border);\n\tborder-radius: 1px;\n\toutline: none;\n\ttransition: none;\n\n\t&:focus {\n\t\tbox-shadow: none;\n\t}\n\n\t&.ck-on {\n\t\tborder-color: var(--ck-color-focus-border);\n\t\tbackground: var(--ck-color-focus-outer-shadow);\n\t}\n}\n\n"],sourceRoot:""}]);const c=a},2510:(t,e,n)=>{"use strict";n.d(e,{Z:()=>c});var i=n(4015);var o=n.n(i);var r=n(3645);var s=n.n(r);var a=s()(o());a.push([t.id,".ck-content .table{display:table;margin:.9em auto}.ck-content .table table{border:1px double #b3b3b3;border-collapse:collapse;border-spacing:0;height:100%;width:100%}.ck-content .table table td,.ck-content .table table th{border:1px solid #bfbfbf;min-width:2em;padding:.4em}.ck-content .table table th{background:rgba(0,0,0,.05);font-weight:700}.ck-content[dir=rtl] .table th{text-align:right}.ck-content[dir=ltr] .table th{text-align:left}.ck-editor__editable .ck-table-bogus-paragraph{display:inline-block;width:100%}","",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-table/theme/table.css"],names:[],mappings:"AAKA,mBAKC,aAAc,CADd,gBAiCD,CA9BC,yBAYC,yBAAkC,CAVlC,wBAAyB,CACzB,gBAAiB,CAKjB,WAAY,CADZ,UAsBD,CAfC,wDAQC,wBAAiC,CANjC,aAAc,CACd,YAMD,CAEA,4BAEC,0BAA+B,CAD/B,eAED,CAMF,+BACC,gBACD,CAEA,+BACC,eACD,CAEA,+CAKC,oBAAqB,CAMrB,UACD",sourcesContent:['/*\n * Copyright (c) 2003-2023, 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 .table {\n\t/* Give the table widget some air and center it horizontally */\n\t/* The first value should be equal to --ck-spacing-large variable if used in the editor context\n\tto avoid the content jumping (See https://github.com/ckeditor/ckeditor5/issues/9825). */\n\tmargin: 0.9em auto;\n\tdisplay: table;\n\n\t& table {\n\t\t/* The table cells should have slight borders */\n\t\tborder-collapse: collapse;\n\t\tborder-spacing: 0;\n\n\t\t/* Table width and height are set on the parent
. Make sure the table inside stretches\n\t\tto the full dimensions of the container (https://github.com/ckeditor/ckeditor5/issues/6186). */\n\t\twidth: 100%;\n\t\theight: 100%;\n\n\t\t/* The outer border of the table should be slightly darker than the inner lines.\n\t\tAlso see https://github.com/ckeditor/ckeditor5-table/issues/50. */\n\t\tborder: 1px double hsl(0, 0%, 70%);\n\n\t\t& td,\n\t\t& th {\n\t\t\tmin-width: 2em;\n\t\t\tpadding: .4em;\n\n\t\t\t/* The border is inherited from .ck-editor__nested-editable styles, so theoretically it\'s not necessary here.\n\t\t\tHowever, the border is a content style, so it should use .ck-content (so it works outside the editor).\n\t\t\tHence, the duplication. See https://github.com/ckeditor/ckeditor5/issues/6314 */\n\t\t\tborder: 1px solid hsl(0, 0%, 75%);\n\t\t}\n\n\t\t& th {\n\t\t\tfont-weight: bold;\n\t\t\tbackground: hsla(0, 0%, 0%, 5%);\n\t\t}\n\t}\n}\n\n/* Text alignment of the table header should match the editor settings and override the native browser styling,\nwhen content is available outside the editor. See https://github.com/ckeditor/ckeditor5/issues/6638 */\n.ck-content[dir="rtl"] .table th {\n\ttext-align: right;\n}\n\n.ck-content[dir="ltr"] .table th {\n\ttext-align: left;\n}\n\n.ck-editor__editable .ck-table-bogus-paragraph {\n\t/*\n\t * Use display:inline-block to force Chrome/Safari to limit text mutations to this element.\n\t * See https://github.com/ckeditor/ckeditor5/issues/6062.\n\t */\n\tdisplay: inline-block;\n\n\t/*\n\t * Inline HTML elements nested in the span should always be dimensioned in relation to the whole cell width.\n\t * See https://github.com/ckeditor/ckeditor5/issues/9117.\n\t */\n\twidth: 100%;\n}\n'],sourceRoot:""}]);const c=a},1111:(t,e,n)=>{"use strict";n.d(e,{Z:()=>c});var i=n(4015);var o=n.n(i);var r=n(3645);var s=n.n(r);var a=s()(o());a.push([t.id,":root{--ck-color-selector-caption-background:#f7f7f7;--ck-color-selector-caption-text:#333;--ck-color-selector-caption-highlighted-background:#fd0}.ck-content .table>figcaption{background-color:var(--ck-color-selector-caption-background);caption-side:top;color:var(--ck-color-selector-caption-text);display:table-caption;font-size:.75em;outline-offset:-1px;padding:.6em;text-align:center;word-break:break-word}.ck.ck-editor__editable .table>figcaption.table__caption_highlighted{animation:ck-table-caption-highlight .6s ease-out}.ck.ck-editor__editable .table>figcaption.ck-placeholder:before{overflow:hidden;padding-left:inherit;padding-right:inherit;text-overflow:ellipsis;white-space:nowrap}@keyframes ck-table-caption-highlight{0%{background-color:var(--ck-color-selector-caption-highlighted-background)}to{background-color:var(--ck-color-selector-caption-background)}}","",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-table/theme/tablecaption.css"],names:[],mappings:"AAKA,MACC,8CAAuD,CACvD,qCAAiD,CACjD,uDACD,CAGA,8BAMC,4DAA6D,CAJ7D,gBAAiB,CAGjB,2CAA4C,CAJ5C,qBAAsB,CAOtB,eAAgB,CAChB,mBAAoB,CAFpB,YAAa,CAHb,iBAAkB,CADlB,qBAOD,CAIC,qEACC,iDACD,CAEA,gEASC,eAAgB,CARhB,oBAAqB,CACrB,qBAAsB,CAQtB,sBAAuB,CAFvB,kBAGD,CAGD,sCACC,GACC,wEACD,CAEA,GACC,4DACD,CACD",sourcesContent:["/*\n * Copyright (c) 2003-2023, 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-selector-caption-background: hsl(0, 0%, 97%);\n\t--ck-color-selector-caption-text: hsl(0, 0%, 20%);\n\t--ck-color-selector-caption-highlighted-background: hsl(52deg 100% 50%);\n}\n\n/* Content styles */\n.ck-content .table > figcaption {\n\tdisplay: table-caption;\n\tcaption-side: top;\n\tword-break: break-word;\n\ttext-align: center;\n\tcolor: var(--ck-color-selector-caption-text);\n\tbackground-color: var(--ck-color-selector-caption-background);\n\tpadding: .6em;\n\tfont-size: .75em;\n\toutline-offset: -1px;\n}\n\n/* Editing styles */\n.ck.ck-editor__editable .table > figcaption {\n\t&.table__caption_highlighted {\n\t\tanimation: ck-table-caption-highlight .6s ease-out;\n\t}\n\n\t&.ck-placeholder::before {\n\t\tpadding-left: inherit;\n\t\tpadding-right: inherit;\n\n\t\t/*\n\t\t * Make sure the table caption placeholder doesn't overflow the placeholder area.\n\t\t * See https://github.com/ckeditor/ckeditor5/issues/9162.\n\t\t */\n\t\twhite-space: nowrap;\n\t\toverflow: hidden;\n\t\ttext-overflow: ellipsis;\n\t}\n}\n\n@keyframes ck-table-caption-highlight {\n\t0% {\n\t\tbackground-color: var(--ck-color-selector-caption-highlighted-background);\n\t}\n\n\t100% {\n\t\tbackground-color: var(--ck-color-selector-caption-background);\n\t}\n}\n"],sourceRoot:""}]);const c=a},3964:(t,e,n)=>{"use strict";n.d(e,{Z:()=>c});var i=n(4015);var o=n.n(i);var r=n(3645);var s=n.n(r);var a=s()(o());a.push([t.id,".ck.ck-table-cell-properties-form .ck-form__row.ck-table-cell-properties-form__alignment-row{flex-wrap:wrap}.ck.ck-table-cell-properties-form .ck-form__row.ck-table-cell-properties-form__alignment-row .ck.ck-toolbar:first-of-type{flex-grow:0.57}.ck.ck-table-cell-properties-form .ck-form__row.ck-table-cell-properties-form__alignment-row .ck.ck-toolbar:last-of-type{flex-grow:0.43}.ck.ck-table-cell-properties-form .ck-form__row.ck-table-cell-properties-form__alignment-row .ck.ck-toolbar .ck-button{flex-grow:1}.ck.ck-table-cell-properties-form{width:320px}.ck.ck-table-cell-properties-form .ck-form__row.ck-table-cell-properties-form__padding-row{align-self:flex-end;padding:0;width:25%}.ck.ck-table-cell-properties-form .ck-form__row.ck-table-cell-properties-form__alignment-row .ck.ck-toolbar{background:none;margin-top:var(--ck-spacing-standard)}","",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-table/theme/tablecellproperties.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-table/tablecellproperties.css"],names:[],mappings:"AAOE,6FACC,cAiBD,CAdE,0HAEC,cACD,CAEA,yHAEC,cACD,CAEA,uHACC,WACD,CClBJ,kCACC,WAkBD,CAfE,2FACC,mBAAoB,CACpB,SAAU,CACV,SACD,CAGC,4GACC,eAAgB,CAGhB,qCACD",sourcesContent:["/*\n * Copyright (c) 2003-2023, 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-table-cell-properties-form {\n\t& .ck-form__row {\n\t\t&.ck-table-cell-properties-form__alignment-row {\n\t\t\tflex-wrap: wrap;\n\n\t\t\t& .ck.ck-toolbar {\n\t\t\t\t&:first-of-type {\n\t\t\t\t\t/* 4 buttons out of 7 (h-alignment + v-alignment) = 0.57 */\n\t\t\t\t\tflex-grow: 0.57;\n\t\t\t\t}\n\n\t\t\t\t&:last-of-type {\n\t\t\t\t\t/* 3 buttons out of 7 (h-alignment + v-alignment) = 0.43 */\n\t\t\t\t\tflex-grow: 0.43;\n\t\t\t\t}\n\n\t\t\t\t& .ck-button {\n\t\t\t\t\tflex-grow: 1;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n}\n","/*\n * Copyright (c) 2003-2023, 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-table-cell-properties-form {\n\twidth: 320px;\n\n\t& .ck-form__row {\n\t\t&.ck-table-cell-properties-form__padding-row {\n\t\t\talign-self: flex-end;\n\t\t\tpadding: 0;\n\t\t\twidth: 25%;\n\t\t}\n\n\t\t&.ck-table-cell-properties-form__alignment-row {\n\t\t\t& .ck.ck-toolbar {\n\t\t\t\tbackground: none;\n\n\t\t\t\t/* Compensate for missing input label that would push the margin (toolbar has no inputs). */\n\t\t\t\tmargin-top: var(--ck-spacing-standard);\n\t\t\t}\n\t\t}\n\t}\n}\n"],sourceRoot:""}]);const c=a},7176:(t,e,n)=>{"use strict";n.d(e,{Z:()=>c});var i=n(4015);var o=n.n(i);var r=n(3645);var s=n.n(r);var a=s()(o());a.push([t.id,":root{--ck-color-selector-column-resizer-hover:var(--ck-color-base-active);--ck-table-column-resizer-width:7px;--ck-table-column-resizer-position-offset:calc(var(--ck-table-column-resizer-width)*-0.5 - 0.5px)}.ck-content .table .ck-table-resized{table-layout:fixed}.ck-content .table table{overflow:hidden}.ck-content .table td,.ck-content .table th{overflow-wrap:break-word;position:relative}.ck.ck-editor__editable .table .ck-table-column-resizer{bottom:0;cursor:col-resize;position:absolute;right:var(--ck-table-column-resizer-position-offset);top:0;user-select:none;width:var(--ck-table-column-resizer-width);z-index:var(--ck-z-default)}.ck.ck-editor__editable .table[draggable] .ck-table-column-resizer,.ck.ck-editor__editable.ck-column-resize_disabled .table .ck-table-column-resizer{display:none}.ck.ck-editor__editable .table .ck-table-column-resizer:hover,.ck.ck-editor__editable .table .ck-table-column-resizer__active{background-color:var(--ck-color-selector-column-resizer-hover);bottom:-999999px;opacity:.25;top:-999999px}.ck.ck-editor__editable[dir=rtl] .table .ck-table-column-resizer{left:var(--ck-table-column-resizer-position-offset);right:unset}","",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-table/theme/tablecolumnresize.css"],names:[],mappings:"AAKA,MACC,oEAAqE,CACrE,mCAAoC,CAIpC,iGACD,CAEA,qCACC,kBACD,CAEA,yBACC,eACD,CAEA,4CAIC,wBAAyB,CACzB,iBACD,CAEA,wDAGC,QAAS,CAGT,iBAAkB,CALlB,iBAAkB,CAGlB,oDAAqD,CAFrD,KAAM,CAKN,gBAAiB,CAFjB,0CAA2C,CAG3C,2BACD,CAQA,qJACC,YACD,CAEA,8HAEC,8DAA+D,CAO/D,gBAAiB,CANjB,WAAa,CAKb,aAED,CAEA,iEACC,mDAAoD,CACpD,WACD",sourcesContent:["/*\n * Copyright (c) 2003-2023, 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-selector-column-resizer-hover: var(--ck-color-base-active);\n\t--ck-table-column-resizer-width: 7px;\n\n\t/* The offset used for absolute positioning of the resizer element, so that it is placed exactly above the cell border.\n\t The value is: minus half the width of the resizer decreased additionaly by the half the width of the border (0.5px). */\n\t--ck-table-column-resizer-position-offset: calc(var(--ck-table-column-resizer-width) * -0.5 - 0.5px);\n}\n\n.ck-content .table .ck-table-resized {\n\ttable-layout: fixed;\n}\n\n.ck-content .table table {\n\toverflow: hidden;\n}\n\n.ck-content .table td,\n.ck-content .table th {\n\t/* To prevent text overflowing beyond its cell when columns are resized by resize handler\n\t(https://github.com/ckeditor/ckeditor5/pull/14379#issuecomment-1589460978). */\n\toverflow-wrap: break-word;\n\tposition: relative;\n}\n\n.ck.ck-editor__editable .table .ck-table-column-resizer {\n\tposition: absolute;\n\ttop: 0;\n\tbottom: 0;\n\tright: var(--ck-table-column-resizer-position-offset);\n\twidth: var(--ck-table-column-resizer-width);\n\tcursor: col-resize;\n\tuser-select: none;\n\tz-index: var(--ck-z-default);\n}\n\n.ck.ck-editor__editable.ck-column-resize_disabled .table .ck-table-column-resizer {\n\tdisplay: none;\n}\n\n/* The resizer elements, which are extended to an extremely high height, break the drag & drop feature in Chrome. To make it work again,\n all resizers must be hidden while the table is dragged. */\n.ck.ck-editor__editable .table[draggable] .ck-table-column-resizer {\n\tdisplay: none;\n}\n\n.ck.ck-editor__editable .table .ck-table-column-resizer:hover,\n.ck.ck-editor__editable .table .ck-table-column-resizer__active {\n\tbackground-color: var(--ck-color-selector-column-resizer-hover);\n\topacity: 0.25;\n\t/* The resizer element resides in each cell so to occupy the entire height of the table, which is unknown from a CSS point of view,\n\t it is extended to an extremely high height. Even for screens with a very high pixel density, the resizer will fulfill its role as\n\t it should, i.e. for a screen of 476 ppi the total height of the resizer will take over 350 sheets of A4 format, which is totally\n\t unrealistic height for a single table. */\n\ttop: -999999px;\n\tbottom: -999999px;\n}\n\n.ck.ck-editor__editable[dir=rtl] .table .ck-table-column-resizer {\n\tleft: var(--ck-table-column-resizer-position-offset);\n\tright: unset;\n}\n"],sourceRoot:""}]);const c=a},8361:(t,e,n)=>{"use strict";n.d(e,{Z:()=>c});var i=n(4015);var o=n.n(i);var r=n(3645);var s=n.n(r);var a=s()(o());a.push([t.id,":root{--ck-color-selector-focused-cell-background:rgba(158,201,250,.3)}.ck-widget.table td.ck-editor__nested-editable.ck-editor__nested-editable_focused,.ck-widget.table td.ck-editor__nested-editable:focus,.ck-widget.table th.ck-editor__nested-editable.ck-editor__nested-editable_focused,.ck-widget.table th.ck-editor__nested-editable:focus{background:var(--ck-color-selector-focused-cell-background);border-style:none;outline:1px solid var(--ck-color-focus-border);outline-offset:-1px}","",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-table/tableediting.css"],names:[],mappings:"AAKA,MACC,gEACD,CAKE,8QAGC,2DAA4D,CAK5D,iBAAkB,CAClB,8CAA+C,CAC/C,mBACD",sourcesContent:["/*\n * Copyright (c) 2003-2023, 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-selector-focused-cell-background: hsla(212, 90%, 80%, .3);\n}\n\n.ck-widget.table {\n\t& td,\n\t& th {\n\t\t&.ck-editor__nested-editable.ck-editor__nested-editable_focused,\n\t\t&.ck-editor__nested-editable:focus {\n\t\t\t/* A very slight background to highlight the focused cell */\n\t\t\tbackground: var(--ck-color-selector-focused-cell-background);\n\n\t\t\t/* Fixes the problem where surrounding cells cover the focused cell's border.\n\t\t\tIt does not fix the problem in all places but the UX is improved.\n\t\t\tSee https://github.com/ckeditor/ckeditor5-table/issues/29. */\n\t\t\tborder-style: none;\n\t\t\toutline: 1px solid var(--ck-color-focus-border);\n\t\t\toutline-offset: -1px; /* progressive enhancement - no IE support */\n\t\t}\n\t}\n}\n"],sourceRoot:""}]);const c=a},9429:(t,e,n)=>{"use strict";n.d(e,{Z:()=>c});var i=n(4015);var o=n.n(i);var r=n(3645);var s=n.n(r);var a=s()(o());a.push([t.id,'.ck.ck-table-form .ck-form__row.ck-table-form__background-row,.ck.ck-table-form .ck-form__row.ck-table-form__border-row{flex-wrap:wrap}.ck.ck-table-form .ck-form__row.ck-table-form__dimensions-row{align-items:center;flex-wrap:wrap}.ck.ck-table-form .ck-form__row.ck-table-form__dimensions-row .ck-labeled-field-view{align-items:center;display:flex;flex-direction:column-reverse}.ck.ck-table-form .ck-form__row.ck-table-form__dimensions-row .ck-labeled-field-view .ck.ck-dropdown,.ck.ck-table-form .ck-form__row.ck-table-form__dimensions-row .ck-table-form__dimension-operator{flex-grow:0}.ck.ck-table-form .ck.ck-labeled-field-view{position:relative}.ck.ck-table-form .ck.ck-labeled-field-view .ck.ck-labeled-field-view__status{bottom:calc(var(--ck-table-properties-error-arrow-size)*-1);left:50%;position:absolute;transform:translate(-50%,100%);z-index:1}.ck.ck-table-form .ck.ck-labeled-field-view .ck.ck-labeled-field-view__status:after{content:"";left:50%;position:absolute;top:calc(var(--ck-table-properties-error-arrow-size)*-1);transform:translateX(-50%)}:root{--ck-table-properties-error-arrow-size:6px;--ck-table-properties-min-error-width:150px}.ck.ck-table-form .ck-form__row.ck-table-form__border-row .ck-labeled-field-view>.ck-label{font-size:var(--ck-font-size-tiny);text-align:center}.ck.ck-table-form .ck-form__row.ck-table-form__border-row .ck-table-form__border-style,.ck.ck-table-form .ck-form__row.ck-table-form__border-row .ck-table-form__border-width{max-width:80px;min-width:80px;width:80px}.ck.ck-table-form .ck-form__row.ck-table-form__dimensions-row{padding:0}.ck.ck-table-form .ck-form__row.ck-table-form__dimensions-row .ck-table-form__dimensions-row__height,.ck.ck-table-form .ck-form__row.ck-table-form__dimensions-row .ck-table-form__dimensions-row__width{margin:0}.ck.ck-table-form .ck-form__row.ck-table-form__dimensions-row .ck-table-form__dimension-operator{align-self:flex-end;display:inline-block;height:var(--ck-ui-component-min-height);line-height:var(--ck-ui-component-min-height);margin:0 var(--ck-spacing-small)}.ck.ck-table-form .ck.ck-labeled-field-view{padding-top:var(--ck-spacing-standard)}.ck.ck-table-form .ck.ck-labeled-field-view .ck.ck-labeled-field-view__status{border-radius:0}.ck-rounded-corners .ck.ck-table-form .ck.ck-labeled-field-view .ck.ck-labeled-field-view__status,.ck.ck-table-form .ck.ck-labeled-field-view .ck.ck-labeled-field-view__status.ck-rounded-corners{border-radius:var(--ck-border-radius)}.ck.ck-table-form .ck.ck-labeled-field-view .ck.ck-labeled-field-view__status{background:var(--ck-color-base-error);color:var(--ck-color-base-background);min-width:var(--ck-table-properties-min-error-width);padding:var(--ck-spacing-small) var(--ck-spacing-medium);text-align:center}.ck.ck-table-form .ck.ck-labeled-field-view .ck.ck-labeled-field-view__status:after{border-color:transparent transparent var(--ck-color-base-error) transparent;border-style:solid;border-width:0 var(--ck-table-properties-error-arrow-size) var(--ck-table-properties-error-arrow-size) var(--ck-table-properties-error-arrow-size)}.ck.ck-table-form .ck.ck-labeled-field-view .ck.ck-labeled-field-view__status{animation:ck-table-form-labeled-view-status-appear .15s ease both}.ck.ck-table-form .ck.ck-labeled-field-view .ck-input.ck-error:not(:focus)+.ck.ck-labeled-field-view__status{display:none}@keyframes ck-table-form-labeled-view-status-appear{0%{opacity:0}to{opacity:1}}',"",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-table/theme/tableform.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-table/tableform.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/mixins/_rounded.css"],names:[],mappings:"AAWE,wHACC,cACD,CAEA,8DAEC,kBAAmB,CADnB,cAgBD,CAbC,qFAGC,kBAAmB,CAFnB,YAAa,CACb,6BAMD,CAEA,sMACC,WACD,CAIF,4CAEC,iBAoBD,CAlBC,8EAGC,2DAAgE,CADhE,QAAS,CADT,iBAAkB,CAGlB,8BAA+B,CAG/B,SAUD,CAPC,oFACC,UAAW,CAGX,QAAS,CAFT,iBAAkB,CAClB,wDAA6D,CAE7D,0BACD,CChDH,MACC,0CAA2C,CAC3C,2CACD,CAMI,2FACC,kCAAmC,CACnC,iBACD,CAGD,8KAIC,cAAe,CADf,cAAe,CADf,UAGD,CAGD,8DACC,SAcD,CAZC,yMAEC,QACD,CAEA,iGACC,mBAAoB,CACpB,oBAAqB,CACrB,wCAAyC,CACzC,6CAA8C,CAC9C,gCACD,CAIF,4CACC,sCAyBD,CAvBC,8ECxCD,eDyDC,CAjBA,mMCpCA,qCDqDA,CAjBA,8EAGC,qCAAsC,CACtC,qCAAsC,CAEtC,oDAAqD,CADrD,wDAAyD,CAEzD,iBAUD,CAPC,oFACC,2EAA4E,CAE5E,kBAAmB,CADnB,kJAED,CAdD,8EAgBC,iEACD,CAGA,6GACC,YACD,CAIF,oDACC,GACC,SACD,CAEA,GACC,SACD,CACD",sourcesContent:['/*\n * Copyright (c) 2003-2023, 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-table-form {\n\t& .ck-form__row {\n\t\t&.ck-table-form__border-row {\n\t\t\tflex-wrap: wrap;\n\t\t}\n\n\t\t&.ck-table-form__background-row {\n\t\t\tflex-wrap: wrap;\n\t\t}\n\n\t\t&.ck-table-form__dimensions-row {\n\t\t\tflex-wrap: wrap;\n\t\t\talign-items: center;\n\n\t\t\t& .ck-labeled-field-view {\n\t\t\t\tdisplay: flex;\n\t\t\t\tflex-direction: column-reverse;\n\t\t\t\talign-items: center;\n\n\t\t\t\t& .ck.ck-dropdown {\n\t\t\t\t\tflex-grow: 0;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t& .ck-table-form__dimension-operator {\n\t\t\t\tflex-grow: 0;\n\t\t\t}\n\t\t}\n\t}\n\n\t& .ck.ck-labeled-field-view {\n\t\t/* Allow absolute positioning of the status (error) balloons. */\n\t\tposition: relative;\n\n\t\t& .ck.ck-labeled-field-view__status {\n\t\t\tposition: absolute;\n\t\t\tleft: 50%;\n\t\t\tbottom: calc( -1 * var(--ck-table-properties-error-arrow-size) );\n\t\t\ttransform: translate(-50%,100%);\n\n\t\t\t/* Make sure the balloon status stays on top of other form elements. */\n\t\t\tz-index: 1;\n\n\t\t\t/* The arrow pointing towards the field. */\n\t\t\t&::after {\n\t\t\t\tcontent: "";\n\t\t\t\tposition: absolute;\n\t\t\t\ttop: calc( -1 * var(--ck-table-properties-error-arrow-size) );\n\t\t\t\tleft: 50%;\n\t\t\t\ttransform: translateX( -50% );\n\t\t\t}\n\t\t}\n\t}\n}\n','/*\n * Copyright (c) 2003-2023, 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:root {\n\t--ck-table-properties-error-arrow-size: 6px;\n\t--ck-table-properties-min-error-width: 150px;\n}\n\n.ck.ck-table-form {\n\t& .ck-form__row {\n\t\t&.ck-table-form__border-row {\n\t\t\t& .ck-labeled-field-view {\n\t\t\t\t& > .ck-label {\n\t\t\t\t\tfont-size: var(--ck-font-size-tiny);\n\t\t\t\t\ttext-align: center;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t& .ck-table-form__border-style,\n\t\t\t& .ck-table-form__border-width {\n\t\t\t\twidth: 80px;\n\t\t\t\tmin-width: 80px;\n\t\t\t\tmax-width: 80px;\n\t\t\t}\n\t\t}\n\n\t\t&.ck-table-form__dimensions-row {\n\t\t\tpadding: 0;\n\n\t\t\t& .ck-table-form__dimensions-row__width,\n\t\t\t& .ck-table-form__dimensions-row__height {\n\t\t\t\tmargin: 0\n\t\t\t}\n\n\t\t\t& .ck-table-form__dimension-operator {\n\t\t\t\talign-self: flex-end;\n\t\t\t\tdisplay: inline-block;\n\t\t\t\theight: var(--ck-ui-component-min-height);\n\t\t\t\tline-height: var(--ck-ui-component-min-height);\n\t\t\t\tmargin: 0 var(--ck-spacing-small);\n\t\t\t}\n\t\t}\n\t}\n\n\t& .ck.ck-labeled-field-view {\n\t\tpadding-top: var(--ck-spacing-standard);\n\n\t\t& .ck.ck-labeled-field-view__status {\n\t\t\t@mixin ck-rounded-corners;\n\n\t\t\tbackground: var(--ck-color-base-error);\n\t\t\tcolor: var(--ck-color-base-background);\n\t\t\tpadding: var(--ck-spacing-small) var(--ck-spacing-medium);\n\t\t\tmin-width: var(--ck-table-properties-min-error-width);\n\t\t\ttext-align: center;\n\n\t\t\t/* The arrow pointing towards the field. */\n\t\t\t&::after {\n\t\t\t\tborder-color: transparent transparent var(--ck-color-base-error) transparent;\n\t\t\t\tborder-width: 0 var(--ck-table-properties-error-arrow-size) var(--ck-table-properties-error-arrow-size) var(--ck-table-properties-error-arrow-size);\n\t\t\t\tborder-style: solid;\n\t\t\t}\n\n\t\t\tanimation: ck-table-form-labeled-view-status-appear .15s ease both;\n\t\t}\n\n\t\t/* Hide the error balloon when the field is blurred. Makes the experience much more clear. */\n\t\t& .ck-input.ck-error:not(:focus) + .ck.ck-labeled-field-view__status {\n\t\t\tdisplay: none;\n\t\t}\n\t}\n}\n\n@keyframes ck-table-form-labeled-view-status-appear {\n\t0% {\n\t\topacity: 0;\n\t}\n\n\t100% {\n\t\topacity: 1;\n\t}\n}\n',"/*\n * Copyright (c) 2003-2023, 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 c=a},6596:(t,e,n)=>{"use strict";n.d(e,{Z:()=>c});var i=n(4015);var o=n.n(i);var r=n(3645);var s=n.n(r);var a=s()(o());a.push([t.id,".ck.ck-table-properties-form .ck-form__row.ck-table-properties-form__alignment-row{align-content:baseline;flex-basis:0;flex-wrap:wrap}.ck.ck-table-properties-form .ck-form__row.ck-table-properties-form__alignment-row .ck.ck-toolbar .ck-toolbar__items{flex-wrap:nowrap}.ck.ck-table-properties-form{width:320px}.ck.ck-table-properties-form .ck-form__row.ck-table-properties-form__alignment-row{align-self:flex-end;padding:0}.ck.ck-table-properties-form .ck-form__row.ck-table-properties-form__alignment-row .ck.ck-toolbar{background:none;margin-top:var(--ck-spacing-standard)}.ck.ck-table-properties-form .ck-form__row.ck-table-properties-form__alignment-row .ck.ck-toolbar .ck-toolbar__items>*{width:40px}","",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-table/theme/tableproperties.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-table/tableproperties.css"],names:[],mappings:"AAOE,mFAGC,sBAAuB,CADvB,YAAa,CADb,cAOD,CAHC,qHACC,gBACD,CCTH,6BACC,WAmBD,CAhBE,mFACC,mBAAoB,CACpB,SAYD,CAVC,kGACC,eAAgB,CAGhB,qCAKD,CAHC,uHACC,UACD",sourcesContent:["/*\n * Copyright (c) 2003-2023, 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-table-properties-form {\n\t& .ck-form__row {\n\t\t&.ck-table-properties-form__alignment-row {\n\t\t\tflex-wrap: wrap;\n\t\t\tflex-basis: 0;\n\t\t\talign-content: baseline;\n\n\t\t\t& .ck.ck-toolbar .ck-toolbar__items {\n\t\t\t\tflex-wrap: nowrap;\n\t\t\t}\n\t\t}\n\t}\n}\n","/*\n * Copyright (c) 2003-2023, 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-table-properties-form {\n\twidth: 320px;\n\n\t& .ck-form__row {\n\t\t&.ck-table-properties-form__alignment-row {\n\t\t\talign-self: flex-end;\n\t\t\tpadding: 0;\n\n\t\t\t& .ck.ck-toolbar {\n\t\t\t\tbackground: none;\n\n\t\t\t\t/* Compensate for missing input label that would push the margin (toolbar has no inputs). */\n\t\t\t\tmargin-top: var(--ck-spacing-standard);\n\n\t\t\t\t& .ck-toolbar__items > * {\n\t\t\t\t\twidth: 40px;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n}\n"],sourceRoot:""}]);const c=a},1546:(t,e,n)=>{"use strict";n.d(e,{Z:()=>c});var i=n(4015);var o=n.n(i);var r=n(3645);var s=n.n(r);var a=s()(o());a.push([t.id,':root{--ck-table-selected-cell-background:rgba(158,207,250,.3)}.ck.ck-editor__editable .table table td.ck-editor__editable_selected,.ck.ck-editor__editable .table table th.ck-editor__editable_selected{box-shadow:unset;caret-color:transparent;outline:unset;position:relative}.ck.ck-editor__editable .table table td.ck-editor__editable_selected:after,.ck.ck-editor__editable .table table th.ck-editor__editable_selected:after{background-color:var(--ck-table-selected-cell-background);bottom:0;content:"";left:0;pointer-events:none;position:absolute;right:0;top:0}.ck.ck-editor__editable .table table td.ck-editor__editable_selected ::selection,.ck.ck-editor__editable .table table td.ck-editor__editable_selected:focus,.ck.ck-editor__editable .table table th.ck-editor__editable_selected ::selection,.ck.ck-editor__editable .table table th.ck-editor__editable_selected:focus{background-color:transparent}.ck.ck-editor__editable .table table td.ck-editor__editable_selected .ck-widget,.ck.ck-editor__editable .table table th.ck-editor__editable_selected .ck-widget{outline:unset}.ck.ck-editor__editable .table table td.ck-editor__editable_selected .ck-widget>.ck-widget__selection-handle,.ck.ck-editor__editable .table table th.ck-editor__editable_selected .ck-widget>.ck-widget__selection-handle{display:none}',"",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-table/tableselection.css"],names:[],mappings:"AAKA,MACC,wDACD,CAGC,0IAKC,gBAAiB,CAFjB,uBAAwB,CACxB,aAAc,CAFd,iBAiCD,CA3BC,sJAGC,yDAA0D,CAK1D,QAAS,CAPT,UAAW,CAKX,MAAO,CAJP,mBAAoB,CAEpB,iBAAkB,CAGlB,OAAQ,CAFR,KAID,CAEA,wTAEC,4BACD,CAMA,gKACC,aAKD,CAHC,0NACC,YACD",sourcesContent:["/*\n * Copyright (c) 2003-2023, 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-table-selected-cell-background: hsla(208, 90%, 80%, .3);\n}\n\n.ck.ck-editor__editable .table table {\n\t& td.ck-editor__editable_selected,\n\t& th.ck-editor__editable_selected {\n\t\tposition: relative;\n\t\tcaret-color: transparent;\n\t\toutline: unset;\n\t\tbox-shadow: unset;\n\n\t\t/* https://github.com/ckeditor/ckeditor5/issues/6446 */\n\t\t&:after {\n\t\t\tcontent: '';\n\t\t\tpointer-events: none;\n\t\t\tbackground-color: var(--ck-table-selected-cell-background);\n\t\t\tposition: absolute;\n\t\t\ttop: 0;\n\t\t\tleft: 0;\n\t\t\tright: 0;\n\t\t\tbottom: 0;\n\t\t}\n\n\t\t& ::selection,\n\t\t&:focus {\n\t\t\tbackground-color: transparent;\n\t\t}\n\n\t\t/*\n\t\t * To reduce the amount of noise, all widgets in the table selection have no outline and no selection handle.\n\t\t * See https://github.com/ckeditor/ckeditor5/issues/9491.\n\t\t */\n\t\t& .ck-widget {\n\t\t\toutline: unset;\n\n\t\t\t& > .ck-widget__selection-handle {\n\t\t\t\tdisplay: none;\n\t\t\t}\n\t\t}\n\t}\n}\n"],sourceRoot:""}]);const c=a},3290:(t,e,n)=>{"use strict";n.d(e,{Z:()=>c});var i=n(4015);var o=n.n(i);var r=n(3645);var s=n.n(r);var a=s()(o());a.push([t.id,".ck.ck-aria-live-announcer{left:-10000px;position:absolute;top:-10000px}","",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-ui/theme/components/arialiveannouncer/arialiveannouncer.css"],names:[],mappings:"AAKA,2BAEC,aAAc,CADd,iBAAkB,CAElB,YACD",sourcesContent:["/*\n * Copyright (c) 2003-2023, 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-aria-live-announcer {\n\tposition: absolute;\n\tleft: -10000px;\n\ttop: -10000px;\n}\n"],sourceRoot:""}]);const c=a},4029:(t,e,n)=>{"use strict";n.d(e,{Z:()=>c});var i=n(4015);var o=n.n(i);var r=n(3645);var s=n.n(r);var a=s()(o());a.push([t.id,".ck.ck-autocomplete{position:relative}.ck.ck-autocomplete>.ck-search__results{position:absolute;z-index:var(--ck-z-modal)}.ck.ck-autocomplete>.ck-search__results.ck-search__results_n{bottom:100%}.ck.ck-autocomplete>.ck-search__results.ck-search__results_s{bottom:auto;top:100%}.ck.ck-autocomplete>.ck-search__results{border-radius:0}.ck-rounded-corners .ck.ck-autocomplete>.ck-search__results,.ck.ck-autocomplete>.ck-search__results.ck-rounded-corners{border-radius:var(--ck-border-radius)}.ck.ck-autocomplete>.ck-search__results{background:var(--ck-color-base-background);border:1px solid var(--ck-color-dropdown-panel-border);box-shadow:var(--ck-drop-shadow),0 0;max-height:200px;min-width:auto;overflow-y:auto}.ck.ck-autocomplete>.ck-search__results.ck-search__results_n{border-bottom-left-radius:0;border-bottom-right-radius:0;margin-bottom:-1px}.ck.ck-autocomplete>.ck-search__results.ck-search__results_s{border-top-left-radius:0;border-top-right-radius:0;margin-top:-1px}","",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-ui/theme/components/autocomplete/autocomplete.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-ui/components/autocomplete/autocomplete.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/mixins/_rounded.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/mixins/_shadow.css"],names:[],mappings:"AAKA,oBACC,iBAeD,CAbC,wCACC,iBAAkB,CAClB,yBAUD,CARC,6DACC,WACD,CAEA,6DAEC,WAAY,CADZ,QAED,CCVD,wCCEA,eDuBA,CAzBA,uHCMC,qCDmBD,CAzBA,wCAMC,0CAA2C,CAC3C,sDAAuD,CEPxD,oCAA8B,CFI7B,gBAAiB,CAIjB,cAAe,CAHf,eAoBD,CAfC,6DACC,2BAA4B,CAC5B,4BAA6B,CAG7B,kBACD,CAEA,6DACC,wBAAyB,CACzB,yBAA0B,CAG1B,eACD",sourcesContent:["/*\n * Copyright (c) 2003-2023, 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-autocomplete {\n\tposition: relative;\n\n\t& > .ck-search__results {\n\t\tposition: absolute;\n\t\tz-index: var(--ck-z-modal);\n\n\t\t&.ck-search__results_n {\n\t\t\tbottom: 100%;\n\t\t}\n\n\t\t&.ck-search__results_s {\n\t\t\ttop: 100%;\n\t\t\tbottom: auto;\n\t\t}\n\t}\n}\n",'/*\n * Copyright (c) 2003-2023, 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-theme-lark/theme/mixins/_rounded.css";\n@import "@ckeditor/ckeditor5-theme-lark/theme/mixins/_shadow.css";\n\n.ck.ck-autocomplete {\n\t& > .ck-search__results {\n\t\t@mixin ck-rounded-corners;\n\t\t@mixin ck-drop-shadow;\n\n\t\tmax-height: 200px;\n\t\toverflow-y: auto;\n\t\tbackground: var(--ck-color-base-background);\n\t\tborder: 1px solid var(--ck-color-dropdown-panel-border);\n\t\tmin-width: auto;\n\n\t\t&.ck-search__results_n {\n\t\t\tborder-bottom-left-radius: 0;\n\t\t\tborder-bottom-right-radius: 0;\n\n\t\t\t/* Prevent duplicated borders between the input and the results pane. */\n\t\t\tmargin-bottom: -1px;\n\t\t}\n\n\t\t&.ck-search__results_s {\n\t\t\tborder-top-left-radius: 0;\n\t\t\tborder-top-right-radius: 0;\n\n\t\t\t/* Prevent duplicated borders between the input and the results pane. */\n\t\t\tmargin-top: -1px;\n\t\t}\n\t}\n}\n',"/*\n * Copyright (c) 2003-2023, 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","/*\n * Copyright (c) 2003-2023, 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 * A helper to combine multiple shadows.\n */\n@define-mixin ck-box-shadow $shadowA, $shadowB: 0 0 {\n\tbox-shadow: $shadowA, $shadowB;\n}\n\n/**\n * Gives an element a drop shadow so it looks like a floating panel.\n */\n@define-mixin ck-drop-shadow {\n\t@mixin ck-box-shadow var(--ck-drop-shadow);\n}\n"],sourceRoot:""}]);const c=a},4971:(t,e,n)=>{"use strict";n.d(e,{Z:()=>c});var i=n(4015);var o=n.n(i);var r=n(3645);var s=n.n(r);var a=s()(o());a.push([t.id,".ck.ck-button,a.ck.ck-button{align-items:center;display:inline-flex;position:relative;-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none;user-select:none}[dir=ltr] .ck.ck-button,[dir=ltr] a.ck.ck-button{justify-content:left}[dir=rtl] .ck.ck-button,[dir=rtl] a.ck.ck-button{justify-content:right}.ck.ck-button .ck-button__label,a.ck.ck-button .ck-button__label{display:none}.ck.ck-button.ck-button_with-text .ck-button__label,a.ck.ck-button.ck-button_with-text .ck-button__label{display:inline-block}.ck.ck-button:not(.ck-button_with-text),a.ck.ck-button:not(.ck-button_with-text){justify-content:center}.ck.ck-button,a.ck.ck-button{background:var(--ck-color-button-default-background)}.ck.ck-button:not(.ck-disabled):hover,a.ck.ck-button:not(.ck-disabled):hover{background:var(--ck-color-button-default-hover-background)}.ck.ck-button:not(.ck-disabled):active,a.ck.ck-button:not(.ck-disabled):active{background:var(--ck-color-button-default-active-background)}.ck.ck-button.ck-disabled,a.ck.ck-button.ck-disabled{background:var(--ck-color-button-default-disabled-background)}.ck.ck-button,a.ck.ck-button{border-radius:0}.ck-rounded-corners .ck.ck-button,.ck-rounded-corners a.ck.ck-button,.ck.ck-button.ck-rounded-corners,a.ck.ck-button.ck-rounded-corners{border-radius:var(--ck-border-radius)}.ck.ck-button,a.ck.ck-button{-webkit-appearance:none;border:1px solid transparent;cursor:default;font-size:inherit;line-height:1;min-height:var(--ck-ui-component-min-height);min-width:var(--ck-ui-component-min-height);padding:var(--ck-spacing-tiny);text-align:center;transition:box-shadow .2s ease-in-out,border .2s ease-in-out;vertical-align:middle;white-space:nowrap}.ck.ck-button:active,.ck.ck-button:focus,a.ck.ck-button:active,a.ck.ck-button:focus{border:var(--ck-focus-ring);box-shadow:var(--ck-focus-outer-shadow),0 0;outline:none}.ck.ck-button .ck-button__icon use,.ck.ck-button .ck-button__icon use *,a.ck.ck-button .ck-button__icon use,a.ck.ck-button .ck-button__icon use *{color:inherit}.ck.ck-button .ck-button__label,a.ck.ck-button .ck-button__label{color:inherit;cursor:inherit;font-size:inherit;font-weight:inherit;vertical-align:middle}[dir=ltr] .ck.ck-button .ck-button__label,[dir=ltr] a.ck.ck-button .ck-button__label{text-align:left}[dir=rtl] .ck.ck-button .ck-button__label,[dir=rtl] a.ck.ck-button .ck-button__label{text-align:right}.ck.ck-button .ck-button__keystroke,a.ck.ck-button .ck-button__keystroke{color:inherit}[dir=ltr] .ck.ck-button .ck-button__keystroke,[dir=ltr] a.ck.ck-button .ck-button__keystroke{margin-left:var(--ck-spacing-large)}[dir=rtl] .ck.ck-button .ck-button__keystroke,[dir=rtl] a.ck.ck-button .ck-button__keystroke{margin-right:var(--ck-spacing-large)}.ck.ck-button .ck-button__keystroke,a.ck.ck-button .ck-button__keystroke{font-weight:700;opacity:.7}.ck.ck-button.ck-disabled:active,.ck.ck-button.ck-disabled:focus,a.ck.ck-button.ck-disabled:active,a.ck.ck-button.ck-disabled:focus{box-shadow:var(--ck-focus-disabled-outer-shadow),0 0}.ck.ck-button.ck-disabled .ck-button__icon,.ck.ck-button.ck-disabled .ck-button__label,a.ck.ck-button.ck-disabled .ck-button__icon,a.ck.ck-button.ck-disabled .ck-button__label{opacity:var(--ck-disabled-opacity)}.ck.ck-button.ck-disabled .ck-button__keystroke,a.ck.ck-button.ck-disabled .ck-button__keystroke{opacity:.3}.ck.ck-button.ck-button_with-text,a.ck.ck-button.ck-button_with-text{padding:var(--ck-spacing-tiny) var(--ck-spacing-standard)}[dir=ltr] .ck.ck-button.ck-button_with-text .ck-button__icon,[dir=ltr] a.ck.ck-button.ck-button_with-text .ck-button__icon{margin-left:calc(var(--ck-spacing-small)*-1);margin-right:var(--ck-spacing-small)}[dir=rtl] .ck.ck-button.ck-button_with-text .ck-button__icon,[dir=rtl] a.ck.ck-button.ck-button_with-text .ck-button__icon{margin-left:var(--ck-spacing-small);margin-right:calc(var(--ck-spacing-small)*-1)}.ck.ck-button.ck-button_with-keystroke .ck-button__label,a.ck.ck-button.ck-button_with-keystroke .ck-button__label{flex-grow:1}.ck.ck-button.ck-on,a.ck.ck-button.ck-on{background:var(--ck-color-button-on-background)}.ck.ck-button.ck-on:not(.ck-disabled):hover,a.ck.ck-button.ck-on:not(.ck-disabled):hover{background:var(--ck-color-button-on-hover-background)}.ck.ck-button.ck-on:not(.ck-disabled):active,a.ck.ck-button.ck-on:not(.ck-disabled):active{background:var(--ck-color-button-on-active-background)}.ck.ck-button.ck-on.ck-disabled,a.ck.ck-button.ck-on.ck-disabled{background:var(--ck-color-button-on-disabled-background)}.ck.ck-button.ck-on,a.ck.ck-button.ck-on{color:var(--ck-color-button-on-color)}.ck.ck-button.ck-button-save,a.ck.ck-button.ck-button-save{color:var(--ck-color-button-save)}.ck.ck-button.ck-button-cancel,a.ck.ck-button.ck-button-cancel{color:var(--ck-color-button-cancel)}.ck.ck-button-action,a.ck.ck-button-action{background:var(--ck-color-button-action-background)}.ck.ck-button-action:not(.ck-disabled):hover,a.ck.ck-button-action:not(.ck-disabled):hover{background:var(--ck-color-button-action-hover-background)}.ck.ck-button-action:not(.ck-disabled):active,a.ck.ck-button-action:not(.ck-disabled):active{background:var(--ck-color-button-action-active-background)}.ck.ck-button-action.ck-disabled,a.ck.ck-button-action.ck-disabled{background:var(--ck-color-button-action-disabled-background)}.ck.ck-button-action,a.ck.ck-button-action{color:var(--ck-color-button-action-text)}.ck.ck-button-bold,a.ck.ck-button-bold{font-weight:700}","",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-ui/theme/components/button/button.css","webpack://./node_modules/@ckeditor/ckeditor5-ui/theme/mixins/_unselectable.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-ui/components/button/button.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-ui/mixins/_button.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/mixins/_rounded.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/mixins/_focus.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/mixins/_shadow.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/mixins/_disabled.css"],names:[],mappings:"AAQA,6BAMC,kBAAmB,CADnB,mBAAoB,CADpB,iBAAkB,CCHlB,qBAAsB,CACtB,wBAAyB,CACzB,oBAAqB,CACrB,gBD0BD,CA9BA,iDASE,oBAqBF,CA9BA,iDAaE,qBAiBF,CAdC,iEACC,YACD,CAGC,yGACC,oBACD,CAID,iFACC,sBACD,CEzBD,6BCAC,oDD4ID,CCzIE,6EACC,0DACD,CAEA,+EACC,2DACD,CAID,qDACC,6DACD,CDfD,6BEDC,eF6ID,CA5IA,wIEGE,qCFyIF,CA5IA,6BA6BC,uBAAwB,CANxB,4BAA6B,CAjB7B,cAAe,CAcf,iBAAkB,CAHlB,aAAc,CAJd,4CAA6C,CAD7C,2CAA4C,CAJ5C,8BAA+B,CAC/B,iBAAkB,CAiBlB,4DAA8D,CAnB9D,qBAAsB,CAFtB,kBAuID,CA7GC,oFGhCA,2BAA2B,CCF3B,2CAA8B,CDC9B,YHqCA,CAIC,kJAEC,aACD,CAGD,iEAIC,aAAc,CACd,cAAe,CAHf,iBAAkB,CAClB,mBAAoB,CAMpB,qBASD,CAlBA,qFAYE,eAMF,CAlBA,qFAgBE,gBAEF,CAEA,yEACC,aAYD,CAbA,6FAIE,mCASF,CAbA,6FAQE,oCAKF,CAbA,yEAWC,eAAiB,CACjB,UACD,CAIC,oIIrFD,oDJyFC,CAOA,gLKhGD,kCLkGC,CAEA,iGACC,UACD,CAGD,qEACC,yDAcD,CAXC,2HAEE,4CAA+C,CAC/C,oCAOF,CAVA,2HAQE,mCAAoC,CADpC,6CAGF,CAKA,mHACC,WACD,CAID,yCC/HA,+CDmIA,CChIC,yFACC,qDACD,CAEA,2FACC,sDACD,CAID,iEACC,wDACD,CDgHA,yCAGC,qCACD,CAEA,2DACC,iCACD,CAEA,+DACC,mCACD,CAID,2CC/IC,mDDoJD,CCjJE,2FACC,yDACD,CAEA,6FACC,0DACD,CAID,mEACC,4DACD,CDgID,2CAIC,wCACD,CAEA,uCAEC,eACD",sourcesContent:['/*\n * Copyright (c) 2003-2023, 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/_unselectable.css";\n@import "../../mixins/_dir.css";\n\n.ck.ck-button,\na.ck.ck-button {\n\t@mixin ck-unselectable;\n\n\tposition: relative;\n\tdisplay: inline-flex;\n\talign-items: center;\n\n\t@mixin ck-dir ltr {\n\t\tjustify-content: left;\n\t}\n\n\t@mixin ck-dir rtl {\n\t\tjustify-content: right;\n\t}\n\n\t& .ck-button__label {\n\t\tdisplay: none;\n\t}\n\n\t&.ck-button_with-text {\n\t\t& .ck-button__label {\n\t\t\tdisplay: inline-block;\n\t\t}\n\t}\n\n\t/* Center the icon horizontally in a button without text. */\n\t&:not(.ck-button_with-text) {\n\t\tjustify-content: center;\n\t}\n}\n',"/*\n * Copyright (c) 2003-2023, 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",'/*\n * Copyright (c) 2003-2023, 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/_focus.css";\n@import "../../../mixins/_shadow.css";\n@import "../../../mixins/_disabled.css";\n@import "../../../mixins/_rounded.css";\n@import "../../mixins/_button.css";\n@import "@ckeditor/ckeditor5-ui/theme/mixins/_dir.css";\n\n.ck.ck-button,\na.ck.ck-button {\n\t@mixin ck-button-colors --ck-color-button-default;\n\t@mixin ck-rounded-corners;\n\n\twhite-space: nowrap;\n\tcursor: default;\n\tvertical-align: middle;\n\tpadding: var(--ck-spacing-tiny);\n\ttext-align: center;\n\n\t/* A very important piece of styling. Go to variable declaration to learn more. */\n\tmin-width: var(--ck-ui-component-min-height);\n\tmin-height: var(--ck-ui-component-min-height);\n\n\t/* Normalize the height of the line. Removing this will break consistent height\n\tamong text and text-less buttons (with icons). */\n\tline-height: 1;\n\n\t/* Enable font size inheritance, which allows fluid UI scaling. */\n\tfont-size: inherit;\n\n\t/* Avoid flickering when the foucs border shows up. */\n\tborder: 1px solid transparent;\n\n\t/* Apply some smooth transition to the box-shadow and border. */\n\ttransition: box-shadow .2s ease-in-out, border .2s ease-in-out;\n\n\t/* https://github.com/ckeditor/ckeditor5-theme-lark/issues/189 */\n\t-webkit-appearance: none;\n\n\t&:active,\n\t&:focus {\n\t\t@mixin ck-focus-ring;\n\t\t@mixin ck-box-shadow var(--ck-focus-outer-shadow);\n\t}\n\n\t/* Allow icon coloring using the text "color" property. */\n\t& .ck-button__icon {\n\t\t& use,\n\t\t& use * {\n\t\t\tcolor: inherit;\n\t\t}\n\t}\n\n\t& .ck-button__label {\n\t\t/* Enable font size inheritance, which allows fluid UI scaling. */\n\t\tfont-size: inherit;\n\t\tfont-weight: inherit;\n\t\tcolor: inherit;\n\t\tcursor: inherit;\n\n\t\t/* Must be consistent with .ck-icon\'s vertical align. Otherwise, buttons with and\n\t\twithout labels (but with icons) have different sizes in Chrome */\n\t\tvertical-align: middle;\n\n\t\t@mixin ck-dir ltr {\n\t\t\ttext-align: left;\n\t\t}\n\n\t\t@mixin ck-dir rtl {\n\t\t\ttext-align: right;\n\t\t}\n\t}\n\n\t& .ck-button__keystroke {\n\t\tcolor: inherit;\n\n\t\t@mixin ck-dir ltr {\n\t\t\tmargin-left: var(--ck-spacing-large);\n\t\t}\n\n\t\t@mixin ck-dir rtl {\n\t\t\tmargin-right: var(--ck-spacing-large);\n\t\t}\n\n\t\tfont-weight: bold;\n\t\topacity: .7;\n\t}\n\n\t/* https://github.com/ckeditor/ckeditor5-theme-lark/issues/70 */\n\t&.ck-disabled {\n\t\t&:active,\n\t\t&:focus {\n\t\t\t/* The disabled button should have a slightly less visible shadow when focused. */\n\t\t\t@mixin ck-box-shadow var(--ck-focus-disabled-outer-shadow);\n\t\t}\n\n\t\t& .ck-button__icon {\n\t\t\t@mixin ck-disabled;\n\t\t}\n\n\t\t/* https://github.com/ckeditor/ckeditor5-theme-lark/issues/98 */\n\t\t& .ck-button__label {\n\t\t\t@mixin ck-disabled;\n\t\t}\n\n\t\t& .ck-button__keystroke {\n\t\t\topacity: .3;\n\t\t}\n\t}\n\n\t&.ck-button_with-text {\n\t\tpadding: var(--ck-spacing-tiny) var(--ck-spacing-standard);\n\n\t\t/* stylelint-disable-next-line no-descending-specificity */\n\t\t& .ck-button__icon {\n\t\t\t@mixin ck-dir ltr {\n\t\t\t\tmargin-left: calc(-1 * var(--ck-spacing-small));\n\t\t\t\tmargin-right: var(--ck-spacing-small);\n\t\t\t}\n\n\t\t\t@mixin ck-dir rtl {\n\t\t\t\tmargin-right: calc(-1 * var(--ck-spacing-small));\n\t\t\t\tmargin-left: var(--ck-spacing-small);\n\t\t\t}\n\t\t}\n\t}\n\n\t&.ck-button_with-keystroke {\n\t\t/* stylelint-disable-next-line no-descending-specificity */\n\t\t& .ck-button__label {\n\t\t\tflex-grow: 1;\n\t\t}\n\t}\n\n\t/* A style of the button which is currently on, e.g. its feature is active. */\n\t&.ck-on {\n\t\t@mixin ck-button-colors --ck-color-button-on;\n\n\t\tcolor: var(--ck-color-button-on-color);\n\t}\n\n\t&.ck-button-save {\n\t\tcolor: var(--ck-color-button-save);\n\t}\n\n\t&.ck-button-cancel {\n\t\tcolor: var(--ck-color-button-cancel);\n\t}\n}\n\n/* A style of the button which handles the primary action. */\n.ck.ck-button-action,\na.ck.ck-button-action {\n\t@mixin ck-button-colors --ck-color-button-action;\n\n\tcolor: var(--ck-color-button-action-text);\n}\n\n.ck.ck-button-bold,\na.ck.ck-button-bold {\n\tfont-weight: bold;\n}\n',"/*\n * Copyright (c) 2003-2023, 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 a button of given background color.\n *\n * @param {String} $background - Background color of the button.\n * @param {String} $border - Border color of the button.\n */\n@define-mixin ck-button-colors $prefix {\n\tbackground: var($(prefix)-background);\n\n\t&:not(.ck-disabled) {\n\t\t&:hover {\n\t\t\tbackground: var($(prefix)-hover-background);\n\t\t}\n\n\t\t&:active {\n\t\t\tbackground: var($(prefix)-active-background);\n\t\t}\n\t}\n\n\t/* https://github.com/ckeditor/ckeditor5-theme-lark/issues/98 */\n\t&.ck-disabled {\n\t\tbackground: var($(prefix)-disabled-background);\n\t}\n}\n","/*\n * Copyright (c) 2003-2023, 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","/*\n * Copyright (c) 2003-2023, 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 * A visual style of focused element's border.\n */\n@define-mixin ck-focus-ring {\n\t/* Disable native outline. */\n\toutline: none;\n\tborder: var(--ck-focus-ring)\n}\n","/*\n * Copyright (c) 2003-2023, 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 * A helper to combine multiple shadows.\n */\n@define-mixin ck-box-shadow $shadowA, $shadowB: 0 0 {\n\tbox-shadow: $shadowA, $shadowB;\n}\n\n/**\n * Gives an element a drop shadow so it looks like a floating panel.\n */\n@define-mixin ck-drop-shadow {\n\t@mixin ck-box-shadow var(--ck-drop-shadow);\n}\n","/*\n * Copyright (c) 2003-2023, 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 * A class which indicates that an element holding it is disabled.\n */\n@define-mixin ck-disabled {\n\topacity: var(--ck-disabled-opacity);\n}\n"],sourceRoot:""}]);const c=a},7258:(t,e,n)=>{"use strict";n.d(e,{Z:()=>c});var i=n(4015);var o=n.n(i);var r=n(3645);var s=n.n(r);var a=s()(o());a.push([t.id,".ck.ck-button.ck-switchbutton .ck-button__toggle,.ck.ck-button.ck-switchbutton .ck-button__toggle .ck-button__toggle__inner{display:block}:root{--ck-switch-button-toggle-width:2.6153846154em;--ck-switch-button-toggle-inner-size:calc(1.07692em + 1px);--ck-switch-button-translation:calc(var(--ck-switch-button-toggle-width) - var(--ck-switch-button-toggle-inner-size) - 2px);--ck-switch-button-inner-hover-shadow:0 0 0 5px var(--ck-color-switch-button-inner-shadow)}.ck.ck-button.ck-switchbutton,.ck.ck-button.ck-switchbutton.ck-on:active,.ck.ck-button.ck-switchbutton.ck-on:focus,.ck.ck-button.ck-switchbutton.ck-on:hover,.ck.ck-button.ck-switchbutton:active,.ck.ck-button.ck-switchbutton:focus,.ck.ck-button.ck-switchbutton:hover{background:transparent;color:inherit}[dir=ltr] .ck.ck-button.ck-switchbutton .ck-button__label{margin-right:calc(var(--ck-spacing-large)*2)}[dir=rtl] .ck.ck-button.ck-switchbutton .ck-button__label{margin-left:calc(var(--ck-spacing-large)*2)}.ck.ck-button.ck-switchbutton .ck-button__toggle{border-radius:0}.ck-rounded-corners .ck.ck-button.ck-switchbutton .ck-button__toggle,.ck.ck-button.ck-switchbutton .ck-button__toggle.ck-rounded-corners{border-radius:var(--ck-border-radius)}[dir=ltr] .ck.ck-button.ck-switchbutton .ck-button__toggle{margin-left:auto}[dir=rtl] .ck.ck-button.ck-switchbutton .ck-button__toggle{margin-right:auto}.ck.ck-button.ck-switchbutton .ck-button__toggle{background:var(--ck-color-switch-button-off-background);border:1px solid transparent;transition:background .4s ease,box-shadow .2s ease-in-out,outline .2s ease-in-out;width:var(--ck-switch-button-toggle-width)}.ck.ck-button.ck-switchbutton .ck-button__toggle .ck-button__toggle__inner{border-radius:0}.ck-rounded-corners .ck.ck-button.ck-switchbutton .ck-button__toggle .ck-button__toggle__inner,.ck.ck-button.ck-switchbutton .ck-button__toggle .ck-button__toggle__inner.ck-rounded-corners{border-radius:var(--ck-border-radius);border-radius:calc(var(--ck-border-radius)*.5)}.ck.ck-button.ck-switchbutton .ck-button__toggle .ck-button__toggle__inner{background:var(--ck-color-switch-button-inner-background);height:var(--ck-switch-button-toggle-inner-size);transition:all .3s ease;width:var(--ck-switch-button-toggle-inner-size)}.ck.ck-button.ck-switchbutton .ck-button__toggle:hover{background:var(--ck-color-switch-button-off-hover-background)}.ck.ck-button.ck-switchbutton .ck-button__toggle:hover .ck-button__toggle__inner{box-shadow:var(--ck-switch-button-inner-hover-shadow)}.ck.ck-button.ck-switchbutton.ck-disabled .ck-button__toggle{opacity:var(--ck-disabled-opacity)}.ck.ck-button.ck-switchbutton:focus{border-color:transparent;box-shadow:none;outline:none}.ck.ck-button.ck-switchbutton:focus .ck-button__toggle{box-shadow:0 0 0 1px var(--ck-color-base-background),0 0 0 5px var(--ck-color-focus-outer-shadow);outline:var(--ck-focus-ring);outline-offset:1px}.ck.ck-button.ck-switchbutton.ck-on .ck-button__toggle{background:var(--ck-color-switch-button-on-background)}.ck.ck-button.ck-switchbutton.ck-on .ck-button__toggle:hover{background:var(--ck-color-switch-button-on-hover-background)}[dir=ltr] .ck.ck-button.ck-switchbutton.ck-on .ck-button__toggle .ck-button__toggle__inner{transform:translateX(var( --ck-switch-button-translation ))}[dir=rtl] .ck.ck-button.ck-switchbutton.ck-on .ck-button__toggle .ck-button__toggle__inner{transform:translateX(calc(var( --ck-switch-button-translation )*-1))}","",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-ui/theme/components/button/switchbutton.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-ui/components/button/switchbutton.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/mixins/_rounded.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/mixins/_disabled.css"],names:[],mappings:"AASE,4HACC,aACD,CCCF,MAEC,8CAA+C,CAE/C,0DAAgE,CAChE,2HAIC,CACD,0FACD,CAOC,0QAEC,sBAAuB,CADvB,aAED,CAEA,0DAGE,4CAOF,CAVA,0DAQE,2CAEF,CAEA,iDCpCA,eD4EA,CAxCA,yIChCC,qCDwED,CAxCA,2DAKE,gBAmCF,CAxCA,2DAUE,iBA8BF,CAxCA,iDAkBC,uDAAwD,CAFxD,4BAA6B,CAD7B,iFAAsF,CAEtF,0CAuBD,CApBC,2ECxDD,eDmEC,CAXA,6LCpDA,qCAAsC,CDsDpC,8CASF,CAXA,2EAOC,yDAA0D,CAD1D,gDAAiD,CAIjD,uBAA0B,CAL1B,+CAMD,CAEA,uDACC,6DAKD,CAHC,iFACC,qDACD,CAIF,6DEhFA,kCFkFA,CAGA,oCACC,wBAAyB,CAEzB,eAAgB,CADhB,YAQD,CALC,uDACC,iGAAmG,CAEnG,4BAA6B,CAD7B,kBAED,CAKA,uDACC,sDAkBD,CAhBC,6DACC,4DACD,CAEA,2FAKE,2DAMF,CAXA,2FASE,oEAEF",sourcesContent:["/*\n * Copyright (c) 2003-2023, 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-button.ck-switchbutton {\n\t& .ck-button__toggle {\n\t\tdisplay: block;\n\n\t\t& .ck-button__toggle__inner {\n\t\t\tdisplay: block;\n\t\t}\n\t}\n}\n",'/*\n * Copyright (c) 2003-2023, 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@import "../../../mixins/_disabled.css";\n@import "@ckeditor/ckeditor5-ui/theme/mixins/_dir.css";\n\n/* Note: To avoid rendering issues (aliasing) but to preserve the responsive nature\nof the component, floating–point numbers have been used which, for the default font size\n(see: --ck-font-size-base), will generate simple integers. */\n:root {\n\t/* 34px at 13px font-size */\n\t--ck-switch-button-toggle-width: 2.6153846154em;\n\t/* 14px at 13px font-size */\n\t--ck-switch-button-toggle-inner-size: calc(1.0769230769em + 1px);\n\t--ck-switch-button-translation: calc(\n\t\tvar(--ck-switch-button-toggle-width) -\n\t\tvar(--ck-switch-button-toggle-inner-size) -\n\t\t2px /* Border */\n\t);\n\t--ck-switch-button-inner-hover-shadow: 0 0 0 5px var(--ck-color-switch-button-inner-shadow);\n}\n\n.ck.ck-button.ck-switchbutton {\n\t/* Unlike a regular button, the switch button text color and background should never change.\n\t * Changing toggle switch (background, outline) is enough to carry the information about the\n\t * state of the entire component (https://github.com/ckeditor/ckeditor5/issues/12519)\n\t */\n\t&, &:hover, &:focus, &:active, &.ck-on:hover, &.ck-on:focus, &.ck-on:active {\n\t\tcolor: inherit;\n\t\tbackground: transparent;\n\t}\n\n\t& .ck-button__label {\n\t\t@mixin ck-dir ltr {\n\t\t\t/* Separate the label from the switch */\n\t\t\tmargin-right: calc(2 * var(--ck-spacing-large));\n\t\t}\n\n\t\t@mixin ck-dir rtl {\n\t\t\t/* Separate the label from the switch */\n\t\t\tmargin-left: calc(2 * var(--ck-spacing-large));\n\t\t}\n\t}\n\n\t& .ck-button__toggle {\n\t\t@mixin ck-rounded-corners;\n\n\t\t@mixin ck-dir ltr {\n\t\t\t/* Make sure the toggle is always to the right as far as possible. */\n\t\t\tmargin-left: auto;\n\t\t}\n\n\t\t@mixin ck-dir rtl {\n\t\t\t/* Make sure the toggle is always to the left as far as possible. */\n\t\t\tmargin-right: auto;\n\t\t}\n\n\t\t/* Apply some smooth transition to the box-shadow and border. */\n\t\t/* Gently animate the background color of the toggle switch */\n\t\ttransition: background 400ms ease, box-shadow .2s ease-in-out, outline .2s ease-in-out;\n\t\tborder: 1px solid transparent;\n\t\twidth: var(--ck-switch-button-toggle-width);\n\t\tbackground: var(--ck-color-switch-button-off-background);\n\n\t\t& .ck-button__toggle__inner {\n\t\t\t@mixin ck-rounded-corners {\n\t\t\t\tborder-radius: calc(.5 * var(--ck-border-radius));\n\t\t\t}\n\n\t\t\twidth: var(--ck-switch-button-toggle-inner-size);\n\t\t\theight: var(--ck-switch-button-toggle-inner-size);\n\t\t\tbackground: var(--ck-color-switch-button-inner-background);\n\n\t\t\t/* Gently animate the inner part of the toggle switch */\n\t\t\ttransition: all 300ms ease;\n\t\t}\n\n\t\t&:hover {\n\t\t\tbackground: var(--ck-color-switch-button-off-hover-background);\n\n\t\t\t& .ck-button__toggle__inner {\n\t\t\t\tbox-shadow: var(--ck-switch-button-inner-hover-shadow);\n\t\t\t}\n\t\t}\n\t}\n\n\t&.ck-disabled .ck-button__toggle {\n\t\t@mixin ck-disabled;\n\t}\n\n\t/* Overriding default .ck-button:focus styles + an outline around the toogle */\n\t&:focus {\n\t\tborder-color: transparent;\n\t\toutline: none;\n\t\tbox-shadow: none;\n\n\t\t& .ck-button__toggle {\n\t\t\tbox-shadow: 0 0 0 1px var(--ck-color-base-background), 0 0 0 5px var(--ck-color-focus-outer-shadow);\n\t\t\toutline-offset: 1px;\n\t\t\toutline: var(--ck-focus-ring);\n\t\t}\n\t}\n\n\t/* stylelint-disable-next-line no-descending-specificity */\n\t&.ck-on {\n\t\t& .ck-button__toggle {\n\t\t\tbackground: var(--ck-color-switch-button-on-background);\n\n\t\t\t&:hover {\n\t\t\t\tbackground: var(--ck-color-switch-button-on-hover-background);\n\t\t\t}\n\n\t\t\t& .ck-button__toggle__inner {\n\t\t\t\t/*\n\t\t\t\t* Move the toggle switch to the right. It will be animated.\n\t\t\t\t*/\n\t\t\t\t@mixin ck-dir ltr {\n\t\t\t\t\ttransform: translateX( var( --ck-switch-button-translation ) );\n\t\t\t\t}\n\n\t\t\t\t@mixin ck-dir rtl {\n\t\t\t\t\ttransform: translateX( calc( -1 * var( --ck-switch-button-translation ) ) );\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n}\n',"/*\n * Copyright (c) 2003-2023, 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","/*\n * Copyright (c) 2003-2023, 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 * A class which indicates that an element holding it is disabled.\n */\n@define-mixin ck-disabled {\n\topacity: var(--ck-disabled-opacity);\n}\n"],sourceRoot:""}]);const c=a},4095:(t,e,n)=>{"use strict";n.d(e,{Z:()=>c});var i=n(4015);var o=n.n(i);var r=n(3645);var s=n.n(r);var a=s()(o());a.push([t.id,".ck.ck-collapsible.ck-collapsible_collapsed>.ck-collapsible__children{display:none}:root{--ck-collapsible-arrow-size:calc(var(--ck-icon-size)*0.5)}.ck.ck-collapsible>.ck.ck-button{border-radius:0;color:inherit;font-weight:700;padding:var(--ck-list-button-padding);width:100%}.ck.ck-collapsible>.ck.ck-button:focus{background:transparent}.ck.ck-collapsible>.ck.ck-button:active,.ck.ck-collapsible>.ck.ck-button:hover:not(:focus),.ck.ck-collapsible>.ck.ck-button:not(:focus){background:transparent;border-color:transparent;box-shadow:none}.ck.ck-collapsible>.ck.ck-button>.ck-icon{margin-right:var(--ck-spacing-medium);width:var(--ck-collapsible-arrow-size)}.ck.ck-collapsible>.ck-collapsible__children{padding:var(--ck-spacing-medium) var(--ck-spacing-large) var(--ck-spacing-large)}.ck.ck-collapsible.ck-collapsible_collapsed>.ck.ck-button .ck-icon{transform:rotate(-90deg)}","",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-ui/theme/components/collapsible/collapsible.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-ui/components/collapsible/collapsible.css"],names:[],mappings:"AAMC,sEACC,YACD,CCHD,MACC,yDACD,CAGC,iCAIC,eAAgB,CAChB,aAAc,CAHd,eAAiB,CACjB,qCAAsC,CAFtC,UAoBD,CAdC,uCACC,sBACD,CAEA,wIACC,sBAAuB,CACvB,wBAAyB,CACzB,eACD,CAEA,0CACC,qCAAsC,CACtC,sCACD,CAGD,6CACC,gFACD,CAGC,mEACC,wBACD",sourcesContent:["/*\n * Copyright (c) 2003-2023, 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-collapsible.ck-collapsible_collapsed {\n\t& > .ck-collapsible__children {\n\t\tdisplay: none;\n\t}\n}\n","/*\n * Copyright (c) 2003-2023, 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-collapsible-arrow-size: calc(0.5 * var(--ck-icon-size));\n}\n\n.ck.ck-collapsible {\n\t& > .ck.ck-button {\n\t\twidth: 100%;\n\t\tfont-weight: bold;\n\t\tpadding: var(--ck-list-button-padding);\n\t\tborder-radius: 0;\n\t\tcolor: inherit;\n\n\t\t&:focus {\n\t\t\tbackground: transparent;\n\t\t}\n\n\t\t&:active, &:not(:focus), &:hover:not(:focus) {\n\t\t\tbackground: transparent;\n\t\t\tborder-color: transparent;\n\t\t\tbox-shadow: none;\n\t\t}\n\n\t\t& > .ck-icon {\n\t\t\tmargin-right: var(--ck-spacing-medium);\n\t\t\twidth: var(--ck-collapsible-arrow-size);\n\t\t}\n\t}\n\n\t& > .ck-collapsible__children {\n\t\tpadding: var(--ck-spacing-medium) var(--ck-spacing-large) var(--ck-spacing-large);\n\t}\n\n\t&.ck-collapsible_collapsed {\n\t\t& > .ck.ck-button .ck-icon {\n\t\t\ttransform: rotate(-90deg);\n\t\t}\n\t}\n}\n"],sourceRoot:""}]);const c=a},4923:(t,e,n)=>{"use strict";n.d(e,{Z:()=>c});var i=n(4015);var o=n.n(i);var r=n(3645);var s=n.n(r);var a=s()(o());a.push([t.id,".ck.ck-color-grid{display:grid}:root{--ck-color-grid-tile-size:24px;--ck-color-color-grid-check-icon:#166fd4}.ck.ck-color-grid{grid-gap:5px;padding:8px}.ck.ck-color-grid__tile{border:0;height:var(--ck-color-grid-tile-size);min-height:var(--ck-color-grid-tile-size);min-width:var(--ck-color-grid-tile-size);padding:0;transition:box-shadow .2s ease;width:var(--ck-color-grid-tile-size)}.ck.ck-color-grid__tile.ck-disabled{cursor:unset;transition:unset}.ck.ck-color-grid__tile.ck-color-selector__color-tile_bordered{box-shadow:0 0 0 1px var(--ck-color-base-border)}.ck.ck-color-grid__tile .ck.ck-icon{color:var(--ck-color-color-grid-check-icon);display:none}.ck.ck-color-grid__tile.ck-on{box-shadow:inset 0 0 0 1px var(--ck-color-base-background),0 0 0 2px var(--ck-color-base-text)}.ck.ck-color-grid__tile.ck-on .ck.ck-icon{display:block}.ck.ck-color-grid__tile.ck-on,.ck.ck-color-grid__tile:focus:not(.ck-disabled),.ck.ck-color-grid__tile:hover:not(.ck-disabled){border:0}.ck.ck-color-grid__tile:focus:not(.ck-disabled),.ck.ck-color-grid__tile:hover:not(.ck-disabled){box-shadow:inset 0 0 0 1px var(--ck-color-base-background),0 0 0 2px var(--ck-color-focus-border)}.ck.ck-color-grid__label{padding:0 var(--ck-spacing-standard)}","",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-ui/theme/components/colorgrid/colorgrid.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-ui/components/colorgrid/colorgrid.css"],names:[],mappings:"AAKA,kBACC,YACD,CCAA,MACC,8BAA+B,CAK/B,wCACD,CAEA,kBACC,YAAa,CACb,WACD,CAEA,wBAOC,QAAS,CALT,qCAAsC,CAEtC,yCAA0C,CAD1C,wCAAyC,CAEzC,SAAU,CACV,8BAA+B,CAL/B,oCAyCD,CAjCC,oCACC,YAAa,CACb,gBACD,CAEA,+DACC,gDACD,CAEA,oCAEC,2CAA4C,CAD5C,YAED,CAEA,8BACC,8FAKD,CAHC,0CACC,aACD,CAGD,8HAIC,QACD,CAEA,gGAEC,iGACD,CAGD,yBACC,oCACD",sourcesContent:["/*\n * Copyright (c) 2003-2023, 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-color-grid {\n\tdisplay: grid;\n}\n",'/*\n * Copyright (c) 2003-2023, 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:root {\n\t--ck-color-grid-tile-size: 24px;\n\n\t/* Not using global colors here because these may change but some colors in a pallette\n\t * require special treatment. For instance, this ensures no matter what the UI text color is,\n\t * the check icon will look good on the black color tile. */\n\t--ck-color-color-grid-check-icon: hsl(212, 81%, 46%);\n}\n\n.ck.ck-color-grid {\n\tgrid-gap: 5px;\n\tpadding: 8px;\n}\n\n.ck.ck-color-grid__tile {\n\twidth: var(--ck-color-grid-tile-size);\n\theight: var(--ck-color-grid-tile-size);\n\tmin-width: var(--ck-color-grid-tile-size);\n\tmin-height: var(--ck-color-grid-tile-size);\n\tpadding: 0;\n\ttransition: .2s ease box-shadow;\n\tborder: 0;\n\n\t&.ck-disabled {\n\t\tcursor: unset;\n\t\ttransition: unset;\n\t}\n\n\t&.ck-color-selector__color-tile_bordered {\n\t\tbox-shadow: 0 0 0 1px var(--ck-color-base-border);\n\t}\n\n\t& .ck.ck-icon {\n\t\tdisplay: none;\n\t\tcolor: var(--ck-color-color-grid-check-icon);\n\t}\n\n\t&.ck-on {\n\t\tbox-shadow: inset 0 0 0 1px var(--ck-color-base-background), 0 0 0 2px var(--ck-color-base-text);\n\n\t\t& .ck.ck-icon {\n\t\t\tdisplay: block;\n\t\t}\n\t}\n\n\t&.ck-on,\n\t&:focus:not( .ck-disabled ),\n\t&:hover:not( .ck-disabled ) {\n\t\t/* Disable the default .ck-button\'s border ring. */\n\t\tborder: 0;\n\t}\n\n\t&:focus:not( .ck-disabled ),\n\t&:hover:not( .ck-disabled ) {\n\t\tbox-shadow: inset 0 0 0 1px var(--ck-color-base-background), 0 0 0 2px var(--ck-color-focus-border);\n\t}\n}\n\n.ck.ck-color-grid__label {\n\tpadding: 0 var(--ck-spacing-standard);\n}\n'],sourceRoot:""}]);const c=a},4257:(t,e,n)=>{"use strict";n.d(e,{Z:()=>c});var i=n(4015);var o=n.n(i);var r=n(3645);var s=n.n(r);var a=s()(o());a.push([t.id,".color-picker-hex-input{width:max-content}.color-picker-hex-input .ck.ck-input{min-width:unset}.ck.ck-color-picker__row{display:flex;flex-direction:row;flex-wrap:nowrap;justify-content:space-between;margin:var(--ck-spacing-large) 0 0;width:unset}.ck.ck-color-picker__row .ck.ck-labeled-field-view{padding-top:unset}.ck.ck-color-picker__row .ck.ck-input-text{width:unset}.ck.ck-color-picker__row .ck-color-picker__hash-view{padding-right:var(--ck-spacing-medium);padding-top:var(--ck-spacing-tiny)}","",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-ui/theme/components/colorpicker/colorpicker.css"],names:[],mappings:"AAKA,wBACC,iBAKD,CAHC,qCACC,eACD,CAGD,yBACC,YAAa,CACb,kBAAmB,CACnB,gBAAiB,CACjB,6BAA8B,CAC9B,kCAAmC,CACnC,WAcD,CAZC,mDACC,iBACD,CAEA,2CACC,WACD,CAEA,qDAEC,sCAAuC,CADvC,kCAED",sourcesContent:["/*\n * Copyright (c) 2003-2023, 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.color-picker-hex-input {\n\twidth: max-content;\n\n\t& .ck.ck-input {\n\t\tmin-width: unset;\n\t}\n}\n\n.ck.ck-color-picker__row {\n\tdisplay: flex;\n\tflex-direction: row;\n\tflex-wrap: nowrap;\n\tjustify-content: space-between;\n\tmargin: var(--ck-spacing-large) 0 0;\n\twidth: unset;\n\n\t& .ck.ck-labeled-field-view {\n\t\tpadding-top: unset;\n\t}\n\n\t& .ck.ck-input-text {\n\t\twidth: unset;\n\t}\n\n\t& .ck-color-picker__hash-view {\n\t\tpadding-top: var(--ck-spacing-tiny);\n\t\tpadding-right: var(--ck-spacing-medium);\n\t}\n}\n"],sourceRoot:""}]);const c=a},6306:(t,e,n)=>{"use strict";n.d(e,{Z:()=>c});var i=n(4015);var o=n.n(i);var r=n(3645);var s=n.n(r);var a=s()(o());a.push([t.id,".ck.ck-color-selector .ck-color-grids-fragment .ck-button.ck-color-selector__color-picker,.ck.ck-color-selector .ck-color-grids-fragment .ck-button.ck-color-selector__remove-color{align-items:center;display:flex}[dir=rtl] .ck.ck-color-selector .ck-color-grids-fragment .ck-button.ck-color-selector__color-picker,[dir=rtl] .ck.ck-color-selector .ck-color-grids-fragment .ck-button.ck-color-selector__remove-color{justify-content:flex-start}.ck.ck-color-selector .ck-color-picker-fragment .ck.ck-color-selector_action-bar{display:flex;flex-direction:row;justify-content:space-around}.ck.ck-color-selector .ck-color-picker-fragment .ck.ck-color-selector_action-bar .ck-button-cancel,.ck.ck-color-selector .ck-color-picker-fragment .ck.ck-color-selector_action-bar .ck-button-save{flex:1}.ck.ck-color-selector .ck-color-grids-fragment .ck-button.ck-color-selector__color-picker,.ck.ck-color-selector .ck-color-grids-fragment .ck-button.ck-color-selector__remove-color{width:100%}.ck.ck-color-selector .ck-color-grids-fragment .ck-button.ck-color-selector__color-picker{border-bottom-left-radius:0;border-bottom-right-radius:0;padding:calc(var(--ck-spacing-standard)/2) var(--ck-spacing-standard)}.ck.ck-color-selector .ck-color-grids-fragment .ck-button.ck-color-selector__color-picker:not(:focus){border-top:1px solid var(--ck-color-base-border)}[dir=ltr] .ck.ck-color-selector .ck-color-grids-fragment .ck-button.ck-color-selector__color-picker .ck.ck-icon{margin-right:var(--ck-spacing-standard)}[dir=rtl] .ck.ck-color-selector .ck-color-grids-fragment .ck-button.ck-color-selector__color-picker .ck.ck-icon{margin-left:var(--ck-spacing-standard)}.ck.ck-color-selector .ck-color-grids-fragment label.ck.ck-color-grid__label{font-weight:unset}.ck.ck-color-selector .ck-color-picker-fragment .ck.ck-color-picker{padding:8px}.ck.ck-color-selector .ck-color-picker-fragment .ck.ck-color-picker .hex-color-picker{height:100px;min-width:180px}.ck.ck-color-selector .ck-color-picker-fragment .ck.ck-color-picker .hex-color-picker::part(saturation){border-radius:var(--ck-border-radius) var(--ck-border-radius) 0 0}.ck.ck-color-selector .ck-color-picker-fragment .ck.ck-color-picker .hex-color-picker::part(hue){border-radius:0 0 var(--ck-border-radius) var(--ck-border-radius)}.ck.ck-color-selector .ck-color-picker-fragment .ck.ck-color-picker .hex-color-picker::part(hue-pointer),.ck.ck-color-selector .ck-color-picker-fragment .ck.ck-color-picker .hex-color-picker::part(saturation-pointer){height:15px;width:15px}.ck.ck-color-selector .ck-color-picker-fragment .ck.ck-color-selector_action-bar{padding:0 8px 8px}","",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-ui/theme/components/colorselector/colorselector.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-ui/components/colorselector/colorselector.css"],names:[],mappings:"AAUE,oLAGC,kBAAmB,CADnB,YAMD,CARA,wMAME,0BAEF,CAKA,iFACC,YAAa,CACb,kBAAmB,CACnB,4BAMD,CAJC,oMAEC,MACD,CCrBD,oLAEC,UACD,CAEA,0FAEC,2BAA4B,CAC5B,4BAA6B,CAF7B,qEAiBD,CAbC,sGACC,gDACD,CAEA,gHAEE,uCAMF,CARA,gHAME,sCAEF,CAGD,6EACC,iBACD,CAKA,oEACC,WAoBD,CAlBC,sFACC,YAAa,CACb,eAeD,CAbC,wGACC,iEACD,CAEA,iGACC,iEACD,CAEA,yNAGC,WAAY,CADZ,UAED,CAIF,iFACC,iBACD",sourcesContent:['/*\n * Copyright (c) 2003-2023, 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/_dir.css";\n\n.ck.ck-color-selector {\n\t/* View fragment with color grids. */\n\t& .ck-color-grids-fragment {\n\t\t& .ck-button.ck-color-selector__remove-color,\n\t\t& .ck-button.ck-color-selector__color-picker {\n\t\t\tdisplay: flex;\n\t\t\talign-items: center;\n\n\t\t\t@mixin ck-dir rtl {\n\t\t\t\tjustify-content: flex-start;\n\t\t\t}\n\t\t}\n\t}\n\n\t/* View fragment with a color picker. */\n\t& .ck-color-picker-fragment {\n\t\t& .ck.ck-color-selector_action-bar {\n\t\t\tdisplay: flex;\n\t\t\tflex-direction: row;\n\t\t\tjustify-content: space-around;\n\n\t\t\t& .ck-button-save,\n\t\t\t& .ck-button-cancel {\n\t\t\t\tflex: 1\n\t\t\t}\n\t\t}\n\t}\n}\n','/*\n * Copyright (c) 2003-2023, 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/_dir.css";\n\n.ck.ck-color-selector {\n\t/* View fragment with color grids. */\n\t& .ck-color-grids-fragment {\n\t\t& .ck-button.ck-color-selector__remove-color,\n\t\t& .ck-button.ck-color-selector__color-picker {\n\t\t\twidth: 100%;\n\t\t}\n\n\t\t& .ck-button.ck-color-selector__color-picker {\n\t\t\tpadding: calc(var(--ck-spacing-standard) / 2) var(--ck-spacing-standard);\n\t\t\tborder-bottom-left-radius: 0;\n\t\t\tborder-bottom-right-radius: 0;\n\n\t\t\t&:not(:focus) {\n\t\t\t\tborder-top: 1px solid var(--ck-color-base-border);\n\t\t\t}\n\n\t\t\t& .ck.ck-icon {\n\t\t\t\t@mixin ck-dir ltr {\n\t\t\t\t\tmargin-right: var(--ck-spacing-standard);\n\t\t\t\t}\n\n\t\t\t\t@mixin ck-dir rtl {\n\t\t\t\t\tmargin-left: var(--ck-spacing-standard);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t& label.ck.ck-color-grid__label {\n\t\t\tfont-weight: unset;\n\t\t}\n\t}\n\n\t/* View fragment with a color picker. */\n\t& .ck-color-picker-fragment {\n\t\t& .ck.ck-color-picker {\n\t\t\tpadding: 8px;\n\n\t\t\t& .hex-color-picker {\n\t\t\t\theight: 100px;\n\t\t\t\tmin-width: 180px;\n\n\t\t\t\t&::part(saturation) {\n\t\t\t\t\tborder-radius: var(--ck-border-radius) var(--ck-border-radius) 0 0;\n\t\t\t\t}\n\n\t\t\t\t&::part(hue) {\n\t\t\t\t\tborder-radius: 0 0 var(--ck-border-radius) var(--ck-border-radius);\n\t\t\t\t}\n\n\t\t\t\t&::part(saturation-pointer),\n\t\t\t\t&::part(hue-pointer) {\n\t\t\t\t\twidth: 15px;\n\t\t\t\t\theight: 15px;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t& .ck.ck-color-selector_action-bar {\n\t\t\tpadding: 0 8px 8px;\n\t\t}\n\t}\n}\n'],sourceRoot:""}]);const c=a},5062:(t,e,n)=>{"use strict";n.d(e,{Z:()=>c});var i=n(4015);var o=n.n(i);var r=n(3645);var s=n.n(r);var a=s()(o());a.push([t.id,":root{--ck-dropdown-max-width:75vw}.ck.ck-dropdown{display:inline-block;position:relative}.ck.ck-dropdown .ck-dropdown__arrow{pointer-events:none;z-index:var(--ck-z-default)}.ck.ck-dropdown .ck-button.ck-dropdown__button{width:100%}.ck.ck-dropdown .ck-dropdown__panel{display:none;max-width:var(--ck-dropdown-max-width);position:absolute;z-index:var(--ck-z-modal)}.ck.ck-dropdown .ck-dropdown__panel.ck-dropdown__panel-visible{display:inline-block}.ck.ck-dropdown .ck-dropdown__panel.ck-dropdown__panel_n,.ck.ck-dropdown .ck-dropdown__panel.ck-dropdown__panel_ne,.ck.ck-dropdown .ck-dropdown__panel.ck-dropdown__panel_nme,.ck.ck-dropdown .ck-dropdown__panel.ck-dropdown__panel_nmw,.ck.ck-dropdown .ck-dropdown__panel.ck-dropdown__panel_nw{bottom:100%}.ck.ck-dropdown .ck-dropdown__panel.ck-dropdown__panel_s,.ck.ck-dropdown .ck-dropdown__panel.ck-dropdown__panel_se,.ck.ck-dropdown .ck-dropdown__panel.ck-dropdown__panel_sme,.ck.ck-dropdown .ck-dropdown__panel.ck-dropdown__panel_smw,.ck.ck-dropdown .ck-dropdown__panel.ck-dropdown__panel_sw{bottom:auto;top:100%}.ck.ck-dropdown .ck-dropdown__panel.ck-dropdown__panel_ne,.ck.ck-dropdown .ck-dropdown__panel.ck-dropdown__panel_se{left:0}.ck.ck-dropdown .ck-dropdown__panel.ck-dropdown__panel_nw,.ck.ck-dropdown .ck-dropdown__panel.ck-dropdown__panel_sw{right:0}.ck.ck-dropdown .ck-dropdown__panel.ck-dropdown__panel_n,.ck.ck-dropdown .ck-dropdown__panel.ck-dropdown__panel_s{left:50%;transform:translateX(-50%)}.ck.ck-dropdown .ck-dropdown__panel.ck-dropdown__panel_nmw,.ck.ck-dropdown .ck-dropdown__panel.ck-dropdown__panel_smw{left:75%;transform:translateX(-75%)}.ck.ck-dropdown .ck-dropdown__panel.ck-dropdown__panel_nme,.ck.ck-dropdown .ck-dropdown__panel.ck-dropdown__panel_sme{left:25%;transform:translateX(-25%)}.ck.ck-toolbar .ck-dropdown__panel{z-index:calc(var(--ck-z-modal) + 1)}:root{--ck-dropdown-arrow-size:calc(var(--ck-icon-size)*0.5)}.ck.ck-dropdown{font-size:inherit}.ck.ck-dropdown .ck-dropdown__arrow{width:var(--ck-dropdown-arrow-size)}[dir=ltr] .ck.ck-dropdown .ck-dropdown__arrow{margin-left:var(--ck-spacing-standard);right:var(--ck-spacing-standard)}[dir=rtl] .ck.ck-dropdown .ck-dropdown__arrow{left:var(--ck-spacing-standard);margin-right:var(--ck-spacing-small)}.ck.ck-dropdown.ck-disabled .ck-dropdown__arrow{opacity:var(--ck-disabled-opacity)}[dir=ltr] .ck.ck-dropdown .ck-button.ck-dropdown__button:not(.ck-button_with-text){padding-left:var(--ck-spacing-small)}[dir=rtl] .ck.ck-dropdown .ck-button.ck-dropdown__button:not(.ck-button_with-text){padding-right:var(--ck-spacing-small)}.ck.ck-dropdown .ck-button.ck-dropdown__button .ck-button__label{overflow:hidden;text-overflow:ellipsis;width:7em}.ck.ck-dropdown .ck-button.ck-dropdown__button.ck-disabled .ck-button__label{opacity:var(--ck-disabled-opacity)}.ck.ck-dropdown .ck-button.ck-dropdown__button.ck-on{border-bottom-left-radius:0;border-bottom-right-radius:0}.ck.ck-dropdown .ck-button.ck-dropdown__button.ck-dropdown__button_label-width_auto .ck-button__label{width:auto}.ck.ck-dropdown .ck-button.ck-dropdown__button.ck-off:active,.ck.ck-dropdown .ck-button.ck-dropdown__button.ck-on:active{box-shadow:none}.ck.ck-dropdown .ck-button.ck-dropdown__button.ck-off:active:focus,.ck.ck-dropdown .ck-button.ck-dropdown__button.ck-on:active:focus{box-shadow:var(--ck-focus-outer-shadow),0 0}.ck.ck-dropdown__panel{border-radius:0}.ck-rounded-corners .ck.ck-dropdown__panel,.ck.ck-dropdown__panel.ck-rounded-corners{border-radius:var(--ck-border-radius)}.ck.ck-dropdown__panel{background:var(--ck-color-dropdown-panel-background);border:1px solid var(--ck-color-dropdown-panel-border);bottom:0;box-shadow:var(--ck-drop-shadow),0 0;min-width:100%}.ck.ck-dropdown__panel.ck-dropdown__panel_se{border-top-left-radius:0}.ck.ck-dropdown__panel.ck-dropdown__panel_sw{border-top-right-radius:0}.ck.ck-dropdown__panel.ck-dropdown__panel_ne{border-bottom-left-radius:0}.ck.ck-dropdown__panel.ck-dropdown__panel_nw{border-bottom-right-radius:0}.ck.ck-dropdown__panel:focus{outline:none}","",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-ui/theme/components/dropdown/dropdown.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-ui/components/dropdown/dropdown.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/mixins/_disabled.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/mixins/_shadow.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/mixins/_rounded.css"],names:[],mappings:"AAKA,MACC,4BACD,CAEA,gBACC,oBAAqB,CACrB,iBA2ED,CAzEC,oCACC,mBAAoB,CACpB,2BACD,CAGA,+CACC,UACD,CAEA,oCACC,YAAa,CAEb,sCAAuC,CAEvC,iBAAkB,CAHlB,yBA4DD,CAvDC,+DACC,oBACD,CAEA,mSAKC,WACD,CAEA,mSAUC,WAAY,CADZ,QAED,CAEA,oHAEC,MACD,CAEA,oHAEC,OACD,CAEA,kHAGC,QAAS,CACT,0BACD,CAEA,sHAGC,QAAS,CACT,0BACD,CAEA,sHAGC,QAAS,CACT,0BACD,CAQF,mCACC,mCACD,CCpFA,MACC,sDACD,CAEA,gBAEC,iBA2ED,CAzEC,oCACC,mCACD,CAGC,8CAIC,sCAAuC,CAHvC,gCAID,CAIA,8CACC,+BAAgC,CAGhC,oCACD,CAGD,gDC/BA,kCDiCA,CAIE,mFAEC,oCACD,CAIA,mFAEC,qCACD,CAID,iEAEC,eAAgB,CAChB,sBAAuB,CAFvB,SAGD,CAGA,6EC1DD,kCD4DC,CAGA,qDACC,2BAA4B,CAC5B,4BACD,CAEA,sGACC,UACD,CAGA,yHAEC,eAKD,CAHC,qIE7EF,2CF+EE,CAKH,uBGlFC,eHkHD,CAhCA,qFG9EE,qCH8GF,CAhCA,uBAIC,oDAAqD,CACrD,sDAAuD,CACvD,QAAS,CE1FT,oCAA8B,CF6F9B,cAuBD,CAnBC,6CACC,wBACD,CAEA,6CACC,yBACD,CAEA,6CACC,2BACD,CAEA,6CACC,4BACD,CAEA,6BACC,YACD",sourcesContent:["/*\n * Copyright (c) 2003-2023, 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-dropdown-max-width: 75vw;\n}\n\n.ck.ck-dropdown {\n\tdisplay: inline-block;\n\tposition: relative;\n\n\t& .ck-dropdown__arrow {\n\t\tpointer-events: none;\n\t\tz-index: var(--ck-z-default);\n\t}\n\n\t/* Dropdown button should span horizontally, e.g. in vertical toolbars */\n\t& .ck-button.ck-dropdown__button {\n\t\twidth: 100%;\n\t}\n\n\t& .ck-dropdown__panel {\n\t\tdisplay: none;\n\t\tz-index: var(--ck-z-modal);\n\t\tmax-width: var(--ck-dropdown-max-width);\n\n\t\tposition: absolute;\n\n\t\t&.ck-dropdown__panel-visible {\n\t\t\tdisplay: inline-block;\n\t\t}\n\n\t\t&.ck-dropdown__panel_ne,\n\t\t&.ck-dropdown__panel_nw,\n\t\t&.ck-dropdown__panel_n,\n\t\t&.ck-dropdown__panel_nmw,\n\t\t&.ck-dropdown__panel_nme {\n\t\t\tbottom: 100%;\n\t\t}\n\n\t\t&.ck-dropdown__panel_se,\n\t\t&.ck-dropdown__panel_sw,\n\t\t&.ck-dropdown__panel_smw,\n\t\t&.ck-dropdown__panel_sme,\n\t\t&.ck-dropdown__panel_s {\n\t\t\t/*\n\t\t\t * Using transform: translate3d( 0, 100%, 0 ) causes blurry dropdown on Chrome 67-78+ on non-retina displays.\n\t\t\t * See https://github.com/ckeditor/ckeditor5/issues/1053.\n\t\t\t */\n\t\t\ttop: 100%;\n\t\t\tbottom: auto;\n\t\t}\n\n\t\t&.ck-dropdown__panel_ne,\n\t\t&.ck-dropdown__panel_se {\n\t\t\tleft: 0px;\n\t\t}\n\n\t\t&.ck-dropdown__panel_nw,\n\t\t&.ck-dropdown__panel_sw {\n\t\t\tright: 0px;\n\t\t}\n\n\t\t&.ck-dropdown__panel_s,\n\t\t&.ck-dropdown__panel_n {\n\t\t\t/* Positioning panels relative to the center of the button */\n\t\t\tleft: 50%;\n\t\t\ttransform: translateX(-50%);\n\t\t}\n\n\t\t&.ck-dropdown__panel_nmw,\n\t\t&.ck-dropdown__panel_smw {\n\t\t\t/* Positioning panels relative to the middle-west of the button */\n\t\t\tleft: 75%;\n\t\t\ttransform: translateX(-75%);\n\t\t}\n\n\t\t&.ck-dropdown__panel_nme,\n\t\t&.ck-dropdown__panel_sme {\n\t\t\t/* Positioning panels relative to the middle-east of the button */\n\t\t\tleft: 25%;\n\t\t\ttransform: translateX(-25%);\n\t\t}\n\t}\n}\n\n/*\n * Toolbar dropdown panels should be always above the UI (eg. other dropdown panels) from the editor's content.\n * See https://github.com/ckeditor/ckeditor5/issues/7874\n */\n.ck.ck-toolbar .ck-dropdown__panel {\n\tz-index: calc( var(--ck-z-modal) + 1 );\n}\n",'/*\n * Copyright (c) 2003-2023, 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@import "../../../mixins/_disabled.css";\n@import "../../../mixins/_shadow.css";\n@import "@ckeditor/ckeditor5-ui/theme/mixins/_dir.css";\n\n:root {\n\t--ck-dropdown-arrow-size: calc(0.5 * var(--ck-icon-size));\n}\n\n.ck.ck-dropdown {\n\t/* Enable font size inheritance, which allows fluid UI scaling. */\n\tfont-size: inherit;\n\n\t& .ck-dropdown__arrow {\n\t\twidth: var(--ck-dropdown-arrow-size);\n\t}\n\n\t@mixin ck-dir ltr {\n\t\t& .ck-dropdown__arrow {\n\t\t\tright: var(--ck-spacing-standard);\n\n\t\t\t/* A space to accommodate the triangle. */\n\t\t\tmargin-left: var(--ck-spacing-standard);\n\t\t}\n\t}\n\n\t@mixin ck-dir rtl {\n\t\t& .ck-dropdown__arrow {\n\t\t\tleft: var(--ck-spacing-standard);\n\n\t\t\t/* A space to accommodate the triangle. */\n\t\t\tmargin-right: var(--ck-spacing-small);\n\t\t}\n\t}\n\n\t&.ck-disabled .ck-dropdown__arrow {\n\t\t@mixin ck-disabled;\n\t}\n\n\t& .ck-button.ck-dropdown__button {\n\t\t@mixin ck-dir ltr {\n\t\t\t&:not(.ck-button_with-text) {\n\t\t\t\t/* Make sure dropdowns with just an icon have the right inner spacing */\n\t\t\t\tpadding-left: var(--ck-spacing-small);\n\t\t\t}\n\t\t}\n\n\t\t@mixin ck-dir rtl {\n\t\t\t&:not(.ck-button_with-text) {\n\t\t\t\t/* Make sure dropdowns with just an icon have the right inner spacing */\n\t\t\t\tpadding-right: var(--ck-spacing-small);\n\t\t\t}\n\t\t}\n\n\t\t/* #23 */\n\t\t& .ck-button__label {\n\t\t\twidth: 7em;\n\t\t\toverflow: hidden;\n\t\t\ttext-overflow: ellipsis;\n\t\t}\n\n\t\t/* https://github.com/ckeditor/ckeditor5-theme-lark/issues/70 */\n\t\t&.ck-disabled .ck-button__label {\n\t\t\t@mixin ck-disabled;\n\t\t}\n\n\t\t/* https://github.com/ckeditor/ckeditor5/issues/816 */\n\t\t&.ck-on {\n\t\t\tborder-bottom-left-radius: 0;\n\t\t\tborder-bottom-right-radius: 0;\n\t\t}\n\n\t\t&.ck-dropdown__button_label-width_auto .ck-button__label {\n\t\t\twidth: auto;\n\t\t}\n\n\t\t/* https://github.com/ckeditor/ckeditor5/issues/8699 */\n\t\t&.ck-off:active,\n\t\t&.ck-on:active {\n\t\t\tbox-shadow: none;\n\n\t\t\t&:focus {\n\t\t\t\t@mixin ck-box-shadow var(--ck-focus-outer-shadow);\n\t\t\t}\n\t\t}\n\t}\n}\n\n.ck.ck-dropdown__panel {\n\t@mixin ck-rounded-corners;\n\t@mixin ck-drop-shadow;\n\n\tbackground: var(--ck-color-dropdown-panel-background);\n\tborder: 1px solid var(--ck-color-dropdown-panel-border);\n\tbottom: 0;\n\n\t/* Make sure the panel is at least as wide as the drop-down\'s button. */\n\tmin-width: 100%;\n\n\t/* Disabled corner border radius to be consistent with the .dropdown__button\n\thttps://github.com/ckeditor/ckeditor5/issues/816 */\n\t&.ck-dropdown__panel_se {\n\t\tborder-top-left-radius: 0;\n\t}\n\n\t&.ck-dropdown__panel_sw {\n\t\tborder-top-right-radius: 0;\n\t}\n\n\t&.ck-dropdown__panel_ne {\n\t\tborder-bottom-left-radius: 0;\n\t}\n\n\t&.ck-dropdown__panel_nw {\n\t\tborder-bottom-right-radius: 0;\n\t}\n\n\t&:focus {\n\t\toutline: none;\n\t}\n}\n',"/*\n * Copyright (c) 2003-2023, 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 * A class which indicates that an element holding it is disabled.\n */\n@define-mixin ck-disabled {\n\topacity: var(--ck-disabled-opacity);\n}\n","/*\n * Copyright (c) 2003-2023, 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 * A helper to combine multiple shadows.\n */\n@define-mixin ck-box-shadow $shadowA, $shadowB: 0 0 {\n\tbox-shadow: $shadowA, $shadowB;\n}\n\n/**\n * Gives an element a drop shadow so it looks like a floating panel.\n */\n@define-mixin ck-drop-shadow {\n\t@mixin ck-box-shadow var(--ck-drop-shadow);\n}\n","/*\n * Copyright (c) 2003-2023, 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 c=a},1883:(t,e,n)=>{"use strict";n.d(e,{Z:()=>c});var i=n(4015);var o=n.n(i);var r=n(3645);var s=n.n(r);var a=s()(o());a.push([t.id,".ck.ck-dropdown .ck-dropdown__panel .ck-list{border-radius:0}.ck-rounded-corners .ck.ck-dropdown .ck-dropdown__panel .ck-list,.ck.ck-dropdown .ck-dropdown__panel .ck-list.ck-rounded-corners{border-radius:var(--ck-border-radius);border-top-left-radius:0}.ck.ck-dropdown .ck-dropdown__panel .ck-list .ck-list__item:first-child .ck-button{border-radius:0}.ck-rounded-corners .ck.ck-dropdown .ck-dropdown__panel .ck-list .ck-list__item:first-child .ck-button,.ck.ck-dropdown .ck-dropdown__panel .ck-list .ck-list__item:first-child .ck-button.ck-rounded-corners{border-radius:var(--ck-border-radius);border-bottom-left-radius:0;border-bottom-right-radius:0;border-top-left-radius:0}.ck.ck-dropdown .ck-dropdown__panel .ck-list .ck-list__item:last-child .ck-button{border-radius:0}.ck-rounded-corners .ck.ck-dropdown .ck-dropdown__panel .ck-list .ck-list__item:last-child .ck-button,.ck.ck-dropdown .ck-dropdown__panel .ck-list .ck-list__item:last-child .ck-button.ck-rounded-corners{border-radius:var(--ck-border-radius);border-top-left-radius:0;border-top-right-radius:0}","",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-ui/components/dropdown/listdropdown.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/mixins/_rounded.css"],names:[],mappings:"AAOA,6CCIC,eDqBD,CAzBA,iICQE,qCAAsC,CDJtC,wBAqBF,CAfE,mFCND,eDYC,CANA,6MCFA,qCAAsC,CDKpC,2BAA4B,CAC5B,4BAA6B,CAF7B,wBAIF,CAEA,kFCdD,eDmBC,CALA,2MCVA,qCAAsC,CDYpC,wBAAyB,CACzB,yBAEF",sourcesContent:['/*\n * Copyright (c) 2003-2023, 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-dropdown .ck-dropdown__panel .ck-list {\n\t/* Disabled radius of top-left border to be consistent with .dropdown__button\n\thttps://github.com/ckeditor/ckeditor5/issues/816 */\n\t@mixin ck-rounded-corners {\n\t\tborder-top-left-radius: 0;\n\t}\n\n\t/* Make sure the button belonging to the first/last child of the list goes well with the\n\tborder radius of the entire panel. */\n\t& .ck-list__item {\n\t\t&:first-child .ck-button {\n\t\t\t@mixin ck-rounded-corners {\n\t\t\t\tborder-top-left-radius: 0;\n\t\t\t\tborder-bottom-left-radius: 0;\n\t\t\t\tborder-bottom-right-radius: 0;\n\t\t\t}\n\t\t}\n\n\t\t&:last-child .ck-button {\n\t\t\t@mixin ck-rounded-corners {\n\t\t\t\tborder-top-left-radius: 0;\n\t\t\t\tborder-top-right-radius: 0;\n\t\t\t}\n\t\t}\n\t}\n}\n',"/*\n * Copyright (c) 2003-2023, 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 c=a},4791:(t,e,n)=>{"use strict";n.d(e,{Z:()=>c});var i=n(4015);var o=n.n(i);var r=n(3645);var s=n.n(r);var a=s()(o());a.push([t.id,'.ck.ck-splitbutton{font-size:inherit}.ck.ck-splitbutton .ck-splitbutton__action:focus{z-index:calc(var(--ck-z-default) + 1)}:root{--ck-color-split-button-hover-background:#ebebeb;--ck-color-split-button-hover-border:#b3b3b3}[dir=ltr] .ck.ck-splitbutton.ck-splitbutton_open>.ck-splitbutton__action,[dir=ltr] .ck.ck-splitbutton:hover>.ck-splitbutton__action{border-bottom-right-radius:unset;border-top-right-radius:unset}[dir=rtl] .ck.ck-splitbutton.ck-splitbutton_open>.ck-splitbutton__action,[dir=rtl] .ck.ck-splitbutton:hover>.ck-splitbutton__action{border-bottom-left-radius:unset;border-top-left-radius:unset}.ck.ck-splitbutton>.ck-splitbutton__arrow{min-width:unset}[dir=ltr] .ck.ck-splitbutton>.ck-splitbutton__arrow{border-bottom-left-radius:unset;border-top-left-radius:unset}[dir=rtl] .ck.ck-splitbutton>.ck-splitbutton__arrow{border-bottom-right-radius:unset;border-top-right-radius:unset}.ck.ck-splitbutton>.ck-splitbutton__arrow svg{width:var(--ck-dropdown-arrow-size)}.ck.ck-splitbutton>.ck-splitbutton__arrow:not(:focus){border-bottom-width:0;border-top-width:0}.ck.ck-splitbutton.ck-splitbutton_open>.ck-button:not(.ck-on):not(.ck-disabled):not(:hover),.ck.ck-splitbutton:hover>.ck-button:not(.ck-on):not(.ck-disabled):not(:hover){background:var(--ck-color-split-button-hover-background)}.ck.ck-splitbutton.ck-splitbutton_open>.ck-splitbutton__arrow:not(.ck-disabled):after,.ck.ck-splitbutton:hover>.ck-splitbutton__arrow:not(.ck-disabled):after{background-color:var(--ck-color-split-button-hover-border);content:"";height:100%;position:absolute;width:1px}.ck.ck-splitbutton.ck-splitbutton_open>.ck-splitbutton__arrow:focus:after,.ck.ck-splitbutton:hover>.ck-splitbutton__arrow:focus:after{--ck-color-split-button-hover-border:var(--ck-color-focus-border)}[dir=ltr] .ck.ck-splitbutton.ck-splitbutton_open>.ck-splitbutton__arrow:not(.ck-disabled):after,[dir=ltr] .ck.ck-splitbutton:hover>.ck-splitbutton__arrow:not(.ck-disabled):after{left:-1px}[dir=rtl] .ck.ck-splitbutton.ck-splitbutton_open>.ck-splitbutton__arrow:not(.ck-disabled):after,[dir=rtl] .ck.ck-splitbutton:hover>.ck-splitbutton__arrow:not(.ck-disabled):after{right:-1px}.ck.ck-splitbutton.ck-splitbutton_open{border-radius:0}.ck-rounded-corners .ck.ck-splitbutton.ck-splitbutton_open,.ck.ck-splitbutton.ck-splitbutton_open.ck-rounded-corners{border-radius:var(--ck-border-radius)}.ck-rounded-corners .ck.ck-splitbutton.ck-splitbutton_open>.ck-splitbutton__action,.ck.ck-splitbutton.ck-splitbutton_open.ck-rounded-corners>.ck-splitbutton__action{border-bottom-left-radius:0}.ck-rounded-corners .ck.ck-splitbutton.ck-splitbutton_open>.ck-splitbutton__arrow,.ck.ck-splitbutton.ck-splitbutton_open.ck-rounded-corners>.ck-splitbutton__arrow{border-bottom-right-radius:0}',"",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-ui/theme/components/dropdown/splitbutton.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-ui/components/dropdown/splitbutton.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/mixins/_rounded.css"],names:[],mappings:"AAKA,mBAEC,iBAKD,CAHC,iDACC,qCACD,CCJD,MACC,gDAAyD,CACzD,4CACD,CAMC,oIAKE,gCAAiC,CADjC,6BASF,CAbA,oIAWE,+BAAgC,CADhC,4BAGF,CAEA,0CAGC,eAiBD,CApBA,oDAQE,+BAAgC,CADhC,4BAaF,CApBA,oDAcE,gCAAiC,CADjC,6BAOF,CAHC,8CACC,mCACD,CAKD,sDAEC,qBAAwB,CADxB,kBAED,CAQC,0KACC,wDACD,CAIA,8JAKC,0DAA2D,CAJ3D,UAAW,CAGX,WAAY,CAFZ,iBAAkB,CAClB,SAGD,CAGA,sIACC,iEACD,CAGC,kLACC,SACD,CAIA,kLACC,UACD,CAMF,uCCzFA,eDmGA,CAVA,qHCrFC,qCD+FD,CARE,qKACC,2BACD,CAEA,mKACC,4BACD",sourcesContent:["/*\n * Copyright (c) 2003-2023, 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-splitbutton {\n\t/* Enable font size inheritance, which allows fluid UI scaling. */\n\tfont-size: inherit;\n\n\t& .ck-splitbutton__action:focus {\n\t\tz-index: calc(var(--ck-z-default) + 1);\n\t}\n}\n\n",'/*\n * Copyright (c) 2003-2023, 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:root {\n\t--ck-color-split-button-hover-background: hsl(0, 0%, 92%);\n\t--ck-color-split-button-hover-border: hsl(0, 0%, 70%);\n}\n\n.ck.ck-splitbutton {\n\t/*\n\t * Note: ck-rounded and ck-dir mixins don\'t go together (because they both use @nest).\n\t */\n\t&:hover > .ck-splitbutton__action,\n\t&.ck-splitbutton_open > .ck-splitbutton__action {\n\t\t@nest [dir="ltr"] & {\n\t\t\t/* Don\'t round the action button on the right side */\n\t\t\tborder-top-right-radius: unset;\n\t\t\tborder-bottom-right-radius: unset;\n\t\t}\n\n\t\t@nest [dir="rtl"] & {\n\t\t\t/* Don\'t round the action button on the left side */\n\t\t\tborder-top-left-radius: unset;\n\t\t\tborder-bottom-left-radius: unset;\n\t\t}\n\t}\n\n\t& > .ck-splitbutton__arrow {\n\t\t/* It\'s a text-less button and since the icon is positioned absolutely in such situation,\n\t\tit must get some arbitrary min-width. */\n\t\tmin-width: unset;\n\n\t\t@nest [dir="ltr"] & {\n\t\t\t/* Don\'t round the arrow button on the left side */\n\t\t\tborder-top-left-radius: unset;\n\t\t\tborder-bottom-left-radius: unset;\n\t\t}\n\n\t\t@nest [dir="rtl"] & {\n\t\t\t/* Don\'t round the arrow button on the right side */\n\t\t\tborder-top-right-radius: unset;\n\t\t\tborder-bottom-right-radius: unset;\n\t\t}\n\n\t\t& svg {\n\t\t\twidth: var(--ck-dropdown-arrow-size);\n\t\t}\n\t}\n\n\t/* Make sure the divider stretches 100% height of the button\n\thttps://github.com/ckeditor/ckeditor5/issues/10936 */\n\t& > .ck-splitbutton__arrow:not(:focus) {\n\t\tborder-top-width: 0px;\n\t\tborder-bottom-width: 0px;\n\t}\n\n\t/* When the split button is "open" (the arrow is on) or being hovered, it should get some styling\n\tas a whole. The background of both buttons should stand out and there should be a visual\n\tseparation between both buttons. */\n\t&.ck-splitbutton_open,\n\t&:hover {\n\t\t/* When the split button hovered as a whole, not as individual buttons. */\n\t\t& > .ck-button:not(.ck-on):not(.ck-disabled):not(:hover) {\n\t\t\tbackground: var(--ck-color-split-button-hover-background);\n\t\t}\n\n\t\t/* Splitbutton separator needs to be set with the ::after pseudoselector\n\t\tto display properly the borders on focus */\n\t\t& > .ck-splitbutton__arrow:not(.ck-disabled)::after {\n\t\t\tcontent: \'\';\n\t\t\tposition: absolute;\n\t\t\twidth: 1px;\n\t\t\theight: 100%;\n\t\t\tbackground-color: var(--ck-color-split-button-hover-border);\n\t\t}\n\n\t\t/* Make sure the divider between the buttons looks fine when the button is focused */\n\t\t& > .ck-splitbutton__arrow:focus::after {\n\t\t\t--ck-color-split-button-hover-border: var(--ck-color-focus-border);\n\t\t}\n\n\t\t@nest [dir="ltr"] & {\n\t\t\t& > .ck-splitbutton__arrow:not(.ck-disabled)::after {\n\t\t\t\tleft: -1px;\n\t\t\t}\n\t\t}\n\n\t\t@nest [dir="rtl"] & {\n\t\t\t& > .ck-splitbutton__arrow:not(.ck-disabled)::after {\n\t\t\t\tright: -1px;\n\t\t\t}\n\t\t}\n\t}\n\n\t/* Don\'t round the bottom left and right corners of the buttons when "open"\n\thttps://github.com/ckeditor/ckeditor5/issues/816 */\n\t&.ck-splitbutton_open {\n\t\t@mixin ck-rounded-corners {\n\t\t\t& > .ck-splitbutton__action {\n\t\t\t\tborder-bottom-left-radius: 0;\n\t\t\t}\n\n\t\t\t& > .ck-splitbutton__arrow {\n\t\t\t\tborder-bottom-right-radius: 0;\n\t\t\t}\n\t\t}\n\t}\n}\n',"/*\n * Copyright (c) 2003-2023, 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 c=a},2704:(t,e,n)=>{"use strict";n.d(e,{Z:()=>c});var i=n(4015);var o=n.n(i);var r=n(3645);var s=n.n(r);var a=s()(o());a.push([t.id,":root{--ck-toolbar-dropdown-max-width:60vw}.ck.ck-toolbar-dropdown>.ck-dropdown__panel{max-width:var(--ck-toolbar-dropdown-max-width);width:max-content}.ck.ck-toolbar-dropdown>.ck-dropdown__panel .ck-button:focus{z-index:calc(var(--ck-z-default) + 1)}.ck.ck-toolbar-dropdown .ck-toolbar{border:0}","",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-ui/theme/components/dropdown/toolbardropdown.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-ui/components/dropdown/toolbardropdown.css"],names:[],mappings:"AAKA,MACC,oCACD,CAEA,4CAGC,8CAA+C,CAD/C,iBAQD,CAJE,6DACC,qCACD,CCZF,oCACC,QACD",sourcesContent:["/*\n * Copyright (c) 2003-2023, 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-dropdown-max-width: 60vw;\n}\n\n.ck.ck-toolbar-dropdown > .ck-dropdown__panel {\n\t/* https://github.com/ckeditor/ckeditor5/issues/5586 */\n\twidth: max-content;\n\tmax-width: var(--ck-toolbar-dropdown-max-width);\n\n\t& .ck-button {\n\t\t&:focus {\n\t\t\tz-index: calc(var(--ck-z-default) + 1);\n\t\t}\n\t}\n}\n","/*\n * Copyright (c) 2003-2023, 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-toolbar-dropdown .ck-toolbar {\n\tborder: 0;\n}\n"],sourceRoot:""}]);const c=a},9847:(t,e,n)=>{"use strict";n.d(e,{Z:()=>c});var i=n(4015);var o=n.n(i);var r=n(3645);var s=n.n(r);var a=s()(o());a.push([t.id,":root{--ck-color-editable-blur-selection:#d9d9d9}.ck.ck-editor__editable:not(.ck-editor__nested-editable){border-radius:0}.ck-rounded-corners .ck.ck-editor__editable:not(.ck-editor__nested-editable),.ck.ck-editor__editable.ck-rounded-corners:not(.ck-editor__nested-editable){border-radius:var(--ck-border-radius)}.ck.ck-editor__editable.ck-focused:not(.ck-editor__nested-editable){border:var(--ck-focus-ring);box-shadow:var(--ck-inner-shadow),0 0;outline:none}.ck.ck-editor__editable_inline{border:1px solid transparent;overflow:auto;padding:0 var(--ck-spacing-standard)}.ck.ck-editor__editable_inline[dir=ltr]{text-align:left}.ck.ck-editor__editable_inline[dir=rtl]{text-align:right}.ck.ck-editor__editable_inline>:first-child{margin-top:var(--ck-spacing-large)}.ck.ck-editor__editable_inline>:last-child{margin-bottom:var(--ck-spacing-large)}.ck.ck-editor__editable_inline.ck-blurred ::selection{background:var(--ck-color-editable-blur-selection)}.ck.ck-balloon-panel.ck-toolbar-container[class*=arrow_n]:after{border-bottom-color:var(--ck-color-panel-background)}.ck.ck-balloon-panel.ck-toolbar-container[class*=arrow_s]:after{border-top-color:var(--ck-color-panel-background)}","",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-ui/components/editorui/editorui.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/mixins/_rounded.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/mixins/_focus.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/mixins/_shadow.css"],names:[],mappings:"AAWA,MACC,0CACD,CAEA,yDCJC,eDWD,CAPA,yJCAE,qCDOF,CAJC,oEEPA,2BAA2B,CCF3B,qCAA8B,CDC9B,YFWA,CAGD,+BAGC,4BAA6B,CAF7B,aAAc,CACd,oCA6BD,CA1BC,wCACC,eACD,CAEA,wCACC,gBACD,CAGA,4CACC,kCACD,CAGA,2CAKC,qCACD,CAGA,sDACC,kDACD,CAKA,gEACC,oDACD,CAIA,gEACC,iDACD",sourcesContent:['/*\n * Copyright (c) 2003-2023, 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@import "../../../mixins/_disabled.css";\n@import "../../../mixins/_shadow.css";\n@import "../../../mixins/_focus.css";\n@import "../../mixins/_button.css";\n\n:root {\n\t--ck-color-editable-blur-selection: hsl(0, 0%, 85%);\n}\n\n.ck.ck-editor__editable:not(.ck-editor__nested-editable) {\n\t@mixin ck-rounded-corners;\n\n\t&.ck-focused {\n\t\t@mixin ck-focus-ring;\n\t\t@mixin ck-box-shadow var(--ck-inner-shadow);\n\t}\n}\n\n.ck.ck-editor__editable_inline {\n\toverflow: auto;\n\tpadding: 0 var(--ck-spacing-standard);\n\tborder: 1px solid transparent;\n\n\t&[dir="ltr"] {\n\t\ttext-align: left;\n\t}\n\n\t&[dir="rtl"] {\n\t\ttext-align: right;\n\t}\n\n\t/* https://github.com/ckeditor/ckeditor5-theme-lark/issues/116 */\n\t& > *:first-child {\n\t\tmargin-top: var(--ck-spacing-large);\n\t}\n\n\t/* https://github.com/ckeditor/ckeditor5/issues/847 */\n\t& > *:last-child {\n\t\t/*\n\t\t * This value should match with the default margins of the block elements (like .media or .image)\n\t\t * to avoid a content jumping when the fake selection container shows up (See https://github.com/ckeditor/ckeditor5/issues/9825).\n\t\t */\n\t\tmargin-bottom: var(--ck-spacing-large);\n\t}\n\n\t/* https://github.com/ckeditor/ckeditor5/issues/6517 */\n\t&.ck-blurred ::selection {\n\t\tbackground: var(--ck-color-editable-blur-selection);\n\t}\n}\n\n/* https://github.com/ckeditor/ckeditor5-theme-lark/issues/111 */\n.ck.ck-balloon-panel.ck-toolbar-container[class*="arrow_n"] {\n\t&::after {\n\t\tborder-bottom-color: var(--ck-color-panel-background);\n\t}\n}\n\n.ck.ck-balloon-panel.ck-toolbar-container[class*="arrow_s"] {\n\t&::after {\n\t\tborder-top-color: var(--ck-color-panel-background);\n\t}\n}\n',"/*\n * Copyright (c) 2003-2023, 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","/*\n * Copyright (c) 2003-2023, 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 * A visual style of focused element's border.\n */\n@define-mixin ck-focus-ring {\n\t/* Disable native outline. */\n\toutline: none;\n\tborder: var(--ck-focus-ring)\n}\n","/*\n * Copyright (c) 2003-2023, 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 * A helper to combine multiple shadows.\n */\n@define-mixin ck-box-shadow $shadowA, $shadowB: 0 0 {\n\tbox-shadow: $shadowA, $shadowB;\n}\n\n/**\n * Gives an element a drop shadow so it looks like a floating panel.\n */\n@define-mixin ck-drop-shadow {\n\t@mixin ck-box-shadow var(--ck-drop-shadow);\n}\n"],sourceRoot:""}]);const c=a},1874:(t,e,n)=>{"use strict";n.d(e,{Z:()=>c});var i=n(4015);var o=n.n(i);var r=n(3645);var s=n.n(r);var a=s()(o());a.push([t.id,".ck.ck-form__header{align-items:center;display:flex;flex-direction:row;flex-wrap:nowrap;justify-content:space-between}.ck.ck-form__header h2.ck-form__header__label{flex-grow:1}:root{--ck-form-header-height:38px}.ck.ck-form__header{border-bottom:1px solid var(--ck-color-base-border);height:var(--ck-form-header-height);line-height:var(--ck-form-header-height);padding:var(--ck-spacing-small) var(--ck-spacing-large)}[dir=ltr] .ck.ck-form__header .ck-icon{margin-right:var(--ck-spacing-medium)}[dir=rtl] .ck.ck-form__header .ck-icon{margin-left:var(--ck-spacing-medium)}.ck.ck-form__header .ck-form__header__label{font-weight:700}","",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-ui/theme/components/formheader/formheader.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-ui/components/formheader/formheader.css"],names:[],mappings:"AAKA,oBAIC,kBAAmB,CAHnB,YAAa,CACb,kBAAmB,CACnB,gBAAiB,CAEjB,6BAKD,CAHC,8CACC,WACD,CCPD,MACC,4BACD,CAEA,oBAIC,mDAAoD,CAFpD,mCAAoC,CACpC,wCAAyC,CAFzC,uDAkBD,CAbC,uCAEE,qCAMF,CARA,uCAME,oCAEF,CAEA,4CACC,eACD",sourcesContent:["/*\n * Copyright (c) 2003-2023, 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-form__header {\n\tdisplay: flex;\n\tflex-direction: row;\n\tflex-wrap: nowrap;\n\talign-items: center;\n\tjustify-content: space-between;\n\n\t& h2.ck-form__header__label {\n\t\tflex-grow: 1;\n\t}\n}\n",'/*\n * Copyright (c) 2003-2023, 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/_dir.css";\n\n:root {\n\t--ck-form-header-height: 38px;\n}\n\n.ck.ck-form__header {\n\tpadding: var(--ck-spacing-small) var(--ck-spacing-large);\n\theight: var(--ck-form-header-height);\n\tline-height: var(--ck-form-header-height);\n\tborder-bottom: 1px solid var(--ck-color-base-border);\n\n\t& .ck-icon {\n\t\t@mixin ck-dir ltr {\n\t\t\tmargin-right: var(--ck-spacing-medium);\n\t\t}\n\n\t\t@mixin ck-dir rtl {\n\t\t\tmargin-left: var(--ck-spacing-medium);\n\t\t}\n\t}\n\n\t& .ck-form__header__label {\n\t\tfont-weight: bold;\n\t}\n}\n'],sourceRoot:""}]);const c=a},4746:(t,e,n)=>{"use strict";n.d(e,{Z:()=>c});var i=n(4015);var o=n.n(i);var r=n(3645);var s=n.n(r);var a=s()(o());a.push([t.id,".ck.ck-highlighted-text mark{background:var(--ck-color-highlight-background);font-size:inherit;font-weight:inherit;line-height:inherit;vertical-align:initial}","",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-ui/theme/components/highlightedtext/highlightedtext.css"],names:[],mappings:"AAKA,6BACC,+CAAgD,CAIhD,iBAAkB,CAFlB,mBAAoB,CACpB,mBAAoB,CAFpB,sBAID",sourcesContent:["/*\n * Copyright (c) 2003-2023, 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-highlighted-text mark {\n\tbackground: var(--ck-color-highlight-background);\n\tvertical-align: initial;\n\tfont-weight: inherit;\n\tline-height: inherit;\n\tfont-size: inherit;\n}\n"],sourceRoot:""}]);const c=a},1977:(t,e,n)=>{"use strict";n.d(e,{Z:()=>c});var i=n(4015);var o=n.n(i);var r=n(3645);var s=n.n(r);var a=s()(o());a.push([t.id,".ck.ck-icon{vertical-align:middle}:root{--ck-icon-size:calc(var(--ck-line-height-base)*var(--ck-font-size-normal))}.ck.ck-icon{font-size:.8333350694em;height:var(--ck-icon-size);width:var(--ck-icon-size);will-change:transform}.ck.ck-icon,.ck.ck-icon *{cursor:inherit}.ck.ck-icon.ck-icon_inherit-color,.ck.ck-icon.ck-icon_inherit-color *{color:inherit}.ck.ck-icon.ck-icon_inherit-color :not([fill]){fill:currentColor}","",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-ui/theme/components/icon/icon.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-ui/components/icon/icon.css"],names:[],mappings:"AAKA,YACC,qBACD,CCFA,MACC,0EACD,CAEA,YAKC,uBAAwB,CAHxB,0BAA2B,CAD3B,yBAA0B,CAU1B,qBAoBD,CAlBC,0BALA,cAQA,CAMC,sEACC,aAMD,CAJC,+CAEC,iBACD",sourcesContent:["/*\n * Copyright (c) 2003-2023, 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-icon {\n\tvertical-align: middle;\n}\n",'/*\n * Copyright (c) 2003-2023, 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-icon-size: calc(var(--ck-line-height-base) * var(--ck-font-size-normal));\n}\n\n.ck.ck-icon {\n\twidth: var(--ck-icon-size);\n\theight: var(--ck-icon-size);\n\n\t/* Multiplied by the height of the line in "px" should give SVG "viewport" dimensions */\n\tfont-size: .8333350694em;\n\n\t/* Inherit cursor style (#5). */\n\tcursor: inherit;\n\n\t/* This will prevent blurry icons on Firefox. See #340. */\n\twill-change: transform;\n\n\t& * {\n\t\t/* Inherit cursor style (#5). */\n\t\tcursor: inherit;\n\t}\n\n\t/* Allows dynamic coloring of an icon by inheriting its color from the parent. */\n\t&.ck-icon_inherit-color {\n\t\tcolor: inherit;\n\n\t\t& * {\n\t\t\tcolor: inherit;\n\n\t\t\t&:not([fill]) {\n\t\t\t\t/* Needed by FF. */\n\t\t\t\tfill: currentColor;\n\t\t\t}\n\t\t}\n\t}\n}\n'],sourceRoot:""}]);const c=a},2470:(t,e,n)=>{"use strict";n.d(e,{Z:()=>c});var i=n(4015);var o=n.n(i);var r=n(3645);var s=n.n(r);var a=s()(o());a.push([t.id,":root{--ck-input-width:18em;--ck-input-text-width:var(--ck-input-width)}.ck.ck-input{border-radius:0}.ck-rounded-corners .ck.ck-input,.ck.ck-input.ck-rounded-corners{border-radius:var(--ck-border-radius)}.ck.ck-input{background:var(--ck-color-input-background);border:1px solid var(--ck-color-input-border);min-height:var(--ck-ui-component-min-height);min-width:var(--ck-input-width);padding:var(--ck-spacing-extra-tiny) var(--ck-spacing-medium);transition:box-shadow .1s ease-in-out,border .1s ease-in-out}.ck.ck-input:focus{border:var(--ck-focus-ring);box-shadow:var(--ck-focus-outer-shadow),0 0;outline:none}.ck.ck-input[readonly]{background:var(--ck-color-input-disabled-background);border:1px solid var(--ck-color-input-disabled-border);color:var(--ck-color-input-disabled-text)}.ck.ck-input[readonly]:focus{box-shadow:var(--ck-focus-disabled-outer-shadow),0 0}.ck.ck-input.ck-error{animation:ck-input-shake .3s ease both;border-color:var(--ck-color-input-error-border)}.ck.ck-input.ck-error:focus{box-shadow:var(--ck-focus-error-outer-shadow),0 0}@keyframes ck-input-shake{20%{transform:translateX(-2px)}40%{transform:translateX(2px)}60%{transform:translateX(-1px)}80%{transform:translateX(1px)}}","",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-ui/components/input/input.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/mixins/_rounded.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/mixins/_focus.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/mixins/_shadow.css"],names:[],mappings:"AASA,MACC,qBAAsB,CAGtB,2CACD,CAEA,aCLC,eD2CD,CAtCA,iECDE,qCDuCF,CAtCA,aAGC,2CAA4C,CAC5C,6CAA8C,CAK9C,4CAA6C,CAH7C,+BAAgC,CADhC,6DAA8D,CAO9D,4DA0BD,CAxBC,mBEnBA,2BAA2B,CCF3B,2CAA8B,CDC9B,YFuBA,CAEA,uBAEC,oDAAqD,CADrD,sDAAuD,CAEvD,yCAMD,CAJC,6BG/BD,oDHkCC,CAGD,sBAEC,sCAAuC,CADvC,+CAMD,CAHC,4BGzCD,iDH2CC,CAIF,0BACC,IACC,0BACD,CAEA,IACC,yBACD,CAEA,IACC,0BACD,CAEA,IACC,yBACD,CACD",sourcesContent:['/*\n * Copyright (c) 2003-2023, 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@import "../../../mixins/_focus.css";\n@import "../../../mixins/_shadow.css";\n\n:root {\n\t--ck-input-width: 18em;\n\n\t/* Backward compatibility. */\n\t--ck-input-text-width: var(--ck-input-width);\n}\n\n.ck.ck-input {\n\t@mixin ck-rounded-corners;\n\n\tbackground: var(--ck-color-input-background);\n\tborder: 1px solid var(--ck-color-input-border);\n\tpadding: var(--ck-spacing-extra-tiny) var(--ck-spacing-medium);\n\tmin-width: var(--ck-input-width);\n\n\t/* This is important to stay of the same height as surrounding buttons */\n\tmin-height: var(--ck-ui-component-min-height);\n\n\t/* Apply some smooth transition to the box-shadow and border. */\n\ttransition: box-shadow .1s ease-in-out, border .1s ease-in-out;\n\n\t&:focus {\n\t\t@mixin ck-focus-ring;\n\t\t@mixin ck-box-shadow var(--ck-focus-outer-shadow);\n\t}\n\n\t&[readonly] {\n\t\tborder: 1px solid var(--ck-color-input-disabled-border);\n\t\tbackground: var(--ck-color-input-disabled-background);\n\t\tcolor: var(--ck-color-input-disabled-text);\n\n\t\t&:focus {\n\t\t\t/* The read-only input should have a slightly less visible shadow when focused. */\n\t\t\t@mixin ck-box-shadow var(--ck-focus-disabled-outer-shadow);\n\t\t}\n\t}\n\n\t&.ck-error {\n\t\tborder-color: var(--ck-color-input-error-border);\n\t\tanimation: ck-input-shake .3s ease both;\n\n\t\t&:focus {\n\t\t\t@mixin ck-box-shadow var(--ck-focus-error-outer-shadow);\n\t\t}\n\t}\n}\n\n@keyframes ck-input-shake {\n\t20% {\n\t\ttransform: translateX(-2px);\n\t}\n\n\t40% {\n\t\ttransform: translateX(2px);\n\t}\n\n\t60% {\n\t\ttransform: translateX(-1px);\n\t}\n\n\t80% {\n\t\ttransform: translateX(1px);\n\t}\n}\n',"/*\n * Copyright (c) 2003-2023, 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","/*\n * Copyright (c) 2003-2023, 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 * A visual style of focused element's border.\n */\n@define-mixin ck-focus-ring {\n\t/* Disable native outline. */\n\toutline: none;\n\tborder: var(--ck-focus-ring)\n}\n","/*\n * Copyright (c) 2003-2023, 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 * A helper to combine multiple shadows.\n */\n@define-mixin ck-box-shadow $shadowA, $shadowB: 0 0 {\n\tbox-shadow: $shadowA, $shadowB;\n}\n\n/**\n * Gives an element a drop shadow so it looks like a floating panel.\n */\n@define-mixin ck-drop-shadow {\n\t@mixin ck-box-shadow var(--ck-drop-shadow);\n}\n"],sourceRoot:""}]);const c=a},3525:(t,e,n)=>{"use strict";n.d(e,{Z:()=>c});var i=n(4015);var o=n.n(i);var r=n(3645);var s=n.n(r);var a=s()(o());a.push([t.id,".ck.ck-label{display:block}.ck.ck-voice-label{display:none}.ck.ck-label{font-weight:700}","",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-ui/theme/components/label/label.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-ui/components/label/label.css"],names:[],mappings:"AAKA,aACC,aACD,CAEA,mBACC,YACD,CCNA,aACC,eACD",sourcesContent:["/*\n * Copyright (c) 2003-2023, 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-label {\n\tdisplay: block;\n}\n\n.ck.ck-voice-label {\n\tdisplay: none;\n}\n","/*\n * Copyright (c) 2003-2023, 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-label {\n\tfont-weight: bold;\n}\n"],sourceRoot:""}]);const c=a},2933:(t,e,n)=>{"use strict";n.d(e,{Z:()=>c});var i=n(4015);var o=n.n(i);var r=n(3645);var s=n.n(r);var a=s()(o());a.push([t.id,".ck.ck-labeled-field-view>.ck.ck-labeled-field-view__input-wrapper{display:flex;position:relative}.ck.ck-labeled-field-view .ck.ck-label{display:block;position:absolute}:root{--ck-labeled-field-view-transition:.1s cubic-bezier(0,0,0.24,0.95);--ck-labeled-field-empty-unfocused-max-width:100% - 2 * var(--ck-spacing-medium);--ck-labeled-field-label-default-position-x:var(--ck-spacing-medium);--ck-labeled-field-label-default-position-y:calc(var(--ck-font-size-base)*0.6);--ck-color-labeled-field-label-background:var(--ck-color-base-background)}.ck.ck-labeled-field-view{border-radius:0}.ck-rounded-corners .ck.ck-labeled-field-view,.ck.ck-labeled-field-view.ck-rounded-corners{border-radius:var(--ck-border-radius)}.ck.ck-labeled-field-view>.ck.ck-labeled-field-view__input-wrapper{width:100%}.ck.ck-labeled-field-view>.ck.ck-labeled-field-view__input-wrapper>.ck.ck-label{top:0}[dir=ltr] .ck.ck-labeled-field-view>.ck.ck-labeled-field-view__input-wrapper>.ck.ck-label{left:0;transform:translate(var(--ck-spacing-medium),-6px) scale(.75);transform-origin:0 0}[dir=rtl] .ck.ck-labeled-field-view>.ck.ck-labeled-field-view__input-wrapper>.ck.ck-label{right:0;transform:translate(calc(var(--ck-spacing-medium)*-1),-6px) scale(.75);transform-origin:100% 0}.ck.ck-labeled-field-view>.ck.ck-labeled-field-view__input-wrapper>.ck.ck-label{background:var(--ck-color-labeled-field-label-background);font-weight:400;line-height:normal;max-width:100%;overflow:hidden;padding:0 calc(var(--ck-font-size-tiny)*.5);pointer-events:none;text-overflow:ellipsis;transition:transform var(--ck-labeled-field-view-transition),padding var(--ck-labeled-field-view-transition),background var(--ck-labeled-field-view-transition)}.ck.ck-labeled-field-view.ck-error .ck-input:not([readonly])+.ck.ck-label,.ck.ck-labeled-field-view.ck-error>.ck.ck-labeled-field-view__input-wrapper>.ck.ck-label{color:var(--ck-color-base-error)}.ck.ck-labeled-field-view .ck-labeled-field-view__status{font-size:var(--ck-font-size-small);margin-top:var(--ck-spacing-small);white-space:normal}.ck.ck-labeled-field-view .ck-labeled-field-view__status.ck-labeled-field-view__status_error{color:var(--ck-color-base-error)}.ck.ck-labeled-field-view.ck-disabled>.ck.ck-labeled-field-view__input-wrapper>.ck.ck-label,.ck.ck-labeled-field-view.ck-labeled-field-view_empty:not(.ck-labeled-field-view_focused)>.ck.ck-labeled-field-view__input-wrapper>.ck.ck-label{color:var(--ck-color-input-disabled-text)}[dir=ltr] .ck.ck-labeled-field-view.ck-disabled.ck-labeled-field-view_empty:not(.ck-labeled-field-view_placeholder)>.ck.ck-labeled-field-view__input-wrapper>.ck.ck-label,[dir=ltr] .ck.ck-labeled-field-view.ck-labeled-field-view_empty:not(.ck-labeled-field-view_focused):not(.ck-labeled-field-view_placeholder)>.ck.ck-labeled-field-view__input-wrapper>.ck.ck-label{transform:translate(var(--ck-labeled-field-label-default-position-x),var(--ck-labeled-field-label-default-position-y)) scale(1)}[dir=rtl] .ck.ck-labeled-field-view.ck-disabled.ck-labeled-field-view_empty:not(.ck-labeled-field-view_placeholder)>.ck.ck-labeled-field-view__input-wrapper>.ck.ck-label,[dir=rtl] .ck.ck-labeled-field-view.ck-labeled-field-view_empty:not(.ck-labeled-field-view_focused):not(.ck-labeled-field-view_placeholder)>.ck.ck-labeled-field-view__input-wrapper>.ck.ck-label{transform:translate(calc(var(--ck-labeled-field-label-default-position-x)*-1),var(--ck-labeled-field-label-default-position-y)) scale(1)}.ck.ck-labeled-field-view.ck-disabled.ck-labeled-field-view_empty:not(.ck-labeled-field-view_placeholder)>.ck.ck-labeled-field-view__input-wrapper>.ck.ck-label,.ck.ck-labeled-field-view.ck-labeled-field-view_empty:not(.ck-labeled-field-view_focused):not(.ck-labeled-field-view_placeholder)>.ck.ck-labeled-field-view__input-wrapper>.ck.ck-label{background:transparent;max-width:calc(var(--ck-labeled-field-empty-unfocused-max-width));padding:0}.ck.ck-labeled-field-view>.ck.ck-labeled-field-view__input-wrapper>.ck-dropdown>.ck.ck-button{background:transparent}.ck.ck-labeled-field-view.ck-labeled-field-view_empty>.ck.ck-labeled-field-view__input-wrapper>.ck-dropdown>.ck-button>.ck-button__label{opacity:0}.ck.ck-labeled-field-view.ck-labeled-field-view_empty:not(.ck-labeled-field-view_focused):not(.ck-labeled-field-view_placeholder)>.ck.ck-labeled-field-view__input-wrapper>.ck-dropdown+.ck-label{max-width:calc(var(--ck-labeled-field-empty-unfocused-max-width) - var(--ck-dropdown-arrow-size) - var(--ck-spacing-standard))}","",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-ui/theme/components/labeledfield/labeledfieldview.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-ui/components/labeledfield/labeledfieldview.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/mixins/_rounded.css"],names:[],mappings:"AAMC,mEACC,YAAa,CACb,iBACD,CAEA,uCACC,aAAc,CACd,iBACD,CCND,MACC,kEAAsE,CACtE,gFAAiF,CACjF,oEAAqE,CACrE,8EAAiF,CACjF,yEACD,CAEA,0BCLC,eD+GD,CA1GA,2FCDE,qCD2GF,CAvGC,mEACC,UAoCD,CAlCC,gFACC,KAgCD,CAjCA,0FAIE,MAAS,CAGT,6DAA+D,CAF/D,oBA4BF,CAjCA,0FAWE,OAAU,CAEV,sEAA0E,CAD1E,uBAqBF,CAjCA,gFAkBC,yDAA0D,CAG1D,eAAmB,CADnB,kBAAoB,CAOpB,cAAe,CAFf,eAAgB,CANhB,2CAA8C,CAH9C,mBAAoB,CAQpB,sBAAuB,CAKvB,+JAID,CAQA,mKACC,gCACD,CAGD,yDACC,mCAAoC,CACpC,kCAAmC,CAInC,kBAKD,CAHC,6FACC,gCACD,CAID,4OAEC,yCACD,CAIA,4WAGE,+HAYF,CAfA,4WAOE,wIAQF,CAfA,wVAaC,sBAAuB,CAFvB,iEAAkE,CAGlE,SACD,CAKA,8FACC,sBACD,CAGA,yIACC,SACD,CAGA,kMACC,8HACD",sourcesContent:["/*\n * Copyright (c) 2003-2023, 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-labeled-field-view {\n\t& > .ck.ck-labeled-field-view__input-wrapper {\n\t\tdisplay: flex;\n\t\tposition: relative;\n\t}\n\n\t& .ck.ck-label {\n\t\tdisplay: block;\n\t\tposition: absolute;\n\t}\n}\n",'/*\n * Copyright (c) 2003-2023, 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/_dir.css";\n@import "../../../mixins/_rounded.css";\n\n:root {\n\t--ck-labeled-field-view-transition: .1s cubic-bezier(0, 0, 0.24, 0.95);\n\t--ck-labeled-field-empty-unfocused-max-width: 100% - 2 * var(--ck-spacing-medium);\n\t--ck-labeled-field-label-default-position-x: var(--ck-spacing-medium);\n\t--ck-labeled-field-label-default-position-y: calc(0.6 * var(--ck-font-size-base));\n\t--ck-color-labeled-field-label-background: var(--ck-color-base-background);\n}\n\n.ck.ck-labeled-field-view {\n\t@mixin ck-rounded-corners;\n\n\t& > .ck.ck-labeled-field-view__input-wrapper {\n\t\twidth: 100%;\n\n\t\t& > .ck.ck-label {\n\t\t\ttop: 0px;\n\n\t\t\t@mixin ck-dir ltr {\n\t\t\t\tleft: 0px;\n\t\t\t\ttransform-origin: 0 0;\n\t\t\t\t/* By default, display the label scaled down above the field. */\n\t\t\t\ttransform: translate(var(--ck-spacing-medium), -6px) scale(.75);\n\t\t\t}\n\n\t\t\t@mixin ck-dir rtl {\n\t\t\t\tright: 0px;\n\t\t\t\ttransform-origin: 100% 0;\n\t\t\t\ttransform: translate(calc(-1 * var(--ck-spacing-medium)), -6px) scale(.75);\n\t\t\t}\n\n\t\t\tpointer-events: none;\n\n\t\t\tbackground: var(--ck-color-labeled-field-label-background);\n\t\t\tpadding: 0 calc(.5 * var(--ck-font-size-tiny));\n\t\t\tline-height: initial;\n\t\t\tfont-weight: normal;\n\n\t\t\t/* Prevent overflow when the label is longer than the input */\n\t\t\ttext-overflow: ellipsis;\n\t\t\toverflow: hidden;\n\n\t\t\tmax-width: 100%;\n\n\t\t\ttransition:\n\t\t\t\ttransform var(--ck-labeled-field-view-transition),\n\t\t\t\tpadding var(--ck-labeled-field-view-transition),\n\t\t\t\tbackground var(--ck-labeled-field-view-transition);\n\t\t}\n\t}\n\n\t&.ck-error {\n\t\t& > .ck.ck-labeled-field-view__input-wrapper > .ck.ck-label {\n\t\t\tcolor: var(--ck-color-base-error);\n\t\t}\n\n\t\t& .ck-input:not([readonly]) + .ck.ck-label {\n\t\t\tcolor: var(--ck-color-base-error);\n\t\t}\n\t}\n\n\t& .ck-labeled-field-view__status {\n\t\tfont-size: var(--ck-font-size-small);\n\t\tmargin-top: var(--ck-spacing-small);\n\n\t\t/* Let the info wrap to the next line to avoid stretching the layout horizontally.\n\t\tThe status could be very long. */\n\t\twhite-space: normal;\n\n\t\t&.ck-labeled-field-view__status_error {\n\t\t\tcolor: var(--ck-color-base-error);\n\t\t}\n\t}\n\n\t/* Disabled fields and fields that have no focus should fade out. */\n\t&.ck-disabled > .ck.ck-labeled-field-view__input-wrapper > .ck.ck-label,\n\t&.ck-labeled-field-view_empty:not(.ck-labeled-field-view_focused) > .ck.ck-labeled-field-view__input-wrapper > .ck.ck-label {\n\t\tcolor: var(--ck-color-input-disabled-text);\n\t}\n\n\t/* Fields that are disabled or not focused and without a placeholder should have full-sized labels. */\n\t/* stylelint-disable-next-line no-descending-specificity */\n\t&.ck-disabled.ck-labeled-field-view_empty:not(.ck-labeled-field-view_placeholder) > .ck.ck-labeled-field-view__input-wrapper > .ck.ck-label,\n\t&.ck-labeled-field-view_empty:not(.ck-labeled-field-view_focused):not(.ck-labeled-field-view_placeholder) > .ck.ck-labeled-field-view__input-wrapper > .ck.ck-label {\n\t\t@mixin ck-dir ltr {\n\t\t\ttransform: translate(var(--ck-labeled-field-label-default-position-x), var(--ck-labeled-field-label-default-position-y)) scale(1);\n\t\t}\n\n\t\t@mixin ck-dir rtl {\n\t\t\ttransform: translate(calc(-1 * var(--ck-labeled-field-label-default-position-x)), var(--ck-labeled-field-label-default-position-y)) scale(1);\n\t\t}\n\n\t\t/* Compensate for the default translate position. */\n\t\tmax-width: calc(var(--ck-labeled-field-empty-unfocused-max-width));\n\n\t\tbackground: transparent;\n\t\tpadding: 0;\n\t}\n\n\t/*------ DropdownView integration ----------------------------------------------------------------------------------- */\n\n\t/* Make sure dropdown\' background color in any of dropdown\'s state does not collide with labeled field. */\n\t& > .ck.ck-labeled-field-view__input-wrapper > .ck-dropdown > .ck.ck-button {\n\t\tbackground: transparent;\n\t}\n\n\t/* When the dropdown is "empty", the labeled field label replaces its label. */\n\t&.ck-labeled-field-view_empty > .ck.ck-labeled-field-view__input-wrapper > .ck-dropdown > .ck-button > .ck-button__label {\n\t\topacity: 0;\n\t}\n\n\t/* Make sure the label of the empty, unfocused input does not cover the dropdown arrow. */\n\t&.ck-labeled-field-view_empty:not(.ck-labeled-field-view_focused):not(.ck-labeled-field-view_placeholder) > .ck.ck-labeled-field-view__input-wrapper > .ck-dropdown + .ck-label {\n\t\tmax-width: calc(var(--ck-labeled-field-empty-unfocused-max-width) - var(--ck-dropdown-arrow-size) - var(--ck-spacing-standard));\n\t}\n}\n',"/*\n * Copyright (c) 2003-2023, 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 c=a},179:(t,e,n)=>{"use strict";n.d(e,{Z:()=>c});var i=n(4015);var o=n.n(i);var r=n(3645);var s=n.n(r);var a=s()(o());a.push([t.id,".ck.ck-list{display:flex;flex-direction:column;-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none;user-select:none}.ck.ck-list .ck-list__item,.ck.ck-list .ck-list__separator{display:block}.ck.ck-list .ck-list__item>:focus{position:relative;z-index:var(--ck-z-default)}:root{--ck-list-button-padding:calc(var(--ck-line-height-base)*0.2*var(--ck-font-size-base)) calc(var(--ck-line-height-base)*0.4*var(--ck-font-size-base))}.ck.ck-list{border-radius:0}.ck-rounded-corners .ck.ck-list,.ck.ck-list.ck-rounded-corners{border-radius:var(--ck-border-radius)}.ck.ck-list{background:var(--ck-color-list-background);list-style-type:none}.ck.ck-list__item{cursor:default;min-width:12em}.ck.ck-list__item .ck-button{border-radius:0;min-height:unset;width:100%}[dir=ltr] .ck.ck-list__item .ck-button{text-align:left}[dir=rtl] .ck.ck-list__item .ck-button{text-align:right}.ck.ck-list__item .ck-button{padding:var(--ck-list-button-padding)}.ck.ck-list__item .ck-button .ck-button__label{line-height:calc(var(--ck-line-height-base)*1.2*var(--ck-font-size-base))}.ck.ck-list__item .ck-button:active{box-shadow:none}.ck.ck-list__item .ck-button.ck-on{background:var(--ck-color-list-button-on-background);color:var(--ck-color-list-button-on-text)}.ck.ck-list__item .ck-button.ck-on:active{box-shadow:none}.ck.ck-list__item .ck-button.ck-on:hover:not(.ck-disabled){background:var(--ck-color-list-button-on-background-focus)}.ck.ck-list__item .ck-button.ck-on:focus:not(.ck-switchbutton):not(.ck-disabled){border-color:var(--ck-color-base-background)}.ck.ck-list__item .ck-button:hover:not(.ck-disabled){background:var(--ck-color-list-button-hover-background)}.ck.ck-list__item .ck-switchbutton.ck-on{background:var(--ck-color-list-background);color:inherit}.ck.ck-list__item .ck-switchbutton.ck-on:hover:not(.ck-disabled){background:var(--ck-color-list-button-hover-background);color:inherit}.ck-list .ck-list__group{padding-top:var(--ck-spacing-medium);:not(.ck-hidden)~&{border-top:1px solid var(--ck-color-base-border)}}.ck-list .ck-list__group>.ck-label{font-size:11px;font-weight:700;padding:var(--ck-spacing-medium) var(--ck-spacing-medium) 0 var(--ck-spacing-medium)}.ck.ck-list__separator{background:var(--ck-color-base-border);height:1px;width:100%}","",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-ui/theme/components/list/list.css","webpack://./node_modules/@ckeditor/ckeditor5-ui/theme/mixins/_unselectable.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-ui/components/list/list.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/mixins/_rounded.css"],names:[],mappings:"AAOA,YAGC,YAAa,CACb,qBAAsB,CCFtB,qBAAsB,CACtB,wBAAyB,CACzB,oBAAqB,CACrB,gBDaD,CAZC,2DAEC,aACD,CAKA,kCACC,iBAAkB,CAClB,2BACD,CEdD,MACC,oJAGD,CAEA,YCLC,eDUD,CALA,+DCDE,qCDMF,CALA,YAIC,0CAA2C,CAD3C,oBAED,CAEA,kBACC,cAAe,CACf,cAgED,CA9DC,6BAGC,eAAgB,CAFhB,gBAAiB,CACjB,UA6CD,CA/CA,uCAME,eAyCF,CA/CA,uCAUE,gBAqCF,CA/CA,6BAgBC,qCA+BD,CA7BC,+CAEC,yEACD,CAEA,oCACC,eACD,CAEA,mCACC,oDAAqD,CACrD,yCAaD,CAXC,0CACC,eACD,CAEA,2DACC,0DACD,CAEA,iFACC,4CACD,CAGD,qDACC,uDACD,CAMA,yCACC,0CAA2C,CAC3C,aAMD,CAJC,iEACC,uDAAwD,CACxD,aACD,CAKH,yBACC,oCAAqC,CAGrC,mBACC,gDACD,CAOD,CALC,mCACC,cAAe,CACf,eAAiB,CACjB,oFACD,CAGD,uBAGC,sCAAuC,CAFvC,UAAW,CACX,UAED",sourcesContent:['/*\n * Copyright (c) 2003-2023, 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/_unselectable.css";\n\n.ck.ck-list {\n\t@mixin ck-unselectable;\n\n\tdisplay: flex;\n\tflex-direction: column;\n\n\t& .ck-list__item,\n\t& .ck-list__separator {\n\t\tdisplay: block;\n\t}\n\n\t/* Make sure that whatever child of the list item gets focus, it remains on the\n\ttop. Thanks to that, styles like box-shadow, outline, etc. are not masked by\n\tadjacent list items. */\n\t& .ck-list__item > *:focus {\n\t\tposition: relative;\n\t\tz-index: var(--ck-z-default);\n\t}\n}\n',"/*\n * Copyright (c) 2003-2023, 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",'/*\n * Copyright (c) 2003-2023, 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/_disabled.css";\n@import "../../../mixins/_rounded.css";\n@import "../../../mixins/_shadow.css";\n@import "@ckeditor/ckeditor5-ui/theme/mixins/_dir.css";\n\n:root {\n\t--ck-list-button-padding:\n\t\tcalc(.2 * var(--ck-line-height-base) * var(--ck-font-size-base))\n\t\tcalc(.4 * var(--ck-line-height-base) * var(--ck-font-size-base));\n}\n\n.ck.ck-list {\n\t@mixin ck-rounded-corners;\n\n\tlist-style-type: none;\n\tbackground: var(--ck-color-list-background);\n}\n\n.ck.ck-list__item {\n\tcursor: default;\n\tmin-width: 12em;\n\n\t& .ck-button {\n\t\tmin-height: unset;\n\t\twidth: 100%;\n\t\tborder-radius: 0;\n\n\t\t@mixin ck-dir ltr {\n\t\t\ttext-align: left;\n\t\t}\n\n\t\t@mixin ck-dir rtl {\n\t\t\ttext-align: right;\n\t\t}\n\n\t\t/* List items should have the same height. Use absolute units to make sure it is so\n\t\t because e.g. different heading styles may have different height\n\t\t https://github.com/ckeditor/ckeditor5-heading/issues/63 */\n\t\tpadding: var(--ck-list-button-padding);\n\n\t\t& .ck-button__label {\n\t\t\t/* https://github.com/ckeditor/ckeditor5-heading/issues/63 */\n\t\t\tline-height: calc(1.2 * var(--ck-line-height-base) * var(--ck-font-size-base));\n\t\t}\n\n\t\t&:active {\n\t\t\tbox-shadow: none;\n\t\t}\n\n\t\t&.ck-on {\n\t\t\tbackground: var(--ck-color-list-button-on-background);\n\t\t\tcolor: var(--ck-color-list-button-on-text);\n\n\t\t\t&:active {\n\t\t\t\tbox-shadow: none;\n\t\t\t}\n\n\t\t\t&:hover:not(.ck-disabled) {\n\t\t\t\tbackground: var(--ck-color-list-button-on-background-focus);\n\t\t\t}\n\n\t\t\t&:focus:not(.ck-switchbutton):not(.ck-disabled) {\n\t\t\t\tborder-color: var(--ck-color-base-background);\n\t\t\t}\n\t\t}\n\n\t\t&:hover:not(.ck-disabled) {\n\t\t\tbackground: var(--ck-color-list-button-hover-background);\n\t\t}\n\t}\n\n\t/* It\'s unnecessary to change the background/text of a switch toggle; it has different ways\n\tof conveying its state (like the switcher) */\n\t& .ck-switchbutton {\n\t\t&.ck-on {\n\t\t\tbackground: var(--ck-color-list-background);\n\t\t\tcolor: inherit;\n\n\t\t\t&:hover:not(.ck-disabled) {\n\t\t\t\tbackground: var(--ck-color-list-button-hover-background);\n\t\t\t\tcolor: inherit;\n\t\t\t}\n\t\t}\n\t}\n}\n\n.ck-list .ck-list__group {\n\tpadding-top: var(--ck-spacing-medium);\n\n\t/* The group should have a border when it\'s not the first item. */\n\t*:not(.ck-hidden) ~ & {\n\t\tborder-top: 1px solid var(--ck-color-base-border);\n\t}\n\n\t& > .ck-label {\n\t\tfont-size: 11px;\n\t\tfont-weight: bold;\n\t\tpadding: var(--ck-spacing-medium) var(--ck-spacing-medium) 0 var(--ck-spacing-medium);\n\t}\n}\n\n.ck.ck-list__separator {\n\theight: 1px;\n\twidth: 100%;\n\tbackground: var(--ck-color-base-border);\n}\n',"/*\n * Copyright (c) 2003-2023, 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 c=a},4460:(t,e,n)=>{"use strict";n.d(e,{Z:()=>c});var i=n(4015);var o=n.n(i);var r=n(3645);var s=n.n(r);var a=s()(o());a.push([t.id,':root{--ck-balloon-panel-arrow-z-index:calc(var(--ck-z-default) - 3)}.ck.ck-balloon-panel{display:none;position:absolute;z-index:var(--ck-z-modal)}.ck.ck-balloon-panel.ck-balloon-panel_with-arrow:after,.ck.ck-balloon-panel.ck-balloon-panel_with-arrow:before{content:"";position:absolute}.ck.ck-balloon-panel.ck-balloon-panel_with-arrow:before{z-index:var(--ck-balloon-panel-arrow-z-index)}.ck.ck-balloon-panel.ck-balloon-panel_with-arrow:after{z-index:calc(var(--ck-balloon-panel-arrow-z-index) + 1)}.ck.ck-balloon-panel[class*=arrow_n]:before{z-index:var(--ck-balloon-panel-arrow-z-index)}.ck.ck-balloon-panel[class*=arrow_n]:after{z-index:calc(var(--ck-balloon-panel-arrow-z-index) + 1)}.ck.ck-balloon-panel[class*=arrow_s]:before{z-index:var(--ck-balloon-panel-arrow-z-index)}.ck.ck-balloon-panel[class*=arrow_s]:after{z-index:calc(var(--ck-balloon-panel-arrow-z-index) + 1)}.ck.ck-balloon-panel.ck-balloon-panel_visible{display:block}:root{--ck-balloon-border-width:1px;--ck-balloon-arrow-offset:2px;--ck-balloon-arrow-height:10px;--ck-balloon-arrow-half-width:8px;--ck-balloon-arrow-drop-shadow:0 2px 2px var(--ck-color-shadow-drop)}.ck.ck-balloon-panel{border-radius:0}.ck-rounded-corners .ck.ck-balloon-panel,.ck.ck-balloon-panel.ck-rounded-corners{border-radius:var(--ck-border-radius)}.ck.ck-balloon-panel{background:var(--ck-color-panel-background);border:var(--ck-balloon-border-width) solid var(--ck-color-panel-border);box-shadow:var(--ck-drop-shadow),0 0;min-height:15px}.ck.ck-balloon-panel.ck-balloon-panel_with-arrow:after,.ck.ck-balloon-panel.ck-balloon-panel_with-arrow:before{border-style:solid;height:0;width:0}.ck.ck-balloon-panel[class*=arrow_n]:after,.ck.ck-balloon-panel[class*=arrow_n]:before{border-width:0 var(--ck-balloon-arrow-half-width) var(--ck-balloon-arrow-height) var(--ck-balloon-arrow-half-width)}.ck.ck-balloon-panel[class*=arrow_n]:before{border-color:transparent transparent var(--ck-color-panel-border) transparent;margin-top:calc(var(--ck-balloon-border-width)*-1)}.ck.ck-balloon-panel[class*=arrow_n]:after{border-color:transparent transparent var(--ck-color-panel-background) transparent;margin-top:calc(var(--ck-balloon-arrow-offset) - var(--ck-balloon-border-width))}.ck.ck-balloon-panel[class*=arrow_s]:after,.ck.ck-balloon-panel[class*=arrow_s]:before{border-width:var(--ck-balloon-arrow-height) var(--ck-balloon-arrow-half-width) 0 var(--ck-balloon-arrow-half-width)}.ck.ck-balloon-panel[class*=arrow_s]:before{border-color:var(--ck-color-panel-border) transparent transparent;filter:drop-shadow(var(--ck-balloon-arrow-drop-shadow));margin-bottom:calc(var(--ck-balloon-border-width)*-1)}.ck.ck-balloon-panel[class*=arrow_s]:after{border-color:var(--ck-color-panel-background) transparent transparent transparent;margin-bottom:calc(var(--ck-balloon-arrow-offset) - var(--ck-balloon-border-width))}.ck.ck-balloon-panel[class*=arrow_e]:after,.ck.ck-balloon-panel[class*=arrow_e]:before{border-width:var(--ck-balloon-arrow-half-width) 0 var(--ck-balloon-arrow-half-width) var(--ck-balloon-arrow-height)}.ck.ck-balloon-panel[class*=arrow_e]:before{border-color:transparent transparent transparent var(--ck-color-panel-border);margin-right:calc(var(--ck-balloon-border-width)*-1)}.ck.ck-balloon-panel[class*=arrow_e]:after{border-color:transparent transparent transparent var(--ck-color-panel-background);margin-right:calc(var(--ck-balloon-arrow-offset) - var(--ck-balloon-border-width))}.ck.ck-balloon-panel[class*=arrow_w]:after,.ck.ck-balloon-panel[class*=arrow_w]:before{border-width:var(--ck-balloon-arrow-half-width) var(--ck-balloon-arrow-height) var(--ck-balloon-arrow-half-width) 0}.ck.ck-balloon-panel[class*=arrow_w]:before{border-color:transparent var(--ck-color-panel-border) transparent transparent;margin-left:calc(var(--ck-balloon-border-width)*-1)}.ck.ck-balloon-panel[class*=arrow_w]:after{border-color:transparent var(--ck-color-panel-background) transparent transparent;margin-left:calc(var(--ck-balloon-arrow-offset) - var(--ck-balloon-border-width))}.ck.ck-balloon-panel.ck-balloon-panel_arrow_n:after,.ck.ck-balloon-panel.ck-balloon-panel_arrow_n:before{left:50%;margin-left:calc(var(--ck-balloon-arrow-half-width)*-1);top:calc(var(--ck-balloon-arrow-height)*-1)}.ck.ck-balloon-panel.ck-balloon-panel_arrow_nw:after,.ck.ck-balloon-panel.ck-balloon-panel_arrow_nw:before{left:calc(var(--ck-balloon-arrow-half-width)*2);top:calc(var(--ck-balloon-arrow-height)*-1)}.ck.ck-balloon-panel.ck-balloon-panel_arrow_ne:after,.ck.ck-balloon-panel.ck-balloon-panel_arrow_ne:before{right:calc(var(--ck-balloon-arrow-half-width)*2);top:calc(var(--ck-balloon-arrow-height)*-1)}.ck.ck-balloon-panel.ck-balloon-panel_arrow_s:after,.ck.ck-balloon-panel.ck-balloon-panel_arrow_s:before{bottom:calc(var(--ck-balloon-arrow-height)*-1);left:50%;margin-left:calc(var(--ck-balloon-arrow-half-width)*-1)}.ck.ck-balloon-panel.ck-balloon-panel_arrow_sw:after,.ck.ck-balloon-panel.ck-balloon-panel_arrow_sw:before{bottom:calc(var(--ck-balloon-arrow-height)*-1);left:calc(var(--ck-balloon-arrow-half-width)*2)}.ck.ck-balloon-panel.ck-balloon-panel_arrow_se:after,.ck.ck-balloon-panel.ck-balloon-panel_arrow_se:before{bottom:calc(var(--ck-balloon-arrow-height)*-1);right:calc(var(--ck-balloon-arrow-half-width)*2)}.ck.ck-balloon-panel.ck-balloon-panel_arrow_sme:after,.ck.ck-balloon-panel.ck-balloon-panel_arrow_sme:before{bottom:calc(var(--ck-balloon-arrow-height)*-1);margin-right:calc(var(--ck-balloon-arrow-half-width)*2);right:25%}.ck.ck-balloon-panel.ck-balloon-panel_arrow_smw:after,.ck.ck-balloon-panel.ck-balloon-panel_arrow_smw:before{bottom:calc(var(--ck-balloon-arrow-height)*-1);left:25%;margin-left:calc(var(--ck-balloon-arrow-half-width)*2)}.ck.ck-balloon-panel.ck-balloon-panel_arrow_nme:after,.ck.ck-balloon-panel.ck-balloon-panel_arrow_nme:before{margin-right:calc(var(--ck-balloon-arrow-half-width)*2);right:25%;top:calc(var(--ck-balloon-arrow-height)*-1)}.ck.ck-balloon-panel.ck-balloon-panel_arrow_nmw:after,.ck.ck-balloon-panel.ck-balloon-panel_arrow_nmw:before{left:25%;margin-left:calc(var(--ck-balloon-arrow-half-width)*2);top:calc(var(--ck-balloon-arrow-height)*-1)}.ck.ck-balloon-panel.ck-balloon-panel_arrow_e:after,.ck.ck-balloon-panel.ck-balloon-panel_arrow_e:before{margin-top:calc(var(--ck-balloon-arrow-half-width)*-1);right:calc(var(--ck-balloon-arrow-height)*-1);top:50%}.ck.ck-balloon-panel.ck-balloon-panel_arrow_w:after,.ck.ck-balloon-panel.ck-balloon-panel_arrow_w:before{left:calc(var(--ck-balloon-arrow-height)*-1);margin-top:calc(var(--ck-balloon-arrow-half-width)*-1);top:50%}',"",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-ui/theme/components/panel/balloonpanel.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-ui/components/panel/balloonpanel.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/mixins/_rounded.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/mixins/_shadow.css"],names:[],mappings:"AAKA,MAEC,8DACD,CAEA,qBACC,YAAa,CACb,iBAAkB,CAElB,yBAyCD,CAtCE,+GAEC,UAAW,CACX,iBACD,CAEA,wDACC,6CACD,CAEA,uDACC,uDACD,CAIA,4CACC,6CACD,CAEA,2CACC,uDACD,CAIA,4CACC,6CACD,CAEA,2CACC,uDACD,CAGD,8CACC,aACD,CC9CD,MACC,6BAA8B,CAC9B,6BAA8B,CAC9B,8BAA+B,CAC/B,iCAAkC,CAClC,oEACD,CAEA,qBCLC,eDmMD,CA9LA,iFCDE,qCD+LF,CA9LA,qBAMC,2CAA4C,CAC5C,wEAAyE,CEdzE,oCAA8B,CFW9B,eA0LD,CApLE,+GAIC,kBAAmB,CADnB,QAAS,CADT,OAGD,CAIA,uFAEC,mHACD,CAEA,4CACC,6EAA8E,CAC9E,kDACD,CAEA,2CACC,iFAAkF,CAClF,gFACD,CAIA,uFAEC,mHACD,CAEA,4CACC,iEAAkE,CAClE,uDAAwD,CACxD,qDACD,CAEA,2CACC,iFAAkF,CAClF,mFACD,CAIA,uFAEC,mHACD,CAEA,4CACC,6EAA8E,CAC9E,oDACD,CAEA,2CACC,iFAAkF,CAClF,kFACD,CAIA,uFAEC,mHACD,CAEA,4CACC,6EAA8E,CAC9E,mDACD,CAEA,2CACC,iFAAkF,CAClF,iFACD,CAIA,yGAEC,QAAS,CACT,uDAA0D,CAC1D,2CACD,CAIA,2GAEC,+CAAkD,CAClD,2CACD,CAIA,2GAEC,gDAAmD,CACnD,2CACD,CAIA,yGAIC,8CAAiD,CAFjD,QAAS,CACT,uDAED,CAIA,2GAGC,8CAAiD,CADjD,+CAED,CAIA,2GAGC,8CAAiD,CADjD,gDAED,CAIA,6GAIC,8CAAiD,CADjD,uDAA0D,CAD1D,SAGD,CAIA,6GAIC,8CAAiD,CAFjD,QAAS,CACT,sDAED,CAIA,6GAGC,uDAA0D,CAD1D,SAAU,CAEV,2CACD,CAIA,6GAEC,QAAS,CACT,sDAAyD,CACzD,2CACD,CAIA,yGAGC,sDAAyD,CADzD,6CAAgD,CAEhD,OACD,CAIA,yGAEC,4CAA+C,CAC/C,sDAAyD,CACzD,OACD",sourcesContent:['/*\n * Copyright (c) 2003-2023, 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/* Make sure the balloon arrow does not float over its children. */\n\t--ck-balloon-panel-arrow-z-index: calc(var(--ck-z-default) - 3);\n}\n\n.ck.ck-balloon-panel {\n\tdisplay: none;\n\tposition: absolute;\n\n\tz-index: var(--ck-z-modal);\n\n\t&.ck-balloon-panel_with-arrow {\n\t\t&::before,\n\t\t&::after {\n\t\t\tcontent: "";\n\t\t\tposition: absolute;\n\t\t}\n\n\t\t&::before {\n\t\t\tz-index: var(--ck-balloon-panel-arrow-z-index);\n\t\t}\n\n\t\t&::after {\n\t\t\tz-index: calc(var(--ck-balloon-panel-arrow-z-index) + 1);\n\t\t}\n\t}\n\n\t&[class*="arrow_n"] {\n\t\t&::before {\n\t\t\tz-index: var(--ck-balloon-panel-arrow-z-index);\n\t\t}\n\n\t\t&::after {\n\t\t\tz-index: calc(var(--ck-balloon-panel-arrow-z-index) + 1);\n\t\t}\n\t}\n\n\t&[class*="arrow_s"] {\n\t\t&::before {\n\t\t\tz-index: var(--ck-balloon-panel-arrow-z-index);\n\t\t}\n\n\t\t&::after {\n\t\t\tz-index: calc(var(--ck-balloon-panel-arrow-z-index) + 1);\n\t\t}\n\t}\n\n\t&.ck-balloon-panel_visible {\n\t\tdisplay: block;\n\t}\n}\n','/*\n * Copyright (c) 2003-2023, 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@import "../../../mixins/_shadow.css";\n\n:root {\n\t--ck-balloon-border-width: 1px;\n\t--ck-balloon-arrow-offset: 2px;\n\t--ck-balloon-arrow-height: 10px;\n\t--ck-balloon-arrow-half-width: 8px;\n\t--ck-balloon-arrow-drop-shadow: 0 2px 2px var(--ck-color-shadow-drop);\n}\n\n.ck.ck-balloon-panel {\n\t@mixin ck-rounded-corners;\n\t@mixin ck-drop-shadow;\n\n\tmin-height: 15px;\n\n\tbackground: var(--ck-color-panel-background);\n\tborder: var(--ck-balloon-border-width) solid var(--ck-color-panel-border);\n\n\t&.ck-balloon-panel_with-arrow {\n\t\t&::before,\n\t\t&::after {\n\t\t\twidth: 0;\n\t\t\theight: 0;\n\t\t\tborder-style: solid;\n\t\t}\n\t}\n\n\t&[class*="arrow_n"] {\n\t\t&::before,\n\t\t&::after {\n\t\t\tborder-width: 0 var(--ck-balloon-arrow-half-width) var(--ck-balloon-arrow-height) var(--ck-balloon-arrow-half-width);\n\t\t}\n\n\t\t&::before {\n\t\t\tborder-color: transparent transparent var(--ck-color-panel-border) transparent;\n\t\t\tmargin-top: calc( -1 * var(--ck-balloon-border-width) );\n\t\t}\n\n\t\t&::after {\n\t\t\tborder-color: transparent transparent var(--ck-color-panel-background) transparent;\n\t\t\tmargin-top: calc( var(--ck-balloon-arrow-offset) - var(--ck-balloon-border-width) );\n\t\t}\n\t}\n\n\t&[class*="arrow_s"] {\n\t\t&::before,\n\t\t&::after {\n\t\t\tborder-width: var(--ck-balloon-arrow-height) var(--ck-balloon-arrow-half-width) 0 var(--ck-balloon-arrow-half-width);\n\t\t}\n\n\t\t&::before {\n\t\t\tborder-color: var(--ck-color-panel-border) transparent transparent;\n\t\t\tfilter: drop-shadow(var(--ck-balloon-arrow-drop-shadow));\n\t\t\tmargin-bottom: calc( -1 * var(--ck-balloon-border-width) );\n\t\t}\n\n\t\t&::after {\n\t\t\tborder-color: var(--ck-color-panel-background) transparent transparent transparent;\n\t\t\tmargin-bottom: calc( var(--ck-balloon-arrow-offset) - var(--ck-balloon-border-width) );\n\t\t}\n\t}\n\n\t&[class*="arrow_e"] {\n\t\t&::before,\n\t\t&::after {\n\t\t\tborder-width: var(--ck-balloon-arrow-half-width) 0 var(--ck-balloon-arrow-half-width) var(--ck-balloon-arrow-height);\n\t\t}\n\n\t\t&::before {\n\t\t\tborder-color: transparent transparent transparent var(--ck-color-panel-border);\n\t\t\tmargin-right: calc( -1 * var(--ck-balloon-border-width) );\n\t\t}\n\n\t\t&::after {\n\t\t\tborder-color: transparent transparent transparent var(--ck-color-panel-background);\n\t\t\tmargin-right: calc( var(--ck-balloon-arrow-offset) - var(--ck-balloon-border-width) );\n\t\t}\n\t}\n\n\t&[class*="arrow_w"] {\n\t\t&::before,\n\t\t&::after {\n\t\t\tborder-width: var(--ck-balloon-arrow-half-width) var(--ck-balloon-arrow-height) var(--ck-balloon-arrow-half-width) 0;\n\t\t}\n\n\t\t&::before {\n\t\t\tborder-color: transparent var(--ck-color-panel-border) transparent transparent;\n\t\t\tmargin-left: calc( -1 * var(--ck-balloon-border-width) );\n\t\t}\n\n\t\t&::after {\n\t\t\tborder-color: transparent var(--ck-color-panel-background) transparent transparent;\n\t\t\tmargin-left: calc( var(--ck-balloon-arrow-offset) - var(--ck-balloon-border-width) );\n\t\t}\n\t}\n\n\t&.ck-balloon-panel_arrow_n {\n\t\t&::before,\n\t\t&::after {\n\t\t\tleft: 50%;\n\t\t\tmargin-left: calc(-1 * var(--ck-balloon-arrow-half-width));\n\t\t\ttop: calc(-1 * var(--ck-balloon-arrow-height));\n\t\t}\n\t}\n\n\t&.ck-balloon-panel_arrow_nw {\n\t\t&::before,\n\t\t&::after {\n\t\t\tleft: calc(2 * var(--ck-balloon-arrow-half-width));\n\t\t\ttop: calc(-1 * var(--ck-balloon-arrow-height));\n\t\t}\n\t}\n\n\t&.ck-balloon-panel_arrow_ne {\n\t\t&::before,\n\t\t&::after {\n\t\t\tright: calc(2 * var(--ck-balloon-arrow-half-width));\n\t\t\ttop: calc(-1 * var(--ck-balloon-arrow-height));\n\t\t}\n\t}\n\n\t&.ck-balloon-panel_arrow_s {\n\t\t&::before,\n\t\t&::after {\n\t\t\tleft: 50%;\n\t\t\tmargin-left: calc(-1 * var(--ck-balloon-arrow-half-width));\n\t\t\tbottom: calc(-1 * var(--ck-balloon-arrow-height));\n\t\t}\n\t}\n\n\t&.ck-balloon-panel_arrow_sw {\n\t\t&::before,\n\t\t&::after {\n\t\t\tleft: calc(2 * var(--ck-balloon-arrow-half-width));\n\t\t\tbottom: calc(-1 * var(--ck-balloon-arrow-height));\n\t\t}\n\t}\n\n\t&.ck-balloon-panel_arrow_se {\n\t\t&::before,\n\t\t&::after {\n\t\t\tright: calc(2 * var(--ck-balloon-arrow-half-width));\n\t\t\tbottom: calc(-1 * var(--ck-balloon-arrow-height));\n\t\t}\n\t}\n\n\t&.ck-balloon-panel_arrow_sme {\n\t\t&::before,\n\t\t&::after {\n\t\t\tright: 25%;\n\t\t\tmargin-right: calc(2 * var(--ck-balloon-arrow-half-width));\n\t\t\tbottom: calc(-1 * var(--ck-balloon-arrow-height));\n\t\t}\n\t}\n\n\t&.ck-balloon-panel_arrow_smw {\n\t\t&::before,\n\t\t&::after {\n\t\t\tleft: 25%;\n\t\t\tmargin-left: calc(2 * var(--ck-balloon-arrow-half-width));\n\t\t\tbottom: calc(-1 * var(--ck-balloon-arrow-height));\n\t\t}\n\t}\n\n\t&.ck-balloon-panel_arrow_nme {\n\t\t&::before,\n\t\t&::after {\n\t\t\tright: 25%;\n\t\t\tmargin-right: calc(2 * var(--ck-balloon-arrow-half-width));\n\t\t\ttop: calc(-1 * var(--ck-balloon-arrow-height));\n\t\t}\n\t}\n\n\t&.ck-balloon-panel_arrow_nmw {\n\t\t&::before,\n\t\t&::after {\n\t\t\tleft: 25%;\n\t\t\tmargin-left: calc(2 * var(--ck-balloon-arrow-half-width));\n\t\t\ttop: calc(-1 * var(--ck-balloon-arrow-height));\n\t\t}\n\t}\n\n\t&.ck-balloon-panel_arrow_e {\n\t\t&::before,\n\t\t&::after {\n\t\t\tright: calc(-1 * var(--ck-balloon-arrow-height));\n\t\t\tmargin-top: calc(-1 * var(--ck-balloon-arrow-half-width));\n\t\t\ttop: 50%;\n\t\t}\n\t}\n\n\t&.ck-balloon-panel_arrow_w {\n\t\t&::before,\n\t\t&::after {\n\t\t\tleft: calc(-1 * var(--ck-balloon-arrow-height));\n\t\t\tmargin-top: calc(-1 * var(--ck-balloon-arrow-half-width));\n\t\t\ttop: 50%;\n\t\t}\n\t}\n}\n',"/*\n * Copyright (c) 2003-2023, 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","/*\n * Copyright (c) 2003-2023, 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 * A helper to combine multiple shadows.\n */\n@define-mixin ck-box-shadow $shadowA, $shadowB: 0 0 {\n\tbox-shadow: $shadowA, $shadowB;\n}\n\n/**\n * Gives an element a drop shadow so it looks like a floating panel.\n */\n@define-mixin ck-drop-shadow {\n\t@mixin ck-box-shadow var(--ck-drop-shadow);\n}\n"],sourceRoot:""}]);const c=a},7592:(t,e,n)=>{"use strict";n.d(e,{Z:()=>c});var i=n(4015);var o=n.n(i);var r=n(3645);var s=n.n(r);var a=s()(o());a.push([t.id,".ck .ck-balloon-rotator__navigation{align-items:center;display:flex;justify-content:center}.ck .ck-balloon-rotator__content .ck-toolbar{justify-content:center}.ck .ck-balloon-rotator__navigation{background:var(--ck-color-toolbar-background);border-bottom:1px solid var(--ck-color-toolbar-border);padding:0 var(--ck-spacing-small)}.ck .ck-balloon-rotator__navigation>*{margin-bottom:var(--ck-spacing-small);margin-right:var(--ck-spacing-small);margin-top:var(--ck-spacing-small)}.ck .ck-balloon-rotator__navigation .ck-balloon-rotator__counter{margin-left:var(--ck-spacing-small);margin-right:var(--ck-spacing-standard)}.ck .ck-balloon-rotator__content .ck.ck-annotation-wrapper{box-shadow:none}","",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-ui/theme/components/panel/balloonrotator.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-ui/components/panel/balloonrotator.css"],names:[],mappings:"AAKA,oCAEC,kBAAmB,CADnB,YAAa,CAEb,sBACD,CAKA,6CACC,sBACD,CCXA,oCACC,6CAA8C,CAC9C,sDAAuD,CACvD,iCAgBD,CAbC,sCAGC,qCAAsC,CAFtC,oCAAqC,CACrC,kCAED,CAGA,iEAIC,mCAAoC,CAHpC,uCAID,CAMA,2DACC,eACD",sourcesContent:["/*\n * Copyright (c) 2003-2023, 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-balloon-rotator__navigation {\n\tdisplay: flex;\n\talign-items: center;\n\tjustify-content: center;\n}\n\n/* Buttons inside a toolbar should be centered when rotator bar is wider.\n * See: https://github.com/ckeditor/ckeditor5-ui/issues/495\n */\n.ck .ck-balloon-rotator__content .ck-toolbar {\n\tjustify-content: center;\n}\n","/*\n * Copyright (c) 2003-2023, 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-balloon-rotator__navigation {\n\tbackground: var(--ck-color-toolbar-background);\n\tborder-bottom: 1px solid var(--ck-color-toolbar-border);\n\tpadding: 0 var(--ck-spacing-small);\n\n\t/* Let's keep similar appearance to `ck-toolbar`. */\n\t& > * {\n\t\tmargin-right: var(--ck-spacing-small);\n\t\tmargin-top: var(--ck-spacing-small);\n\t\tmargin-bottom: var(--ck-spacing-small);\n\t}\n\n\t/* Gives counter more breath than buttons. */\n\t& .ck-balloon-rotator__counter {\n\t\tmargin-right: var(--ck-spacing-standard);\n\n\t\t/* We need to use smaller margin because of previous button's right margin. */\n\t\tmargin-left: var(--ck-spacing-small);\n\t}\n}\n\n.ck .ck-balloon-rotator__content {\n\n\t/* Disable default annotation shadow inside rotator with fake panels. */\n\t& .ck.ck-annotation-wrapper {\n\t\tbox-shadow: none;\n\t}\n}\n"],sourceRoot:""}]);const c=a},6356:(t,e,n)=>{"use strict";n.d(e,{Z:()=>c});var i=n(4015);var o=n.n(i);var r=n(3645);var s=n.n(r);var a=s()(o());a.push([t.id,".ck .ck-fake-panel{position:absolute;z-index:calc(var(--ck-z-modal) - 1)}.ck .ck-fake-panel div{position:absolute}.ck .ck-fake-panel div:first-child{z-index:2}.ck .ck-fake-panel div:nth-child(2){z-index:1}:root{--ck-balloon-fake-panel-offset-horizontal:6px;--ck-balloon-fake-panel-offset-vertical:6px}.ck .ck-fake-panel div{background:var(--ck-color-panel-background);border:1px solid var(--ck-color-panel-border);border-radius:var(--ck-border-radius);box-shadow:var(--ck-drop-shadow),0 0;height:100%;min-height:15px;width:100%}.ck .ck-fake-panel div:first-child{margin-left:var(--ck-balloon-fake-panel-offset-horizontal);margin-top:var(--ck-balloon-fake-panel-offset-vertical)}.ck .ck-fake-panel div:nth-child(2){margin-left:calc(var(--ck-balloon-fake-panel-offset-horizontal)*2);margin-top:calc(var(--ck-balloon-fake-panel-offset-vertical)*2)}.ck .ck-fake-panel div:nth-child(3){margin-left:calc(var(--ck-balloon-fake-panel-offset-horizontal)*3);margin-top:calc(var(--ck-balloon-fake-panel-offset-vertical)*3)}.ck .ck-balloon-panel_arrow_s+.ck-fake-panel,.ck .ck-balloon-panel_arrow_se+.ck-fake-panel,.ck .ck-balloon-panel_arrow_sw+.ck-fake-panel{--ck-balloon-fake-panel-offset-vertical:-6px}","",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-ui/theme/components/panel/fakepanel.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-ui/components/panel/fakepanel.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/mixins/_shadow.css"],names:[],mappings:"AAKA,mBACC,iBAAkB,CAGlB,mCACD,CAEA,uBACC,iBACD,CAEA,mCACC,SACD,CAEA,oCACC,SACD,CCfA,MACC,6CAA8C,CAC9C,2CACD,CAGA,uBAKC,2CAA4C,CAC5C,6CAA8C,CAC9C,qCAAsC,CCXtC,oCAA8B,CDc9B,WAAY,CAPZ,eAAgB,CAMhB,UAED,CAEA,mCACC,0DAA2D,CAC3D,uDACD,CAEA,oCACC,kEAAqE,CACrE,+DACD,CACA,oCACC,kEAAqE,CACrE,+DACD,CAGA,yIAGC,4CACD",sourcesContent:["/*\n * Copyright (c) 2003-2023, 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-fake-panel {\n\tposition: absolute;\n\n\t/* Fake panels should be placed under main balloon content. */\n\tz-index: calc(var(--ck-z-modal) - 1);\n}\n\n.ck .ck-fake-panel div {\n\tposition: absolute;\n}\n\n.ck .ck-fake-panel div:nth-child( 1 ) {\n\tz-index: 2;\n}\n\n.ck .ck-fake-panel div:nth-child( 2 ) {\n\tz-index: 1;\n}\n",'/*\n * Copyright (c) 2003-2023, 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/_shadow.css";\n\n:root {\n\t--ck-balloon-fake-panel-offset-horizontal: 6px;\n\t--ck-balloon-fake-panel-offset-vertical: 6px;\n}\n\n/* Let\'s use `.ck-balloon-panel` appearance. See: balloonpanel.css. */\n.ck .ck-fake-panel div {\n\t@mixin ck-drop-shadow;\n\n\tmin-height: 15px;\n\n\tbackground: var(--ck-color-panel-background);\n\tborder: 1px solid var(--ck-color-panel-border);\n\tborder-radius: var(--ck-border-radius);\n\n\twidth: 100%;\n\theight: 100%;\n}\n\n.ck .ck-fake-panel div:nth-child( 1 ) {\n\tmargin-left: var(--ck-balloon-fake-panel-offset-horizontal);\n\tmargin-top: var(--ck-balloon-fake-panel-offset-vertical);\n}\n\n.ck .ck-fake-panel div:nth-child( 2 ) {\n\tmargin-left: calc(var(--ck-balloon-fake-panel-offset-horizontal) * 2);\n\tmargin-top: calc(var(--ck-balloon-fake-panel-offset-vertical) * 2);\n}\n.ck .ck-fake-panel div:nth-child( 3 ) {\n\tmargin-left: calc(var(--ck-balloon-fake-panel-offset-horizontal) * 3);\n\tmargin-top: calc(var(--ck-balloon-fake-panel-offset-vertical) * 3);\n}\n\n/* If balloon is positioned above element, we need to move fake panel to the top. */\n.ck .ck-balloon-panel_arrow_s + .ck-fake-panel,\n.ck .ck-balloon-panel_arrow_se + .ck-fake-panel,\n.ck .ck-balloon-panel_arrow_sw + .ck-fake-panel {\n\t--ck-balloon-fake-panel-offset-vertical: -6px;\n}\n',"/*\n * Copyright (c) 2003-2023, 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 * A helper to combine multiple shadows.\n */\n@define-mixin ck-box-shadow $shadowA, $shadowB: 0 0 {\n\tbox-shadow: $shadowA, $shadowB;\n}\n\n/**\n * Gives an element a drop shadow so it looks like a floating panel.\n */\n@define-mixin ck-drop-shadow {\n\t@mixin ck-box-shadow var(--ck-drop-shadow);\n}\n"],sourceRoot:""}]);const c=a},3707:(t,e,n)=>{"use strict";n.d(e,{Z:()=>c});var i=n(4015);var o=n.n(i);var r=n(3645);var s=n.n(r);var a=s()(o());a.push([t.id,".ck.ck-sticky-panel .ck-sticky-panel__content_sticky{position:fixed;top:0;z-index:var(--ck-z-modal)}.ck.ck-sticky-panel .ck-sticky-panel__content_sticky_bottom-limit{position:absolute;top:auto}.ck.ck-sticky-panel .ck-sticky-panel__content_sticky{border-top-left-radius:0;border-top-right-radius:0;border-width:0 1px 1px;box-shadow:var(--ck-drop-shadow),0 0}","",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-ui/theme/components/panel/stickypanel.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-ui/components/panel/stickypanel.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/mixins/_shadow.css"],names:[],mappings:"AAMC,qDAEC,cAAe,CACf,KAAM,CAFN,yBAGD,CAEA,kEAEC,iBAAkB,CADlB,QAED,CCPA,qDAIC,wBAAyB,CACzB,yBAA0B,CAF1B,sBAAuB,CCFxB,oCDKA",sourcesContent:["/*\n * Copyright (c) 2003-2023, 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-sticky-panel {\n\t& .ck-sticky-panel__content_sticky {\n\t\tz-index: var(--ck-z-modal); /* #315 */\n\t\tposition: fixed;\n\t\ttop: 0;\n\t}\n\n\t& .ck-sticky-panel__content_sticky_bottom-limit {\n\t\ttop: auto;\n\t\tposition: absolute;\n\t}\n}\n",'/*\n * Copyright (c) 2003-2023, 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/_shadow.css";\n\n.ck.ck-sticky-panel {\n\t& .ck-sticky-panel__content_sticky {\n\t\t@mixin ck-drop-shadow;\n\n\t\tborder-width: 0 1px 1px;\n\t\tborder-top-left-radius: 0;\n\t\tborder-top-right-radius: 0;\n\t}\n}\n',"/*\n * Copyright (c) 2003-2023, 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 * A helper to combine multiple shadows.\n */\n@define-mixin ck-box-shadow $shadowA, $shadowB: 0 0 {\n\tbox-shadow: $shadowA, $shadowB;\n}\n\n/**\n * Gives an element a drop shadow so it looks like a floating panel.\n */\n@define-mixin ck-drop-shadow {\n\t@mixin ck-box-shadow var(--ck-drop-shadow);\n}\n"],sourceRoot:""}]);const c=a},6603:(t,e,n)=>{"use strict";n.d(e,{Z:()=>c});var i=n(4015);var o=n.n(i);var r=n(3645);var s=n.n(r);var a=s()(o());a.push([t.id,'.ck-vertical-form .ck-button:after{bottom:-1px;content:"";position:absolute;right:-1px;top:-1px;width:0;z-index:1}.ck-vertical-form .ck-button:focus:after{display:none}@media screen and (max-width:600px){.ck.ck-responsive-form .ck-button:after{bottom:-1px;content:"";position:absolute;right:-1px;top:-1px;width:0;z-index:1}.ck.ck-responsive-form .ck-button:focus:after{display:none}}.ck-vertical-form>.ck-button:nth-last-child(2):after{border-right:1px solid var(--ck-color-base-border)}.ck.ck-responsive-form{padding:var(--ck-spacing-large)}.ck.ck-responsive-form:focus{outline:none}[dir=ltr] .ck.ck-responsive-form>:not(:first-child),[dir=rtl] .ck.ck-responsive-form>:not(:last-child){margin-left:var(--ck-spacing-standard)}@media screen and (max-width:600px){.ck.ck-responsive-form{padding:0;width:calc(var(--ck-input-width)*.8)}.ck.ck-responsive-form .ck-labeled-field-view{margin:var(--ck-spacing-large) var(--ck-spacing-large) 0}.ck.ck-responsive-form .ck-labeled-field-view .ck-input-text{min-width:0;width:100%}.ck.ck-responsive-form .ck-labeled-field-view .ck-labeled-field-view__error{white-space:normal}.ck.ck-responsive-form>.ck-button:nth-last-child(2):after{border-right:1px solid var(--ck-color-base-border)}.ck.ck-responsive-form>.ck-button:last-child,.ck.ck-responsive-form>.ck-button:nth-last-child(2){border-radius:0;margin-top:var(--ck-spacing-large);padding:var(--ck-spacing-standard)}.ck.ck-responsive-form>.ck-button:last-child:not(:focus),.ck.ck-responsive-form>.ck-button:nth-last-child(2):not(:focus){border-top:1px solid var(--ck-color-base-border)}[dir=ltr] .ck.ck-responsive-form>.ck-button:last-child,[dir=ltr] .ck.ck-responsive-form>.ck-button:nth-last-child(2),[dir=rtl] .ck.ck-responsive-form>.ck-button:last-child,[dir=rtl] .ck.ck-responsive-form>.ck-button:nth-last-child(2){margin-left:0}[dir=rtl] .ck.ck-responsive-form>.ck-button:last-child:last-of-type,[dir=rtl] .ck.ck-responsive-form>.ck-button:nth-last-child(2):last-of-type{border-right:1px solid var(--ck-color-base-border)}}',"",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-ui/theme/components/responsive-form/responsiveform.css","webpack://./node_modules/@ckeditor/ckeditor5-ui/theme/mixins/_rwd.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-ui/components/responsive-form/responsiveform.css"],names:[],mappings:"AAQC,mCAMC,WAAY,CALZ,UAAW,CAEX,iBAAkB,CAClB,UAAW,CACX,QAAS,CAHT,OAAQ,CAKR,SACD,CAEA,yCACC,YACD,CCdA,oCDoBE,wCAMC,WAAY,CALZ,UAAW,CAEX,iBAAkB,CAClB,UAAW,CACX,QAAS,CAHT,OAAQ,CAKR,SACD,CAEA,8CACC,YACD,CC9BF,CCAD,qDACC,kDACD,CAEA,uBACC,+BAmED,CAjEC,6BAEC,YACD,CASC,uGACC,sCACD,CDvBD,oCCMD,uBAqBE,SAAU,CACV,oCA8CF,CA5CE,8CACC,wDAWD,CATC,6DACC,WAAY,CACZ,UACD,CAGA,4EACC,kBACD,CAKA,0DACC,kDACD,CAGD,iGAIC,eAAgB,CADhB,kCAAmC,CADnC,kCAmBD,CAfC,yHACC,gDACD,CARD,0OAeE,aAMF,CAJE,+IACC,kDACD,CDpEH",sourcesContent:['/*\n * Copyright (c) 2003-2023, 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\n.ck-vertical-form .ck-button {\n\t&::after {\n\t\tcontent: "";\n\t\twidth: 0;\n\t\tposition: absolute;\n\t\tright: -1px;\n\t\ttop: -1px;\n\t\tbottom: -1px;\n\t\tz-index: 1;\n\t}\n\n\t&:focus::after {\n\t\tdisplay: none;\n\t}\n}\n\n.ck.ck-responsive-form {\n\t@mixin ck-media-phone {\n\t\t& .ck-button {\n\t\t\t&::after {\n\t\t\t\tcontent: "";\n\t\t\t\twidth: 0;\n\t\t\t\tposition: absolute;\n\t\t\t\tright: -1px;\n\t\t\t\ttop: -1px;\n\t\t\t\tbottom: -1px;\n\t\t\t\tz-index: 1;\n\t\t\t}\n\n\t\t\t&:focus::after {\n\t\t\t\tdisplay: none;\n\t\t\t}\n\t\t}\n\t}\n}\n',"/*\n * Copyright (c) 2003-2023, 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@define-mixin ck-media-phone {\n\t@media screen and (max-width: 600px) {\n\t\t@mixin-content;\n\t}\n}\n",'/*\n * Copyright (c) 2003-2023, 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-vertical-form > .ck-button:nth-last-child(2)::after {\n\tborder-right: 1px solid var(--ck-color-base-border);\n}\n\n.ck.ck-responsive-form {\n\tpadding: var(--ck-spacing-large);\n\n\t&:focus {\n\t\t/* See: https://github.com/ckeditor/ckeditor5/issues/4773 */\n\t\toutline: none;\n\t}\n\n\t@mixin ck-dir ltr {\n\t\t& > :not(:first-child) {\n\t\t\tmargin-left: var(--ck-spacing-standard);\n\t\t}\n\t}\n\n\t@mixin ck-dir rtl {\n\t\t& > :not(:last-child) {\n\t\t\tmargin-left: var(--ck-spacing-standard);\n\t\t}\n\t}\n\n\t@mixin ck-media-phone {\n\t\tpadding: 0;\n\t\twidth: calc(.8 * var(--ck-input-width));\n\n\t\t& .ck-labeled-field-view {\n\t\t\tmargin: var(--ck-spacing-large) var(--ck-spacing-large) 0;\n\n\t\t\t& .ck-input-text {\n\t\t\t\tmin-width: 0;\n\t\t\t\twidth: 100%;\n\t\t\t}\n\n\t\t\t/* Let the long error messages wrap in the narrow form. */\n\t\t\t& .ck-labeled-field-view__error {\n\t\t\t\twhite-space: normal;\n\t\t\t}\n\t\t}\n\n\t\t/* Styles for two last buttons in the form (save&cancel, edit&unlink, etc.). */\n\t\t& > .ck-button:nth-last-child(2) {\n\t\t\t&::after {\n\t\t\t\tborder-right: 1px solid var(--ck-color-base-border);\n\t\t\t}\n\t\t}\n\n\t\t& > .ck-button:nth-last-child(1),\n\t\t& > .ck-button:nth-last-child(2) {\n\t\t\tpadding: var(--ck-spacing-standard);\n\t\t\tmargin-top: var(--ck-spacing-large);\n\t\t\tborder-radius: 0;\n\n\t\t\t&:not(:focus) {\n\t\t\t\tborder-top: 1px solid var(--ck-color-base-border);\n\t\t\t}\n\n\t\t\t@mixin ck-dir ltr {\n\t\t\t\tmargin-left: 0;\n\t\t\t}\n\n\t\t\t@mixin ck-dir rtl {\n\t\t\t\tmargin-left: 0;\n\n\t\t\t\t&:last-of-type {\n\t\t\t\t\tborder-right: 1px solid var(--ck-color-base-border);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n}\n'],sourceRoot:""}]);const c=a},9332:(t,e,n)=>{"use strict";n.d(e,{Z:()=>c});var i=n(4015);var o=n.n(i);var r=n(3645);var s=n.n(r);var a=s()(o());a.push([t.id,".ck.ck-search>.ck-labeled-field-view>.ck-labeled-field-view__input-wrapper>.ck-icon{position:absolute;top:50%;transform:translateY(-50%)}[dir=ltr] .ck.ck-search>.ck-labeled-field-view>.ck-labeled-field-view__input-wrapper>.ck-icon{left:var(--ck-spacing-medium)}[dir=rtl] .ck.ck-search>.ck-labeled-field-view>.ck-labeled-field-view__input-wrapper>.ck-icon{right:var(--ck-spacing-medium)}.ck.ck-search>.ck-labeled-field-view .ck-search__reset{position:absolute;top:50%;transform:translateY(-50%)}.ck.ck-search>.ck-search__results>.ck-search__info>span:first-child{display:block}.ck.ck-search>.ck-search__results>.ck-search__info:not(.ck-hidden)~*{display:none}:root{--ck-search-field-view-horizontal-spacing:calc(var(--ck-icon-size) + var(--ck-spacing-medium))}.ck.ck-search>.ck-labeled-field-view .ck-input{width:100%}.ck.ck-search>.ck-labeled-field-view.ck-search__query_with-icon{--ck-labeled-field-label-default-position-x:var(--ck-search-field-view-horizontal-spacing)}.ck.ck-search>.ck-labeled-field-view.ck-search__query_with-icon>.ck-labeled-field-view__input-wrapper>.ck-icon{opacity:.5;pointer-events:none}.ck.ck-search>.ck-labeled-field-view.ck-search__query_with-icon .ck-input{width:100%}[dir=ltr] .ck.ck-search>.ck-labeled-field-view.ck-search__query_with-icon .ck-input,[dir=rtl] .ck.ck-search>.ck-labeled-field-view.ck-search__query_with-icon .ck-input:not(.ck-input-text_empty){padding-left:var(--ck-search-field-view-horizontal-spacing)}.ck.ck-search>.ck-labeled-field-view.ck-search__query_with-reset{--ck-labeled-field-empty-unfocused-max-width:100% - 2 * var(--ck-search-field-view-horizontal-spacing)}.ck.ck-search>.ck-labeled-field-view.ck-search__query_with-reset.ck-labeled-field-view_empty{--ck-labeled-field-empty-unfocused-max-width:100% - var(--ck-search-field-view-horizontal-spacing) - var(--ck-spacing-medium)}.ck.ck-search>.ck-labeled-field-view.ck-search__query_with-reset .ck-search__reset{background:none;min-height:auto;min-width:auto;opacity:.5;padding:0}[dir=ltr] .ck.ck-search>.ck-labeled-field-view.ck-search__query_with-reset .ck-search__reset{right:var(--ck-spacing-medium)}[dir=rtl] .ck.ck-search>.ck-labeled-field-view.ck-search__query_with-reset .ck-search__reset{left:var(--ck-spacing-medium)}.ck.ck-search>.ck-labeled-field-view.ck-search__query_with-reset .ck-search__reset:hover{opacity:1}.ck.ck-search>.ck-labeled-field-view.ck-search__query_with-reset .ck-input{width:100%}[dir=ltr] .ck.ck-search>.ck-labeled-field-view.ck-search__query_with-reset .ck-input:not(.ck-input-text_empty),[dir=rtl] .ck.ck-search>.ck-labeled-field-view.ck-search__query_with-reset .ck-input{padding-right:var(--ck-search-field-view-horizontal-spacing)}.ck.ck-search>.ck-search__results{min-width:100%}.ck.ck-search>.ck-search__results>.ck-search__info{padding:var(--ck-spacing-medium) var(--ck-spacing-large);width:100%}.ck.ck-search>.ck-search__results>.ck-search__info *{white-space:normal}.ck.ck-search>.ck-search__results>.ck-search__info>span:first-child{font-weight:700}.ck.ck-search>.ck-search__results>.ck-search__info>span:last-child{margin-top:var(--ck-spacing-medium)}","",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-ui/theme/components/search/search.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-ui/components/search/search.css"],names:[],mappings:"AASE,oFACC,iBAAkB,CAClB,OAAQ,CACR,0BASD,CAZA,8FAME,6BAMF,CAZA,8FAUE,8BAEF,CAEA,uDACC,iBAAkB,CAClB,OAAQ,CACR,0BACD,CAKC,oEACC,aACD,CAGA,qEACC,YACD,CChCH,MACC,8FACD,CAIE,+CACC,UACD,CAEA,gEACC,0FAoBD,CAlBC,+GACC,UAAW,CACX,mBACD,CAEA,0EACC,UAWD,CAJE,kMACC,2DACD,CAKH,iEACC,sGAwCD,CAtCC,6FACC,6HACD,CAEA,mFAIC,eAAgB,CAFhB,eAAgB,CADhB,cAAe,CAIf,UAAW,CACX,SAaD,CAnBA,6FASE,8BAUF,CAnBA,6FAaE,6BAMF,CAHC,yFACC,SACD,CAGD,2EACC,UAWD,CAZA,oMAUE,4DAEF,CAIF,kCACC,cAkBD,CAhBC,mDAEC,wDAAyD,CADzD,UAcD,CAXC,qDACC,kBACD,CAEA,oEACC,eACD,CAEA,mEACC,mCACD",sourcesContent:['/*\n * Copyright (c) 2003-2023, 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/_dir.css";\n\n.ck.ck-search {\n\t& > .ck-labeled-field-view {\n\t\t& > .ck-labeled-field-view__input-wrapper > .ck-icon {\n\t\t\tposition: absolute;\n\t\t\ttop: 50%;\n\t\t\ttransform: translateY(-50%);\n\n\t\t\t@mixin ck-dir ltr {\n\t\t\t\tleft: var(--ck-spacing-medium);\n\t\t\t}\n\n\t\t\t@mixin ck-dir rtl {\n\t\t\t\tright: var(--ck-spacing-medium);\n\t\t\t}\n\t\t}\n\n\t\t& .ck-search__reset {\n\t\t\tposition: absolute;\n\t\t\ttop: 50%;\n\t\t\ttransform: translateY(-50%);\n\t\t}\n\t}\n\n\t& > .ck-search__results {\n\t\t& > .ck-search__info {\n\t\t\t& > span:first-child {\n\t\t\t\tdisplay: block;\n\t\t\t}\n\n\t\t\t/* Hide the filtered view when nothing was found */\n\t\t\t&:not(.ck-hidden) ~ * {\n\t\t\t\tdisplay: none;\n\t\t\t}\n\t\t}\n\t}\n}\n','/*\n * Copyright (c) 2003-2023, 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/_dir.css";\n\n:root {\n\t--ck-search-field-view-horizontal-spacing: calc(var(--ck-icon-size) + var(--ck-spacing-medium));\n}\n\n.ck.ck-search {\n\t& > .ck-labeled-field-view {\n\t\t& .ck-input {\n\t\t\twidth: 100%;\n\t\t}\n\n\t\t&.ck-search__query_with-icon {\n\t\t\t--ck-labeled-field-label-default-position-x: var(--ck-search-field-view-horizontal-spacing);\n\n\t\t\t& > .ck-labeled-field-view__input-wrapper > .ck-icon {\n\t\t\t\topacity: .5;\n\t\t\t\tpointer-events: none;\n\t\t\t}\n\n\t\t\t& .ck-input {\n\t\t\t\twidth: 100%;\n\n\t\t\t\t@mixin ck-dir ltr {\n\t\t\t\t\tpadding-left: var(--ck-search-field-view-horizontal-spacing);\n\t\t\t\t}\n\n\t\t\t\t@mixin ck-dir rtl {\n\t\t\t\t\t&:not(.ck-input-text_empty) {\n\t\t\t\t\t\tpadding-left: var(--ck-search-field-view-horizontal-spacing);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t&.ck-search__query_with-reset {\n\t\t\t--ck-labeled-field-empty-unfocused-max-width: 100% - 2 * var(--ck-search-field-view-horizontal-spacing);\n\n\t\t\t&.ck-labeled-field-view_empty {\n\t\t\t\t--ck-labeled-field-empty-unfocused-max-width: 100% - var(--ck-search-field-view-horizontal-spacing) - var(--ck-spacing-medium);\n\t\t\t}\n\n\t\t\t& .ck-search__reset {\n\t\t\t\tmin-width: auto;\n\t\t\t\tmin-height: auto;\n\n\t\t\t\tbackground: none;\n\t\t\t\topacity: .5;\n\t\t\t\tpadding: 0;\n\n\t\t\t\t@mixin ck-dir ltr {\n\t\t\t\t\tright: var(--ck-spacing-medium);\n\t\t\t\t}\n\n\t\t\t\t@mixin ck-dir rtl {\n\t\t\t\t\tleft: var(--ck-spacing-medium);\n\t\t\t\t}\n\n\t\t\t\t&:hover {\n\t\t\t\t\topacity: 1;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t& .ck-input {\n\t\t\t\twidth: 100%;\n\n\t\t\t\t@mixin ck-dir ltr {\n\t\t\t\t\t&:not(.ck-input-text_empty) {\n\t\t\t\t\t\tpadding-right: var(--ck-search-field-view-horizontal-spacing);\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\t@mixin ck-dir rtl {\n\t\t\t\t\tpadding-right: var(--ck-search-field-view-horizontal-spacing);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\t& > .ck-search__results {\n\t\tmin-width: 100%;\n\n\t\t& > .ck-search__info {\n\t\t\twidth: 100%;\n\t\t\tpadding: var(--ck-spacing-medium) var(--ck-spacing-large);\n\n\t\t\t& * {\n\t\t\t\twhite-space: normal;\n\t\t\t}\n\n\t\t\t& > span:first-child {\n\t\t\t\tfont-weight: bold;\n\t\t\t}\n\n\t\t\t& > span:last-child {\n\t\t\t\tmargin-top: var(--ck-spacing-medium);\n\t\t\t}\n\t\t}\n\t}\n}\n\n'],sourceRoot:""}]);const c=a},6446:(t,e,n)=>{"use strict";n.d(e,{Z:()=>c});var i=n(4015);var o=n.n(i);var r=n(3645);var s=n.n(r);var a=s()(o());a.push([t.id,".ck.ck-spinner-container{display:block;position:relative}.ck.ck-spinner{left:0;margin:0 auto;position:absolute;right:0;top:50%;transform:translateY(-50%);z-index:1}:root{--ck-toolbar-spinner-size:18px}.ck.ck-spinner-container{animation:rotate 1.5s linear infinite}.ck.ck-spinner,.ck.ck-spinner-container{height:var(--ck-toolbar-spinner-size);width:var(--ck-toolbar-spinner-size)}.ck.ck-spinner{border:2px solid var(--ck-color-text);border-radius:50%;border-top:2px solid transparent}@keyframes rotate{to{transform:rotate(1turn)}}","",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-ui/theme/components/spinner/spinner.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-ui/components/spinner/spinner.css"],names:[],mappings:"AASA,yBACC,aAAc,CACd,iBACD,CAEA,eAGC,MAAO,CAEP,aAAc,CAJd,iBAAkB,CAGlB,OAAQ,CAFR,OAAQ,CAIR,0BAA2B,CAC3B,SACD,CCjBA,MACC,8BACD,CAEA,yBAGC,qCACD,CAEA,wCAJC,qCAAsC,CADtC,oCAWD,CANA,eAKC,qCAA6B,CAF7B,iBAAkB,CAElB,gCACD,CAEA,kBACC,GACC,uBACD,CACD",sourcesContent:["/*\n * Copyright (c) 2003-2023, 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.ck-spinner-container {\n\tdisplay: block;\n\tposition: relative;\n}\n\n.ck.ck-spinner {\n\tposition: absolute;\n\ttop: 50%;\n\tleft: 0;\n\tright: 0;\n\tmargin: 0 auto;\n\ttransform: translateY(-50%);\n\tz-index: 1;\n}\n","/*\n * Copyright (c) 2003-2023, 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.ck-spinner-container {\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.ck-spinner {\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}\n\n@keyframes rotate {\n\tto {\n\t\ttransform: rotate(360deg)\n\t}\n}\n\n"],sourceRoot:""}]);const c=a},5224:(t,e,n)=>{"use strict";n.d(e,{Z:()=>c});var i=n(4015);var o=n.n(i);var r=n(3645);var s=n.n(r);var a=s()(o());a.push([t.id,".ck-textarea{overflow-x:hidden}","",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-ui/components/textarea/textarea.css"],names:[],mappings:"AASA,aACC,iBACD",sourcesContent:["/*\n * Copyright (c) 2003-2023, 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 * This fixes a problem in Firefox when the initial height of the complement does not match the number of rows.\n * This bug is especially visible when rows=1.\n */\n.ck-textarea {\n\toverflow-x: hidden\n}\n"],sourceRoot:""}]);const c=a},4176:(t,e,n)=>{"use strict";n.d(e,{Z:()=>c});var i=n(4015);var o=n.n(i);var r=n(3645);var s=n.n(r);var a=s()(o());a.push([t.id,".ck.ck-block-toolbar-button{position:absolute;z-index:var(--ck-z-default)}:root{--ck-color-block-toolbar-button:var(--ck-color-text);--ck-block-toolbar-button-size:var(--ck-font-size-normal)}.ck.ck-block-toolbar-button{color:var(--ck-color-block-toolbar-button);font-size:var(--ck-block-toolbar-size)}","",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-ui/theme/components/toolbar/blocktoolbar.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-ui/components/toolbar/blocktoolbar.css"],names:[],mappings:"AAKA,4BACC,iBAAkB,CAClB,2BACD,CCHA,MACC,oDAAqD,CACrD,yDACD,CAEA,4BACC,0CAA2C,CAC3C,sCACD",sourcesContent:["/*\n * Copyright (c) 2003-2023, 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-block-toolbar-button {\n\tposition: absolute;\n\tz-index: var(--ck-z-default);\n}\n","/*\n * Copyright (c) 2003-2023, 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-block-toolbar-button: var(--ck-color-text);\n\t--ck-block-toolbar-button-size: var(--ck-font-size-normal);\n}\n\n.ck.ck-block-toolbar-button {\n\tcolor: var(--ck-color-block-toolbar-button);\n\tfont-size: var(--ck-block-toolbar-size);\n}\n"],sourceRoot:""}]);const c=a},4768:(t,e,n)=>{"use strict";n.d(e,{Z:()=>c});var i=n(4015);var o=n.n(i);var r=n(3645);var s=n.n(r);var a=s()(o());a.push([t.id,".ck.ck-toolbar{align-items:center;display:flex;flex-flow:row nowrap;-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none;user-select:none}.ck.ck-toolbar>.ck-toolbar__items{align-items:center;display:flex;flex-flow:row wrap;flex-grow:1}.ck.ck-toolbar .ck.ck-toolbar__separator{display:inline-block}.ck.ck-toolbar .ck.ck-toolbar__separator:first-child,.ck.ck-toolbar .ck.ck-toolbar__separator:last-child{display:none}.ck.ck-toolbar .ck-toolbar__line-break{flex-basis:100%}.ck.ck-toolbar.ck-toolbar_grouping>.ck-toolbar__items{flex-wrap:nowrap}.ck.ck-toolbar.ck-toolbar_vertical>.ck-toolbar__items{flex-direction:column}.ck.ck-toolbar.ck-toolbar_floating>.ck-toolbar__items{flex-wrap:nowrap}.ck.ck-toolbar>.ck.ck-toolbar__grouped-dropdown>.ck-dropdown__button .ck-dropdown__arrow{display:none}.ck.ck-toolbar{border-radius:0}.ck-rounded-corners .ck.ck-toolbar,.ck.ck-toolbar.ck-rounded-corners{border-radius:var(--ck-border-radius)}.ck.ck-toolbar{background:var(--ck-color-toolbar-background);border:1px solid var(--ck-color-toolbar-border);padding:0 var(--ck-spacing-small)}.ck.ck-toolbar .ck.ck-toolbar__separator{align-self:stretch;background:var(--ck-color-toolbar-border);margin-bottom:var(--ck-spacing-small);margin-top:var(--ck-spacing-small);min-width:1px;width:1px}.ck.ck-toolbar .ck-toolbar__line-break{height:0}.ck.ck-toolbar>.ck-toolbar__items>:not(.ck-toolbar__line-break){margin-right:var(--ck-spacing-small)}.ck.ck-toolbar>.ck-toolbar__items:empty+.ck.ck-toolbar__separator{display:none}.ck.ck-toolbar>.ck-toolbar__items>:not(.ck-toolbar__line-break),.ck.ck-toolbar>.ck.ck-toolbar__grouped-dropdown{margin-bottom:var(--ck-spacing-small);margin-top:var(--ck-spacing-small)}.ck.ck-toolbar.ck-toolbar_vertical{padding:0}.ck.ck-toolbar.ck-toolbar_vertical>.ck-toolbar__items>.ck{border-radius:0;margin:0;width:100%}.ck.ck-toolbar.ck-toolbar_compact{padding:0}.ck.ck-toolbar.ck-toolbar_compact>.ck-toolbar__items>*{margin:0}.ck.ck-toolbar.ck-toolbar_compact>.ck-toolbar__items>:not(:first-child):not(:last-child){border-radius:0}.ck.ck-toolbar>.ck.ck-toolbar__grouped-dropdown>.ck.ck-button.ck-dropdown__button{padding-left:var(--ck-spacing-tiny)}.ck.ck-toolbar .ck-toolbar__nested-toolbar-dropdown>.ck-dropdown__panel{min-width:auto}.ck.ck-toolbar .ck-toolbar__nested-toolbar-dropdown>.ck-button>.ck-button__label{max-width:7em;width:auto}.ck.ck-toolbar:focus{outline:none}.ck-toolbar-container .ck.ck-toolbar{border:0}.ck.ck-toolbar[dir=rtl]>.ck-toolbar__items>.ck,[dir=rtl] .ck.ck-toolbar>.ck-toolbar__items>.ck{margin-right:0}.ck.ck-toolbar[dir=rtl]:not(.ck-toolbar_compact)>.ck-toolbar__items>.ck,[dir=rtl] .ck.ck-toolbar:not(.ck-toolbar_compact)>.ck-toolbar__items>.ck{margin-left:var(--ck-spacing-small)}.ck.ck-toolbar[dir=rtl]>.ck-toolbar__items>.ck:last-child,[dir=rtl] .ck.ck-toolbar>.ck-toolbar__items>.ck:last-child{margin-left:0}.ck.ck-toolbar.ck-toolbar_compact[dir=rtl]>.ck-toolbar__items>.ck:first-child,[dir=rtl] .ck.ck-toolbar.ck-toolbar_compact>.ck-toolbar__items>.ck:first-child{border-bottom-left-radius:0;border-top-left-radius:0}.ck.ck-toolbar.ck-toolbar_compact[dir=rtl]>.ck-toolbar__items>.ck:last-child,[dir=rtl] .ck.ck-toolbar.ck-toolbar_compact>.ck-toolbar__items>.ck:last-child{border-bottom-right-radius:0;border-top-right-radius:0}.ck.ck-toolbar.ck-toolbar_grouping[dir=rtl]>.ck-toolbar__items:not(:empty):not(:only-child),.ck.ck-toolbar[dir=rtl]>.ck.ck-toolbar__separator,[dir=rtl] .ck.ck-toolbar.ck-toolbar_grouping>.ck-toolbar__items:not(:empty):not(:only-child),[dir=rtl] .ck.ck-toolbar>.ck.ck-toolbar__separator{margin-left:var(--ck-spacing-small)}.ck.ck-toolbar[dir=ltr]>.ck-toolbar__items>.ck:last-child,[dir=ltr] .ck.ck-toolbar>.ck-toolbar__items>.ck:last-child{margin-right:0}.ck.ck-toolbar.ck-toolbar_compact[dir=ltr]>.ck-toolbar__items>.ck:first-child,[dir=ltr] .ck.ck-toolbar.ck-toolbar_compact>.ck-toolbar__items>.ck:first-child{border-bottom-right-radius:0;border-top-right-radius:0}.ck.ck-toolbar.ck-toolbar_compact[dir=ltr]>.ck-toolbar__items>.ck:last-child,[dir=ltr] .ck.ck-toolbar.ck-toolbar_compact>.ck-toolbar__items>.ck:last-child{border-bottom-left-radius:0;border-top-left-radius:0}.ck.ck-toolbar.ck-toolbar_grouping[dir=ltr]>.ck-toolbar__items:not(:empty):not(:only-child),.ck.ck-toolbar[dir=ltr]>.ck.ck-toolbar__separator,[dir=ltr] .ck.ck-toolbar.ck-toolbar_grouping>.ck-toolbar__items:not(:empty):not(:only-child),[dir=ltr] .ck.ck-toolbar>.ck.ck-toolbar__separator{margin-right:var(--ck-spacing-small)}","",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-ui/theme/components/toolbar/toolbar.css","webpack://./node_modules/@ckeditor/ckeditor5-ui/theme/mixins/_unselectable.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-ui/components/toolbar/toolbar.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/mixins/_rounded.css"],names:[],mappings:"AAOA,eAKC,kBAAmB,CAFnB,YAAa,CACb,oBAAqB,CCFrB,qBAAsB,CACtB,wBAAyB,CACzB,oBAAqB,CACrB,gBD6CD,CA3CC,kCAGC,kBAAmB,CAFnB,YAAa,CACb,kBAAmB,CAEnB,WAED,CAEA,yCACC,oBAWD,CAJC,yGAEC,YACD,CAGD,uCACC,eACD,CAEA,sDACC,gBACD,CAEA,sDACC,qBACD,CAEA,sDACC,gBACD,CAGC,yFACC,YACD,CE/CF,eCGC,eDwGD,CA3GA,qECOE,qCDoGF,CA3GA,eAGC,6CAA8C,CAE9C,+CAAgD,CADhD,iCAuGD,CApGC,yCACC,kBAAmB,CAGnB,yCAA0C,CAO1C,qCAAsC,CADtC,kCAAmC,CAPnC,aAAc,CADd,SAUD,CAEA,uCACC,QACD,CAGC,gEAEC,oCACD,CAIA,kEACC,YACD,CAGD,gHAIC,qCAAsC,CADtC,kCAED,CAEA,mCAEC,SAaD,CAVC,0DAQC,eAAgB,CAHhB,QAAS,CAHT,UAOD,CAGD,kCAEC,SAWD,CATC,uDAEC,QAMD,CAHC,yFACC,eACD,CASD,kFACC,mCACD,CAMA,wEACC,cACD,CAEA,iFACC,aAAc,CACd,UACD,CAGD,qBACC,YACD,CAtGD,qCAyGE,QAEF,CAYC,+FACC,cACD,CAEA,iJAEC,mCACD,CAEA,qHACC,aACD,CAIC,6JAEC,2BAA4B,CAD5B,wBAED,CAGA,2JAEC,4BAA6B,CAD7B,yBAED,CASD,8RACC,mCACD,CAWA,qHACC,cACD,CAIC,6JAEC,4BAA6B,CAD7B,yBAED,CAGA,2JAEC,2BAA4B,CAD5B,wBAED,CASD,8RACC,oCACD",sourcesContent:['/*\n * Copyright (c) 2003-2023, 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/_unselectable.css";\n\n.ck.ck-toolbar {\n\t@mixin ck-unselectable;\n\n\tdisplay: flex;\n\tflex-flow: row nowrap;\n\talign-items: center;\n\n\t& > .ck-toolbar__items {\n\t\tdisplay: flex;\n\t\tflex-flow: row wrap;\n\t\talign-items: center;\n\t\tflex-grow: 1;\n\n\t}\n\n\t& .ck.ck-toolbar__separator {\n\t\tdisplay: inline-block;\n\n\t\t/*\n\t\t * A leading or trailing separator makes no sense (separates from nothing on one side).\n\t\t * For instance, it can happen when toolbar items (also separators) are getting grouped one by one and\n\t\t * moved to another toolbar in the dropdown.\n\t\t */\n\t\t&:first-child,\n\t\t&:last-child {\n\t\t\tdisplay: none;\n\t\t}\n\t}\n\n\t& .ck-toolbar__line-break {\n\t\tflex-basis: 100%;\n\t}\n\n\t&.ck-toolbar_grouping > .ck-toolbar__items {\n\t\tflex-wrap: nowrap;\n\t}\n\n\t&.ck-toolbar_vertical > .ck-toolbar__items {\n\t\tflex-direction: column;\n\t}\n\n\t&.ck-toolbar_floating > .ck-toolbar__items {\n\t\tflex-wrap: nowrap;\n\t}\n\n\t& > .ck.ck-toolbar__grouped-dropdown {\n\t\t& > .ck-dropdown__button .ck-dropdown__arrow {\n\t\t\tdisplay: none;\n\t\t}\n\t}\n}\n',"/*\n * Copyright (c) 2003-2023, 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",'/*\n * Copyright (c) 2003-2023, 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@import "@ckeditor/ckeditor5-ui/theme/mixins/_dir.css";\n\n.ck.ck-toolbar {\n\t@mixin ck-rounded-corners;\n\n\tbackground: var(--ck-color-toolbar-background);\n\tpadding: 0 var(--ck-spacing-small);\n\tborder: 1px solid var(--ck-color-toolbar-border);\n\n\t& .ck.ck-toolbar__separator {\n\t\talign-self: stretch;\n\t\twidth: 1px;\n\t\tmin-width: 1px;\n\t\tbackground: var(--ck-color-toolbar-border);\n\n\t\t/*\n\t\t * These margins make the separators look better in balloon toolbars (when aligned with the "tip").\n\t\t * See https://github.com/ckeditor/ckeditor5/issues/7493.\n\t\t */\n\t\tmargin-top: var(--ck-spacing-small);\n\t\tmargin-bottom: var(--ck-spacing-small);\n\t}\n\n\t& .ck-toolbar__line-break {\n\t\theight: 0;\n\t}\n\n\t& > .ck-toolbar__items {\n\t\t& > *:not(.ck-toolbar__line-break) {\n\t\t\t/* (#11) Separate toolbar items. */\n\t\t\tmargin-right: var(--ck-spacing-small);\n\t\t}\n\n\t\t/* Don\'t display a separator after an empty items container, for instance,\n\t\twhen all items were grouped */\n\t\t&:empty + .ck.ck-toolbar__separator {\n\t\t\tdisplay: none;\n\t\t}\n\t}\n\n\t& > .ck-toolbar__items > *:not(.ck-toolbar__line-break),\n\t& > .ck.ck-toolbar__grouped-dropdown {\n\t\t/* Make sure items wrapped to the next line have v-spacing */\n\t\tmargin-top: var(--ck-spacing-small);\n\t\tmargin-bottom: var(--ck-spacing-small);\n\t}\n\n\t&.ck-toolbar_vertical {\n\t\t/* Items in a vertical toolbar span the entire width. */\n\t\tpadding: 0;\n\n\t\t/* Specificity matters here. See https://github.com/ckeditor/ckeditor5-theme-lark/issues/168. */\n\t\t& > .ck-toolbar__items > .ck {\n\t\t\t/* Items in a vertical toolbar should span the horizontal space. */\n\t\t\twidth: 100%;\n\n\t\t\t/* Items in a vertical toolbar should have no margin. */\n\t\t\tmargin: 0;\n\n\t\t\t/* Items in a vertical toolbar span the entire width so rounded corners are pointless. */\n\t\t\tborder-radius: 0;\n\t\t}\n\t}\n\n\t&.ck-toolbar_compact {\n\t\t/* No spacing around items. */\n\t\tpadding: 0;\n\n\t\t& > .ck-toolbar__items > * {\n\t\t\t/* Compact toolbar items have no spacing between them. */\n\t\t\tmargin: 0;\n\n\t\t\t/* "Middle" children should have no rounded corners. */\n\t\t\t&:not(:first-child):not(:last-child) {\n\t\t\t\tborder-radius: 0;\n\t\t\t}\n\t\t}\n\t}\n\n\t& > .ck.ck-toolbar__grouped-dropdown {\n\t\t/*\n\t\t * Dropdown button has asymmetric padding to fit the arrow.\n\t\t * This button has no arrow so let\'s revert that padding back to normal.\n\t\t */\n\t\t& > .ck.ck-button.ck-dropdown__button {\n\t\t\tpadding-left: var(--ck-spacing-tiny);\n\t\t}\n\t}\n\n\t/* A drop-down containing the nested toolbar with configured items. */\n\t& .ck-toolbar__nested-toolbar-dropdown {\n\t\t/* Prevent empty space in the panel when the dropdown label is visible and long but the toolbar has few items. */\n\t\t& > .ck-dropdown__panel {\n\t\t\tmin-width: auto;\n\t\t}\n\n\t\t& > .ck-button > .ck-button__label {\n\t\t\tmax-width: 7em;\n\t\t\twidth: auto;\n\t\t}\n\t}\n\n\t&:focus {\n\t\toutline: none;\n\t}\n\n\t@nest .ck-toolbar-container & {\n\t\tborder: 0;\n\t}\n}\n\n/* stylelint-disable */\n\n/*\n * Styles for RTL toolbars.\n *\n * Note: In some cases (e.g. a decoupled editor), the toolbar has its own "dir"\n * because its parent is not controlled by the editor framework.\n */\n[dir="rtl"] .ck.ck-toolbar,\n.ck.ck-toolbar[dir="rtl"] {\n\t& > .ck-toolbar__items > .ck {\n\t\tmargin-right: 0;\n\t}\n\n\t&:not(.ck-toolbar_compact) > .ck-toolbar__items > .ck {\n\t\t/* (#11) Separate toolbar items. */\n\t\tmargin-left: var(--ck-spacing-small);\n\t}\n\n\t& > .ck-toolbar__items > .ck:last-child {\n\t\tmargin-left: 0;\n\t}\n\n\t&.ck-toolbar_compact > .ck-toolbar__items > .ck {\n\t\t/* No rounded corners on the right side of the first child. */\n\t\t&:first-child {\n\t\t\tborder-top-left-radius: 0;\n\t\t\tborder-bottom-left-radius: 0;\n\t\t}\n\n\t\t/* No rounded corners on the left side of the last child. */\n\t\t&:last-child {\n\t\t\tborder-top-right-radius: 0;\n\t\t\tborder-bottom-right-radius: 0;\n\t\t}\n\t}\n\n\t/* Separate the the separator form the grouping dropdown when some items are grouped. */\n\t& > .ck.ck-toolbar__separator {\n\t\tmargin-left: var(--ck-spacing-small);\n\t}\n\n\t/* Some spacing between the items and the separator before the grouped items dropdown. */\n\t&.ck-toolbar_grouping > .ck-toolbar__items:not(:empty):not(:only-child) {\n\t\tmargin-left: var(--ck-spacing-small);\n\t}\n}\n\n/*\n * Styles for LTR toolbars.\n *\n * Note: In some cases (e.g. a decoupled editor), the toolbar has its own "dir"\n * because its parent is not controlled by the editor framework.\n */\n[dir="ltr"] .ck.ck-toolbar,\n.ck.ck-toolbar[dir="ltr"] {\n\t& > .ck-toolbar__items > .ck:last-child {\n\t\tmargin-right: 0;\n\t}\n\n\t&.ck-toolbar_compact > .ck-toolbar__items > .ck {\n\t\t/* No rounded corners on the right side of the first child. */\n\t\t&:first-child {\n\t\t\tborder-top-right-radius: 0;\n\t\t\tborder-bottom-right-radius: 0;\n\t\t}\n\n\t\t/* No rounded corners on the left side of the last child. */\n\t\t&:last-child {\n\t\t\tborder-top-left-radius: 0;\n\t\t\tborder-bottom-left-radius: 0;\n\t\t}\n\t}\n\n\t/* Separate the the separator form the grouping dropdown when some items are grouped. */\n\t& > .ck.ck-toolbar__separator {\n\t\tmargin-right: var(--ck-spacing-small);\n\t}\n\n\t/* Some spacing between the items and the separator before the grouped items dropdown. */\n\t&.ck-toolbar_grouping > .ck-toolbar__items:not(:empty):not(:only-child) {\n\t\tmargin-right: var(--ck-spacing-small);\n\t}\n}\n\n/* stylelint-enable */\n',"/*\n * Copyright (c) 2003-2023, 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 c=a},3888:(t,e,n)=>{"use strict";n.d(e,{Z:()=>c});var i=n(4015);var o=n.n(i);var r=n(3645);var s=n.n(r);var a=s()(o());a.push([t.id,".ck.ck-balloon-panel.ck-tooltip{--ck-balloon-border-width:0px;--ck-balloon-arrow-offset:0px;--ck-balloon-arrow-half-width:4px;--ck-balloon-arrow-height:4px;--ck-tooltip-text-padding:4px;--ck-color-panel-background:var(--ck-color-tooltip-background);padding:0 var(--ck-spacing-medium);pointer-events:none;z-index:calc(var(--ck-z-modal) + 100)}.ck.ck-balloon-panel.ck-tooltip .ck-tooltip__text{color:var(--ck-color-tooltip-text);font-size:.9em;line-height:1.5}.ck.ck-balloon-panel.ck-tooltip.ck-tooltip_multi-line .ck-tooltip__text{display:inline-block;padding:var(--ck-tooltip-text-padding) 0;white-space:break-spaces}.ck.ck-balloon-panel.ck-tooltip{box-shadow:none}.ck.ck-balloon-panel.ck-tooltip:before{display:none}","",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-ui/theme/components/tooltip/tooltip.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-ui/components/tooltip/tooltip.css"],names:[],mappings:"AAKA,gCCGC,6BAA8B,CAC9B,6BAA8B,CAC9B,iCAAkC,CAClC,6BAA8B,CAC9B,6BAA8B,CAC9B,8DAA+D,CAE/D,kCAAmC,CDRnC,mBAAoB,CAEpB,qCACD,CCOC,kDAGC,kCAAmC,CAFnC,cAAe,CACf,eAED,CAEA,wEAEC,oBAAqB,CACrB,wCAAyC,CAFzC,wBAGD,CApBD,gCAuBC,eAMD,CAHC,uCACC,YACD",sourcesContent:["/*\n * Copyright (c) 2003-2023, 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-balloon-panel.ck-tooltip {\n\t/* Keep tooltips transparent for any interactions. */\n\tpointer-events: none;\n\n\tz-index: calc( var(--ck-z-modal) + 100 );\n}\n",'/*\n * Copyright (c) 2003-2023, 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-balloon-panel.ck-tooltip {\n\t--ck-balloon-border-width: 0px;\n\t--ck-balloon-arrow-offset: 0px;\n\t--ck-balloon-arrow-half-width: 4px;\n\t--ck-balloon-arrow-height: 4px;\n\t--ck-tooltip-text-padding: 4px;\n\t--ck-color-panel-background: var(--ck-color-tooltip-background);\n\n\tpadding: 0 var(--ck-spacing-medium);\n\n\t& .ck-tooltip__text {\n\t\tfont-size: .9em;\n\t\tline-height: 1.5;\n\t\tcolor: var(--ck-color-tooltip-text);\n\t}\n\n\t&.ck-tooltip_multi-line .ck-tooltip__text {\n\t\twhite-space: break-spaces;\n\t\tdisplay: inline-block;\n\t\tpadding: var(--ck-tooltip-text-padding) 0;\n\t}\n\n\t/* Reset balloon panel styles */\n\tbox-shadow: none;\n\n\t/* Hide the default shadow of the .ck-balloon-panel tip */\n\t&::before {\n\t\tdisplay: none;\n\t}\n}\n'],sourceRoot:""}]);const c=a},5167:(t,e,n)=>{"use strict";n.d(e,{Z:()=>c});var i=n(4015);var o=n.n(i);var r=n(3645);var s=n.n(r);var a=s()(o());a.push([t.id,".ck-hidden{display:none!important}.ck-reset_all :not(.ck-reset_all-excluded *),.ck.ck-reset,.ck.ck-reset_all{box-sizing:border-box;height:auto;position:static;width:auto}:root{--ck-z-default:1;--ck-z-modal:calc(var(--ck-z-default) + 999)}.ck-transitions-disabled,.ck-transitions-disabled *{transition:none!important}:root{--ck-powered-by-line-height:10px;--ck-powered-by-padding-vertical:2px;--ck-powered-by-padding-horizontal:4px;--ck-powered-by-text-color:#4f4f4f;--ck-powered-by-border-radius:var(--ck-border-radius);--ck-powered-by-background:#fff;--ck-powered-by-border-color:var(--ck-color-focus-border)}.ck.ck-balloon-panel.ck-powered-by-balloon{--ck-border-radius:var(--ck-powered-by-border-radius);background:var(--ck-powered-by-background);box-shadow:none;min-height:unset;z-index:calc(var(--ck-z-modal) - 1)}.ck.ck-balloon-panel.ck-powered-by-balloon .ck.ck-powered-by{line-height:var(--ck-powered-by-line-height)}.ck.ck-balloon-panel.ck-powered-by-balloon .ck.ck-powered-by a{align-items:center;cursor:pointer;display:flex;filter:grayscale(80%);line-height:var(--ck-powered-by-line-height);opacity:.66;padding:var(--ck-powered-by-padding-vertical) var(--ck-powered-by-padding-horizontal)}.ck.ck-balloon-panel.ck-powered-by-balloon .ck.ck-powered-by .ck-powered-by__label{color:var(--ck-powered-by-text-color);cursor:pointer;font-size:7.5px;font-weight:700;letter-spacing:-.2px;line-height:normal;margin-right:4px;padding-left:2px;text-transform:uppercase}.ck.ck-balloon-panel.ck-powered-by-balloon .ck.ck-powered-by .ck-icon{cursor:pointer;display:block}.ck.ck-balloon-panel.ck-powered-by-balloon .ck.ck-powered-by:hover a{filter:grayscale(0);opacity:1}.ck.ck-balloon-panel.ck-powered-by-balloon[class*=position_inside]{border-color:transparent}.ck.ck-balloon-panel.ck-powered-by-balloon[class*=position_border]{border:var(--ck-focus-ring);border-color:var(--ck-powered-by-border-color)}:root{--ck-color-base-foreground:#fafafa;--ck-color-base-background:#fff;--ck-color-base-border:#ccced1;--ck-color-base-action:#53a336;--ck-color-base-focus:#6cb5f9;--ck-color-base-text:#333;--ck-color-base-active:#2977ff;--ck-color-base-active-focus:#0d65ff;--ck-color-base-error:#db3700;--ck-color-focus-border-coordinates:218,81.8%,56.9%;--ck-color-focus-border:hsl(var(--ck-color-focus-border-coordinates));--ck-color-focus-outer-shadow:#cae1fc;--ck-color-focus-disabled-shadow:rgba(119,186,248,.3);--ck-color-focus-error-shadow:rgba(255,64,31,.3);--ck-color-text:var(--ck-color-base-text);--ck-color-shadow-drop:rgba(0,0,0,.15);--ck-color-shadow-drop-active:rgba(0,0,0,.2);--ck-color-shadow-inner:rgba(0,0,0,.1);--ck-color-button-default-background:transparent;--ck-color-button-default-hover-background:#f0f0f0;--ck-color-button-default-active-background:#f0f0f0;--ck-color-button-default-disabled-background:transparent;--ck-color-button-on-background:#f0f7ff;--ck-color-button-on-hover-background:#dbecff;--ck-color-button-on-active-background:#dbecff;--ck-color-button-on-disabled-background:#f0f2f4;--ck-color-button-on-color:#2977ff;--ck-color-button-action-background:var(--ck-color-base-action);--ck-color-button-action-hover-background:#4d9d30;--ck-color-button-action-active-background:#4d9d30;--ck-color-button-action-disabled-background:#7ec365;--ck-color-button-action-text:var(--ck-color-base-background);--ck-color-button-save:#008a00;--ck-color-button-cancel:#db3700;--ck-color-switch-button-off-background:#939393;--ck-color-switch-button-off-hover-background:#7d7d7d;--ck-color-switch-button-on-background:var(--ck-color-button-action-background);--ck-color-switch-button-on-hover-background:#4d9d30;--ck-color-switch-button-inner-background:var(--ck-color-base-background);--ck-color-switch-button-inner-shadow:rgba(0,0,0,.1);--ck-color-dropdown-panel-background:var(--ck-color-base-background);--ck-color-dropdown-panel-border:var(--ck-color-base-border);--ck-color-input-background:var(--ck-color-base-background);--ck-color-input-border:var(--ck-color-base-border);--ck-color-input-error-border:var(--ck-color-base-error);--ck-color-input-text:var(--ck-color-base-text);--ck-color-input-disabled-background:#f2f2f2;--ck-color-input-disabled-border:var(--ck-color-base-border);--ck-color-input-disabled-text:#757575;--ck-color-list-background:var(--ck-color-base-background);--ck-color-list-button-hover-background:var(--ck-color-button-default-hover-background);--ck-color-list-button-on-background:var(--ck-color-button-on-color);--ck-color-list-button-on-background-focus:var(--ck-color-button-on-color);--ck-color-list-button-on-text:var(--ck-color-base-background);--ck-color-panel-background:var(--ck-color-base-background);--ck-color-panel-border:var(--ck-color-base-border);--ck-color-toolbar-background:var(--ck-color-base-background);--ck-color-toolbar-border:var(--ck-color-base-border);--ck-color-tooltip-background:var(--ck-color-base-text);--ck-color-tooltip-text:var(--ck-color-base-background);--ck-color-engine-placeholder-text:#707070;--ck-color-upload-bar-background:#6cb5f9;--ck-color-link-default:#0000f0;--ck-color-link-selected-background:rgba(31,176,255,.1);--ck-color-link-fake-selection:rgba(31,176,255,.3);--ck-color-highlight-background:#ff0;--ck-color-light-red:#fcc;--ck-disabled-opacity:.5;--ck-focus-outer-shadow-geometry:0 0 0 3px;--ck-focus-outer-shadow:var(--ck-focus-outer-shadow-geometry) var(--ck-color-focus-outer-shadow);--ck-focus-disabled-outer-shadow:var(--ck-focus-outer-shadow-geometry) var(--ck-color-focus-disabled-shadow);--ck-focus-error-outer-shadow:var(--ck-focus-outer-shadow-geometry) var(--ck-color-focus-error-shadow);--ck-focus-ring:1px solid var(--ck-color-focus-border);--ck-font-size-base:13px;--ck-line-height-base:1.84615;--ck-font-face:Helvetica,Arial,Tahoma,Verdana,Sans-Serif;--ck-font-size-tiny:0.7em;--ck-font-size-small:0.75em;--ck-font-size-normal:1em;--ck-font-size-big:1.4em;--ck-font-size-large:1.8em;--ck-ui-component-min-height:2.3em}.ck-reset_all :not(.ck-reset_all-excluded *),.ck.ck-reset,.ck.ck-reset_all{word-wrap:break-word;background:transparent;border:0;margin:0;padding:0;text-decoration:none;transition:none;vertical-align:middle}.ck-reset_all :not(.ck-reset_all-excluded *),.ck.ck-reset_all{border-collapse:collapse;color:var(--ck-color-text);cursor:auto;float:none;font:normal normal normal var(--ck-font-size-base)/var(--ck-line-height-base) var(--ck-font-face);text-align:left;white-space:nowrap}.ck-reset_all .ck-rtl :not(.ck-reset_all-excluded *){text-align:right}.ck-reset_all iframe:not(.ck-reset_all-excluded *){vertical-align:inherit}.ck-reset_all textarea:not(.ck-reset_all-excluded *){white-space:pre-wrap}.ck-reset_all input[type=password]:not(.ck-reset_all-excluded *),.ck-reset_all input[type=text]:not(.ck-reset_all-excluded *),.ck-reset_all textarea:not(.ck-reset_all-excluded *){cursor:text}.ck-reset_all input[type=password][disabled]:not(.ck-reset_all-excluded *),.ck-reset_all input[type=text][disabled]:not(.ck-reset_all-excluded *),.ck-reset_all textarea[disabled]:not(.ck-reset_all-excluded *){cursor:default}.ck-reset_all fieldset:not(.ck-reset_all-excluded *){border:2px groove #dfdee3;padding:10px}.ck-reset_all button:not(.ck-reset_all-excluded *)::-moz-focus-inner{border:0;padding:0}.ck[dir=rtl],.ck[dir=rtl] .ck{text-align:right}:root{--ck-border-radius:2px;--ck-inner-shadow:2px 2px 3px var(--ck-color-shadow-inner) inset;--ck-drop-shadow:0 1px 2px 1px var(--ck-color-shadow-drop);--ck-drop-shadow-active:0 3px 6px 1px var(--ck-color-shadow-drop-active);--ck-spacing-unit:0.6em;--ck-spacing-large:calc(var(--ck-spacing-unit)*1.5);--ck-spacing-standard:var(--ck-spacing-unit);--ck-spacing-medium:calc(var(--ck-spacing-unit)*0.8);--ck-spacing-small:calc(var(--ck-spacing-unit)*0.5);--ck-spacing-tiny:calc(var(--ck-spacing-unit)*0.3);--ck-spacing-extra-tiny:calc(var(--ck-spacing-unit)*0.16)}","",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-ui/theme/globals/_hidden.css","webpack://./node_modules/@ckeditor/ckeditor5-ui/theme/globals/_reset.css","webpack://./node_modules/@ckeditor/ckeditor5-ui/theme/globals/_zindex.css","webpack://./node_modules/@ckeditor/ckeditor5-ui/theme/globals/_transition.css","webpack://./node_modules/@ckeditor/ckeditor5-ui/theme/globals/_poweredby.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-ui/globals/_colors.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-ui/globals/_disabled.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-ui/globals/_focus.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-ui/globals/_fonts.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-ui/globals/_reset.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-ui/globals/_rounded.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-ui/globals/_shadow.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-ui/globals/_spacing.css"],names:[],mappings:"AAQA,WAGC,sBACD,CCPA,2EAGC,qBAAsB,CAEtB,WAAY,CACZ,eAAgB,CAFhB,UAGD,CCPA,MACC,gBAAiB,CACjB,4CACD,CCAA,oDAEC,yBACD,CCNA,MACC,gCAAiC,CACjC,oCAAqC,CACrC,sCAAuC,CACvC,kCAA2C,CAC3C,qDAAsD,CACtD,+BAA4C,CAC5C,yDACD,CAEA,2CACC,qDAAsD,CAGtD,0CAA2C,CAD3C,eAAgB,CAEhB,gBAAiB,CACjB,mCAiDD,CA/CC,6DACC,4CAoCD,CAlCC,+DAGC,kBAAmB,CAFnB,cAAe,CACf,YAAa,CAGb,qBAAsB,CACtB,4CAA6C,CAF7C,WAAY,CAGZ,qFACD,CAEA,mFASC,qCAAsC,CAFtC,cAAe,CANf,eAAgB,CAIhB,eAAiB,CAHjB,oBAAqB,CAMrB,kBAAmB,CAFnB,gBAAiB,CAHjB,gBAAiB,CACjB,wBAOD,CAEA,sEAEC,cAAe,CADf,aAED,CAGC,qEACC,mBAAqB,CACrB,SACD,CAIF,mEACC,wBACD,CAEA,mEACC,2BAA4B,CAC5B,8CACD,CChED,MACC,kCAAmD,CACnD,+BAAoD,CACpD,8BAAkD,CAClD,8BAAuD,CACvD,6BAAmD,CACnD,yBAA+C,CAC/C,8BAAsD,CACtD,oCAA4D,CAC5D,6BAAkD,CAIlD,mDAA4D,CAC5D,qEAA+E,CAC/E,qCAA4D,CAC5D,qDAA8D,CAC9D,gDAAyD,CACzD,yCAAqD,CACrD,sCAAsD,CACtD,4CAA0D,CAC1D,sCAAsD,CAItD,gDAAuD,CACvD,kDAAiE,CACjE,mDAAkE,CAClE,yDAA8D,CAE9D,uCAA6D,CAC7D,6CAAoE,CACpE,8CAAoE,CACpE,gDAAiE,CACjE,kCAAyD,CAGzD,+DAAsE,CACtE,iDAAsE,CACtE,kDAAsE,CACtE,oDAAoE,CACpE,6DAAsE,CAEtE,8BAAoD,CACpD,gCAAqD,CAErD,+CAA8D,CAC9D,qDAAiE,CACjE,+EAAqF,CACrF,oDAAuE,CACvE,yEAA8E,CAC9E,oDAAgE,CAIhE,oEAA2E,CAC3E,4DAAoE,CAIpE,2DAAoE,CACpE,mDAA6D,CAC7D,wDAAgE,CAChE,+CAA0D,CAC1D,4CAA2D,CAC3D,4DAAoE,CACpE,sCAAsD,CAItD,0DAAmE,CACnE,uFAA6F,CAC7F,oEAA2E,CAC3E,0EAA+E,CAC/E,8DAAsE,CAItE,2DAAoE,CACpE,mDAA6D,CAI7D,6DAAsE,CACtE,qDAA+D,CAI/D,uDAAgE,CAChE,uDAAiE,CAIjE,0CAAyD,CAIzD,wCAA2D,CAI3D,+BAAoD,CACpD,uDAAmE,CACnE,kDAAgE,CAIhE,oCAAyD,CAIzD,yBAAgD,CC3GhD,wBAAyB,CCAzB,0CAA2C,CAK3C,gGAAiG,CAKjG,4GAA6G,CAK7G,sGAAuG,CAKvG,sDAAuD,CCvBvD,wBAAyB,CACzB,6BAA8B,CAC9B,wDAA6D,CAE7D,yBAA0B,CAC1B,2BAA4B,CAC5B,yBAA0B,CAC1B,wBAAyB,CACzB,0BAA2B,CCJ3B,kCJ2GD,CIrGA,2EAaC,oBAAqB,CANrB,sBAAuB,CADvB,QAAS,CAFT,QAAS,CACT,SAAU,CAGV,oBAAqB,CAErB,eAAgB,CADhB,qBAKD,CAKA,8DAGC,wBAAyB,CAEzB,0BAA2B,CAG3B,WAAY,CACZ,UAAW,CALX,iGAAkG,CAElG,eAAgB,CAChB,kBAGD,CAGC,qDACC,gBACD,CAEA,mDAEC,sBACD,CAEA,qDACC,oBACD,CAEA,mLAGC,WACD,CAEA,iNAGC,cACD,CAEA,qDAEC,yBAAoC,CADpC,YAED,CAEA,qEAGC,QAAQ,CADR,SAED,CAMD,8BAEC,gBACD,CCnFA,MACC,sBAAuB,CCAvB,gEAAiE,CAKjE,0DAA2D,CAK3D,wEAAyE,CCbzE,uBAA8B,CAC9B,mDAA2D,CAC3D,4CAAkD,CAClD,oDAA4D,CAC5D,mDAA2D,CAC3D,kDAA2D,CAC3D,yDFFD",sourcesContent:["/*\n * Copyright (c) 2003-2023, 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 * A class which hides an element in DOM.\n */\n.ck-hidden {\n\t/* Override selector specificity. Otherwise, all elements with some display\n\tstyle defined will override this one, which is not a desired result. */\n\tdisplay: none !important;\n}\n","/*\n * Copyright (c) 2003-2023, 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-reset,\n.ck.ck-reset_all,\n.ck-reset_all *:not(.ck-reset_all-excluded *) {\n\tbox-sizing: border-box;\n\twidth: auto;\n\theight: auto;\n\tposition: static;\n}\n","/*\n * Copyright (c) 2003-2023, 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-z-default: 1;\n\t--ck-z-modal: calc( var(--ck-z-default) + 999 );\n}\n","/*\n * Copyright (c) 2003-2023, 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 * A class that disables all transitions of the element and its children.\n */\n.ck-transitions-disabled,\n.ck-transitions-disabled * {\n\ttransition: none !important;\n}\n",'/*\n * Copyright (c) 2003-2023, 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-powered-by-line-height: 10px;\n\t--ck-powered-by-padding-vertical: 2px;\n\t--ck-powered-by-padding-horizontal: 4px;\n\t--ck-powered-by-text-color: hsl(0, 0%, 31%);\n\t--ck-powered-by-border-radius: var(--ck-border-radius);\n\t--ck-powered-by-background: hsl(0, 0%, 100%);\n\t--ck-powered-by-border-color: var(--ck-color-focus-border);\n}\n\n.ck.ck-balloon-panel.ck-powered-by-balloon {\n\t--ck-border-radius: var(--ck-powered-by-border-radius);\n\n\tbox-shadow: none;\n\tbackground: var(--ck-powered-by-background);\n\tmin-height: unset;\n\tz-index: calc( var(--ck-z-modal) - 1 );\n\n\t& .ck.ck-powered-by {\n\t\tline-height: var(--ck-powered-by-line-height);\n\n\t\t& a {\n\t\t\tcursor: pointer;\n\t\t\tdisplay: flex;\n\t\t\talign-items: center;\n\t\t\topacity: .66;\n\t\t\tfilter: grayscale(80%);\n\t\t\tline-height: var(--ck-powered-by-line-height);\n\t\t\tpadding: var(--ck-powered-by-padding-vertical) var(--ck-powered-by-padding-horizontal);\n\t\t}\n\n\t\t& .ck-powered-by__label {\n\t\t\tfont-size: 7.5px;\n\t\t\tletter-spacing: -.2px;\n\t\t\tpadding-left: 2px;\n\t\t\ttext-transform: uppercase;\n\t\t\tfont-weight: bold;\n\t\t\tmargin-right: 4px;\n\t\t\tcursor: pointer;\n\t\t\tline-height: normal;\n\t\t\tcolor: var(--ck-powered-by-text-color);\n\n\t\t}\n\n\t\t& .ck-icon {\n\t\t\tdisplay: block;\n\t\t\tcursor: pointer;\n\t\t}\n\n\t\t&:hover {\n\t\t\t& a {\n\t\t\t\tfilter: grayscale(0%);\n\t\t\t\topacity: 1;\n\t\t\t}\n\t\t}\n\t}\n\n\t&[class*="position_inside"] {\n\t\tborder-color: transparent;\n\t}\n\n\t&[class*="position_border"] {\n\t\tborder: var(--ck-focus-ring);\n\t\tborder-color: var(--ck-powered-by-border-color);\n\t}\n}\n\n',"/*\n * Copyright (c) 2003-2023, 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-base-foreground: \t\t\t\t\t\t\t\thsl(0, 0%, 98%);\n\t--ck-color-base-background: \t\t\t\t\t\t\t\thsl(0, 0%, 100%);\n\t--ck-color-base-border: \t\t\t\t\t\t\t\t\thsl(220, 6%, 81%);\n\t--ck-color-base-action: \t\t\t\t\t\t\t\t\thsl(104, 50.2%, 42.5%);\n\t--ck-color-base-focus: \t\t\t\t\t\t\t\t\t\thsl(209, 92%, 70%);\n\t--ck-color-base-text: \t\t\t\t\t\t\t\t\t\thsl(0, 0%, 20%);\n\t--ck-color-base-active: \t\t\t\t\t\t\t\t\thsl(218.1, 100%, 58%);\n\t--ck-color-base-active-focus:\t\t\t\t\t\t\t\thsl(218.2, 100%, 52.5%);\n\t--ck-color-base-error:\t\t\t\t\t\t\t\t\t\thsl(15, 100%, 43%);\n\n\t/* -- Generic colors ------------------------------------------------------------------------ */\n\n\t--ck-color-focus-border-coordinates: \t\t\t\t\t\t218, 81.8%, 56.9%;\n\t--ck-color-focus-border: \t\t\t\t\t\t\t\t\thsl(var(--ck-color-focus-border-coordinates));\n\t--ck-color-focus-outer-shadow:\t\t\t\t\t\t\t\thsl(212.4, 89.3%, 89%);\n\t--ck-color-focus-disabled-shadow:\t\t\t\t\t\t\thsla(209, 90%, 72%,.3);\n\t--ck-color-focus-error-shadow:\t\t\t\t\t\t\t\thsla(9,100%,56%,.3);\n\t--ck-color-text: \t\t\t\t\t\t\t\t\t\t\tvar(--ck-color-base-text);\n\t--ck-color-shadow-drop: \t\t\t\t\t\t\t\t\thsla(0, 0%, 0%, 0.15);\n\t--ck-color-shadow-drop-active:\t\t\t\t\t\t\t\thsla(0, 0%, 0%, 0.2);\n\t--ck-color-shadow-inner: \t\t\t\t\t\t\t\t\thsla(0, 0%, 0%, 0.1);\n\n\t/* -- Buttons ------------------------------------------------------------------------------- */\n\n\t--ck-color-button-default-background: \t\t\t\t\t\ttransparent;\n\t--ck-color-button-default-hover-background: \t\t\t\thsl(0, 0%, 94.1%);\n\t--ck-color-button-default-active-background: \t\t\t\thsl(0, 0%, 94.1%);\n\t--ck-color-button-default-disabled-background: \t\t\t\ttransparent;\n\n\t--ck-color-button-on-background: \t\t\t\t\t\t\thsl(212, 100%, 97.1%);\n\t--ck-color-button-on-hover-background: \t\t\t\t\t\thsl(211.7, 100%, 92.9%);\n\t--ck-color-button-on-active-background: \t\t\t\t\thsl(211.7, 100%, 92.9%);\n\t--ck-color-button-on-disabled-background: \t\t\t\t\thsl(211, 15%, 95%);\n\t--ck-color-button-on-color:\t\t\t\t\t\t\t\t\thsl(218.1, 100%, 58%);\n\n\n\t--ck-color-button-action-background: \t\t\t\t\t\tvar(--ck-color-base-action);\n\t--ck-color-button-action-hover-background: \t\t\t\t\thsl(104, 53.2%, 40.2%);\n\t--ck-color-button-action-active-background: \t\t\t\thsl(104, 53.2%, 40.2%);\n\t--ck-color-button-action-disabled-background: \t\t\t\thsl(104, 44%, 58%);\n\t--ck-color-button-action-text: \t\t\t\t\t\t\t\tvar(--ck-color-base-background);\n\n\t--ck-color-button-save: \t\t\t\t\t\t\t\t\thsl(120, 100%, 27%);\n\t--ck-color-button-cancel: \t\t\t\t\t\t\t\t\thsl(15, 100%, 43%);\n\n\t--ck-color-switch-button-off-background:\t\t\t\t\thsl(0, 0%, 57.6%);\n\t--ck-color-switch-button-off-hover-background:\t\t\t\thsl(0, 0%, 49%);\n\t--ck-color-switch-button-on-background:\t\t\t\t\t\tvar(--ck-color-button-action-background);\n\t--ck-color-switch-button-on-hover-background:\t\t\t\thsl(104, 53.2%, 40.2%);\n\t--ck-color-switch-button-inner-background:\t\t\t\t\tvar(--ck-color-base-background);\n\t--ck-color-switch-button-inner-shadow:\t\t\t\t\t\thsla(0, 0%, 0%, 0.1);\n\n\t/* -- Dropdown ------------------------------------------------------------------------------ */\n\n\t--ck-color-dropdown-panel-background: \t\t\t\t\t\tvar(--ck-color-base-background);\n\t--ck-color-dropdown-panel-border: \t\t\t\t\t\t\tvar(--ck-color-base-border);\n\n\t/* -- Input --------------------------------------------------------------------------------- */\n\n\t--ck-color-input-background: \t\t\t\t\t\t\t\tvar(--ck-color-base-background);\n\t--ck-color-input-border: \t\t\t\t\t\t\t\t\tvar(--ck-color-base-border);\n\t--ck-color-input-error-border:\t\t\t\t\t\t\t\tvar(--ck-color-base-error);\n\t--ck-color-input-text: \t\t\t\t\t\t\t\t\t\tvar(--ck-color-base-text);\n\t--ck-color-input-disabled-background: \t\t\t\t\t\thsl(0, 0%, 95%);\n\t--ck-color-input-disabled-border: \t\t\t\t\t\t\tvar(--ck-color-base-border);\n\t--ck-color-input-disabled-text: \t\t\t\t\t\t\thsl(0, 0%, 46%);\n\n\t/* -- List ---------------------------------------------------------------------------------- */\n\n\t--ck-color-list-background: \t\t\t\t\t\t\t\tvar(--ck-color-base-background);\n\t--ck-color-list-button-hover-background: \t\t\t\t\tvar(--ck-color-button-default-hover-background);\n\t--ck-color-list-button-on-background: \t\t\t\t\t\tvar(--ck-color-button-on-color);\n\t--ck-color-list-button-on-background-focus: \t\t\t\tvar(--ck-color-button-on-color);\n\t--ck-color-list-button-on-text:\t\t\t\t\t\t\t\tvar(--ck-color-base-background);\n\n\t/* -- Panel --------------------------------------------------------------------------------- */\n\n\t--ck-color-panel-background: \t\t\t\t\t\t\t\tvar(--ck-color-base-background);\n\t--ck-color-panel-border: \t\t\t\t\t\t\t\t\tvar(--ck-color-base-border);\n\n\t/* -- Toolbar ------------------------------------------------------------------------------- */\n\n\t--ck-color-toolbar-background: \t\t\t\t\t\t\t\tvar(--ck-color-base-background);\n\t--ck-color-toolbar-border: \t\t\t\t\t\t\t\t\tvar(--ck-color-base-border);\n\n\t/* -- Tooltip ------------------------------------------------------------------------------- */\n\n\t--ck-color-tooltip-background: \t\t\t\t\t\t\t\tvar(--ck-color-base-text);\n\t--ck-color-tooltip-text: \t\t\t\t\t\t\t\t\tvar(--ck-color-base-background);\n\n\t/* -- Engine -------------------------------------------------------------------------------- */\n\n\t--ck-color-engine-placeholder-text: \t\t\t\t\t\thsl(0, 0%, 44%);\n\n\t/* -- Upload -------------------------------------------------------------------------------- */\n\n\t--ck-color-upload-bar-background:\t\t \t\t\t\t\thsl(209, 92%, 70%);\n\n\t/* -- Link -------------------------------------------------------------------------------- */\n\n\t--ck-color-link-default:\t\t\t\t\t\t\t\t\thsl(240, 100%, 47%);\n\t--ck-color-link-selected-background:\t\t\t\t\t\thsla(201, 100%, 56%, 0.1);\n\t--ck-color-link-fake-selection:\t\t\t\t\t\t\t\thsla(201, 100%, 56%, 0.3);\n\n\t/* -- Search result highlight ---------------------------------------------------------------- */\n\n\t--ck-color-highlight-background:\t\t\t\t\t\t\thsl(60, 100%, 50%);\n\n\t/* -- Generic colors ------------------------------------------------------------------------- */\n\n\t--ck-color-light-red:\t\t\t\t\t\t\t\t\t\thsl(0, 100%, 90%);\n}\n","/*\n * Copyright (c) 2003-2023, 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/**\n\t * An opacity value of disabled UI item.\n\t */\n\t--ck-disabled-opacity: .5;\n}\n","/*\n * Copyright (c) 2003-2023, 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/**\n\t * The geometry of the of focused element's outer shadow.\n\t */\n\t--ck-focus-outer-shadow-geometry: 0 0 0 3px;\n\n\t/**\n\t * A visual style of focused element's outer shadow.\n\t */\n\t--ck-focus-outer-shadow: var(--ck-focus-outer-shadow-geometry) var(--ck-color-focus-outer-shadow);\n\n\t/**\n\t * A visual style of focused element's outer shadow (when disabled).\n\t */\n\t--ck-focus-disabled-outer-shadow: var(--ck-focus-outer-shadow-geometry) var(--ck-color-focus-disabled-shadow);\n\n\t/**\n\t * A visual style of focused element's outer shadow (when has errors).\n\t */\n\t--ck-focus-error-outer-shadow: var(--ck-focus-outer-shadow-geometry) var(--ck-color-focus-error-shadow);\n\n\t/**\n\t * A visual style of focused element's border or outline.\n\t */\n\t--ck-focus-ring: 1px solid var(--ck-color-focus-border);\n}\n","/*\n * Copyright (c) 2003-2023, 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-font-size-base: 13px;\n\t--ck-line-height-base: 1.84615;\n\t--ck-font-face: Helvetica, Arial, Tahoma, Verdana, Sans-Serif;\n\n\t--ck-font-size-tiny: 0.7em;\n\t--ck-font-size-small: 0.75em;\n\t--ck-font-size-normal: 1em;\n\t--ck-font-size-big: 1.4em;\n\t--ck-font-size-large: 1.8em;\n}\n",'/*\n * Copyright (c) 2003-2023, 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/* This is super-important. This is **manually** adjusted so a button without an icon\n\tis never smaller than a button with icon, additionally making sure that text-less buttons\n\tare perfect squares. The value is also shared by other components which should stay "in-line"\n\twith buttons. */\n\t--ck-ui-component-min-height: 2.3em;\n}\n\n/**\n * Resets an element, ignoring its children.\n */\n.ck.ck-reset,\n.ck.ck-reset_all,\n.ck-reset_all *:not(.ck-reset_all-excluded *) {\n\t/* Do not include inheritable rules here. */\n\tmargin: 0;\n\tpadding: 0;\n\tborder: 0;\n\tbackground: transparent;\n\ttext-decoration: none;\n\tvertical-align: middle;\n\ttransition: none;\n\n\t/* https://github.com/ckeditor/ckeditor5-theme-lark/issues/105 */\n\tword-wrap: break-word;\n}\n\n/**\n * Resets an element AND its children.\n */\n.ck.ck-reset_all,\n.ck-reset_all *:not(.ck-reset_all-excluded *) {\n\t/* These are rule inherited by all children elements. */\n\tborder-collapse: collapse;\n\tfont: normal normal normal var(--ck-font-size-base)/var(--ck-line-height-base) var(--ck-font-face);\n\tcolor: var(--ck-color-text);\n\ttext-align: left;\n\twhite-space: nowrap;\n\tcursor: auto;\n\tfloat: none;\n}\n\n.ck-reset_all {\n\t& .ck-rtl *:not(.ck-reset_all-excluded *) {\n\t\ttext-align: right;\n\t}\n\n\t& iframe:not(.ck-reset_all-excluded *) {\n\t\t/* For IE */\n\t\tvertical-align: inherit;\n\t}\n\n\t& textarea:not(.ck-reset_all-excluded *) {\n\t\twhite-space: pre-wrap;\n\t}\n\n\t& textarea:not(.ck-reset_all-excluded *),\n\t& input[type="text"]:not(.ck-reset_all-excluded *),\n\t& input[type="password"]:not(.ck-reset_all-excluded *) {\n\t\tcursor: text;\n\t}\n\n\t& textarea[disabled]:not(.ck-reset_all-excluded *),\n\t& input[type="text"][disabled]:not(.ck-reset_all-excluded *),\n\t& input[type="password"][disabled]:not(.ck-reset_all-excluded *) {\n\t\tcursor: default;\n\t}\n\n\t& fieldset:not(.ck-reset_all-excluded *) {\n\t\tpadding: 10px;\n\t\tborder: 2px groove hsl(255, 7%, 88%);\n\t}\n\n\t& button:not(.ck-reset_all-excluded *)::-moz-focus-inner {\n\t\t/* See http://stackoverflow.com/questions/5517744/remove-extra-button-spacing-padding-in-firefox */\n\t\tpadding: 0;\n\t\tborder: 0\n\t}\n}\n\n/**\n * Default UI rules for RTL languages.\n */\n.ck[dir="rtl"],\n.ck[dir="rtl"] .ck {\n\ttext-align: right;\n}\n',"/*\n * Copyright (c) 2003-2023, 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 * Default border-radius value.\n */\n:root{\n\t--ck-border-radius: 2px;\n}\n","/*\n * Copyright (c) 2003-2023, 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/**\n\t * A visual style of element's inner shadow (i.e. input).\n\t */\n\t--ck-inner-shadow: 2px 2px 3px var(--ck-color-shadow-inner) inset;\n\n\t/**\n\t * A visual style of element's drop shadow (i.e. panel).\n\t */\n\t--ck-drop-shadow: 0 1px 2px 1px var(--ck-color-shadow-drop);\n\n\t/**\n\t * A visual style of element's active shadow (i.e. comment or suggestion).\n\t */\n\t--ck-drop-shadow-active: 0 3px 6px 1px var(--ck-color-shadow-drop-active);\n}\n","/*\n * Copyright (c) 2003-2023, 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-spacing-unit: \t\t\t\t\t\t0.6em;\n\t--ck-spacing-large: \t\t\t\t\tcalc(var(--ck-spacing-unit) * 1.5);\n\t--ck-spacing-standard: \t\t\t\t\tvar(--ck-spacing-unit);\n\t--ck-spacing-medium: \t\t\t\t\tcalc(var(--ck-spacing-unit) * 0.8);\n\t--ck-spacing-small: \t\t\t\t\tcalc(var(--ck-spacing-unit) * 0.5);\n\t--ck-spacing-tiny: \t\t\t\t\t\tcalc(var(--ck-spacing-unit) * 0.3);\n\t--ck-spacing-extra-tiny: \t\t\t\tcalc(var(--ck-spacing-unit) * 0.16);\n}\n"],sourceRoot:""}]);const c=a},7153:(t,e,n)=>{"use strict";n.d(e,{Z:()=>c});var i=n(4015);var o=n.n(i);var r=n(3645);var s=n.n(r);var a=s()(o());a.push([t.id,":root{--ck-color-resizer:var(--ck-color-focus-border);--ck-color-resizer-tooltip-background:#262626;--ck-color-resizer-tooltip-text:#f2f2f2;--ck-resizer-border-radius:var(--ck-border-radius);--ck-resizer-tooltip-offset:10px;--ck-resizer-tooltip-height:calc(var(--ck-spacing-small)*2 + 10px)}.ck .ck-widget,.ck .ck-widget.ck-widget_with-selection-handle{position:relative}.ck .ck-widget.ck-widget_with-selection-handle .ck-widget__selection-handle{position:absolute}.ck .ck-widget.ck-widget_with-selection-handle .ck-widget__selection-handle .ck-icon{display:block}.ck .ck-widget.ck-widget_with-selection-handle.ck-widget_selected>.ck-widget__selection-handle,.ck .ck-widget.ck-widget_with-selection-handle:hover>.ck-widget__selection-handle{visibility:visible}.ck .ck-size-view{background:var(--ck-color-resizer-tooltip-background);border:1px solid var(--ck-color-resizer-tooltip-text);border-radius:var(--ck-resizer-border-radius);color:var(--ck-color-resizer-tooltip-text);display:block;font-size:var(--ck-font-size-tiny);height:var(--ck-resizer-tooltip-height);line-height:var(--ck-resizer-tooltip-height);padding:0 var(--ck-spacing-small)}.ck .ck-size-view.ck-orientation-above-center,.ck .ck-size-view.ck-orientation-bottom-left,.ck .ck-size-view.ck-orientation-bottom-right,.ck .ck-size-view.ck-orientation-top-left,.ck .ck-size-view.ck-orientation-top-right{position:absolute}.ck .ck-size-view.ck-orientation-top-left{left:var(--ck-resizer-tooltip-offset);top:var(--ck-resizer-tooltip-offset)}.ck .ck-size-view.ck-orientation-top-right{right:var(--ck-resizer-tooltip-offset);top:var(--ck-resizer-tooltip-offset)}.ck .ck-size-view.ck-orientation-bottom-right{bottom:var(--ck-resizer-tooltip-offset);right:var(--ck-resizer-tooltip-offset)}.ck .ck-size-view.ck-orientation-bottom-left{bottom:var(--ck-resizer-tooltip-offset);left:var(--ck-resizer-tooltip-offset)}.ck .ck-size-view.ck-orientation-above-center{left:50%;top:calc(var(--ck-resizer-tooltip-height)*-1);transform:translate(-50%)}:root{--ck-widget-outline-thickness:3px;--ck-widget-handler-icon-size:16px;--ck-widget-handler-animation-duration:200ms;--ck-widget-handler-animation-curve:ease;--ck-color-widget-blurred-border:#dedede;--ck-color-widget-hover-border:#ffc83d;--ck-color-widget-editable-focus-background:var(--ck-color-base-background);--ck-color-widget-drag-handler-icon-color:var(--ck-color-base-background)}.ck .ck-widget{outline-color:transparent;outline-style:solid;outline-width:var(--ck-widget-outline-thickness);transition:outline-color var(--ck-widget-handler-animation-duration) var(--ck-widget-handler-animation-curve)}.ck .ck-widget.ck-widget_selected,.ck .ck-widget.ck-widget_selected:hover{outline:var(--ck-widget-outline-thickness) solid var(--ck-color-focus-border)}.ck .ck-widget:hover{outline-color:var(--ck-color-widget-hover-border)}.ck .ck-editor__nested-editable{border:1px solid transparent}.ck .ck-editor__nested-editable.ck-editor__nested-editable_focused,.ck .ck-editor__nested-editable:focus{background-color:var(--ck-color-widget-editable-focus-background);border:var(--ck-focus-ring);box-shadow:var(--ck-inner-shadow),0 0;outline:none}.ck .ck-widget.ck-widget_with-selection-handle .ck-widget__selection-handle{background-color:transparent;border-radius:var(--ck-border-radius) var(--ck-border-radius) 0 0;box-sizing:border-box;left:calc(0px - var(--ck-widget-outline-thickness));opacity:0;padding:4px;top:0;transform:translateY(-100%);transition:background-color var(--ck-widget-handler-animation-duration) var(--ck-widget-handler-animation-curve),visibility var(--ck-widget-handler-animation-duration) var(--ck-widget-handler-animation-curve),opacity var(--ck-widget-handler-animation-duration) var(--ck-widget-handler-animation-curve)}.ck .ck-widget.ck-widget_with-selection-handle .ck-widget__selection-handle .ck-icon{color:var(--ck-color-widget-drag-handler-icon-color);height:var(--ck-widget-handler-icon-size);width:var(--ck-widget-handler-icon-size)}.ck .ck-widget.ck-widget_with-selection-handle .ck-widget__selection-handle .ck-icon .ck-icon__selected-indicator{opacity:0;transition:opacity .3s var(--ck-widget-handler-animation-curve)}.ck .ck-widget.ck-widget_with-selection-handle .ck-widget__selection-handle:hover .ck-icon .ck-icon__selected-indicator{opacity:1}.ck .ck-widget.ck-widget_with-selection-handle:hover>.ck-widget__selection-handle{background-color:var(--ck-color-widget-hover-border);opacity:1}.ck .ck-widget.ck-widget_with-selection-handle.ck-widget_selected:hover>.ck-widget__selection-handle,.ck .ck-widget.ck-widget_with-selection-handle.ck-widget_selected>.ck-widget__selection-handle{background-color:var(--ck-color-focus-border);opacity:1}.ck .ck-widget.ck-widget_with-selection-handle.ck-widget_selected:hover>.ck-widget__selection-handle .ck-icon .ck-icon__selected-indicator,.ck .ck-widget.ck-widget_with-selection-handle.ck-widget_selected>.ck-widget__selection-handle .ck-icon .ck-icon__selected-indicator{opacity:1}.ck[dir=rtl] .ck-widget.ck-widget_with-selection-handle .ck-widget__selection-handle{left:auto;right:calc(0px - var(--ck-widget-outline-thickness))}.ck.ck-editor__editable.ck-read-only .ck-widget{transition:none}.ck.ck-editor__editable.ck-read-only .ck-widget:not(.ck-widget_selected){--ck-widget-outline-thickness:0px}.ck.ck-editor__editable.ck-read-only .ck-widget.ck-widget_with-selection-handle .ck-widget__selection-handle,.ck.ck-editor__editable.ck-read-only .ck-widget.ck-widget_with-selection-handle .ck-widget__selection-handle:hover{background:var(--ck-color-widget-blurred-border)}.ck.ck-editor__editable.ck-blurred .ck-widget.ck-widget_selected,.ck.ck-editor__editable.ck-blurred .ck-widget.ck-widget_selected:hover{outline-color:var(--ck-color-widget-blurred-border)}.ck.ck-editor__editable.ck-blurred .ck-widget.ck-widget_selected.ck-widget_with-selection-handle:hover>.ck-widget__selection-handle,.ck.ck-editor__editable.ck-blurred .ck-widget.ck-widget_selected.ck-widget_with-selection-handle:hover>.ck-widget__selection-handle:hover,.ck.ck-editor__editable.ck-blurred .ck-widget.ck-widget_selected.ck-widget_with-selection-handle>.ck-widget__selection-handle,.ck.ck-editor__editable.ck-blurred .ck-widget.ck-widget_selected.ck-widget_with-selection-handle>.ck-widget__selection-handle:hover{background:var(--ck-color-widget-blurred-border)}.ck.ck-editor__editable blockquote>.ck-widget.ck-widget_with-selection-handle:first-child,.ck.ck-editor__editable>.ck-widget.ck-widget_with-selection-handle:first-child{margin-top:calc(1em + var(--ck-widget-handler-icon-size))}","",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-widget/theme/widget.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-widget/widget.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/mixins/_focus.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/mixins/_shadow.css"],names:[],mappings:"AAKA,MACC,+CAAgD,CAChD,6CAAsD,CACtD,uCAAgD,CAEhD,kDAAmD,CACnD,gCAAiC,CACjC,kEACD,CAOA,8DAEC,iBAqBD,CAnBC,4EACC,iBAOD,CALC,qFAGC,aACD,CASD,iLACC,kBACD,CAGD,kBACC,qDAAsD,CAEtD,qDAAsD,CACtD,6CAA8C,CAF9C,0CAA2C,CAI3C,aAAc,CADd,kCAAmC,CAGnC,uCAAwC,CACxC,4CAA6C,CAF7C,iCAsCD,CAlCC,8NAKC,iBACD,CAEA,0CAEC,qCAAsC,CADtC,oCAED,CAEA,2CAEC,sCAAuC,CADvC,oCAED,CAEA,8CACC,uCAAwC,CACxC,sCACD,CAEA,6CACC,uCAAwC,CACxC,qCACD,CAGA,8CAEC,QAAS,CADT,6CAAgD,CAEhD,yBACD,CCjFD,MACC,iCAAkC,CAClC,kCAAmC,CACnC,4CAA6C,CAC7C,wCAAyC,CAEzC,wCAAiD,CACjD,sCAAkD,CAClD,2EAA4E,CAC5E,yEACD,CAEA,eAGC,yBAA0B,CAD1B,mBAAoB,CADpB,gDAAiD,CAGjD,6GAUD,CARC,0EAEC,6EACD,CAEA,qBACC,iDACD,CAGD,gCACC,4BAWD,CAPC,yGAKC,iEAAkE,CCnCnE,2BAA2B,CCF3B,qCAA8B,CDC9B,YDqCA,CAIA,4EAKC,4BAA6B,CAa7B,iEAAkE,CAhBlE,qBAAsB,CAoBtB,mDAAoD,CAhBpD,SAAU,CALV,WAAY,CAsBZ,KAAM,CAFN,2BAA4B,CAT5B,6SAgCD,CAnBC,qFAIC,oDAAqD,CADrD,yCAA0C,CAD1C,wCAWD,CANC,kHACC,SAAU,CAGV,+DACD,CAID,wHACC,SACD,CAID,kFAEC,oDAAqD,CADrD,SAED,CAKC,oMAEC,6CAA8C,CAD9C,SAOD,CAHC,gRACC,SACD,CAOH,qFACC,SAAU,CACV,oDACD,CAGA,gDAEC,eAkBD,CAhBC,yEAOC,iCACD,CAGC,gOAEC,gDACD,CAOD,wIAEC,mDAQD,CALE,ghBAEC,gDACD,CAKH,yKAOC,yDACD",sourcesContent:["/*\n * Copyright (c) 2003-2023, 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-resizer: var(--ck-color-focus-border);\n\t--ck-color-resizer-tooltip-background: hsl(0, 0%, 15%);\n\t--ck-color-resizer-tooltip-text: hsl(0, 0%, 95%);\n\n\t--ck-resizer-border-radius: var(--ck-border-radius);\n\t--ck-resizer-tooltip-offset: 10px;\n\t--ck-resizer-tooltip-height: calc(var(--ck-spacing-small) * 2 + 10px);\n}\n\n.ck .ck-widget {\n\t/* This is neccessary for type around UI to be positioned properly. */\n\tposition: relative;\n}\n\n.ck .ck-widget.ck-widget_with-selection-handle {\n\t/* Make the widget wrapper a relative positioning container for the drag handle. */\n\tposition: relative;\n\n\t& .ck-widget__selection-handle {\n\t\tposition: absolute;\n\n\t\t& .ck-icon {\n\t\t\t/* Make sure the icon in not a subject to font-size or line-height to avoid\n\t\t\tunnecessary spacing around it. */\n\t\t\tdisplay: block;\n\t\t}\n\t}\n\n\t/* Show the selection handle on mouse hover over the widget, but not for nested widgets. */\n\t&:hover > .ck-widget__selection-handle {\n\t\tvisibility: visible;\n\t}\n\n\t/* Show the selection handle when the widget is selected, but not for nested widgets. */\n\t&.ck-widget_selected > .ck-widget__selection-handle {\n\t\tvisibility: visible;\n\t}\n}\n\n.ck .ck-size-view {\n\tbackground: var(--ck-color-resizer-tooltip-background);\n\tcolor: var(--ck-color-resizer-tooltip-text);\n\tborder: 1px solid var(--ck-color-resizer-tooltip-text);\n\tborder-radius: var(--ck-resizer-border-radius);\n\tfont-size: var(--ck-font-size-tiny);\n\tdisplay: block;\n\tpadding: 0 var(--ck-spacing-small);\n\theight: var(--ck-resizer-tooltip-height);\n\tline-height: var(--ck-resizer-tooltip-height);\n\n\t&.ck-orientation-top-left,\n\t&.ck-orientation-top-right,\n\t&.ck-orientation-bottom-right,\n\t&.ck-orientation-bottom-left,\n\t&.ck-orientation-above-center {\n\t\tposition: absolute;\n\t}\n\n\t&.ck-orientation-top-left {\n\t\ttop: var(--ck-resizer-tooltip-offset);\n\t\tleft: var(--ck-resizer-tooltip-offset);\n\t}\n\n\t&.ck-orientation-top-right {\n\t\ttop: var(--ck-resizer-tooltip-offset);\n\t\tright: var(--ck-resizer-tooltip-offset);\n\t}\n\n\t&.ck-orientation-bottom-right {\n\t\tbottom: var(--ck-resizer-tooltip-offset);\n\t\tright: var(--ck-resizer-tooltip-offset);\n\t}\n\n\t&.ck-orientation-bottom-left {\n\t\tbottom: var(--ck-resizer-tooltip-offset);\n\t\tleft: var(--ck-resizer-tooltip-offset);\n\t}\n\n\t/* Class applied if the widget is too small to contain the size label */\n\t&.ck-orientation-above-center {\n\t\ttop: calc(var(--ck-resizer-tooltip-height) * -1);\n\t\tleft: 50%;\n\t\ttransform: translate(-50%);\n\t}\n}\n",'/*\n * Copyright (c) 2003-2023, 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/_focus.css";\n@import "../mixins/_shadow.css";\n\n:root {\n\t--ck-widget-outline-thickness: 3px;\n\t--ck-widget-handler-icon-size: 16px;\n\t--ck-widget-handler-animation-duration: 200ms;\n\t--ck-widget-handler-animation-curve: ease;\n\n\t--ck-color-widget-blurred-border: hsl(0, 0%, 87%);\n\t--ck-color-widget-hover-border: hsl(43, 100%, 62%);\n\t--ck-color-widget-editable-focus-background: var(--ck-color-base-background);\n\t--ck-color-widget-drag-handler-icon-color: var(--ck-color-base-background);\n}\n\n.ck .ck-widget {\n\toutline-width: var(--ck-widget-outline-thickness);\n\toutline-style: solid;\n\toutline-color: transparent;\n\ttransition: outline-color var(--ck-widget-handler-animation-duration) var(--ck-widget-handler-animation-curve);\n\n\t&.ck-widget_selected,\n\t&.ck-widget_selected:hover {\n\t\toutline: var(--ck-widget-outline-thickness) solid var(--ck-color-focus-border);\n\t}\n\n\t&:hover {\n\t\toutline-color: var(--ck-color-widget-hover-border);\n\t}\n}\n\n.ck .ck-editor__nested-editable {\n\tborder: 1px solid transparent;\n\n\t/* The :focus style is applied before .ck-editor__nested-editable_focused class is rendered in the view.\n\tThese styles show a different border for a blink of an eye, so `:focus` need to have same styles applied. */\n\t&.ck-editor__nested-editable_focused,\n\t&:focus {\n\t\t@mixin ck-focus-ring;\n\t\t@mixin ck-box-shadow var(--ck-inner-shadow);\n\n\t\tbackground-color: var(--ck-color-widget-editable-focus-background);\n\t}\n}\n\n.ck .ck-widget.ck-widget_with-selection-handle {\n\t& .ck-widget__selection-handle {\n\t\tpadding: 4px;\n\t\tbox-sizing: border-box;\n\n\t\t/* Background and opacity will be animated as the handler shows up or the widget gets selected. */\n\t\tbackground-color: transparent;\n\t\topacity: 0;\n\n\t\t/* Transition:\n\t\t * background-color for the .ck-widget_selected state change,\n\t\t * visibility for hiding the handler,\n\t\t * opacity for the proper look of the icon when the handler disappears. */\n\t\ttransition:\n\t\t\tbackground-color var(--ck-widget-handler-animation-duration) var(--ck-widget-handler-animation-curve),\n\t\t\tvisibility var(--ck-widget-handler-animation-duration) var(--ck-widget-handler-animation-curve),\n\t\t\topacity var(--ck-widget-handler-animation-duration) var(--ck-widget-handler-animation-curve);\n\n\t\t/* Make only top corners round. */\n\t\tborder-radius: var(--ck-border-radius) var(--ck-border-radius) 0 0;\n\n\t\t/* Place the drag handler outside the widget wrapper. */\n\t\ttransform: translateY(-100%);\n\t\tleft: calc(0px - var(--ck-widget-outline-thickness));\n\t\ttop: 0;\n\n\t\t& .ck-icon {\n\t\t\t/* Make sure the dimensions of the icon are independent of the fon-size of the content. */\n\t\t\twidth: var(--ck-widget-handler-icon-size);\n\t\t\theight: var(--ck-widget-handler-icon-size);\n\t\t\tcolor: var(--ck-color-widget-drag-handler-icon-color);\n\n\t\t\t/* The "selected" part of the icon is invisible by default */\n\t\t\t& .ck-icon__selected-indicator {\n\t\t\t\topacity: 0;\n\n\t\t\t\t/* Note: The animation is longer on purpose. Simply feels better. */\n\t\t\t\ttransition: opacity 300ms var(--ck-widget-handler-animation-curve);\n\t\t\t}\n\t\t}\n\n\t\t/* Advertise using the look of the icon that once clicked the handler, the widget will be selected. */\n\t\t&:hover .ck-icon .ck-icon__selected-indicator {\n\t\t\topacity: 1;\n\t\t}\n\t}\n\n\t/* Show the selection handler on mouse hover over the widget, but not for nested widgets. */\n\t&:hover > .ck-widget__selection-handle {\n\t\topacity: 1;\n\t\tbackground-color: var(--ck-color-widget-hover-border);\n\t}\n\n\t/* Show the selection handler when the widget is selected, but not for nested widgets. */\n\t&.ck-widget_selected,\n\t&.ck-widget_selected:hover {\n\t\t& > .ck-widget__selection-handle {\n\t\t\topacity: 1;\n\t\t\tbackground-color: var(--ck-color-focus-border);\n\n\t\t\t/* When the widget is selected, notify the user using the proper look of the icon. */\n\t\t\t& .ck-icon .ck-icon__selected-indicator {\n\t\t\t\topacity: 1;\n\t\t\t}\n\t\t}\n\t}\n}\n\n/* In a RTL environment, align the selection handler to the right side of the widget */\n/* stylelint-disable-next-line no-descending-specificity */\n.ck[dir="rtl"] .ck-widget.ck-widget_with-selection-handle .ck-widget__selection-handle {\n\tleft: auto;\n\tright: calc(0px - var(--ck-widget-outline-thickness));\n}\n\n/* https://github.com/ckeditor/ckeditor5/issues/6415 */\n.ck.ck-editor__editable.ck-read-only .ck-widget {\n\t/* Prevent the :hover outline from showing up because of the used outline-color transition. */\n\ttransition: none;\n\n\t&:not(.ck-widget_selected) {\n\t\t/* Disable visual effects of hover/active widget when CKEditor is in readOnly mode.\n\t\t * See: https://github.com/ckeditor/ckeditor5/issues/1261\n\t\t *\n\t\t * Leave the unit because this custom property is used in calc() by other features.\n\t\t * See: https://github.com/ckeditor/ckeditor5/issues/6775\n\t\t */\n\t\t--ck-widget-outline-thickness: 0px;\n\t}\n\n\t&.ck-widget_with-selection-handle {\n\t\t& .ck-widget__selection-handle,\n\t\t& .ck-widget__selection-handle:hover {\n\t\t\tbackground: var(--ck-color-widget-blurred-border);\n\t\t}\n\t}\n}\n\n/* Style the widget when it\'s selected but the editable it belongs to lost focus. */\n/* stylelint-disable-next-line no-descending-specificity */\n.ck.ck-editor__editable.ck-blurred .ck-widget {\n\t&.ck-widget_selected,\n\t&.ck-widget_selected:hover {\n\t\toutline-color: var(--ck-color-widget-blurred-border);\n\n\t\t&.ck-widget_with-selection-handle {\n\t\t\t& > .ck-widget__selection-handle,\n\t\t\t& > .ck-widget__selection-handle:hover {\n\t\t\t\tbackground: var(--ck-color-widget-blurred-border);\n\t\t\t}\n\t\t}\n\t}\n}\n\n.ck.ck-editor__editable > .ck-widget.ck-widget_with-selection-handle:first-child,\n.ck.ck-editor__editable blockquote > .ck-widget.ck-widget_with-selection-handle:first-child {\n\t/* Do not crop selection handler if a widget is a first-child in the blockquote or in the root editable.\n\tIn fact, anything with overflow: hidden.\n\thttps://github.com/ckeditor/ckeditor5-block-quote/issues/28\n\thttps://github.com/ckeditor/ckeditor5-widget/issues/44\n\thttps://github.com/ckeditor/ckeditor5-widget/issues/66 */\n\tmargin-top: calc(1em + var(--ck-widget-handler-icon-size));\n}\n',"/*\n * Copyright (c) 2003-2023, 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 * A visual style of focused element's border.\n */\n@define-mixin ck-focus-ring {\n\t/* Disable native outline. */\n\toutline: none;\n\tborder: var(--ck-focus-ring)\n}\n","/*\n * Copyright (c) 2003-2023, 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 * A helper to combine multiple shadows.\n */\n@define-mixin ck-box-shadow $shadowA, $shadowB: 0 0 {\n\tbox-shadow: $shadowA, $shadowB;\n}\n\n/**\n * Gives an element a drop shadow so it looks like a floating panel.\n */\n@define-mixin ck-drop-shadow {\n\t@mixin ck-box-shadow var(--ck-drop-shadow);\n}\n"],sourceRoot:""}]);const c=a},4875:(t,e,n)=>{"use strict";n.d(e,{Z:()=>c});var i=n(4015);var o=n.n(i);var r=n(3645);var s=n.n(r);var a=s()(o());a.push([t.id,".ck .ck-widget_with-resizer{position:relative}.ck .ck-widget__resizer{display:none;left:0;pointer-events:none;position:absolute;top:0}.ck-focused .ck-widget_with-resizer.ck-widget_selected>.ck-widget__resizer{display:block}.ck .ck-widget__resizer__handle{pointer-events:all;position:absolute}.ck .ck-widget__resizer__handle.ck-widget__resizer__handle-bottom-right,.ck .ck-widget__resizer__handle.ck-widget__resizer__handle-top-left{cursor:nwse-resize}.ck .ck-widget__resizer__handle.ck-widget__resizer__handle-bottom-left,.ck .ck-widget__resizer__handle.ck-widget__resizer__handle-top-right{cursor:nesw-resize}:root{--ck-resizer-size:10px;--ck-resizer-offset:calc(var(--ck-resizer-size)/-2 - 2px);--ck-resizer-border-width:1px}.ck .ck-widget__resizer{outline:1px solid var(--ck-color-resizer)}.ck .ck-widget__resizer__handle{background:var(--ck-color-focus-border);border:var(--ck-resizer-border-width) solid #fff;border-radius:var(--ck-resizer-border-radius);height:var(--ck-resizer-size);width:var(--ck-resizer-size)}.ck .ck-widget__resizer__handle.ck-widget__resizer__handle-top-left{left:var(--ck-resizer-offset);top:var(--ck-resizer-offset)}.ck .ck-widget__resizer__handle.ck-widget__resizer__handle-top-right{right:var(--ck-resizer-offset);top:var(--ck-resizer-offset)}.ck .ck-widget__resizer__handle.ck-widget__resizer__handle-bottom-right{bottom:var(--ck-resizer-offset);right:var(--ck-resizer-offset)}.ck .ck-widget__resizer__handle.ck-widget__resizer__handle-bottom-left{bottom:var(--ck-resizer-offset);left:var(--ck-resizer-offset)}","",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-widget/theme/widgetresize.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-widget/widgetresize.css"],names:[],mappings:"AAKA,4BAEC,iBACD,CAEA,wBACC,YAAa,CAMb,MAAO,CAFP,mBAAoB,CAHpB,iBAAkB,CAMlB,KACD,CAGC,2EACC,aACD,CAGD,gCAIC,kBAAmB,CAHnB,iBAcD,CATC,4IAEC,kBACD,CAEA,4IAEC,kBACD,CCpCD,MACC,sBAAuB,CAGvB,yDAAiE,CACjE,6BACD,CAEA,wBACC,yCACD,CAEA,gCAGC,uCAAwC,CACxC,gDAA6D,CAC7D,6CAA8C,CAH9C,6BAA8B,CAD9B,4BAyBD,CAnBC,oEAEC,6BAA8B,CAD9B,4BAED,CAEA,qEAEC,8BAA+B,CAD/B,4BAED,CAEA,wEACC,+BAAgC,CAChC,8BACD,CAEA,uEACC,+BAAgC,CAChC,6BACD",sourcesContent:["/*\n * Copyright (c) 2003-2023, 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-widget_with-resizer {\n\t/* Make the widget wrapper a relative positioning container for the drag handle. */\n\tposition: relative;\n}\n\n.ck .ck-widget__resizer {\n\tdisplay: none;\n\tposition: absolute;\n\n\t/* The wrapper itself should not interfere with the pointer device, only the handles should. */\n\tpointer-events: none;\n\n\tleft: 0;\n\ttop: 0;\n}\n\n.ck-focused .ck-widget_with-resizer.ck-widget_selected {\n\t& > .ck-widget__resizer {\n\t\tdisplay: block;\n\t}\n}\n\n.ck .ck-widget__resizer__handle {\n\tposition: absolute;\n\n\t/* Resizers are the only UI elements that should interfere with a pointer device. */\n\tpointer-events: all;\n\n\t&.ck-widget__resizer__handle-top-left,\n\t&.ck-widget__resizer__handle-bottom-right {\n\t\tcursor: nwse-resize;\n\t}\n\n\t&.ck-widget__resizer__handle-top-right,\n\t&.ck-widget__resizer__handle-bottom-left {\n\t\tcursor: nesw-resize;\n\t}\n}\n","/*\n * Copyright (c) 2003-2023, 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-resizer-size: 10px;\n\n\t/* Set the resizer with a 50% offset. */\n\t--ck-resizer-offset: calc( ( var(--ck-resizer-size) / -2 ) - 2px);\n\t--ck-resizer-border-width: 1px;\n}\n\n.ck .ck-widget__resizer {\n\toutline: 1px solid var(--ck-color-resizer);\n}\n\n.ck .ck-widget__resizer__handle {\n\twidth: var(--ck-resizer-size);\n\theight: var(--ck-resizer-size);\n\tbackground: var(--ck-color-focus-border);\n\tborder: var(--ck-resizer-border-width) solid hsl(0, 0%, 100%);\n\tborder-radius: var(--ck-resizer-border-radius);\n\n\t&.ck-widget__resizer__handle-top-left {\n\t\ttop: var(--ck-resizer-offset);\n\t\tleft: var(--ck-resizer-offset);\n\t}\n\n\t&.ck-widget__resizer__handle-top-right {\n\t\ttop: var(--ck-resizer-offset);\n\t\tright: var(--ck-resizer-offset);\n\t}\n\n\t&.ck-widget__resizer__handle-bottom-right {\n\t\tbottom: var(--ck-resizer-offset);\n\t\tright: var(--ck-resizer-offset);\n\t}\n\n\t&.ck-widget__resizer__handle-bottom-left {\n\t\tbottom: var(--ck-resizer-offset);\n\t\tleft: var(--ck-resizer-offset);\n\t}\n}\n"],sourceRoot:""}]);const c=a},2347:(t,e,n)=>{"use strict";n.d(e,{Z:()=>c});var i=n(4015);var o=n.n(i);var r=n(3645);var s=n.n(r);var a=s()(o());a.push([t.id,'.ck .ck-widget .ck-widget__type-around__button{display:block;overflow:hidden;position:absolute;z-index:var(--ck-z-default)}.ck .ck-widget .ck-widget__type-around__button svg{left:50%;position:absolute;top:50%;z-index:calc(var(--ck-z-default) + 2)}.ck .ck-widget .ck-widget__type-around__button.ck-widget__type-around__button_before{left:min(10%,30px);top:calc(var(--ck-widget-outline-thickness)*-.5);transform:translateY(-50%)}.ck .ck-widget .ck-widget__type-around__button.ck-widget__type-around__button_after{bottom:calc(var(--ck-widget-outline-thickness)*-.5);right:min(10%,30px);transform:translateY(50%)}.ck .ck-widget.ck-widget_selected>.ck-widget__type-around>.ck-widget__type-around__button:after,.ck .ck-widget>.ck-widget__type-around>.ck-widget__type-around__button:hover:after{content:"";display:block;left:1px;position:absolute;top:1px;z-index:calc(var(--ck-z-default) + 1)}.ck .ck-widget>.ck-widget__type-around>.ck-widget__type-around__fake-caret{display:none;left:0;position:absolute;right:0}.ck .ck-widget:hover>.ck-widget__type-around>.ck-widget__type-around__fake-caret{left:calc(var(--ck-widget-outline-thickness)*-1);right:calc(var(--ck-widget-outline-thickness)*-1)}.ck .ck-widget.ck-widget_type-around_show-fake-caret_before>.ck-widget__type-around>.ck-widget__type-around__fake-caret{display:block;top:calc(var(--ck-widget-outline-thickness)*-1 - 1px)}.ck .ck-widget.ck-widget_type-around_show-fake-caret_after>.ck-widget__type-around>.ck-widget__type-around__fake-caret{bottom:calc(var(--ck-widget-outline-thickness)*-1 - 1px);display:block}.ck.ck-editor__editable.ck-read-only .ck-widget__type-around,.ck.ck-editor__editable.ck-restricted-editing_mode_restricted .ck-widget__type-around,.ck.ck-editor__editable.ck-widget__type-around_disabled .ck-widget__type-around{display:none}:root{--ck-widget-type-around-button-size:20px;--ck-color-widget-type-around-button-active:var(--ck-color-focus-border);--ck-color-widget-type-around-button-hover:var(--ck-color-widget-hover-border);--ck-color-widget-type-around-button-blurred-editable:var(--ck-color-widget-blurred-border);--ck-color-widget-type-around-button-radar-start-alpha:0;--ck-color-widget-type-around-button-radar-end-alpha:.3;--ck-color-widget-type-around-button-icon:var(--ck-color-base-background)}.ck .ck-widget .ck-widget__type-around__button{background:var(--ck-color-widget-type-around-button);border-radius:100px;height:var(--ck-widget-type-around-button-size);opacity:0;pointer-events:none;transition:opacity var(--ck-widget-handler-animation-duration) var(--ck-widget-handler-animation-curve),background var(--ck-widget-handler-animation-duration) var(--ck-widget-handler-animation-curve);width:var(--ck-widget-type-around-button-size)}.ck .ck-widget .ck-widget__type-around__button svg{height:8px;margin-top:1px;transform:translate(-50%,-50%);transition:transform .5s ease;width:10px}.ck .ck-widget .ck-widget__type-around__button svg *{stroke-dasharray:10;stroke-dashoffset:0;fill:none;stroke:var(--ck-color-widget-type-around-button-icon);stroke-width:1.5px;stroke-linecap:round;stroke-linejoin:round}.ck .ck-widget .ck-widget__type-around__button svg line{stroke-dasharray:7}.ck .ck-widget .ck-widget__type-around__button:hover{animation:ck-widget-type-around-button-sonar 1s ease infinite}.ck .ck-widget .ck-widget__type-around__button:hover svg polyline{animation:ck-widget-type-around-arrow-dash 2s linear}.ck .ck-widget .ck-widget__type-around__button:hover svg line{animation:ck-widget-type-around-arrow-tip-dash 2s linear}.ck .ck-widget.ck-widget_selected>.ck-widget__type-around>.ck-widget__type-around__button,.ck .ck-widget:hover>.ck-widget__type-around>.ck-widget__type-around__button{opacity:1;pointer-events:auto}.ck .ck-widget:not(.ck-widget_selected)>.ck-widget__type-around>.ck-widget__type-around__button{background:var(--ck-color-widget-type-around-button-hover)}.ck .ck-widget.ck-widget_selected>.ck-widget__type-around>.ck-widget__type-around__button,.ck .ck-widget>.ck-widget__type-around>.ck-widget__type-around__button:hover{background:var(--ck-color-widget-type-around-button-active)}.ck .ck-widget.ck-widget_selected>.ck-widget__type-around>.ck-widget__type-around__button:after,.ck .ck-widget>.ck-widget__type-around>.ck-widget__type-around__button:hover:after{background:linear-gradient(135deg,hsla(0,0%,100%,0),hsla(0,0%,100%,.3));border-radius:100px;height:calc(var(--ck-widget-type-around-button-size) - 2px);width:calc(var(--ck-widget-type-around-button-size) - 2px)}.ck .ck-widget.ck-widget_with-selection-handle>.ck-widget__type-around>.ck-widget__type-around__button_before{margin-left:20px}.ck .ck-widget .ck-widget__type-around__fake-caret{animation:ck-widget-type-around-fake-caret-pulse 1s linear infinite normal forwards;background:var(--ck-color-base-text);height:1px;outline:1px solid hsla(0,0%,100%,.5);pointer-events:none}.ck .ck-widget.ck-widget_selected.ck-widget_type-around_show-fake-caret_after,.ck .ck-widget.ck-widget_selected.ck-widget_type-around_show-fake-caret_before{outline-color:transparent}.ck .ck-widget.ck-widget_type-around_show-fake-caret_after.ck-widget_selected:hover,.ck .ck-widget.ck-widget_type-around_show-fake-caret_before.ck-widget_selected:hover{outline-color:var(--ck-color-widget-hover-border)}.ck .ck-widget.ck-widget_type-around_show-fake-caret_after>.ck-widget__type-around>.ck-widget__type-around__button,.ck .ck-widget.ck-widget_type-around_show-fake-caret_before>.ck-widget__type-around>.ck-widget__type-around__button{opacity:0;pointer-events:none}.ck .ck-widget.ck-widget_type-around_show-fake-caret_after.ck-widget_selected.ck-widget_with-resizer>.ck-widget__resizer,.ck .ck-widget.ck-widget_type-around_show-fake-caret_after.ck-widget_with-selection-handle.ck-widget_selected:hover>.ck-widget__selection-handle,.ck .ck-widget.ck-widget_type-around_show-fake-caret_after.ck-widget_with-selection-handle.ck-widget_selected>.ck-widget__selection-handle,.ck .ck-widget.ck-widget_type-around_show-fake-caret_before.ck-widget_selected.ck-widget_with-resizer>.ck-widget__resizer,.ck .ck-widget.ck-widget_type-around_show-fake-caret_before.ck-widget_with-selection-handle.ck-widget_selected:hover>.ck-widget__selection-handle,.ck .ck-widget.ck-widget_type-around_show-fake-caret_before.ck-widget_with-selection-handle.ck-widget_selected>.ck-widget__selection-handle{opacity:0}.ck[dir=rtl] .ck-widget.ck-widget_with-selection-handle .ck-widget__type-around>.ck-widget__type-around__button_before{margin-left:0;margin-right:20px}.ck-editor__nested-editable.ck-editor__editable_selected .ck-widget.ck-widget_selected>.ck-widget__type-around>.ck-widget__type-around__button,.ck-editor__nested-editable.ck-editor__editable_selected .ck-widget:hover>.ck-widget__type-around>.ck-widget__type-around__button{opacity:0;pointer-events:none}.ck-editor__editable.ck-blurred .ck-widget.ck-widget_selected>.ck-widget__type-around>.ck-widget__type-around__button:not(:hover){background:var(--ck-color-widget-type-around-button-blurred-editable)}.ck-editor__editable.ck-blurred .ck-widget.ck-widget_selected>.ck-widget__type-around>.ck-widget__type-around__button:not(:hover) svg *{stroke:#999}@keyframes ck-widget-type-around-arrow-dash{0%{stroke-dashoffset:10}20%,to{stroke-dashoffset:0}}@keyframes ck-widget-type-around-arrow-tip-dash{0%,20%{stroke-dashoffset:7}40%,to{stroke-dashoffset:0}}@keyframes ck-widget-type-around-button-sonar{0%{box-shadow:0 0 0 0 hsla(var(--ck-color-focus-border-coordinates),var(--ck-color-widget-type-around-button-radar-start-alpha))}50%{box-shadow:0 0 0 5px hsla(var(--ck-color-focus-border-coordinates),var(--ck-color-widget-type-around-button-radar-end-alpha))}to{box-shadow:0 0 0 5px hsla(var(--ck-color-focus-border-coordinates),var(--ck-color-widget-type-around-button-radar-start-alpha))}}@keyframes ck-widget-type-around-fake-caret-pulse{0%{opacity:1}49%{opacity:1}50%{opacity:0}99%{opacity:0}to{opacity:1}}',"",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-widget/theme/widgettypearound.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-widget/widgettypearound.css"],names:[],mappings:"AASC,+CACC,aAAc,CAEd,eAAgB,CADhB,iBAAkB,CAElB,2BAwBD,CAtBC,mDAGC,QAAS,CAFT,iBAAkB,CAClB,OAAQ,CAER,qCACD,CAEA,qFAGC,kBAAoB,CADpB,gDAAoD,CAGpD,0BACD,CAEA,oFAEC,mDAAuD,CACvD,mBAAqB,CAErB,yBACD,CAUA,mLACC,UAAW,CACX,aAAc,CAGd,QAAS,CAFT,iBAAkB,CAClB,OAAQ,CAER,qCACD,CAMD,2EACC,YAAa,CAEb,MAAO,CADP,iBAAkB,CAElB,OACD,CAOA,iFACC,gDAAqD,CACrD,iDACD,CAKA,wHAEC,aAAc,CADd,qDAED,CAKA,uHACC,wDAA6D,CAC7D,aACD,CAoBD,mOACC,YACD,CC3GA,MACC,wCAAyC,CACzC,wEAAyE,CACzE,8EAA+E,CAC/E,2FAA4F,CAC5F,wDAAyD,CACzD,uDAAwD,CACxD,yEACD,CAgBC,+CAGC,oDAAqD,CACrD,mBAAoB,CAFpB,+CAAgD,CAVjD,SAAU,CACV,mBAAoB,CAYnB,uMAAyM,CAJzM,8CAkDD,CA1CC,mDAEC,UAAW,CAGX,cAAe,CAFf,8BAA+B,CAC/B,6BAA8B,CAH9B,UAoBD,CAdC,qDACC,mBAAoB,CACpB,mBAAoB,CAEpB,SAAU,CACV,qDAAsD,CACtD,kBAAmB,CACnB,oBAAqB,CACrB,qBACD,CAEA,wDACC,kBACD,CAGD,qDAIC,6DAcD,CARE,kEACC,oDACD,CAEA,8DACC,wDACD,CAUF,uKAvED,SAAU,CACV,mBAwEC,CAOD,gGACC,0DACD,CAOA,uKAEC,2DAQD,CANC,mLAIC,uEAAkF,CADlF,mBAAoB,CADpB,2DAA4D,CAD5D,0DAID,CAOD,8GACC,gBACD,CAKA,mDAGC,mFAAoF,CAOpF,oCAAqC,CARrC,UAAW,CAOX,oCAAwC,CARxC,mBAUD,CAOC,6JAEC,yBACD,CAUA,yKACC,iDACD,CAMA,uOAlJD,SAAU,CACV,mBAmJC,CAoBA,6yBACC,SACD,CASF,uHACC,aAAc,CACd,iBACD,CAYG,iRAlMF,SAAU,CACV,mBAmME,CAQH,kIACC,qEAKD,CAHC,wIACC,WACD,CAGD,4CACC,GACC,oBACD,CACA,OACC,mBACD,CACD,CAEA,gDACC,OACC,mBACD,CACA,OACC,mBACD,CACD,CAEA,8CACC,GACC,6HACD,CACA,IACC,6HACD,CACA,GACC,+HACD,CACD,CAEA,kDACC,GACC,SACD,CACA,IACC,SACD,CACA,IACC,SACD,CACA,IACC,SACD,CACA,GACC,SACD,CACD",sourcesContent:['/*\n * Copyright (c) 2003-2023, 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-widget {\n\t/*\n\t * Styles of the type around buttons\n\t */\n\t& .ck-widget__type-around__button {\n\t\tdisplay: block;\n\t\tposition: absolute;\n\t\toverflow: hidden;\n\t\tz-index: var(--ck-z-default);\n\n\t\t& svg {\n\t\t\tposition: absolute;\n\t\t\ttop: 50%;\n\t\t\tleft: 50%;\n\t\t\tz-index: calc(var(--ck-z-default) + 2);\n\t\t}\n\n\t\t&.ck-widget__type-around__button_before {\n\t\t\t/* Place it in the middle of the outline */\n\t\t\ttop: calc(-0.5 * var(--ck-widget-outline-thickness));\n\t\t\tleft: min(10%, 30px);\n\n\t\t\ttransform: translateY(-50%);\n\t\t}\n\n\t\t&.ck-widget__type-around__button_after {\n\t\t\t/* Place it in the middle of the outline */\n\t\t\tbottom: calc(-0.5 * var(--ck-widget-outline-thickness));\n\t\t\tright: min(10%, 30px);\n\n\t\t\ttransform: translateY(50%);\n\t\t}\n\t}\n\n\t/*\n\t * Styles for the buttons when:\n\t * - the widget is selected,\n\t * - or the button is being hovered (regardless of the widget state).\n\t */\n\t&.ck-widget_selected > .ck-widget__type-around > .ck-widget__type-around__button,\n\t& > .ck-widget__type-around > .ck-widget__type-around__button:hover {\n\t\t&::after {\n\t\t\tcontent: "";\n\t\t\tdisplay: block;\n\t\t\tposition: absolute;\n\t\t\ttop: 1px;\n\t\t\tleft: 1px;\n\t\t\tz-index: calc(var(--ck-z-default) + 1);\n\t\t}\n\t}\n\n\t/*\n\t * Styles for the horizontal "fake caret" which is displayed when the user navigates using the keyboard.\n\t */\n\t& > .ck-widget__type-around > .ck-widget__type-around__fake-caret {\n\t\tdisplay: none;\n\t\tposition: absolute;\n\t\tleft: 0;\n\t\tright: 0;\n\t}\n\n\t/*\n\t * When the widget is hovered the "fake caret" would normally be narrower than the\n\t * extra outline displayed around the widget. Let\'s extend the "fake caret" to match\n\t * the full width of the widget.\n\t */\n\t&:hover > .ck-widget__type-around > .ck-widget__type-around__fake-caret {\n\t\tleft: calc( -1 * var(--ck-widget-outline-thickness) );\n\t\tright: calc( -1 * var(--ck-widget-outline-thickness) );\n\t}\n\n\t/*\n\t * Styles for the horizontal "fake caret" when it should be displayed before the widget (backward keyboard navigation).\n\t */\n\t&.ck-widget_type-around_show-fake-caret_before > .ck-widget__type-around > .ck-widget__type-around__fake-caret {\n\t\ttop: calc( -1 * var(--ck-widget-outline-thickness) - 1px );\n\t\tdisplay: block;\n\t}\n\n\t/*\n\t * Styles for the horizontal "fake caret" when it should be displayed after the widget (forward keyboard navigation).\n\t */\n\t&.ck-widget_type-around_show-fake-caret_after > .ck-widget__type-around > .ck-widget__type-around__fake-caret {\n\t\tbottom: calc( -1 * var(--ck-widget-outline-thickness) - 1px );\n\t\tdisplay: block;\n\t}\n}\n\n/*\n * Integration with the read-only mode of the editor.\n */\n.ck.ck-editor__editable.ck-read-only .ck-widget__type-around {\n\tdisplay: none;\n}\n\n/*\n * Integration with the restricted editing mode (feature) of the editor.\n */\n.ck.ck-editor__editable.ck-restricted-editing_mode_restricted .ck-widget__type-around {\n\tdisplay: none;\n}\n\n/*\n * Integration with the #isEnabled property of the WidgetTypeAround plugin.\n */\n.ck.ck-editor__editable.ck-widget__type-around_disabled .ck-widget__type-around {\n\tdisplay: none;\n}\n','/*\n * Copyright (c) 2003-2023, 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-widget-type-around-button-size: 20px;\n\t--ck-color-widget-type-around-button-active: var(--ck-color-focus-border);\n\t--ck-color-widget-type-around-button-hover: var(--ck-color-widget-hover-border);\n\t--ck-color-widget-type-around-button-blurred-editable: var(--ck-color-widget-blurred-border);\n\t--ck-color-widget-type-around-button-radar-start-alpha: 0;\n\t--ck-color-widget-type-around-button-radar-end-alpha: .3;\n\t--ck-color-widget-type-around-button-icon: var(--ck-color-base-background);\n}\n\n@define-mixin ck-widget-type-around-button-visible {\n\topacity: 1;\n\tpointer-events: auto;\n}\n\n@define-mixin ck-widget-type-around-button-hidden {\n\topacity: 0;\n\tpointer-events: none;\n}\n\n.ck .ck-widget {\n\t/*\n\t * Styles of the type around buttons\n\t */\n\t& .ck-widget__type-around__button {\n\t\twidth: var(--ck-widget-type-around-button-size);\n\t\theight: var(--ck-widget-type-around-button-size);\n\t\tbackground: var(--ck-color-widget-type-around-button);\n\t\tborder-radius: 100px;\n\t\ttransition: opacity var(--ck-widget-handler-animation-duration) var(--ck-widget-handler-animation-curve), background var(--ck-widget-handler-animation-duration) var(--ck-widget-handler-animation-curve);\n\n\t\t@mixin ck-widget-type-around-button-hidden;\n\n\t\t& svg {\n\t\t\twidth: 10px;\n\t\t\theight: 8px;\n\t\t\ttransform: translate(-50%,-50%);\n\t\t\ttransition: transform .5s ease;\n\t\t\tmargin-top: 1px;\n\n\t\t\t& * {\n\t\t\t\tstroke-dasharray: 10;\n\t\t\t\tstroke-dashoffset: 0;\n\n\t\t\t\tfill: none;\n\t\t\t\tstroke: var(--ck-color-widget-type-around-button-icon);\n\t\t\t\tstroke-width: 1.5px;\n\t\t\t\tstroke-linecap: round;\n\t\t\t\tstroke-linejoin: round;\n\t\t\t}\n\n\t\t\t& line {\n\t\t\t\tstroke-dasharray: 7;\n\t\t\t}\n\t\t}\n\n\t\t&:hover {\n\t\t\t/*\n\t\t\t * Display the "sonar" around the button when hovered.\n\t\t\t */\n\t\t\tanimation: ck-widget-type-around-button-sonar 1s ease infinite;\n\n\t\t\t/*\n\t\t\t * Animate active button\'s icon.\n\t\t\t */\n\t\t\t& svg {\n\t\t\t\t& polyline {\n\t\t\t\t\tanimation: ck-widget-type-around-arrow-dash 2s linear;\n\t\t\t\t}\n\n\t\t\t\t& line {\n\t\t\t\t\tanimation: ck-widget-type-around-arrow-tip-dash 2s linear;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\t/*\n\t * Show type around buttons when the widget gets selected or being hovered.\n\t */\n\t&.ck-widget_selected,\n\t&:hover {\n\t\t& > .ck-widget__type-around > .ck-widget__type-around__button {\n\t\t\t@mixin ck-widget-type-around-button-visible;\n\t\t}\n\t}\n\n\t/*\n\t * Styles for the buttons when the widget is NOT selected (but the buttons are visible\n\t * and still can be hovered).\n\t */\n\t&:not(.ck-widget_selected) > .ck-widget__type-around > .ck-widget__type-around__button {\n\t\tbackground: var(--ck-color-widget-type-around-button-hover);\n\t}\n\n\t/*\n\t * Styles for the buttons when:\n\t * - the widget is selected,\n\t * - or the button is being hovered (regardless of the widget state).\n\t */\n\t&.ck-widget_selected > .ck-widget__type-around > .ck-widget__type-around__button,\n\t& > .ck-widget__type-around > .ck-widget__type-around__button:hover {\n\t\tbackground: var(--ck-color-widget-type-around-button-active);\n\n\t\t&::after {\n\t\t\twidth: calc(var(--ck-widget-type-around-button-size) - 2px);\n\t\t\theight: calc(var(--ck-widget-type-around-button-size) - 2px);\n\t\t\tborder-radius: 100px;\n\t\t\tbackground: linear-gradient(135deg, hsla(0,0%,100%,0) 0%, hsla(0,0%,100%,.3) 100%);\n\t\t}\n\t}\n\n\t/*\n\t * Styles for the "before" button when the widget has a selection handle. Because some space\n\t * is consumed by the handle, the button must be moved slightly to the right to let it breathe.\n\t */\n\t&.ck-widget_with-selection-handle > .ck-widget__type-around > .ck-widget__type-around__button_before {\n\t\tmargin-left: 20px;\n\t}\n\n\t/*\n\t * Styles for the horizontal "fake caret" which is displayed when the user navigates using the keyboard.\n\t */\n\t& .ck-widget__type-around__fake-caret {\n\t\tpointer-events: none;\n\t\theight: 1px;\n\t\tanimation: ck-widget-type-around-fake-caret-pulse linear 1s infinite normal forwards;\n\n\t\t/*\n\t\t * The semi-transparent-outline+background combo improves the contrast\n\t\t * when the background underneath the fake caret is dark.\n\t\t */\n\t\toutline: solid 1px hsla(0, 0%, 100%, .5);\n\t\tbackground: var(--ck-color-base-text);\n\t}\n\n\t/*\n\t * Styles of the widget when the "fake caret" is blinking (e.g. upon keyboard navigation).\n\t * Despite the widget being physically selected in the model, its outline should disappear.\n\t */\n\t&.ck-widget_selected {\n\t\t&.ck-widget_type-around_show-fake-caret_before,\n\t\t&.ck-widget_type-around_show-fake-caret_after {\n\t\t\toutline-color: transparent;\n\t\t}\n\t}\n\n\t&.ck-widget_type-around_show-fake-caret_before,\n\t&.ck-widget_type-around_show-fake-caret_after {\n\t\t/*\n\t\t * When the "fake caret" is visible we simulate that the widget is not selected\n\t\t * (despite being physically selected), so the outline color should be for the\n\t\t * unselected widget.\n\t\t */\n\t\t&.ck-widget_selected:hover {\n\t\t\toutline-color: var(--ck-color-widget-hover-border);\n\t\t}\n\n\t\t/*\n\t\t * Styles of the type around buttons when the "fake caret" is blinking (e.g. upon keyboard navigation).\n\t\t * In this state, the type around buttons would collide with the fake carets so they should disappear.\n\t\t */\n\t\t& > .ck-widget__type-around > .ck-widget__type-around__button {\n\t\t\t@mixin ck-widget-type-around-button-hidden;\n\t\t}\n\n\t\t/*\n\t\t * Fake horizontal caret integration with the selection handle. When the caret is visible, simply\n\t\t * hide the handle because it intersects with the caret (and does not make much sense anyway).\n\t\t */\n\t\t&.ck-widget_with-selection-handle {\n\t\t\t&.ck-widget_selected,\n\t\t\t&.ck-widget_selected:hover {\n\t\t\t\t& > .ck-widget__selection-handle {\n\t\t\t\t\topacity: 0\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t/*\n\t\t * Fake horizontal caret integration with the resize UI. When the caret is visible, simply\n\t\t * hide the resize UI because it creates too much noise. It can be visible when the user\n\t\t * hovers the widget, though.\n\t\t */\n\t\t&.ck-widget_selected.ck-widget_with-resizer > .ck-widget__resizer {\n\t\t\topacity: 0\n\t\t}\n\t}\n}\n\n/*\n * Styles for the "before" button when the widget has a selection handle in an RTL environment.\n * The selection handler is aligned to the right side of the widget so there is no need to create\n * additional space for it next to the "before" button.\n */\n.ck[dir="rtl"] .ck-widget.ck-widget_with-selection-handle .ck-widget__type-around > .ck-widget__type-around__button_before {\n\tmargin-left: 0;\n\tmargin-right: 20px;\n}\n\n/*\n * Hide type around buttons when the widget is selected as a child of a selected\n * nested editable (e.g. mulit-cell table selection).\n *\n * See https://github.com/ckeditor/ckeditor5/issues/7263.\n */\n.ck-editor__nested-editable.ck-editor__editable_selected {\n\t& .ck-widget {\n\t\t&.ck-widget_selected,\n\t\t&:hover {\n\t\t\t& > .ck-widget__type-around > .ck-widget__type-around__button {\n\t\t\t\t@mixin ck-widget-type-around-button-hidden;\n\t\t\t}\n\t\t}\n\t}\n}\n\n/*\n * Styles for the buttons when the widget is selected but the user clicked outside of the editor (blurred the editor).\n */\n.ck-editor__editable.ck-blurred .ck-widget.ck-widget_selected > .ck-widget__type-around > .ck-widget__type-around__button:not(:hover) {\n\tbackground: var(--ck-color-widget-type-around-button-blurred-editable);\n\n\t& svg * {\n\t\tstroke: hsl(0,0%,60%);\n\t}\n}\n\n@keyframes ck-widget-type-around-arrow-dash {\n\t0% {\n\t\tstroke-dashoffset: 10;\n\t}\n\t20%, 100% {\n\t\tstroke-dashoffset: 0;\n\t}\n}\n\n@keyframes ck-widget-type-around-arrow-tip-dash {\n\t0%, 20% {\n\t\tstroke-dashoffset: 7;\n\t}\n\t40%, 100% {\n\t\tstroke-dashoffset: 0;\n\t}\n}\n\n@keyframes ck-widget-type-around-button-sonar {\n\t0% {\n\t\tbox-shadow: 0 0 0 0 hsla(var(--ck-color-focus-border-coordinates), var(--ck-color-widget-type-around-button-radar-start-alpha));\n\t}\n\t50% {\n\t\tbox-shadow: 0 0 0 5px hsla(var(--ck-color-focus-border-coordinates), var(--ck-color-widget-type-around-button-radar-end-alpha));\n\t}\n\t100% {\n\t\tbox-shadow: 0 0 0 5px hsla(var(--ck-color-focus-border-coordinates), var(--ck-color-widget-type-around-button-radar-start-alpha));\n\t}\n}\n\n@keyframes ck-widget-type-around-fake-caret-pulse {\n\t0% {\n\t\topacity: 1;\n\t}\n\t49% {\n\t\topacity: 1;\n\t}\n\t50% {\n\t\topacity: 0;\n\t}\n\t99% {\n\t\topacity: 0;\n\t}\n\t100% {\n\t\topacity: 1;\n\t}\n}\n'],sourceRoot:""}]);const c=a},3645:t=>{"use strict";t.exports=function(t){var e=[];e.toString=function e(){return this.map((function(e){var n=t(e);if(e[2]){return"@media ".concat(e[2]," {").concat(n,"}")}return n})).join("")};e.i=function(t,n,i){if(typeof t==="string"){t=[[null,t,""]]}var o={};if(i){for(var r=0;r{"use strict";function e(t,e){return s(t)||r(t,e)||i(t,e)||n()}function n(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function i(t,e){if(!t)return;if(typeof t==="string")return o(t,e);var n=Object.prototype.toString.call(t).slice(8,-1);if(n==="Object"&&t.constructor)n=t.constructor.name;if(n==="Map"||n==="Set")return Array.from(t);if(n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return o(t,e)}function o(t,e){if(e==null||e>t.length)e=t.length;for(var n=0,i=new Array(e);n{"use strict";var i=function t(){var e;return function t(){if(typeof e==="undefined"){e=Boolean(window&&document&&document.all&&!window.atob)}return e}}();var o=function t(){var e={};return function t(n){if(typeof e[n]==="undefined"){var i=document.querySelector(n);if(window.HTMLIFrameElement&&i instanceof window.HTMLIFrameElement){try{i=i.contentDocument.head}catch(t){i=null}}e[n]=i}return e[n]}}();var r=[];function s(t){var e=-1;for(var n=0;n{n.n=t=>{var e=t&&t.__esModule?()=>t["default"]:()=>t;n.d(e,{a:e});return e}})();(()=>{n.d=(t,e)=>{for(var i in e){if(n.o(e,i)&&!n.o(t,i)){Object.defineProperty(t,i,{enumerable:true,get:e[i]})}}}})();(()=>{n.o=(t,e)=>Object.prototype.hasOwnProperty.call(t,e)})();(()=>{n.nc=undefined})();var i={};(()=>{"use strict";n.d(i,{default:()=>jX});function t({emitter:t,activator:e,callback:n,contextElements:i}){t.listenTo(document,"mousedown",((t,o)=>{if(!e()){return}const r=typeof o.composedPath=="function"?o.composedPath():[];const s=typeof i=="function"?i():i;for(const t of s){if(t.contains(o.target)||r.includes(t)){return}}n()}))}function e(t){class e extends t{disableCssTransitions(){this._isCssTransitionsDisabled=true}enableCssTransitions(){this._isCssTransitionsDisabled=false}constructor(...t){super(...t);this.set("_isCssTransitionsDisabled",false);this.initializeCssTransitionDisablerMixin()}initializeCssTransitionDisablerMixin(){this.extendTemplate({attributes:{class:[this.bindTemplate.if("_isCssTransitionsDisabled","ck-transitions-disabled")]}})}}return e}function o({view:t}){t.listenTo(t.element,"submit",((e,n)=>{n.preventDefault();t.fire("submit")}),{useCapture:true})}function r({keystrokeHandler:t,focusTracker:e,gridItems:n,numberOfColumns:i,uiLanguageDirection:o}){const r=typeof i==="number"?()=>i:i;t.set("arrowright",s(((t,e)=>o==="rtl"?c(t,e.length):a(t,e.length))));t.set("arrowleft",s(((t,e)=>o==="rtl"?a(t,e.length):c(t,e.length))));t.set("arrowup",s(((t,e)=>{let n=t-r();if(n<0){n=t+r()*Math.floor(e.length/r());if(n>e.length-1){n-=r()}}return n})));t.set("arrowdown",s(((t,e)=>{let n=t+r();if(n>e.length-1){n=t%r()}return n})));function s(t){return i=>{const o=n.find((t=>t.element===e.focusedElement));const r=n.getIndex(o);const s=t(r,n);n.get(s).focus();i.stopPropagation();i.preventDefault()}}function a(t,e){if(t===e-1){return 0}else{return t+1}}function c(t,e){if(t===0){return e-1}else{return t-1}}}function s(){try{return navigator.userAgent.toLowerCase()}catch(t){return""}}const a=s();const c={isMac:d(a),isWindows:u(a),isGecko:h(a),isSafari:m(a),isiOS:g(a),isAndroid:f(a),isBlink:p(a),features:{isRegExpUnicodePropertySupported:b()}};const l=c;function d(t){return t.indexOf("macintosh")>-1}function u(t){return t.indexOf("windows")>-1}function h(t){return!!t.match(/gecko\/\d+/)}function m(t){return t.indexOf(" applewebkit/")>-1&&t.indexOf("chrome")===-1}function g(t){return!!t.match(/iphone|ipad/i)||d(t)&&navigator.maxTouchPoints>0}function f(t){return t.indexOf("android")>-1}function p(t){return t.indexOf("chrome/")>-1&&t.indexOf("edge/")<0}function b(){let t=false;try{t="ć".search(new RegExp("[\\p{L}]","u"))===0}catch(t){}return t}function k(t,e,n,i){n=n||function(t,e){return t===e};const o=Array.isArray(t)?t:Array.prototype.slice.call(t);const r=Array.isArray(e)?e:Array.prototype.slice.call(e);const s=w(o,r,n);const a=i?v(s,r.length):_(r,s);return a}function w(t,e,n){const i=A(t,e,n);if(i===-1){return{firstIndex:-1,lastIndexOld:-1,lastIndexNew:-1}}const o=C(t,i);const r=C(e,i);const s=A(o,r,n);const a=t.length-s;const c=e.length-s;return{firstIndex:i,lastIndexOld:a,lastIndexNew:c}}function A(t,e,n){for(let i=0;i0){n.push({index:i,type:"insert",values:t.slice(i,r)})}if(o-i>0){n.push({index:i+(r-i),type:"delete",howMany:o-i})}return n}function v(t,e){const{firstIndex:n,lastIndexOld:i,lastIndexNew:o}=t;if(n===-1){return Array(e).fill("equal")}let r=[];if(n>0){r=r.concat(Array(n).fill("equal"))}if(o-n>0){r=r.concat(Array(o-n).fill("insert"))}if(i-n>0){r=r.concat(Array(i-n).fill("delete"))}if(o200||o>200||i+o>300){return y.fastDiff(t,e,n,true)}let r,s;if(ol?-1:1;if(d[i+h]){d[i]=d[i+h].slice(0)}if(!d[i]){d[i]=[]}d[i].push(o>l?r:s);let m=Math.max(o,l);let g=m-i;while(gl;g--){u[g]=h(g)}u[l]=h(l);m++}while(u[l]!==c);return d[l].slice(1)}y.fastDiff=k;function x(){return function t(){t.called=true}}const E=x;class D{constructor(t,e){this.source=t;this.name=e;this.path=[];this.stop=E();this.off=E()}}const T=new Array(256).fill("").map(((t,e)=>("0"+e.toString(16)).slice(-2)));function S(){const t=Math.random()*4294967296>>>0;const e=Math.random()*4294967296>>>0;const n=Math.random()*4294967296>>>0;const i=Math.random()*4294967296>>>0;return"e"+T[t>>0&255]+T[t>>8&255]+T[t>>16&255]+T[t>>24&255]+T[e>>0&255]+T[e>>8&255]+T[e>>16&255]+T[e>>24&255]+T[n>>0&255]+T[n>>8&255]+T[n>>16&255]+T[n>>24&255]+T[i>>0&255]+T[i>>8&255]+T[i>>16&255]+T[i>>24&255]}const I={get(t="normal"){if(typeof t!="number"){return this[t]||this.normal}else{return t}},highest:1e5,high:1e3,normal:0,low:-1e3,lowest:-1e5};const B=I;function M(t,e){const n=B.get(e.priority);for(let i=0;i{if(typeof e==="object"&&e!==null){if(n.has(e)){return`[object ${e.constructor.name}]`}n.add(e)}return e};const o=e?` ${JSON.stringify(e,i)}`:"";const r=O(t);return t+o+r}function V(t,e){const n=O(t);return e?[t,e,n]:[t,n]}const F="40.2.0";const j=null&&F;const H=new Date(2023,11,12);if(globalThis.CKEDITOR_VERSION){throw new P("ckeditor-duplicated-modules",null)}else{globalThis.CKEDITOR_VERSION=F}const U=Symbol("listeningTo");const W=Symbol("emitterId");const G=Symbol("delegations");const q=$(Object);function $(t){if(!t){return q}class e extends t{on(t,e,n){this.listenTo(this,t,e,n)}once(t,e,n){let i=false;const o=(t,...n)=>{if(!i){i=true;t.off();e.call(this,t,...n)}};this.listenTo(this,t,o,n)}off(t,e){this.stopListening(this,t,e)}listenTo(t,e,n,i={}){let o,r;if(!this[U]){this[U]={}}const s=this[U];if(!Y(t)){Z(t)}const a=Y(t);if(!(o=s[a])){o=s[a]={emitter:t,callbacks:{}}}if(!(r=o.callbacks[e])){r=o.callbacks[e]=[]}r.push(n);it(this,t,e,n,i)}stopListening(t,e,n){const i=this[U];let o=t&&Y(t);const r=i&&o?i[o]:undefined;const s=r&&e?r.callbacks[e]:undefined;if(!i||t&&!r||e&&!s){return}if(n){ot(this,t,e,n);const i=s.indexOf(n);if(i!==-1){if(s.length===1){delete r.callbacks[e]}else{ot(this,t,e,n)}}}else if(s){while(n=s.pop()){ot(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[U]}}fire(t,...e){try{const n=t instanceof D?t:new D(this,t);const i=n.name;let o=et(this,i);n.path.push(this);if(o){const t=[n,...e];o=Array.from(o);for(let e=0;e{if(!this[G]){this[G]=new Map}t.forEach((t=>{const i=this[G].get(t);if(!i){this[G].set(t,new Map([[e,n]]))}else{i.set(e,n)}}))}}}stopDelegating(t,e){if(!this[G]){return}if(!t){this[G].clear()}else if(!e){this[G].delete(t)}else{const n=this[G].get(t);if(n){n.delete(e)}}}_addEventListener(t,e,n){X(this,t);const i=tt(this,t);const o=B.get(n.priority);const r={callback:e,priority:o};for(const t of i){M(t,r)}}_removeEventListener(t,e){const n=tt(this,t);for(const t of n){for(let n=0;n{$[t]=q.prototype[t]}));function K(t,e){const n=t[U];if(n&&n[e]){return n[e].emitter}return null}function Z(t,e){if(!t[W]){t[W]=e||S()}}function Y(t){return t[W]}function Q(t){if(!t._events){Object.defineProperty(t,"_events",{value:{}})}return t._events}function J(){return{callbacks:[],childEvents:[]}}function X(t,e){const n=Q(t);if(n[e]){return}let i=e;let o=null;const r=[];while(i!==""){if(n[i]){break}n[i]=J();r.push(n[i]);if(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)}}function tt(t,e){const n=Q(t)[e];if(!n){return[]}let i=[n.callbacks];for(let e=0;e-1){return et(t,e.substr(0,e.lastIndexOf(":")))}else{return null}}return n.callbacks}function nt(t,e,n){for(let[i,o]of t){if(!o){o=e.name}else if(typeof o=="function"){o=o(e.name)}const t=new D(e.source,o);t.path=[...e.path];i.fire(t,...n)}}function it(t,e,n,i,o){if(e._addEventListener){e._addEventListener(n,i,o)}else{t._addEventListener.call(e,n,i,o)}}function ot(t,e,n,i){if(e._removeEventListener){e._removeEventListener(n,i)}else{t._removeEventListener.call(e,n,i)}}function rt(t){var e=typeof t;return t!=null&&(e=="object"||e=="function")}const st=rt;const at=Symbol("observableProperties");const ct=Symbol("boundObservables");const lt=Symbol("boundProperties");const dt=Symbol("decoratedMethods");const ut=Symbol("decoratedOriginal");const ht=mt($());function mt(t){if(!t){return ht}class e extends t{set(t,e){if(st(t)){Object.keys(t).forEach((e=>{this.set(e,t[e])}),this);return}gt(this);const n=this[at];if(t in this&&!n.has(t)){throw new P("observable-set-cannot-override",this)}Object.defineProperty(this,t,{enumerable:true,configurable:true,get(){return n.get(t)},set(e){const i=n.get(t);let o=this.fire(`set:${t}`,t,e,i);if(o===undefined){o=e}if(i!==o||!n.has(t)){n.set(t,o);this.fire(`change:${t}`,t,o,i)}}});this[t]=e}bind(...t){if(!t.length||!kt(t)){throw new P("observable-bind-wrong-properties",this)}if(new Set(t).size!==t.length){throw new P("observable-bind-duplicate-properties",this)}gt(this);const e=this[lt];t.forEach((t=>{if(e.has(t)){throw new P("observable-bind-rebind",this)}}));const n=new Map;t.forEach((t=>{const i={property:t,to:[]};e.set(t,i);n.set(t,i)}));return{to:ft,toMany:pt,_observable:this,_bindProperties:t,_to:[],_bindings:n}}unbind(...t){if(!this[at]){return}const e=this[lt];const n=this[ct];if(t.length){if(!kt(t)){throw new P("observable-unbind-wrong-properties",this)}t.forEach((t=>{const i=e.get(t);if(!i){return}i.to.forEach((([t,e])=>{const o=n.get(t);const r=o[e];r.delete(i);if(!r.size){delete o[e]}if(!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){gt(this);const e=this[t];if(!e){throw new P("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][ut]=e;if(!this[dt]){this[dt]=[]}this[dt].push(t)}stopListening(t,e,n){if(!t&&this[dt]){for(const t of this[dt]){this[t]=this[t][ut]}delete this[dt]}super.stopListening(t,e,n)}}return e}["set","bind","unbind","decorate","on","once","off","listenTo","stopListening","fire","delegate","stopDelegating","_addEventListener","_removeEventListener"].forEach((t=>{mt[t]=ht.prototype[t]}));function gt(t){if(t[at]){return}Object.defineProperty(t,at,{value:new Map});Object.defineProperty(t,ct,{value:new Map});Object.defineProperty(t,lt,{value:new Map})}function ft(...t){const e=wt(...t);const n=Array.from(this._bindings.keys());const i=n.length;if(!e.callback&&e.to.length>1){throw new P("observable-bind-to-no-callback",this)}if(i>1&&e.callback){throw new P("observable-bind-to-extra-callback",this)}e.to.forEach((t=>{if(t.properties.length&&t.properties.length!==i){throw new P("observable-bind-to-properties-length",this)}if(!t.properties.length){t.properties=this._bindProperties}}));this._to=e.to;if(e.callback){this._bindings.get(n[0]).callback=e.callback}vt(this._observable,this._to);Ct(this);this._bindProperties.forEach((t=>{_t(this._observable,t)}))}function pt(t,e,n){if(this._bindings.size>1){throw new P("observable-bind-to-many-not-one-binding",this)}this.to(...bt(t,e),n)}function bt(t,e){const n=t.map((t=>[t,e]));return Array.prototype.concat.apply([],n)}function kt(t){return t.every((t=>typeof t=="string"))}function wt(...t){if(!t.length){throw new P("observable-bind-to-parse-error",null)}const e={to:[]};let n;if(typeof t[t.length-1]=="function"){e.callback=t.pop()}t.forEach((t=>{if(typeof t=="string"){n.properties.push(t)}else if(typeof t=="object"){n={observable:t,properties:[]};e.to.push(n)}else{throw new P("observable-bind-to-parse-error",null)}}));return e}function At(t,e,n,i){const o=t[ct];const r=o.get(n);const s=r||{};if(!s[i]){s[i]=new Set}s[i].add(e);if(!r){o.set(n,s)}}function Ct(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]);At(t._observable,n,o.observable,e)}))}))}function _t(t,e){const n=t[lt];const i=n.get(e);let o;if(i.callback){o=i.callback.apply(t,i.to.map((t=>t[0][t[1]])))}else{o=i.to[0];o=o[0][o[1]]}if(Object.prototype.hasOwnProperty.call(t,e)){t[e]=o}else{t.set(e,o)}}function vt(t,e){e.forEach((e=>{const n=t[ct];let i;if(!n.get(e.observable)){t.listenTo(e.observable,"change",((o,r)=>{i=n.get(e.observable)[r];if(i){i.forEach((e=>{_t(t,e.property)}))}}))}}))}class yt{constructor(){this._replacedElements=[]}replace(t,e){this._replacedElements.push({element:t,newElement:e});t.style.display="none";if(e){t.parentNode.insertBefore(e,t.nextSibling)}}restore(){this._replacedElements.forEach((({element:t,newElement:e})=>{t.style.display="";if(e){e.remove()}}));this._replacedElements=[]}}function xt(t){let e=0;for(const n of t){e++}return e}function Et(t,e){const n=Math.min(t.length,e.length);for(let i=0;i-1}const Se=Te;function Ie(t,e){var n=this.__data__,i=Ce(n,t);if(i<0){++this.size;n.push([t,e])}else{n[i][1]=e}return this}const Be=Ie;function Me(t){var e=-1,n=t==null?0:t.length;this.clear();while(++e-1&&t%1==0&&t-1&&t%1==0&&t<=ji}const Ui=Hi;var Wi="[object Arguments]",Gi="[object Array]",qi="[object Boolean]",$i="[object Date]",Ki="[object Error]",Zi="[object Function]",Yi="[object Map]",Qi="[object Number]",Ji="[object Object]",Xi="[object RegExp]",to="[object Set]",eo="[object String]",no="[object WeakMap]";var io="[object ArrayBuffer]",oo="[object DataView]",ro="[object Float32Array]",so="[object Float64Array]",ao="[object Int8Array]",co="[object Int16Array]",lo="[object Int32Array]",uo="[object Uint8Array]",ho="[object Uint8ClampedArray]",mo="[object Uint16Array]",go="[object Uint32Array]";var fo={};fo[ro]=fo[so]=fo[ao]=fo[co]=fo[lo]=fo[uo]=fo[ho]=fo[mo]=fo[go]=true;fo[Wi]=fo[Gi]=fo[io]=fo[qi]=fo[oo]=fo[$i]=fo[Ki]=fo[Zi]=fo[Yi]=fo[Qi]=fo[Ji]=fo[Xi]=fo[to]=fo[eo]=fo[no]=false;function po(t){return Xt(t)&&Ui(t.length)&&!!fo[Zt(t)]}const bo=po;function ko(t){return function(e){return t(e)}}const wo=ko;var Ao=typeof exports=="object"&&exports&&!exports.nodeType&&exports;var Co=Ao&&typeof module=="object"&&module&&!module.nodeType&&module;var _o=Co&&Co.exports===Ao;var vo=_o&&St.process;var yo=function(){try{var t=Co&&Co.require&&Co.require("util").types;if(t){return t}return vo&&vo.binding&&vo.binding("util")}catch(t){}}();const xo=yo;var Eo=xo&&xo.isTypedArray;var Do=Eo?wo(Eo):bo;const To=Do;var So=Object.prototype;var Io=So.hasOwnProperty;function Bo(t,e){var n=Qt(t),i=!n&&Di(t),o=!n&&!i&&zi(t),r=!n&&!i&&!o&&To(t),s=n||i||o||r,a=s?wi(t.length,String):[],c=a.length;for(var l in t){if((e||Io.call(t,l))&&!(s&&(l=="length"||o&&(l=="offset"||l=="parent")||r&&(l=="buffer"||l=="byteLength"||l=="byteOffset")||Fi(l,c)))){a.push(l)}}return a}const Mo=Bo;var No=Object.prototype;function Po(t){var e=t&&t.constructor,n=typeof e=="function"&&e.prototype||No;return t===n}const Lo=Po;var zo=re(Object.keys,Object);const Oo=zo;var Ro=Object.prototype;var Vo=Ro.hasOwnProperty;function Fo(t){if(!Lo(t)){return Oo(t)}var e=[];for(var n in Object(t)){if(Vo.call(t,n)&&n!="constructor"){e.push(n)}}return e}const jo=Fo;function Ho(t){return t!=null&&Ui(t.length)&&!$e(t)}const Uo=Ho;function Wo(t){return Uo(t)?Mo(t):jo(t)}const Go=Wo;function qo(t,e){return t&&bi(e,Go(e),t)}const $o=qo;function Ko(t){var e=[];if(t!=null){for(var n in Object(t)){e.push(n)}}return e}const Zo=Ko;var Yo=Object.prototype;var Qo=Yo.hasOwnProperty;function Jo(t){if(!st(t)){return Zo(t)}var e=Lo(t),n=[];for(var i in t){if(!(i=="constructor"&&(e||!Qo.call(t,i)))){n.push(i)}}return n}const Xo=Jo;function tr(t){return Uo(t)?Mo(t,true):Xo(t)}const er=tr;function nr(t,e){return t&&bi(e,er(e),t)}const ir=nr;var or=typeof exports=="object"&&exports&&!exports.nodeType&&exports;var rr=or&&typeof module=="object"&&module&&!module.nodeType&&module;var sr=rr&&rr.exports===or;var ar=sr?Mt.Buffer:undefined,cr=ar?ar.allocUnsafe:undefined;function lr(t,e){if(e){return t.slice()}var n=t.length,i=cr?cr(n):new t.constructor(n);t.copy(i);return i}const dr=lr;function ur(t,e){var n=-1,i=t.length;e||(e=Array(i));while(++n{this._setToTarget(t,i,e[i],n)}))}}function qa(t){return Ha(t,$a)}function $a(t){return Wa(t)||typeof t==="function"?t:undefined}function Ka(t){if(t){if(t.defaultView){return t instanceof t.defaultView.Document}else if(t.ownerDocument&&t.ownerDocument.defaultView){return t instanceof t.ownerDocument.defaultView.Node}}return false}function Za(t){const e=Object.prototype.toString.apply(t);if(e=="[object Window]"){return true}if(e=="[object global]"){return true}return false}const Ya=Qa($());function Qa(t){if(!t){return Ya}class e extends t{listenTo(t,e,n,i={}){if(Ka(t)||Za(t)){const o={capture:!!i.useCapture,passive:!!i.usePassive};const r=this._getProxyEmitter(t,o)||new Ja(t,o);this.listenTo(r,e,n,i)}else{super.listenTo(t,e,n,i)}}stopListening(t,e,n){if(Ka(t)||Za(t)){const i=this._getAllProxyEmitters(t);for(const t of i){this.stopListening(t,e,n)}}else{super.stopListening(t,e,n)}}_getProxyEmitter(t,e){return K(this,tc(t,e))}_getAllProxyEmitters(t){return[{capture:false,passive:false},{capture:false,passive:true},{capture:true,passive:false},{capture:true,passive:true}].map((e=>this._getProxyEmitter(t,e))).filter((t=>!!t))}}return e}["_getProxyEmitter","_getAllProxyEmitters","on","once","off","listenTo","stopListening","fire","delegate","stopDelegating","_addEventListener","_removeEventListener"].forEach((t=>{Qa[t]=Ya.prototype[t]}));class Ja extends($()){constructor(t,e){super();Z(this,tc(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);if(!this._domListeners){this._domListeners={}}this._domListeners[t]=e}detach(t){let e;if(this._domListeners[t]&&(!(e=this._events[t])||!e.callbacks.length)){this._domListeners[t].removeListener()}}_addEventListener(t,e,n){this.attach(t);$().prototype._addEventListener.call(this,t,e,n)}_removeEventListener(t,e){$().prototype._removeEventListener.call(this,t,e);this.detach(t)}_createDomListener(t){const e=e=>{this.fire(t,e)};e.removeListener=()=>{this._domNode.removeEventListener(t,e,this._options);delete this._domListeners[t]};return e}}function Xa(t){return t["data-ck-expando"]||(t["data-ck-expando"]=S())}function tc(t,e){let n=Xa(t);for(const t of Object.keys(e).sort()){if(e[t]){n+="-"+t}}return n}let ec;try{ec={window,document}}catch(t){ec={window:{},document:{}}}const nc=ec;function ic(t){let e=t.parentElement;if(!e){return null}while(e.tagName!="BODY"){const t=e.style.overflowY||global.window.getComputedStyle(e).overflowY;if(t==="auto"||t==="scroll"){break}e=e.parentElement;if(!e){return null}}return e}function oc(t){const e=[];let n=t;while(n&&n.nodeType!=Node.DOCUMENT_NODE){e.unshift(n);n=n.parentNode}return e}function rc(t){if(t instanceof HTMLTextAreaElement){return t.value}return t.innerHTML}function sc(t){return Object.prototype.toString.call(t)=="[object Text]"}function ac(t){return Object.prototype.toString.apply(t)=="[object Range]"}function cc(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)}}function lc(t){if(!t||!t.parentNode){return null}if(t.offsetParent===nc.document.body){return null}return t.offsetParent}const dc=["top","right","bottom","left","width","height"];class uc{constructor(t){const e=ac(t);Object.defineProperty(this,"_source",{value:t._source||t,writable:true,enumerable:false});if(gc(t)||e){if(e){const e=uc.getDomRangeRects(t);hc(this,uc.getBoundingRect(e))}else{hc(this,t.getBoundingClientRect())}}else if(Za(t)){const{innerWidth:e,innerHeight:n}=t;hc(this,{top:0,right:e,bottom:n,left:0,width:e,height:n})}else{hc(this,t)}}clone(){return new uc(this)}moveTo(t,e){this.top=e;this.right=t+this.width;this.bottom=e+this.height;this.left=t;return this}moveBy(t,e){this.top+=e;this.right+=t;this.left+=t;this.bottom+=e;return 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};e.width=e.right-e.left;e.height=e.bottom-e.top;if(e.width<0||e.height<0){return null}else{const t=new uc(e);t._source=this._source;return t}}getIntersectionArea(t){const e=this.getIntersection(t);if(e){return e.getArea()}else{return 0}}getArea(){return this.width*this.height}getVisible(){const t=this._source;let e=this.clone();if(mc(t)){return e}let n=t;let i=t.parentNode||t.commonAncestorContainer;let o;while(i&&!mc(i)){const t=pc(i)==="visible";if(n instanceof HTMLElement&&fc(n)==="absolute"){o=n}const r=fc(i);if(t||o&&(r==="relative"&&t||r!=="relative")){n=i;i=i.parentNode;continue}const s=new uc(i);const a=e.getIntersection(s);if(a){if(a.getArea(){for(const e of t){const t=kc._getElementCallbacks(e.target);if(t){for(const n of t){n(e)}}}}))}}kc._observerInstance=null;kc._elementCallbacks=null;function wc(t,e){if(t instanceof HTMLTextAreaElement){t.value=e}t.innerHTML=e}function Ac(t){return e=>e+t}function Cc(t){let e=0;while(t.previousSibling){t=t.previousSibling;e++}return e}function _c(t,e,n){t.insertBefore(n,t.childNodes[e]||null)}function vc(t){return t&&t.nodeType===Node.COMMENT_NODE}function yc(t){try{nc.document.createAttribute(t)}catch(t){return false}return true}function xc(t){return!!(t&&t.getClientRects&&t.getClientRects().length)}function Ec({element:t,target:e,positions:n,limiter:i,fitInViewport:o,viewportOffsetConfig:r}){if($e(e)){e=e()}if($e(i)){i=i()}const s=lc(t);const a=Tc(r);const c=new uc(t);const l=Dc(e,a);let d;if(!l||!a.getIntersection(l)){return null}const u={targetRect:l,elementRect:c,positionedElementAncestor:s,viewportRect:a};if(!i&&!o){d=new Ic(n[0],u)}else{if(i){const t=Dc(i,a);if(t){u.limiterRect=t}}d=Sc(n,u)}return d}function Dc(t,e){const n=new uc(t).getVisible();if(!n){return null}return n.getIntersection(e)}function Tc(t){t=Object.assign({top:0,bottom:0,left:0,right:0},t);const e=new uc(nc.window);e.top+=t.top;e.height-=t.top;e.bottom-=t.bottom;e.height-=t.bottom;return e}function Sc(t,e){const{elementRect:n}=e;const i=n.getArea();const o=t.map((t=>new Ic(t,e))).filter((t=>!!t.name));let r=0;let s=null;for(const t of o){const{limiterIntersectionArea:e,viewportIntersectionArea:n}=t;if(e===i){return t}const o=n**2+e**2;if(o>r){r=o;s=t}}return s}class Ic{constructor(t,e){const n=t(e.targetRect,e.elementRect,e.viewportRect,e.limiterRect);if(!n){return}const{left:i,top:o,name:r,config:s}=n;this.name=r;this.config=s;this._positioningFunctionCoordinates={left:i,top:o};this._options=e}get left(){return this._absoluteRect.left}get top(){return this._absoluteRect.top}get limiterIntersectionArea(){const t=this._options.limiterRect;if(t){return t.getIntersectionArea(this._rect)}return 0}get viewportIntersectionArea(){const t=this._options.viewportRect;return t.getIntersectionArea(this._rect)}get _rect(){if(this._cachedRect){return this._cachedRect}this._cachedRect=this._options.elementRect.clone().moveTo(this._positioningFunctionCoordinates.left,this._positioningFunctionCoordinates.top);return this._cachedRect}get _absoluteRect(){if(this._cachedAbsoluteRect){return this._cachedAbsoluteRect}this._cachedAbsoluteRect=this._rect.toAbsoluteRect();return this._cachedAbsoluteRect}}function Bc(t){const e=t.parentNode;if(e){e.removeChild(t)}}function Mc({target:t,viewportOffset:e=0,ancestorOffset:n=0,alignToTop:i,forceScroll:o}){const r=Fc(t);let s=r;let a=null;e=Uc(e);while(s){let c;if(s==r){c=jc(t)}else{c=jc(a)}Lc({parent:c,getRect:()=>Hc(t,s),alignToTop:i,ancestorOffset:n,forceScroll:o});const l=Hc(t,s);Pc({window:s,rect:l,viewportOffset:e,alignToTop:i,forceScroll:o});if(s.parent!=s){a=s.frameElement;s=s.parent;if(!a){return}}else{s=null}}}function Nc(t,e,n){const i=jc(t);Lc({parent:i,getRect:()=>new Rect(t),ancestorOffset:e,limiterElement:n})}function Pc({window:t,rect:e,alignToTop:n,forceScroll:i,viewportOffset:o}){const r=e.clone().moveBy(0,o.bottom);const s=e.clone().moveBy(0,-o.top);const a=new uc(t).excludeScrollbarsAndBorders();const c=[s,r];const l=n&&i;const d=c.every((t=>a.contains(t)));let{scrollX:u,scrollY:h}=t;const m=u;const g=h;if(l){h-=a.top-e.top+o.top}else if(!d){if(Oc(s,a)){h-=a.top-e.top+o.top}else if(zc(r,a)){if(n){h+=e.top-a.top-o.top}else{h+=e.bottom-a.bottom+o.bottom}}}if(!d){if(Rc(e,a)){u-=a.left-e.left+o.left}else if(Vc(e,a)){u+=e.right-a.right+o.right}}if(u!=m||h!==g){t.scrollTo(u,h)}}function Lc({parent:t,getRect:e,alignToTop:n,forceScroll:i,ancestorOffset:o=0,limiterElement:r}){const s=Fc(t);const a=n&&i;let c,l,d;const u=r||s.document.body;while(t!=u){l=e();c=new uc(t).excludeScrollbarsAndBorders();d=c.contains(l);if(a){t.scrollTop-=c.top-l.top+o}else if(!d){if(Oc(l,c)){t.scrollTop-=c.top-l.top+o}else if(zc(l,c)){if(n){t.scrollTop+=l.top-c.top-o}else{t.scrollTop+=l.bottom-c.bottom+o}}}if(!d){if(Rc(l,c)){t.scrollLeft-=c.left-l.left+o}else if(Vc(l,c)){t.scrollLeft+=l.right-c.right+o}}t=t.parentNode}}function zc(t,e){return t.bottom>e.bottom}function Oc(t,e){return t.tope.right}function Fc(t){if(ac(t)){return t.startContainer.ownerDocument.defaultView}else{return t.ownerDocument.defaultView}}function jc(t){if(ac(t)){let e=t.commonAncestorContainer;if(sc(e)){e=e.parentNode}return e}else{return t.parentNode}}function Hc(t,e){const n=Fc(t);const i=new uc(t);if(n===e){return i}else{let t=n;while(t!=e){const e=t.frameElement;const n=new uc(e).excludeScrollbarsAndBorders();i.moveBy(n.left,n.top);t=t.parent}}return i}function Uc(t){if(typeof t==="number"){return{top:t,bottom:t,left:t,right:t}}return t}const Wc={ctrl:"⌃",cmd:"⌘",alt:"⌥",shift:"⇧"};const Gc={ctrl:"Ctrl+",alt:"Alt+",shift:"Shift+"};const qc=el();const $c=Object.fromEntries(Object.entries(qc).map((([t,e])=>[e,t.charAt(0).toUpperCase()+t.slice(1)])));function Kc(t){let e;if(typeof t=="string"){e=qc[t.toLowerCase()];if(!e){throw new P("keyboard-unknown-key",null,{key:t})}}else{e=t.keyCode+(t.altKey?qc.alt:0)+(t.ctrlKey?qc.ctrl:0)+(t.shiftKey?qc.shift:0)+(t.metaKey?qc.cmd:0)}return e}function Zc(t){if(typeof t=="string"){t=nl(t)}return t.map((t=>typeof t=="string"?Xc(t):t)).reduce(((t,e)=>e+t),0)}function Yc(t){let e=Zc(t);const n=Object.entries(l.isMac||l.isiOS?Wc:Gc);const i=n.reduce(((t,[n,i])=>{if((e&qc[n])!=0){e&=~qc[n];t+=i}return t}),"");return i+(e?$c[e]:"")}function Qc(t){return t==qc.arrowright||t==qc.arrowleft||t==qc.arrowup||t==qc.arrowdown}function Jc(t,e){const n=e==="ltr";switch(t){case qc.arrowleft:return n?"left":"right";case qc.arrowright:return n?"right":"left";case qc.arrowup:return"up";case qc.arrowdown:return"down"}}function Xc(t){if(t.endsWith("!")){return Kc(t.slice(0,-1))}const e=Kc(t);return(l.isMac||l.isiOS)&&e==qc.ctrl?qc.cmd:e}function tl(t,e){const n=Jc(t,e);return n==="down"||n==="right"}function el(){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}function nl(t){return t.split("+").map((t=>t.trim()))}function il(t){return Array.isArray(t)?t:[t]}if(!nc.window.CKEDITOR_TRANSLATIONS){nc.window.CKEDITOR_TRANSLATIONS={}}function ol(t,e,n){if(!global.window.CKEDITOR_TRANSLATIONS[t]){global.window.CKEDITOR_TRANSLATIONS[t]={}}const i=global.window.CKEDITOR_TRANSLATIONS[t];i.dictionary=i.dictionary||{};i.getPluralForm=n||i.getPluralForm;Object.assign(i.dictionary,e)}function rl(t,e,n=1){if(typeof n!=="number"){throw new P("translation-service-quantity-not-a-number",null,{quantity:n})}const i=cl();if(i===1){t=Object.keys(nc.window.CKEDITOR_TRANSLATIONS)[0]}const o=e.id||e.string;if(i===0||!al(t,o)){if(n!==1){return e.plural}return e.string}const r=nc.window.CKEDITOR_TRANSLATIONS[t].dictionary;const s=nc.window.CKEDITOR_TRANSLATIONS[t].getPluralForm||(t=>t===1?0:1);const a=r[o];if(typeof a==="string"){return a}const c=Number(s(n));return a[c]}function sl(){global.window.CKEDITOR_TRANSLATIONS={}}function al(t,e){return!!nc.window.CKEDITOR_TRANSLATIONS[t]&&!!nc.window.CKEDITOR_TRANSLATIONS[t].dictionary[e]}function cl(){return Object.keys(nc.window.CKEDITOR_TRANSLATIONS).length}const ll=["ar","ara","fa","per","fas","he","heb","ku","kur","ug","uig"];function dl(t){return ll.includes(t)?"rtl":"ltr"}class ul{constructor({uiLanguage:t="en",contentLanguage:e}={}){this.uiLanguage=t;this.contentLanguage=e||this.uiLanguage;this.uiLanguageDirection=dl(this.uiLanguage);this.contentLanguageDirection=dl(this.contentLanguage);this.t=(t,e)=>this._t(t,e)}get language(){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.");return this.uiLanguage}_t(t,e=[]){e=il(e);if(typeof t==="string"){t={string:t}}const n=!!t.plural;const i=n?e[0]:1;const o=rl(this.uiLanguage,t,i);return hl(o,e)}}function hl(t,e){return t.replace(/%(\d+)/g,((t,n)=>nthis._items.length||e<0){throw new P("collection-add-item-invalid-index",this)}let n=0;for(const i of t){const t=this._getItemIdBeforeAdding(i);const o=e+n;this._items.splice(o,0,i);this._itemMap.set(t,i);this.fire("add",i,o);n++}this.fire("change",{added:t,removed:[],index:e});return this}get(t){let e;if(typeof t=="string"){e=this._itemMap.get(t)}else if(typeof t=="number"){e=this._items[t]}else{throw new P("collection-get-invalid-arg",this)}return e||null}has(t){if(typeof t=="string"){return this._itemMap.has(t)}else{const e=this._idProperty;const n=t[e];return n&&this._itemMap.has(n)}}getIndex(t){let e;if(typeof t=="string"){e=this._itemMap.get(t)}else{e=t}return e?this._items.indexOf(e):-1}remove(t){const[e,n]=this._remove(t);this.fire("change",{added:[],removed:[e],index:n});return e}map(t,e){return this._items.map(t,e)}forEach(t,e){this._items.forEach(t,e)}find(t,e){return this._items.find(t,e)}filter(t,e){return this._items.filter(t,e)}clear(){if(this._bindToCollection){this.stopListening(this._bindToCollection);this._bindToCollection=null}const t=Array.from(this._items);while(this.length){this._remove(0)}this.fire("change",{added:[],removed:t,index:0})}bindTo(t){if(this._bindToCollection){throw new P("collection-bind-to-rebind",this)}this._bindToCollection=t;return{as:t=>{this._setUpBindToBinding((e=>new t(e)))},using:t=>{if(typeof t=="function"){this._setUpBindToBinding(t)}else{this._setUpBindToBinding((e=>e[t]))}}}}_setUpBindToBinding(t){const e=this._bindToCollection;const n=(n,i,o)=>{const r=e._bindToCollection==this;const 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){this._skippedIndexesFromExternal.push(o);return}let r=o;for(const t of this._skippedIndexesFromExternal){if(o>t){r--}}for(const t of e._skippedIndexesFromExternal){if(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);if(i){this.remove(i)}this._skippedIndexesFromExternal=this._skippedIndexesFromExternal.reduce(((t,e)=>{if(ne){t.push(e)}return t}),[])}))}_getItemIdBeforeAdding(t){const e=this._idProperty;let n;if(e in t){n=t[e];if(typeof n!="string"){throw new P("collection-add-invalid-id",this)}if(this.get(n)){throw new P("collection-add-item-already-exists",this)}}else{t[e]=n=S()}return n}_remove(t){let e,n,i;let o=false;const r=this._idProperty;if(typeof t=="string"){n=t;i=this._itemMap.get(n);o=!i;if(i){e=this._items.indexOf(i)}}else if(typeof t=="number"){e=t;i=this._items[e];o=!i;if(i){n=i[r]}}else{i=t;n=i[r];e=this._items.indexOf(i);o=e==-1||!this._itemMap.get(n)}if(o){throw new P("collection-remove-404",this)}this._items.splice(e,1);this._itemMap.delete(n);const s=this._bindToInternalToExternalMap.get(i);this._bindToInternalToExternalMap.delete(i);this._bindToExternalToInternalMap.delete(s);this.fire("remove",i,e);return[i,e]}[Symbol.iterator](){return this._items[Symbol.iterator]()}}function gl(t){const e=t.next();if(e.done){return null}return e.value}class fl extends(Qa(mt())){constructor(){super();this._elements=new Set;this._nextEventLoopTimeout=null;this.set("isFocused",false);this.set("focusedElement",null)}add(t){if(this._elements.has(t)){throw new P("focustracker-add-element-already-exist",this)}this.listenTo(t,"focus",(()=>this._focus(t)),{useCapture:true});this.listenTo(t,"blur",(()=>this._blur()),{useCapture:true});this._elements.add(t)}remove(t){if(t===this.focusedElement){this._blur()}if(this._elements.has(t)){this.stopListening(t);this._elements.delete(t)}}destroy(){this.stopListening()}_focus(t){clearTimeout(this._nextEventLoopTimeout);this.focusedElement=t;this.isFocused=true}_blur(){clearTimeout(this._nextEventLoopTimeout);this._nextEventLoopTimeout=setTimeout((()=>{this.focusedElement=null;this.isFocused=false}),0)}}class pl{constructor(){this._listener=new(Qa())}listenTo(t){this._listener.listenTo(t,"keydown",((t,e)=>{this._listener.fire("_keydown:"+Kc(e),e)}))}set(t,e,n={}){const i=Zc(t);const o=n.priority;this._listener.listenTo(this._listener,"_keydown:"+i,((t,n)=>{e(n,(()=>{n.preventDefault();n.stopPropagation();t.stop()}));t.return=true}),{priority:o})}press(t){return!!this._listener.fire("_keydown:"+Kc(t),t)}stopListening(t){this._listener.stopListening(t)}destroy(){this.stopListening()}}function bl(t){const e=new Map;for(const n in t){e.set(n,t[n])}return e}function kl(t){if(Dt(t)){return new Map(t)}else{return bl(t)}}const wl=1e4;function Al(t,e,n,i){if(Math.max(e.length,t.length)>wl){return t.slice(0,n).concat(e).concat(t.slice(n+i,t.length))}else{const o=Array.from(t);o.splice(n,i,...e);return o}}function Cl(t,e){let n;function i(...o){i.cancel();n=setTimeout((()=>t(...o)),e)}i.cancel=()=>{clearTimeout(n)};return i}function _l(t){function e(t){if(t.length>=40&&t.length<=255){return"VALID"}else{return"INVALID"}}if(!t){return"INVALID"}let n="";try{n=atob(t)}catch(t){return"INVALID"}const i=n.split("-");const o=i[0];const r=i[1];if(!r){return e(t)}try{atob(r)}catch(n){try{atob(o);if(!atob(o).length){return e(t)}}catch(n){return e(t)}}if(o.length<40||o.length>255){return"INVALID"}let s="";try{atob(o);s=atob(r)}catch(t){return"INVALID"}if(s.length!==8){return"INVALID"}const a=Number(s.substring(0,4));const c=Number(s.substring(4,6))-1;const l=Number(s.substring(6,8));const d=new Date(a,c,l);if(dt.indext.source)).join("|")+")";const i=`${e}|${n}(?:‍${n})*`;return new RegExp(i,"ug")}class Bl extends ml{constructor(t=[]){super(t,{idProperty:"viewUid"});this.on("add",((t,e,n)=>{this._renderViewIntoCollectionParent(e,n)}));this.on("remove",((t,e)=>{if(e.element&&this._parentElement){e.element.remove()}}));this._parentElement=null}destroy(){this.map((t=>t.destroy()))}setParent(t){this._parentElement=t;for(const t of this){this._renderViewIntoCollectionParent(t)}}delegate(...t){if(!t.length||!Ml(t)){throw new P("ui-viewcollection-delegate-wrong-events",this)}return{to:e=>{for(const n of this){for(const i of t){n.delegate(i).to(e)}}this.on("add",((n,i)=>{for(const n of t){i.delegate(n).to(e)}}));this.on("remove",((n,i)=>{for(const n of t){i.stopDelegating(n,e)}}))}}}_renderViewIntoCollectionParent(t,e){if(!t.isRendered){t.render()}if(t.element&&this._parentElement){this._parentElement.insertBefore(t.element,this._parentElement.children[e])}}remove(t){return super.remove(t)}}function Ml(t){return t.every((t=>typeof t=="string"))}var Nl=n(3379);var Pl=n.n(Nl);var Ll=n(5167);var zl={injectType:"singletonStyleTag",attributes:{"data-cke":true}};zl.insert="head";zl.singleton=true;var Ol=Pl()(Ll.Z,zl);const Rl=Ll.Z.locals||{};class Vl extends(Qa(mt())){constructor(t){super();this.element=null;this.isRendered=false;this.locale=t;this.t=t&&t.t;this._viewCollections=new ml;this._unboundChildren=this.createCollection();this._viewCollections.on("add",((e,n)=>{n.locale=t;n.t=t&&t.t}));this.decorate("render")}get bindTemplate(){if(this._bindTemplate){return this._bindTemplate}return this._bindTemplate=jl.bind(this,this)}createCollection(t){const e=new Bl(t);this._viewCollections.add(e);return e}registerChild(t){if(!Dt(t)){t=[t]}for(const e of t){this._unboundChildren.add(e)}}deregisterChild(t){if(!Dt(t)){t=[t]}for(const e of t){this._unboundChildren.remove(e)}}setTemplate(t){this.template=new jl(t)}extendTemplate(t){jl.extend(this.template,t)}render(){if(this.isRendered){throw new P("ui-view-render-already-rendered",this)}if(this.template){this.element=this.template.render();this.registerChild(this.template.getViews())}this.isRendered=true}destroy(){this.stopListening();this._viewCollections.map((t=>t.destroy()));if(this.template&&this.template._revertData){this.template.revert(this.element)}}}const Fl="http://www.w3.org/1999/xhtml";class jl extends($()){constructor(t){super();Object.assign(this,Jl(Ql(t)));this._isRendered=false;this._revertData=null}render(){const t=this._renderNode({intoFragment:true});this._isRendered=true;return t}apply(t){this._revertData=hd();this._renderNode({node:t,intoFragment:false,isApplying:true,revertData:this._revertData});return t}revert(t){if(!this._revertData){throw new P("ui-template-revert-not-applied",[this,t])}this._revertTemplateFromNode(t,this._revertData)}*getViews(){function*t(e){if(e.children){for(const n of e.children){if(cd(n)){yield n}else if(ld(n)){yield*t(n)}}}}yield*t(this)}static bind(t,e){return{to(n,i){return new Ul({eventNameOrFunction:n,attribute:n,observable:t,emitter:e,callback:i})},if(n,i,o){return new Wl({observable:t,emitter:e,attribute:n,valueIfTrue:i,callback:o})}}}static extend(t,e){if(t._isRendered){throw new P("template-extend-render",[this,t])}sd(t,Jl(Ql(e)))}_renderNode(t){let e;if(t.node){e=this.tag&&this.text}else{e=this.tag?this.text:!this.text}if(e){throw new P("ui-template-wrong-syntax",this)}if(this.text){return this._renderText(t)}else{return this._renderElement(t)}}_renderElement(t){let e=t.node;if(!e){e=t.node=document.createElementNS(this.ns||Fl,this.tag)}this._renderAttributes(t);this._renderElementChildren(t);this._setUpListeners(t);return e}_renderText(t){let e=t.node;if(e){t.revertData.text=e.textContent}else{e=t.node=document.createTextNode("")}if(Gl(this.text)){this._bindToObservable({schema:this.text,updater:Kl(e),data:t})}else{e.textContent=this.text.join("")}return e}_renderAttributes(t){if(!this.attributes){return}const e=t.node;const n=t.revertData;for(const i in this.attributes){const o=e.getAttribute(i);const r=this.attributes[i];if(n){n.attributes[i]=o}const s=ud(r)?r[0].ns:null;if(Gl(r)){const a=ud(r)?r[0].value:r;if(n&&md(i)){a.unshift(o)}this._bindToObservable({schema:a,updater:Zl(e,i,s),data:t})}else if(i=="style"&&typeof r[0]!=="string"){this._renderStyleAttribute(r[0],t)}else{if(n&&o&&md(i)){r.unshift(o)}const t=r.map((t=>t?t.value||t:t)).reduce(((t,e)=>t.concat(e)),[]).reduce(od,"");if(!ad(t)){e.setAttributeNS(s,i,t)}}}}_renderStyleAttribute(t,e){const n=e.node;for(const i in t){const o=t[i];if(Gl(o)){this._bindToObservable({schema:[o],updater:Yl(n,i),data:e})}else{n.style[i]=o}}}_renderElementChildren(t){const e=t.node;const n=t.intoFragment?document.createDocumentFragment():e;const i=t.isApplying;let o=0;for(const r of this.children){if(dd(r)){if(!i){r.setParent(e);for(const t of r){n.appendChild(t.element)}}}else if(cd(r)){if(!i){if(!r.isRendered){r.render()}n.appendChild(r.element)}}else if(Ka(r)){n.appendChild(r)}else{if(i){const e=t.revertData;const i=hd();e.children.push(i);r._renderNode({intoFragment:false,node:n.childNodes[o++],isApplying:true,revertData:i})}else{n.appendChild(r.render())}}}if(t.intoFragment){e.appendChild(n)}}_setUpListeners(t){if(!this.eventListeners){return}for(const e in this.eventListeners){const n=this.eventListeners[e].map((n=>{const[i,o]=e.split("@");return n.activateDomEventListener(i,o,t)}));if(t.revertData){t.revertData.bindings.push(n)}}}_bindToObservable({schema:t,updater:e,data:n}){const i=n.revertData;$l(t,e,n);const o=t.filter((t=>!ad(t))).filter((t=>t.observable)).map((i=>i.activateAttributeListener(t,e,n)));if(i){i.bindings.push(o)}}_revertTemplateFromNode(t,e){for(const t of e.bindings){for(const e of t){e()}}if(e.text){t.textContent=e.text;return}const n=t;for(const t in e.attributes){const i=e.attributes[t];if(i===null){n.removeAttribute(t)}else{n.setAttribute(t,i)}}for(let t=0;t$l(t,e,n);this.emitter.listenTo(this.observable,`change:${this.attribute}`,i);return()=>{this.emitter.stopListening(this.observable,`change:${this.attribute}`,i)}}}class Ul extends Hl{constructor(t){super(t);this.eventNameOrFunction=t.eventNameOrFunction}activateDomEventListener(t,e,n){const i=(t,n)=>{if(!e||n.target.matches(e)){if(typeof this.eventNameOrFunction=="function"){this.eventNameOrFunction(n)}else{this.observable.fire(this.eventNameOrFunction,n)}}};this.emitter.listenTo(n.node,t,i);return()=>{this.emitter.stopListening(n.node,t,i)}}}class Wl extends Hl{constructor(t){super(t);this.valueIfTrue=t.valueIfTrue}getValue(t){const e=super.getValue(t);return ad(e)?false:this.valueIfTrue||true}}function Gl(t){if(!t){return false}if(t.value){t=t.value}if(Array.isArray(t)){return t.some(Gl)}else if(t instanceof Hl){return true}return false}function ql(t,e){return t.map((t=>{if(t instanceof Hl){return t.getValue(e)}return t}))}function $l(t,e,{node:n}){const i=ql(t,n);let o;if(t.length==1&&t[0]instanceof Wl){o=i[0]}else{o=i.reduce(od,"")}if(ad(o)){e.remove()}else{e.set(o)}}function Kl(t){return{set(e){t.textContent=e},remove(){t.textContent=""}}}function Zl(t,e,n){return{set(i){t.setAttributeNS(n,e,i)},remove(){t.removeAttributeNS(n,e)}}}function Yl(t,e){return{set(n){t.style[e]=n},remove(){t.style[e]=null}}}function Ql(t){const e=Ha(t,(t=>{if(t&&(t instanceof Hl||ld(t)||cd(t)||dd(t))){return t}}));return e}function Jl(t){if(typeof t=="string"){t=ed(t)}else if(t.text){nd(t)}if(t.on){t.eventListeners=td(t.on);delete t.on}if(!t.text){if(t.attributes){Xl(t.attributes)}const e=[];if(t.children){if(dd(t.children)){e.push(t.children)}else{for(const n of t.children){if(ld(n)||cd(n)||Ka(n)){e.push(n)}else{e.push(new jl(n))}}}}t.children=e}return t}function Xl(t){for(const e in t){if(t[e].value){t[e].value=il(t[e].value)}id(t,e)}}function td(t){for(const e in t){id(t,e)}return t}function ed(t){return{text:[t]}}function nd(t){t.text=il(t.text)}function id(t,e){t[e]=il(t[e])}function od(t,e){if(ad(e)){return t}else if(ad(t)){return e}else{return`${t} ${e}`}}function rd(t,e){for(const n in e){if(t[n]){t[n].push(...e[n])}else{t[n]=e[n]}}}function sd(t,e){if(e.attributes){if(!t.attributes){t.attributes={}}rd(t.attributes,e.attributes)}if(e.eventListeners){if(!t.eventListeners){t.eventListeners={}}rd(t.eventListeners,e.eventListeners)}if(e.text){t.text.push(...e.text)}if(e.children&&e.children.length){if(t.children.length!=e.children.length){throw new P("ui-template-extend-children-mismatch",t)}let n=0;for(const i of e.children){sd(t.children[n++],i)}}}function ad(t){return!t&&t!==0}function cd(t){return t instanceof Vl}function ld(t){return t instanceof jl}function dd(t){return t instanceof Bl}function ud(t){return st(t[0])&&t[0].ns}function hd(){return{children:[],bindings:[],attributes:{}}}function md(t){return t=="class"||t=="style"}class gd extends Bl{constructor(t,e=[]){super(e);this.locale=t}get bodyCollectionContainer(){return this._bodyCollectionContainer}attachToDom(){this._bodyCollectionContainer=new jl({tag:"div",attributes:{class:["ck","ck-reset_all","ck-body","ck-rounded-corners"],dir:this.locale.uiLanguageDirection},children:this}).render();let t=document.querySelector(".ck-body-wrapper");if(!t){t=ie(document,"div",{class:"ck-body-wrapper"});document.body.appendChild(t)}t.appendChild(this._bodyCollectionContainer)}detachFromDom(){super.destroy();if(this._bodyCollectionContainer){this._bodyCollectionContainer.remove()}const t=document.querySelector(".ck-body-wrapper");if(t&&t.childElementCount==0){t.remove()}}}var fd=n(1977);var pd={injectType:"singletonStyleTag",attributes:{"data-cke":true}};pd.insert="head";pd.singleton=true;var bd=Pl()(fd.Z,pd);const kd=fd.Z.locals||{};class wd extends Vl{constructor(){super();const t=this.bindTemplate;this.set("content","");this.set("viewBox","0 0 20 20");this.set("fillColor","");this.set("isColorInherited",true);this.set("isVisible",true);this.setTemplate({tag:"svg",ns:"http://www.w3.org/2000/svg",attributes:{class:["ck","ck-icon",t.if("isVisible","ck-hidden",(t=>!t)),"ck-reset_all-excluded",t.if("isColorInherited","ck-icon_inherit-color")],viewBox:t.to("viewBox")}})}render(){super.render();this._updateXMLContent();this._colorFillPaths();this.on("change:content",(()=>{this._updateXMLContent();this._colorFillPaths()}));this.on("change:fillColor",(()=>{this._colorFillPaths()}))}_updateXMLContent(){if(this.content){const t=(new DOMParser).parseFromString(this.content.trim(),"image/svg+xml");const e=t.querySelector("svg");const n=e.getAttribute("viewBox");if(n){this.viewBox=n}for(const{name:t,value:n}of Array.from(e.attributes)){if(wd.presentationalAttributeNames.includes(t)){this.element.setAttribute(t,n)}}while(this.element.firstChild){this.element.removeChild(this.element.firstChild)}while(e.childNodes.length>0){this.element.appendChild(e.childNodes[0])}}}_colorFillPaths(){if(this.fillColor){this.element.querySelectorAll(".ck-icon__fill").forEach((t=>{t.style.fill=this.fillColor}))}}}wd.presentationalAttributeNames=["alignment-baseline","baseline-shift","clip-path","clip-rule","color","color-interpolation","color-interpolation-filters","color-rendering","cursor","direction","display","dominant-baseline","fill","fill-opacity","fill-rule","filter","flood-color","flood-opacity","font-family","font-size","font-size-adjust","font-stretch","font-style","font-variant","font-weight","image-rendering","letter-spacing","lighting-color","marker-end","marker-mid","marker-start","mask","opacity","overflow","paint-order","pointer-events","shape-rendering","stop-color","stop-opacity","stroke","stroke-dasharray","stroke-dashoffset","stroke-linecap","stroke-linejoin","stroke-miterlimit","stroke-opacity","stroke-width","text-anchor","text-decoration","text-overflow","text-rendering","transform","unicode-bidi","vector-effect","visibility","white-space","word-spacing","writing-mode"];class Ad extends Vl{constructor(){super();this.set({style:undefined,text:undefined,id:undefined});const t=this.bindTemplate;this.setTemplate({tag:"span",attributes:{class:["ck","ck-button__label"],style:t.to("style"),id:t.to("id")},children:[{text:t.to("text")}]})}}var Cd=n(4971);var _d={injectType:"singletonStyleTag",attributes:{"data-cke":true}};_d.insert="head";_d.singleton=true;var vd=Pl()(Cd.Z,_d);const yd=Cd.Z.locals||{};class xd extends Vl{constructor(t,e=new Ad){super(t);this._focusDelayed=null;const n=this.bindTemplate;const i=S();this.set("ariaLabel",undefined);this.set("ariaLabelledBy",`ck-editor__aria-label_${i}`);this.set("class",undefined);this.set("labelStyle",undefined);this.set("icon",undefined);this.set("isEnabled",true);this.set("isOn",false);this.set("isVisible",true);this.set("isToggleable",false);this.set("keystroke",undefined);this.set("label",undefined);this.set("role",undefined);this.set("tabindex",-1);this.set("tooltip",false);this.set("tooltipPosition","s");this.set("type","button");this.set("withText",false);this.set("withKeystroke",false);this.children=this.createCollection();this.labelView=this._setupLabelView(e);this.iconView=new wd;this.iconView.extendTemplate({attributes:{class:"ck-button__icon"}});this.keystrokeView=this._createKeystrokeView();this.bind("_tooltipString").to(this,"tooltip",this,"label",this,"keystroke",this._getTooltipString.bind(this));const o={tag:"button",attributes:{class:["ck","ck-button",n.to("class"),n.if("isEnabled","ck-disabled",(t=>!t)),n.if("isVisible","ck-hidden",(t=>!t)),n.to("isOn",(t=>t?"ck-on":"ck-off")),n.if("withText","ck-button_with-text"),n.if("withKeystroke","ck-button_with-keystroke")],role:n.to("role"),type:n.to("type",(t=>t?t:"button")),tabindex:n.to("tabindex"),"aria-label":n.to("ariaLabel"),"aria-labelledby":n.to("ariaLabelledBy"),"aria-disabled":n.if("isEnabled",true,(t=>!t)),"aria-pressed":n.to("isOn",(t=>this.isToggleable?String(!!t):false)),"data-cke-tooltip-text":n.to("_tooltipString"),"data-cke-tooltip-position":n.to("tooltipPosition")},children:this.children,on:{click:n.to((t=>{if(this.isEnabled){this.fire("execute")}else{t.preventDefault()}}))}};if(l.isSafari){if(!this._focusDelayed){this._focusDelayed=Cl((()=>this.focus()),0)}o.on.mousedown=n.to((()=>{this._focusDelayed()}));o.on.mouseup=n.to((()=>{this._focusDelayed.cancel()}))}this.setTemplate(o)}render(){super.render();if(this.icon){this.iconView.bind("content").to(this,"icon");this.children.add(this.iconView)}this.children.add(this.labelView);if(this.withKeystroke&&this.keystroke){this.children.add(this.keystrokeView)}}focus(){this.element.focus()}destroy(){if(this._focusDelayed){this._focusDelayed.cancel()}super.destroy()}_setupLabelView(t){t.bind("text","style","id").to(this,"label","labelStyle","ariaLabelledBy");return t}_createKeystrokeView(){const t=new Vl;t.setTemplate({tag:"span",attributes:{class:["ck","ck-button__keystroke"]},children:[{text:this.bindTemplate.to("keystroke",(t=>Yc(t)))}]});return t}_getTooltipString(t,e,n){if(t){if(typeof t=="string"){return t}else{if(n){n=Yc(n)}if(t instanceof Function){return t(e,n)}else{return`${e}${n?` (${n})`:""}`}}}return""}}var Ed=n(7258);var Dd={injectType:"singletonStyleTag",attributes:{"data-cke":true}};Dd.insert="head";Dd.singleton=true;var Td=Pl()(Ed.Z,Dd);const Sd=Ed.Z.locals||{};class Id extends xd{constructor(t){super(t);this.isToggleable=true;this.toggleSwitchView=this._createToggleView();this.extendTemplate({attributes:{class:"ck-switchbutton"}})}render(){super.render();this.children.add(this.toggleSwitchView)}_createToggleView(){const t=new Vl;t.setTemplate({tag:"span",attributes:{class:["ck","ck-button__toggle"]},children:[{tag:"span",attributes:{class:["ck","ck-button__toggle__inner"]}}]});return t}}function Bd(t,e){const n=t.t;const i={Black:n("Black"),"Dim grey":n("Dim grey"),Grey:n("Grey"),"Light grey":n("Light grey"),White:n("White"),Red:n("Red"),Orange:n("Orange"),Yellow:n("Yellow"),"Light green":n("Light green"),Green:n("Green"),Aquamarine:n("Aquamarine"),Turquoise:n("Turquoise"),"Light blue":n("Light blue"),Blue:n("Blue"),Purple:n("Purple")};return e.map((t=>{const e=i[t.label];if(e&&e!=t.label){t.label=e}return t}))}function Md(t){return t.map(Nd).filter((t=>!!t))}function Nd(t){if(typeof t==="string"){return{model:t,label:t,hasBorder:false,view:{name:"span",styles:{color:t}}}}else{return{model:t.color,label:t.label||t.color,hasBorder:t.hasBorder===undefined?false:t.hasBorder,view:{name:"span",styles:{color:`${t.color}`}}}}}const Pd='';class Ld extends xd{constructor(t){super(t);const e=this.bindTemplate;this.set("color",undefined);this.set("hasBorder",false);this.icon=Pd;this.extendTemplate({attributes:{style:{backgroundColor:e.to("color")},class:["ck","ck-color-grid__tile",e.if("hasBorder","ck-color-selector__color-tile_bordered")]}})}render(){super.render();this.iconView.fillColor="hsl(0, 0%, 100%)"}}var zd=n(4923);var Od={injectType:"singletonStyleTag",attributes:{"data-cke":true}};Od.insert="head";Od.singleton=true;var Rd=Pl()(zd.Z,Od);const Vd=zd.Z.locals||{};class Fd extends Vl{constructor(t,e){super(t);const n=e&&e.colorDefinitions?e.colorDefinitions:[];this.columns=e&&e.columns?e.columns:5;const i={gridTemplateColumns:`repeat( ${this.columns}, 1fr)`};this.set("selectedColor",undefined);this.items=this.createCollection();this.focusTracker=new fl;this.keystrokes=new pl;this.items.on("add",((t,e)=>{e.isOn=e.color===this.selectedColor}));n.forEach((t=>{const e=new Ld;e.set({color:t.color,label:t.label,tooltip:true,hasBorder:t.options.hasBorder});e.on("execute",(()=>{this.fire("execute",{value:t.color,hasBorder:t.options.hasBorder,label:t.label})}));this.items.add(e)}));this.setTemplate({tag:"div",children:this.items,attributes:{class:["ck","ck-color-grid"],style:i}});this.on("change:selectedColor",((t,e,n)=>{for(const t of this.items){t.isOn=t.color===n}}))}focus(){if(this.items.length){this.items.first.focus()}}focusLast(){if(this.items.length){this.items.last.focus()}}render(){super.render();for(const t of this.items){this.focusTracker.add(t.element)}this.items.on("add",((t,e)=>{this.focusTracker.add(e.element)}));this.items.on("remove",((t,e)=>{this.focusTracker.remove(e.element)}));this.keystrokes.listenTo(this.element);r({keystrokeHandler:this.keystrokes,focusTracker:this.focusTracker,gridItems:this.items,numberOfColumns:this.columns,uiLanguageDirection:this.locale&&this.locale.uiLanguageDirection})}destroy(){super.destroy();this.focusTracker.destroy();this.keystrokes.destroy()}}var jd=n(8874);const Hd=Wd;var Ud={red:0,orange:60,yellow:120,green:180,blue:240,purple:300};function Wd(t){var e,n=[],i=1,o;if(typeof t==="string"){if(jd[t]){n=jd[t].slice();o="rgb"}else if(t==="transparent"){i=0;o="rgb";n=[0,0,0]}else if(/^#[A-Fa-f0-9]+$/.test(t)){var r=t.slice(1);var s=r.length;var a=s<=4;i=1;if(a){n=[parseInt(r[0]+r[0],16),parseInt(r[1]+r[1],16),parseInt(r[2]+r[2],16)];if(s===4){i=parseInt(r[3]+r[3],16)/255}}else{n=[parseInt(r[0]+r[1],16),parseInt(r[2]+r[3],16),parseInt(r[4]+r[5],16)];if(s===8){i=parseInt(r[6]+r[7],16)/255}}if(!n[0])n[0]=0;if(!n[1])n[1]=0;if(!n[2])n[2]=0;o="rgb"}else if(e=/^((?:rgb|hs[lvb]|hwb|cmyk?|xy[zy]|gray|lab|lchu?v?|[ly]uv|lms)a?)\s*\(([^\)]*)\)/.exec(t)){var c=e[1];var l=c==="rgb";var r=c.replace(/a$/,"");o=r;var s=r==="cmyk"?4:r==="gray"?1:3;n=e[2].trim().split(/\s*[,\/]\s*|\s+/).map((function(t,e){if(/%$/.test(t)){if(e===s)return parseFloat(t)/100;if(r==="rgb")return parseFloat(t)*255/100;return parseFloat(t)}else if(r[e]==="h"){if(/deg$/.test(t)){return parseFloat(t)}else if(Ud[t]!==undefined){return Ud[t]}}return parseFloat(t)}));if(c===r)n.push(1);i=l?1:n[s]===undefined?1:n[s];n=n.slice(0,s)}else if(t.length>10&&/[0-9](?:\s|\/)/.test(t)){n=t.match(/([0-9]+)/g).map((function(t){return parseFloat(t)}));o=t.match(/([a-z])/gi).join("").toLowerCase()}}else if(!isNaN(t)){o="rgb";n=[t>>>16,(t&65280)>>>8,t&255]}else if(Array.isArray(t)||t.length){n=[t[0],t[1],t[2]];o="rgb";i=t.length===4?t[3]:1}else if(t instanceof Object){if(t.r!=null||t.red!=null||t.R!=null){o="rgb";n=[t.r||t.red||t.R||0,t.g||t.green||t.G||0,t.b||t.blue||t.B||0]}else{o="hsl";n=[t.h||t.hue||t.H||0,t.s||t.saturation||t.S||0,t.l||t.lightness||t.L||t.b||t.brightness]}i=t.a||t.alpha||t.opacity||1;if(t.opacity!=null)i/=100}return{space:o,values:n,alpha:i}}var Gd=n(2085);function qd(t,e){if(!t){return""}const n=Zd(t);if(!n){return""}if(n.space===e){return t}if(!Yd(n)){return""}const i=Gd[n.space];const o=i[e];if(!o){return""}const r=o(n.space==="hex"?n.hexValue:n.values);return Kd(r,e)}function $d(t){if(!t){return""}const e=Zd(t);if(!e){return"#000"}if(e.space==="hex"){return e.hexValue}return qd(t,"hex")}function Kd(t,e){switch(e){case"hex":return`#${t}`;case"rgb":return`rgb( ${t[0]}, ${t[1]}, ${t[2]} )`;case"hsl":return`hsl( ${t[0]}, ${t[1]}%, ${t[2]}% )`;case"hwb":return`hwb( ${t[0]}, ${t[1]}, ${t[2]} )`;case"lab":return`lab( ${t[0]}% ${t[1]} ${t[2]} )`;case"lch":return`lch( ${t[0]}% ${t[1]} ${t[2]} )`;default:return""}}function Zd(t){if(t.startsWith("#")){const e=Hd(t);return{space:"hex",values:e.values,hexValue:t,alpha:e.alpha}}const e=Hd(t);if(!e.space){return null}return e}function Yd(t){return Object.keys(Gd).includes(t.space)}var Qd=function(){return Mt.Date.now()};const Jd=Qd;var Xd=/\s/;function tu(t){var e=t.length;while(e--&&Xd.test(t.charAt(e))){}return e}const eu=tu;var nu=/^\s+/;function iu(t){return t?t.slice(0,eu(t)+1).replace(nu,""):t}const ou=iu;var ru="[object Symbol]";function su(t){return typeof t=="symbol"||Xt(t)&&Zt(t)==ru}const au=su;var cu=0/0;var lu=/^[-+]0x[0-9a-f]+$/i;var du=/^0b[01]+$/i;var uu=/^0o[0-7]+$/i;var hu=parseInt;function mu(t){if(typeof t=="number"){return t}if(au(t)){return cu}if(st(t)){var e=typeof t.valueOf=="function"?t.valueOf():t;t=st(e)?e+"":e}if(typeof t!="string"){return t===0?t:+t}t=ou(t);var n=du.test(t);return n||uu.test(t)?hu(t.slice(2),n?2:8):lu.test(t)?cu:+t}const gu=mu;var fu="Expected a function";var pu=Math.max,bu=Math.min;function ku(t,e,n){var i,o,r,s,a,c,l=0,d=false,u=false,h=true;if(typeof t!="function"){throw new TypeError(fu)}e=gu(e)||0;if(st(n)){d=!!n.leading;u="maxWait"in n;r=u?pu(gu(n.maxWait)||0,e):r;h="trailing"in n?!!n.trailing:h}function m(e){var n=i,r=o;i=o=undefined;l=e;s=t.apply(r,n);return s}function g(t){l=t;a=setTimeout(b,e);return d?m(t):s}function f(t){var n=t-c,i=t-l,o=e-n;return u?bu(o,r-i):o}function p(t){var n=t-c,i=t-l;return c===undefined||n>=e||n<0||u&&i>=r}function b(){var t=Jd();if(p(t)){return k(t)}a=setTimeout(b,f(t))}function k(t){a=undefined;if(h&&i){return m(t)}i=o=undefined;return s}function w(){if(a!==undefined){clearTimeout(a)}l=0;i=c=o=a=undefined}function A(){return a===undefined?s:k(Jd())}function C(){var t=Jd(),n=p(t);i=arguments;o=this;c=t;if(n){if(a===undefined){return g(c)}if(u){clearTimeout(a);a=setTimeout(b,e);return m(c)}}if(a===undefined){a=setTimeout(b,e)}return s}C.cancel=w;C.flush=A;return C}const wu=ku;var Au=n(3525);var Cu={injectType:"singletonStyleTag",attributes:{"data-cke":true}};Cu.insert="head";Cu.singleton=true;var _u=Pl()(Au.Z,Cu);const vu=Au.Z.locals||{};class yu extends Vl{constructor(t){super(t);this.set("text",undefined);this.set("for",undefined);this.id=`ck-editor__label_${S()}`;const e=this.bindTemplate;this.setTemplate({tag:"label",attributes:{class:["ck","ck-label"],id:this.id,for:e.to("for")},children:[{text:e.to("text")}]})}}var xu=n(2933);var Eu={injectType:"singletonStyleTag",attributes:{"data-cke":true}};Eu.insert="head";Eu.singleton=true;var Du=Pl()(xu.Z,Eu);const Tu=xu.Z.locals||{};class Su extends Vl{constructor(t,e){super(t);const n=`ck-labeled-field-view-${S()}`;const i=`ck-labeled-field-view-status-${S()}`;this.fieldView=e(this,n,i);this.set("label",undefined);this.set("isEnabled",true);this.set("isEmpty",true);this.set("isFocused",false);this.set("errorText",null);this.set("infoText",null);this.set("class",undefined);this.set("placeholder",undefined);this.labelView=this._createLabelView(n);this.statusView=this._createStatusView(i);this.fieldWrapperChildren=this.createCollection([this.fieldView,this.labelView]);this.bind("_statusText").to(this,"errorText",this,"infoText",((t,e)=>t||e));const o=this.bindTemplate;this.setTemplate({tag:"div",attributes:{class:["ck","ck-labeled-field-view",o.to("class"),o.if("isEnabled","ck-disabled",(t=>!t)),o.if("isEmpty","ck-labeled-field-view_empty"),o.if("isFocused","ck-labeled-field-view_focused"),o.if("placeholder","ck-labeled-field-view_placeholder"),o.if("errorText","ck-error")]},children:[{tag:"div",attributes:{class:["ck","ck-labeled-field-view__input-wrapper"]},children:this.fieldWrapperChildren},this.statusView]})}_createLabelView(t){const e=new yu(this.locale);e.for=t;e.bind("text").to(this,"label");return e}_createStatusView(t){const e=new Vl(this.locale);const n=this.bindTemplate;e.setTemplate({tag:"div",attributes:{class:["ck","ck-labeled-field-view__status",n.if("errorText","ck-labeled-field-view__status_error"),n.if("_statusText","ck-hidden",(t=>!t))],id:t,role:n.if("errorText","alert")},children:[{text:n.to("_statusText")}]});return e}focus(t){this.fieldView.focus(t)}}class Iu extends Vl{constructor(t){super(t);this.set("value",undefined);this.set("id",undefined);this.set("placeholder",undefined);this.set("isReadOnly",false);this.set("hasError",false);this.set("ariaDescribedById",undefined);this.focusTracker=new fl;this.bind("isFocused").to(this.focusTracker);this.set("isEmpty",true);const e=this.bindTemplate;this.setTemplate({tag:"input",attributes:{class:["ck","ck-input",e.if("isFocused","ck-input_focused"),e.if("isEmpty","ck-input-text_empty"),e.if("hasError","ck-error")],id:e.to("id"),placeholder:e.to("placeholder"),readonly:e.to("isReadOnly"),"aria-invalid":e.if("hasError",true),"aria-describedby":e.to("ariaDescribedById")},on:{input:e.to(((...t)=>{this.fire("input",...t);this._updateIsEmpty()})),change:e.to(this._updateIsEmpty.bind(this))}})}render(){super.render();this.focusTracker.add(this.element);this._setDomElementValue(this.value);this._updateIsEmpty();this.on("change:value",((t,e,n)=>{this._setDomElementValue(n);this._updateIsEmpty()}))}destroy(){super.destroy();this.focusTracker.destroy()}select(){this.element.select()}focus(){this.element.focus()}reset(){this.value=this.element.value="";this._updateIsEmpty()}_updateIsEmpty(){this.isEmpty=Bu(this.element)}_setDomElementValue(t){this.element.value=!t&&t!==0?"":t}}function Bu(t){return!t.value}var Mu=n(2470);var Nu={injectType:"singletonStyleTag",attributes:{"data-cke":true}};Nu.insert="head";Nu.singleton=true;var Pu=Pl()(Mu.Z,Nu);const Lu=Mu.Z.locals||{};class zu extends Iu{constructor(t){super(t);this.set("inputMode","text");const e=this.bindTemplate;this.extendTemplate({attributes:{inputmode:e.to("inputMode")}})}}class Ou extends zu{constructor(t){super(t);this.extendTemplate({attributes:{type:"text",class:["ck-input-text"]}})}}class Ru extends(null&&InputView){constructor(t,{min:e,max:n,step:i}={}){super(t);const o=this.bindTemplate;this.set("min",e);this.set("max",n);this.set("step",i);this.extendTemplate({attributes:{type:"number",class:["ck-input-number"],min:o.to("min"),max:o.to("max"),step:o.to("step")}})}}var Vu=n(5224);var Fu={injectType:"singletonStyleTag",attributes:{"data-cke":true}};Fu.insert="head";Fu.singleton=true;var ju=Pl()(Vu.Z,Fu);const Hu=Vu.Z.locals||{};class Uu extends(null&&InputBase){constructor(t){super(t);const e=toUnit("px");this.set("minRows",2);this.set("maxRows",5);this.set("_height",null);this.set("resize","none");this.on("change:minRows",this._validateMinMaxRows.bind(this));this.on("change:maxRows",this._validateMinMaxRows.bind(this));const n=this.bindTemplate;this.template.tag="textarea";this.extendTemplate({attributes:{class:["ck-textarea"],style:{height:n.to("_height",(t=>t?e(t):null)),resize:n.to("resize")},rows:n.to("minRows")}})}render(){super.render();this.on("input",(()=>{this._updateAutoGrowHeight(true);this.fire("update")}));this.on("change:value",(()=>{global.window.requestAnimationFrame((()=>{if(isVisible(this.element)){this._updateAutoGrowHeight();this.fire("update")}}))}))}reset(){super.reset();this._updateAutoGrowHeight();this.fire("update")}_updateAutoGrowHeight(t){const e=this.element;const n=Wu(e,"1");const i=Wu(e,e.value);const o=n.ownerDocument.defaultView.getComputedStyle(n);const r=parseFloat(o.paddingTop)+parseFloat(o.paddingBottom);const s=getBorderWidths(n);const a=parseFloat(o.lineHeight);const c=s.top+s.bottom;const l=new Rect(n).height;const d=Math.round((i.scrollHeight-r)/a);const u=this.maxRows*a+r+c;const h=d===1?l:this.minRows*a+r+c;this._height=Math.min(Math.max(Math.max(d,this.minRows)*a+r+c,h),u);if(t){e.scrollTop=e.scrollHeight}n.remove();i.remove()}_validateMinMaxRows(){if(this.minRows>this.maxRows){throw new CKEditorError("ui-textarea-view-min-rows-greater-than-max-rows",{textareaView:this,minRows:this.minRows,maxRows:this.maxRows})}}}function Wu(t,e){const n=t.cloneNode();n.style.position="absolute";n.style.top="-99999px";n.style.left="-99999px";n.style.height="auto";n.style.overflow="hidden";n.style.width=t.ownerDocument.defaultView.getComputedStyle(t).width;n.tabIndex=-1;n.rows=1;n.value=e;t.parentNode.insertBefore(n,t);return n}class Gu extends Vl{constructor(t){super(t);const e=this.bindTemplate;this.set("isVisible",false);this.set("position","se");this.children=this.createCollection();this.setTemplate({tag:"div",attributes:{class:["ck","ck-reset","ck-dropdown__panel",e.to("position",(t=>`ck-dropdown__panel_${t}`)),e.if("isVisible","ck-dropdown__panel-visible")],tabindex:"-1"},children:this.children,on:{selectstart:e.to((t=>{if(t.target.tagName.toLocaleLowerCase()==="input"){return}t.preventDefault()}))}})}focus(){if(this.children.length){const t=this.children.first;if(typeof t.focus==="function"){t.focus()}else{L("ui-dropdown-panel-focus-child-missing-focus",{childView:this.children.first,dropdownPanel:this})}}}focusLast(){if(this.children.length){const t=this.children.last;if(typeof t.focusLast==="function"){t.focusLast()}else{t.focus()}}}}var qu=n(5062);var $u={injectType:"singletonStyleTag",attributes:{"data-cke":true}};$u.insert="head";$u.singleton=true;var Ku=Pl()(qu.Z,$u);const Zu=qu.Z.locals||{};class Yu extends Vl{constructor(t,e,n){super(t);const i=this.bindTemplate;this.buttonView=e;this.panelView=n;this.set("isOpen",false);this.set("isEnabled",true);this.set("class",undefined);this.set("id",undefined);this.set("panelPosition","auto");this.panelView.bind("isVisible").to(this,"isOpen");this.keystrokes=new pl;this.focusTracker=new fl;this.setTemplate({tag:"div",attributes:{class:["ck","ck-dropdown",i.to("class"),i.if("isEnabled","ck-disabled",(t=>!t))],id:i.to("id"),"aria-describedby":i.to("ariaDescribedById")},children:[e,n]});e.extendTemplate({attributes:{class:["ck-dropdown__button"],"data-cke-tooltip-disabled":i.to("isOpen")}})}render(){super.render();this.focusTracker.add(this.buttonView.element);this.focusTracker.add(this.panelView.element);this.listenTo(this.buttonView,"open",(()=>{this.isOpen=!this.isOpen}));this.on("change:isOpen",((t,e,n)=>{if(!n){return}if(this.panelPosition==="auto"){const t=Yu._getOptimalPosition({element:this.panelView.element,target:this.buttonView.element,fitInViewport:true,positions:this._panelPositions});this.panelView.position=t?t.name:this._panelPositions[0].name}else{this.panelView.position=this.panelPosition}}));this.keystrokes.listenTo(this.element);const t=(t,e)=>{if(this.isOpen){this.isOpen=false;e()}};this.keystrokes.set("arrowdown",((t,e)=>{if(this.buttonView.isEnabled&&!this.isOpen){this.isOpen=true;e()}}));this.keystrokes.set("arrowright",((t,e)=>{if(this.isOpen){e()}}));this.keystrokes.set("arrowleft",t);this.keystrokes.set("esc",t)}focus(){this.buttonView.focus()}get _panelPositions(){const{south:t,north:e,southEast:n,southWest:i,northEast:o,northWest:r,southMiddleEast:s,southMiddleWest:a,northMiddleEast:c,northMiddleWest:l}=Yu.defaultPanelPositions;if(this.locale.uiLanguageDirection!=="rtl"){return[n,i,s,a,t,o,r,c,l,e]}else{return[i,n,a,s,t,r,o,l,c,e]}}}Yu.defaultPanelPositions={south:(t,e)=>({top:t.bottom,left:t.left-(e.width-t.width)/2,name:"s"}),southEast:t=>({top:t.bottom,left:t.left,name:"se"}),southWest:(t,e)=>({top:t.bottom,left:t.left-e.width+t.width,name:"sw"}),southMiddleEast:(t,e)=>({top:t.bottom,left:t.left-(e.width-t.width)/4,name:"sme"}),southMiddleWest:(t,e)=>({top:t.bottom,left:t.left-(e.width-t.width)*3/4,name:"smw"}),north:(t,e)=>({top:t.top-e.height,left:t.left-(e.width-t.width)/2,name:"n"}),northEast:(t,e)=>({top:t.top-e.height,left:t.left,name:"ne"}),northWest:(t,e)=>({top:t.top-e.height,left:t.left-e.width+t.width,name:"nw"}),northMiddleEast:(t,e)=>({top:t.top-e.height,left:t.left-(e.width-t.width)/4,name:"nme"}),northMiddleWest:(t,e)=>({top:t.top-e.height,left:t.left-(e.width-t.width)*3/4,name:"nmw"})};Yu._getOptimalPosition=Ec;const Qu='';class Ju extends xd{constructor(t){super(t);this.arrowView=this._createArrowView();this.extendTemplate({attributes:{"aria-haspopup":true,"aria-expanded":this.bindTemplate.to("isOn",(t=>String(t)))}});this.delegate("execute").to(this,"open")}render(){super.render();this.children.add(this.arrowView)}_createArrowView(){const t=new wd;t.content=Qu;t.extendTemplate({attributes:{class:"ck-dropdown__arrow"}});return t}}class Xu extends($()){constructor(t){super();this.focusables=t.focusables;this.focusTracker=t.focusTracker;this.keystrokeHandler=t.keystrokeHandler;this.actions=t.actions;if(t.actions&&t.keystrokeHandler){for(const e in t.actions){let n=t.actions[e];if(typeof n=="string"){n=[n]}for(const i of n){t.keystrokeHandler.set(i,((t,n)=>{this[e]();n()}))}}}this.on("forwardCycle",(()=>this.focusFirst()),{priority:"low"});this.on("backwardCycle",(()=>this.focusLast()),{priority:"low"})}get first(){return this.focusables.find(th)||null}get last(){return this.focusables.filter(th).slice(-1)[0]||null}get next(){return this._getFocusableItem(1)}get previous(){return this._getFocusableItem(-1)}get current(){let t=null;if(this.focusTracker.focusedElement===null){return null}this.focusables.find(((e,n)=>{const i=e.element===this.focusTracker.focusedElement;if(i){t=n}return i}));return t}focusFirst(){this._focus(this.first,1)}focusLast(){this._focus(this.last,-1)}focusNext(){const t=this.next;if(t&&this.focusables.getIndex(t)===this.current){return}if(t===this.first){this.fire("forwardCycle")}else{this._focus(t,1)}}focusPrevious(){const t=this.previous;if(t&&this.focusables.getIndex(t)===this.current){return}if(t===this.last){this.fire("backwardCycle")}else{this._focus(t,-1)}}_focus(t,e){if(t){t.focus(e)}}_getFocusableItem(t){const e=this.current;const n=this.focusables.length;if(!n){return null}if(e===null){return this[t===1?"first":"last"]}let i=(e+n+t)%n;do{const e=this.focusables.get(i);if(th(e)){return e}i=(i+n+t)%n}while(i!==e);return null}}function th(t){return!!("focus"in t&&xc(t.element))}class eh extends Vl{constructor(t){super(t);this.setTemplate({tag:"span",attributes:{class:["ck","ck-toolbar__separator"]}})}}class nh extends Vl{constructor(t){super(t);this.setTemplate({tag:"span",attributes:{class:["ck","ck-toolbar__line-break"]}})}}function ih(t){return t.bindTemplate.to((e=>{if(e.target===t.element){e.preventDefault()}}))}function oh(t){if(Array.isArray(t)){return{items:t,removeItems:[]}}const e={items:[],removeItems:[]};if(!t){return e}return{...e,...t}}class rh extends(mt()){constructor(t){super();this._disableStack=new Set;this.editor=t;this.set("isEnabled",true)}forceDisabled(t){this._disableStack.add(t);if(this._disableStack.size==1){this.on("set:isEnabled",sh,{priority:"highest"});this.isEnabled=false}}clearForceDisabled(t){this._disableStack.delete(t);if(this._disableStack.size==0){this.off("set:isEnabled",sh);this.isEnabled=true}}destroy(){this.stopListening()}static get isContextPlugin(){return false}}function sh(t){t.return=false;t.stop()}class ah extends(mt()){constructor(t){super();this.editor=t;this.set("value",undefined);this.set("isEnabled",false);this._affectsData=true;this._isEnabledBasedOnSelection=true;this._disableStack=new Set;this.decorate("execute");this.listenTo(this.editor.model.document,"change",(()=>{this.refresh()}));this.listenTo(t,"change:isReadOnly",(()=>{this.refresh()}));this.on("set:isEnabled",(e=>{if(!this.affectsData){return}const n=t.model.document.selection;const i=n.getFirstPosition().root.rootName=="$graveyard";const o=!i&&t.model.canEditAt(n);if(t.isReadOnly||this._isEnabledBasedOnSelection&&!o){e.return=false;e.stop()}}),{priority:"highest"});this.on("execute",(t=>{if(!this.isEnabled){t.stop()}}),{priority:"high"})}get affectsData(){return this._affectsData}set affectsData(t){this._affectsData=t}refresh(){this.isEnabled=true}forceDisabled(t){this._disableStack.add(t);if(this._disableStack.size==1){this.on("set:isEnabled",ch,{priority:"highest"});this.isEnabled=false}}clearForceDisabled(t){this._disableStack.delete(t);if(this._disableStack.size==0){this.off("set:isEnabled",ch);this.refresh()}}execute(...t){return undefined}destroy(){this.stopListening()}}function ch(t){t.return=false;t.stop()}class lh extends ah{constructor(){super(...arguments);this._childCommandsDefinitions=[]}refresh(){}execute(...t){const e=this._getFirstEnabledCommand();return!!e&&e.execute(t)}registerChildCommand(t,e={}){M(this._childCommandsDefinitions,{command:t,priority:e.priority||"normal"});t.on("change:isEnabled",(()=>this._checkEnabled()));this._checkEnabled()}_checkEnabled(){this.isEnabled=!!this._getFirstEnabledCommand()}_getFirstEnabledCommand(){const t=this._childCommandsDefinitions.find((({command:t})=>t.isEnabled));return t&&t.command}}class dh extends($()){constructor(t,e=[],n=[]){super();this._plugins=new Map;this._context=t;this._availablePlugins=new Map;for(const t of e){if(t.pluginName){this._availablePlugins.set(t.pluginName,t)}}this._contextPlugins=new Map;for(const[t,e]of n){this._contextPlugins.set(t,e);this._contextPlugins.set(e,t);if(t.pluginName){this._availablePlugins.set(t.pluginName,t)}}}*[Symbol.iterator](){for(const t of this._plugins){if(typeof t[0]=="function"){yield t}}}get(t){const e=this._plugins.get(t);if(!e){let e=t;if(typeof t=="function"){e=t.pluginName||t.name}throw new P("plugincollection-plugin-not-loaded",this._context,{plugin:e})}return e}has(t){return this._plugins.has(t)}init(t,e=[],n=[]){const i=this;const o=this._context;h(t);g(t);const r=t.filter((t=>!d(t,e)));const s=[...m(r)];A(s,n);const a=k(s);return w(a,"init").then((()=>w(a,"afterInit"))).then((()=>a));function c(t){return typeof t==="function"}function l(t){return c(t)&&!!t.isContextPlugin}function d(t,e){return e.some((e=>{if(e===t){return true}if(u(t)===e){return true}if(u(e)===t){return true}return false}))}function u(t){return c(t)?t.pluginName||t.name:t}function h(t,e=new Set){t.forEach((t=>{if(!c(t)){return}if(e.has(t)){return}e.add(t);if(t.pluginName&&!i._availablePlugins.has(t.pluginName)){i._availablePlugins.set(t.pluginName,t)}if(t.requires){h(t.requires,e)}}))}function m(t,e=new Set){return t.map((t=>c(t)?t:i._availablePlugins.get(t))).reduce(((t,n)=>{if(e.has(n)){return t}e.add(n);if(n.requires){g(n.requires,n);m(n.requires,e).forEach((e=>t.add(e)))}return t.add(n)}),new Set)}function g(t,e=null){t.map((t=>c(t)?t:i._availablePlugins.get(t)||t)).forEach((t=>{f(t,e);p(t,e);b(t,e)}))}function f(t,e){if(c(t)){return}if(e){throw new P("plugincollection-soft-required",o,{missingPlugin:t,requiredBy:u(e)})}throw new P("plugincollection-plugin-not-found",o,{plugin:t})}function p(t,e){if(!l(e)){return}if(l(t)){return}throw new P("plugincollection-context-required",o,{plugin:u(t),requiredBy:u(e)})}function b(t,n){if(!n){return}if(!d(t,e)){return}throw new P("plugincollection-required",o,{plugin:u(t),requiredBy:u(n)})}function k(t){return t.map((t=>{let e=i._contextPlugins.get(t);e=e||new t(o);i._add(t,e);return e}))}function w(t,e){return t.reduce(((t,n)=>{if(!n[e]){return t}if(i._contextPlugins.has(n)){return t}return t.then(n[e].bind(n))}),Promise.resolve())}function A(t,e){for(const n of e){if(typeof n!="function"){throw new P("plugincollection-replace-plugin-invalid-type",null,{pluginItem:n})}const e=n.pluginName;if(!e){throw new P("plugincollection-replace-plugin-missing-name",null,{pluginItem:n})}if(n.requires&&n.requires.length){throw new P("plugincollection-plugin-for-replacing-cannot-have-dependencies",null,{pluginName:e})}const o=i._availablePlugins.get(e);if(!o){throw new P("plugincollection-plugin-for-replacing-not-exist",null,{pluginName:e})}const r=t.indexOf(o);if(r===-1){if(i._contextPlugins.has(o)){return}throw new P("plugincollection-plugin-for-replacing-not-loaded",null,{pluginName:e})}if(o.requires&&o.requires.length){throw new P("plugincollection-replaced-plugin-cannot-have-dependencies",null,{pluginName:e})}t.splice(r,1,n);i._availablePlugins.set(e,n)}}}destroy(){const t=[];for(const[,e]of this){if(typeof e.destroy=="function"&&!this._contextPlugins.has(e)){t.push(e.destroy())}}return Promise.all(t)}_add(t,e){this._plugins.set(t,e);const n=t.pluginName;if(!n){return}if(this._plugins.has(n)){throw new P("plugincollection-plugin-name-conflict",null,{pluginName:n,plugin1:this._plugins.get(n).constructor,plugin2:t})}this._plugins.set(n,e)}}class uh{constructor(t){this._contextOwner=null;this.config=new Ga(t,this.constructor.defaultConfig);const e=this.constructor.builtinPlugins;this.config.define("plugins",e);this.plugins=new dh(this,e);const n=this.config.get("language")||{};this.locale=new ul({uiLanguage:typeof n==="string"?n:n.ui,contentLanguage:this.config.get("language.content")});this.t=this.locale.t;this.editors=new ml}initPlugins(){const t=this.config.get("plugins")||[];const e=this.config.get("substitutePlugins")||[];for(const n of t.concat(e)){if(typeof n!="function"){throw new P("context-initplugins-constructor-only",null,{Plugin:n})}if(n.isContextPlugin!==true){throw new P("context-initplugins-invalid-plugin",null,{Plugin:n})}}return this.plugins.init(t,[],e)}destroy(){return Promise.all(Array.from(this.editors,(t=>t.destroy()))).then((()=>this.plugins.destroy()))}_addEditor(t,e){if(this._contextOwner){throw new P("context-addeditor-private-context")}this.editors.add(t);if(e){this._contextOwner=t}}_removeEditor(t){if(this.editors.has(t)){this.editors.remove(t)}if(this._contextOwner===t){return this.destroy()}return Promise.resolve()}_getEditorConfig(){const t={};for(const e of this.config.names()){if(!["plugins","removePlugins","extraPlugins"].includes(e)){t[e]=this.config.get(e)}}return t}static create(t){return new Promise((e=>{const n=new this(t);e(n.initPlugins().then((()=>n)))}))}}class hh extends(mt()){constructor(t){super();this.context=t}destroy(){this.stopListening()}static get isContextPlugin(){return true}}var mh=n(7372);var gh={injectType:"singletonStyleTag",attributes:{"data-cke":true}};gh.insert="head";gh.singleton=true;var fh=Pl()(mh.Z,gh);const ph=mh.Z.locals||{};const bh=new WeakMap;let kh=false;function wh({view:t,element:e,text:n,isDirectHost:i=true,keepOnFocus:o=false}){const r=t.document;if(!bh.has(r)){bh.set(r,new Map);r.registerPostFixer((t=>yh(r,t)));r.on("change:isComposing",(()=>{t.change((t=>yh(r,t)))}),{priority:"high"})}if(e.is("editableElement")){e.on("change:placeholder",((t,e,n)=>{s(n)}))}if(e.placeholder){s(e.placeholder)}else if(n){s(n)}if(n){Dh()}function s(n){bh.get(r).set(e,{text:n,isDirectHost:i,keepOnFocus:o,hostElement:i?e:null});t.change((t=>yh(r,t)))}}function Ah(t,e){const n=e.document;if(!bh.has(n)){return}t.change((t=>{const i=bh.get(n);const o=i.get(e);t.removeAttribute("data-placeholder",o.hostElement);_h(t,o.hostElement);i.delete(e)}))}function Ch(t,e){if(!e.hasClass("ck-placeholder")){t.addClass("ck-placeholder",e);return true}return false}function _h(t,e){if(e.hasClass("ck-placeholder")){t.removeClass("ck-placeholder",e);return true}return false}function vh(t,e){if(!t.isAttached()){return false}const n=Array.from(t.getChildren()).some((t=>!t.is("uiElement")));if(n){return false}const i=t.document;const o=i.selection;const r=o.anchor;if(i.isComposing&&r&&r.parent===t){return false}if(e){return true}if(!i.isFocused){return true}return!!r&&r.parent!==t}function yh(t,e){const n=bh.get(t);const i=[];let o=false;for(const[t,r]of n){if(r.isDirectHost){i.push(t);if(xh(e,t,r)){o=true}}}for(const[t,r]of n){if(r.isDirectHost){continue}const n=Eh(t);if(!n){continue}if(i.includes(n)){continue}r.hostElement=n;if(xh(e,t,r)){o=true}}return o}function xh(t,e,n){const{text:i,isDirectHost:o,hostElement:r}=n;let s=false;if(r.getAttribute("data-placeholder")!==i){t.setAttribute("data-placeholder",i,r);s=true}const a=o||e.childCount==1;if(a&&vh(r,n.keepOnFocus)){if(Ch(t,r)){s=true}}else if(_h(t,r)){s=true}return s}function Eh(t){if(t.childCount){const e=t.getChild(0);if(e.is("element")&&!e.is("uiElement")&&!e.is("attributeElement")){return e}}return null}function Dh(){if(!kh){L("enableplaceholder-deprecated-text-option")}kh=true}class Th{is(){throw new Error("is() method is abstract")}}var Sh=4;function Ih(t){return Ra(t,Sh)}const Bh=Ih;class Mh extends($(Th)){constructor(t){super();this.document=t;this.parent=null}get index(){let t;if(!this.parent){return null}if((t=this.parent.getChildIndex(this))==-1){throw new P("view-node-not-found-in-parent",this)}return t}get nextSibling(){const t=this.index;return t!==null&&this.parent.getChild(t+1)||null}get previousSibling(){const t=this.index;return t!==null&&this.parent.getChild(t-1)||null}get root(){let t=this;while(t.parent){t=t.parent}return t}isAttached(){return this.root.is("rootElement")}getPath(){const t=[];let e=this;while(e.parent){t.unshift(e.index);e=e.parent}return t}getAncestors(t={}){const e=[];let n=t.includeSelf?this:this.parent;while(n){e[t.parentFirst?"push":"unshift"](n);n=n.parent}return e}getCommonAncestor(t,e={}){const n=this.getAncestors(e);const i=t.getAncestors(e);let o=0;while(n[o]==i[o]&&n[o]){o++}return o===0?null:n[o-1]}isBefore(t){if(this==t){return false}if(this.root!==t.root){return false}const e=this.getPath();const n=t.getPath();const i=Et(e,n);switch(i){case"prefix":return true;case"extension":return false;default:return e[i]t.data.length){throw new P("view-textproxy-wrong-offsetintext",this)}if(n<0||e+n>t.data.length){throw new P("view-textproxy-wrong-length",this)}this.data=t.data.substring(e,e+n);this.offsetInText=e}get offsetSize(){return this.data.length}get isPartial(){return this.data.length!==this.textNode.data.length}get parent(){return this.textNode.parent}get root(){return this.textNode.root}get document(){return this.textNode.document}getAncestors(t={}){const e=[];let n=t.includeSelf?this.textNode:this.parent;while(n!==null){e[t.parentFirst?"push":"unshift"](n);n=n.parent}return e}}Ph.prototype.is=function(t){return t==="$textProxy"||t==="view:$textProxy"||t==="textProxy"||t==="view:textProxy"};class Lh{constructor(...t){this._patterns=[];this.add(...t)}add(...t){for(let e of t){if(typeof e=="string"||e instanceof RegExp){e={name:e}}this._patterns.push(e)}}match(...t){for(const e of t){for(const t of this._patterns){const n=zh(e,t);if(n){return{element:e,pattern:t,match:n}}}}return null}matchAll(...t){const e=[];for(const n of t){for(const t of this._patterns){const i=zh(n,t);if(i){e.push({element:n,pattern:t,match:i})}}}return e.length>0?e:null}getElementName(){if(this._patterns.length!==1){return null}const t=this._patterns[0];const e=t.name;return typeof t!="function"&&e&&!(e instanceof RegExp)?e:null}}function zh(t,e){if(typeof e=="function"){return e(t)}const n={};if(e.name){n.name=Oh(e.name,t.name);if(!n.name){return null}}if(e.attributes){n.attributes=Hh(e.attributes,t);if(!n.attributes){return null}}if(e.classes){n.classes=Uh(e.classes,t);if(!n.classes){return null}}if(e.styles){n.styles=Wh(e.styles,t);if(!n.styles){return null}}return n}function Oh(t,e){if(t instanceof RegExp){return!!e.match(t)}return t===e}function Rh(t,e,n){const i=Vh(t);const o=Array.from(e);const r=[];i.forEach((([t,e])=>{o.forEach((i=>{if(Fh(t,i)&&jh(e,i,n)){r.push(i)}}))}));if(!i.length||r.length{if(fe(t)){if(t.key===undefined||t.value===undefined){L("matcher-pattern-missing-key-or-value",t)}return[t.key,t.value]}return[t,true]}))}if(fe(t)){return Object.entries(t)}return[[t,true]]}function Fh(t,e){return t===true||t===e||t instanceof RegExp&&e.match(t)}function jh(t,e,n){if(t===true){return true}const i=n(e);return t===i||t instanceof RegExp&&!!String(i).match(t)}function Hh(t,e){const n=new Set(e.getAttributeKeys());if(fe(t)){if(t.style!==undefined){L("matcher-pattern-deprecated-attributes-style-key",t)}if(t.class!==undefined){L("matcher-pattern-deprecated-attributes-class-key",t)}}else{n.delete("style");n.delete("class")}return Rh(t,n,(t=>e.getAttribute(t)))}function Uh(t,e){return Rh(t,e.getClassNames(),(()=>{}))}function Wh(t,e){return Rh(t,e.getStyleNames(true),(t=>e.getStyle(t)))}var Gh=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,qh=/^\w*$/;function $h(t,e){if(Qt(t)){return false}var n=typeof t;if(n=="number"||n=="symbol"||n=="boolean"||t==null||au(t)){return true}return qh.test(t)||!Gh.test(t)||e!=null&&t in Object(e)}const Kh=$h;var Zh="Expected a function";function Yh(t,e){if(typeof t!="function"||e!=null&&typeof e!="function"){throw new TypeError(Zh)}var n=function(){var i=arguments,o=e?e.apply(this,i):i[0],r=n.cache;if(r.has(o)){return r.get(o)}var s=t.apply(this,i);n.cache=r.set(o,s)||r;return s};n.cache=new(Yh.Cache||ti);return n}Yh.Cache=ti;const Qh=Yh;var Jh=500;function Xh(t){var e=Qh(t,(function(t){if(n.size===Jh){n.clear()}return t}));var n=e.cache;return e}const tm=Xh;var em=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g;var nm=/\\(\\)?/g;var im=tm((function(t){var e=[];if(t.charCodeAt(0)===46){e.push("")}t.replace(em,(function(t,n,i,o){e.push(i?o.replace(nm,"$1"):n||t)}));return e}));const om=im;function rm(t,e){var n=-1,i=t==null?0:t.length,o=Array(i);while(++no?0:o+e}n=n>o?o:n;if(n<0){n+=o}o=e>n?0:n-e>>>0;e>>>=0;var r=Array(o);while(++i0){if(++e>=sg){return arguments[0]}}else{e=0}return t.apply(undefined,arguments)}}const dg=lg;var ug=dg(rg);const hg=ug;function mg(t,e){return hg(eg(t,e,Ym),t+"")}const gg=mg;function fg(t,e,n){if(!st(n)){return false}var i=typeof e;if(i=="number"?Uo(n)&&Fi(e,n.length):i=="string"&&e in n){return we(n[e],t)}return false}const pg=fg;function bg(t){return gg((function(e,n){var i=-1,o=n.length,r=o>1?n[o-1]:undefined,s=o>2?n[2]:undefined;r=t.length>3&&typeof r=="function"?(o--,r):undefined;if(s&&pg(n[0],n[1],s)){r=o<3?undefined:r;o=1}e=Object(e);while(++ie===t));return Array.isArray(n)}set(t,e){if(st(t)){for(const[e,n]of Object.entries(t)){this._styleProcessor.toNormalizedForm(e,n,this._styles)}}else{this._styleProcessor.toNormalizedForm(t,e,this._styles)}}remove(t){const e=Tg(t);Im(this._styles,e);delete this._styles[t];this._cleanEmptyObjectsOnPath(e)}getNormalized(t){return this._styleProcessor.getNormalized(t,this._styles)}toString(){if(this.isEmpty){return""}return this._getStylesEntries().map((t=>t.join(":"))).sort().join(";")+";"}getAsString(t){if(this.isEmpty){return}if(this._styles[t]&&!st(this._styles[t])){return this._styles[t]}const e=this._styleProcessor.getReducedForm(t,this._styles);const n=e.find((([e])=>e===t));if(Array.isArray(n)){return n[1]}}getStyleNames(t=false){if(this.isEmpty){return[]}if(t){return this._styleProcessor.getStyleNames(this._styles)}const e=this._getStylesEntries();return e.map((([t])=>t))}clear(){this._styles={}}_getStylesEntries(){const t=[];const e=Object.keys(this._styles);for(const n of e){t.push(...this._styleProcessor.getReducedForm(n,this._styles))}return t}_cleanEmptyObjectsOnPath(t){const e=t.split(".");const n=e.length>1;if(!n){return}const i=e.splice(0,e.length-1).join(".");const o=Mm(this._styles,i);if(!o){return}const r=!Object.keys(o).length;if(r){this.remove(i)}}}class Eg{constructor(){this._normalizers=new Map;this._extractors=new Map;this._reducers=new Map;this._consumables=new Map}toNormalizedForm(t,e,n){if(st(e)){Sg(n,Tg(t),e);return}if(this._normalizers.has(t)){const i=this._normalizers.get(t);const{path:o,value:r}=i(e);Sg(n,o,r)}else{Sg(n,t,e)}}getNormalized(t,e){if(!t){return Ag({},e)}if(e[t]!==undefined){return e[t]}if(this._extractors.has(t)){const n=this._extractors.get(t);if(typeof n==="string"){return Mm(e,n)}const i=n(t,e);if(i){return i}}return Mm(e,Tg(t))}getReducedForm(t,e){const n=this.getNormalized(t,e);if(n===undefined){return[]}if(this._reducers.has(t)){const e=this._reducers.get(t);return e(n)}return[[t,n]]}getStyleNames(t){const e=Array.from(this._consumables.keys()).filter((e=>{const n=this.getNormalized(e,t);if(n&&typeof n=="object"){return Object.keys(n).length}return n}));const n=new Set([...e,...Object.keys(t)]);return Array.from(n)}getRelatedStyles(t){return this._consumables.get(t)||[]}setNormalizer(t,e){this._normalizers.set(t,e)}setExtractor(t,e){this._extractors.set(t,e)}setReducer(t,e){this._reducers.set(t,e)}setStyleRelation(t,e){this._mapStyleNames(t,e);for(const n of e){this._mapStyleNames(n,[t])}}_mapStyleNames(t,e){if(!this._consumables.has(t)){this._consumables.set(t,[])}this._consumables.get(t).push(...e)}}function Dg(t){let e=null;let n=0;let i=0;let o=null;const r=new Map;if(t===""){return r}if(t.charAt(t.length-1)!=";"){t=t+";"}for(let s=0;s0){yield"class"}if(!this._styles.isEmpty){yield"style"}yield*this._attrs.keys()}*getAttributes(){yield*this._attrs.entries();if(this._classes.size>0){yield["class",this.getAttribute("class")]}if(!this._styles.isEmpty){yield["style",this.getAttribute("style")]}}getAttribute(t){if(t=="class"){if(this._classes.size>0){return[...this._classes].join(" ")}return undefined}if(t=="style"){const t=this._styles.toString();return t==""?undefined:t}return this._attrs.get(t)}hasAttribute(t){if(t=="class"){return this._classes.size>0}if(t=="style"){return!this._styles.isEmpty}return this._attrs.has(t)}isSimilar(t){if(!(t instanceof Ig)){return false}if(this===t){return true}if(this.name!=t.name){return false}if(this._attrs.size!==t._attrs.size||this._classes.size!==t._classes.size||this._styles.size!==t._styles.size){return false}for(const[e,n]of this._attrs){if(!t._attrs.has(e)||t._attrs.get(e)!==n){return false}}for(const e of this._classes){if(!t._classes.has(e)){return false}}for(const e of this._styles.getStyleNames()){if(!t._styles.has(e)||t._styles.getAsString(e)!==this._styles.getAsString(e)){return false}}return true}hasClass(...t){for(const e of t){if(!this._classes.has(e)){return false}}return true}getClassNames(){return this._classes.keys()}getStyle(t){return this._styles.getAsString(t)}getNormalizedStyle(t){return this._styles.getNormalized(t)}getStyleNames(t){return this._styles.getStyleNames(t)}hasStyle(...t){for(const e of t){if(!this._styles.has(e)){return false}}return true}findAncestor(...t){const e=new Lh(...t);let n=this.parent;while(n&&!n.is("documentFragment")){if(e.match(n)){return n}n=n.parent}return null}getCustomProperty(t){return this._customProperties.get(t)}*getCustomProperties(){yield*this._customProperties.entries()}getIdentity(){const t=Array.from(this._classes).sort().join(",");const e=this._styles.toString();const n=Array.from(this._attrs).map((t=>`${t[0]}="${t[1]}"`)).sort().join(" ");return this.name+(t==""?"":` class="${t}"`)+(!e?"":` style="${e}"`)+(n==""?"":` ${n}`)}shouldRenderUnsafeAttribute(t){return this._unsafeAttributesToRender.includes(t)}_clone(t=false){const e=[];if(t){for(const n of this.getChildren()){e.push(n._clone(t))}}const n=new this.constructor(this.document,this.name,this._attrs,e);n._classes=new Set(this._classes);n._styles.set(this._styles.getNormalized());n._customProperties=new Map(this._customProperties);n.getFillerOffset=this.getFillerOffset;n._unsafeAttributesToRender=this._unsafeAttributesToRender;return n}_appendChild(t){return this._insertChild(this.childCount,t)}_insertChild(t,e){this._fireChange("children",this);let n=0;const i=Ng(this.document,e);for(const e of i){if(e.parent!==null){e._remove()}e.parent=this;e.document=this.document;this._children.splice(t,0,e);t++;n++}return n}_removeChildren(t,e=1){this._fireChange("children",this);for(let n=t;n0){this._classes.clear();return true}return false}if(t=="style"){if(!this._styles.isEmpty){this._styles.clear();return true}return false}return this._attrs.delete(t)}_addClass(t){this._fireChange("attributes",this);for(const e of il(t)){this._classes.add(e)}}_removeClass(t){this._fireChange("attributes",this);for(const e of il(t)){this._classes.delete(e)}}_setStyle(t,e){this._fireChange("attributes",this);if(typeof t!="string"){this._styles.set(t)}else{this._styles.set(t,e)}}_removeStyle(t){this._fireChange("attributes",this);for(const e of il(t)){this._styles.remove(e)}}_setCustomProperty(t,e){this._customProperties.set(t,e)}_removeCustomProperty(t){return this._customProperties.delete(t)}}Ig.prototype.is=function(t,e){if(!e){return t==="element"||t==="view:element"||t==="node"||t==="view:node"}else{return e===this.name&&(t==="element"||t==="view:element")}};function Bg(t){const e=kl(t);for(const[t,n]of e){if(n===null){e.delete(t)}else if(typeof n!="string"){e.set(t,String(n))}}return e}function Mg(t,e){const n=e.split(/\s+/);t.clear();n.forEach((e=>t.add(e)))}function Ng(t,e){if(typeof e=="string"){return[new Nh(t,e)]}if(!Dt(e)){e=[e]}return Array.from(e).map((e=>{if(typeof e=="string"){return new Nh(t,e)}if(e instanceof Ph){return new Nh(t,e.data)}return e}))}class Pg extends Ig{constructor(t,e,n,i){super(t,e,n,i);this.getFillerOffset=Lg}}Pg.prototype.is=function(t,e){if(!e){return t==="containerElement"||t==="view:containerElement"||t==="element"||t==="view:element"||t==="node"||t==="view:node"}else{return e===this.name&&(t==="containerElement"||t==="view:containerElement"||t==="element"||t==="view:element")}};function Lg(){const t=[...this.getChildren()];const e=t[this.childCount-1];if(e&&e.is("element","br")){return this.childCount}for(const e of t){if(!e.is("uiElement")){return null}}return this.childCount}class zg extends(mt(Pg)){constructor(t,e,n,i){super(t,e,n,i);this.set("isReadOnly",false);this.set("isFocused",false);this.set("placeholder",undefined);this.bind("isReadOnly").to(t);this.bind("isFocused").to(t,"isFocused",(e=>e&&t.selection.editableElement==this));this.listenTo(t.selection,"change",(()=>{this.isFocused=t.isFocused&&t.selection.editableElement==this}))}destroy(){this.stopListening()}}zg.prototype.is=function(t,e){if(!e){return t==="editableElement"||t==="view:editableElement"||t==="containerElement"||t==="view:containerElement"||t==="element"||t==="view:element"||t==="node"||t==="view:node"}else{return e===this.name&&(t==="editableElement"||t==="view:editableElement"||t==="containerElement"||t==="view:containerElement"||t==="element"||t==="view:element")}};const Og=Symbol("rootName");class Rg extends zg{constructor(t,e){super(t,e);this.rootName="main"}get rootName(){return this.getCustomProperty(Og)}set rootName(t){this._setCustomProperty(Og,t)}set _name(t){this.name=t}}Rg.prototype.is=function(t,e){if(!e){return t==="rootElement"||t==="view:rootElement"||t==="editableElement"||t==="view:editableElement"||t==="containerElement"||t==="view:containerElement"||t==="element"||t==="view:element"||t==="node"||t==="view:node"}else{return e===this.name&&(t==="rootElement"||t==="view:rootElement"||t==="editableElement"||t==="view:editableElement"||t==="containerElement"||t==="view:containerElement"||t==="element"||t==="view:element")}};class Vg{constructor(t={}){if(!t.boundaries&&!t.startPosition){throw new P("view-tree-walker-no-start-position",null)}if(t.direction&&t.direction!="forward"&&t.direction!="backward"){throw new P("view-tree-walker-unknown-direction",t.startPosition,{direction:t.direction})}this.boundaries=t.boundaries||null;if(t.startPosition){this._position=Fg._createAt(t.startPosition)}else{this._position=Fg._createAt(t.boundaries[t.direction=="backward"?"end":"start"])}this.direction=t.direction||"forward";this.singleCharacters=!!t.singleCharacters;this.shallow=!!t.shallow;this.ignoreElementEnd=!!t.ignoreElementEnd;this._boundaryStartParent=this.boundaries?this.boundaries.start.parent:null;this._boundaryEndParent=this.boundaries?this.boundaries.end.parent:null}[Symbol.iterator](){return this}get position(){return this._position}skip(t){let e;let n;do{n=this.position;e=this.next()}while(!e.done&&t(e.value));if(!e.done){this._position=n}}next(){if(this.direction=="forward"){return this._next()}else{return this._previous()}}_next(){let t=this.position.clone();const e=this.position;const n=t.parent;if(n.parent===null&&t.offset===n.childCount){return{done:true,value:undefined}}if(n===this._boundaryEndParent&&t.offset==this.boundaries.end.offset){return{done:true,value:undefined}}let i;if(n instanceof Nh){if(t.isAtEnd){this._position=Fg._createAfter(n);return this._next()}i=n.data[t.offset]}else{i=n.getChild(t.offset)}if(i instanceof Ig){if(!this.shallow){t=new Fg(i,0)}else{if(this.boundaries&&this.boundaries.end.isBefore(t)){return{done:true,value:undefined}}t.offset++}this._position=t;return this._formatReturnValue("elementStart",i,e,t,1)}if(i instanceof Nh){if(this.singleCharacters){t=new Fg(i,0);this._position=t;return this._next()}let n=i.data.length;let o;if(i==this._boundaryEndParent){n=this.boundaries.end.offset;o=new Ph(i,0,n);t=Fg._createAfter(o)}else{o=new Ph(i,0,i.data.length);t.offset++}this._position=t;return this._formatReturnValue("text",o,e,t,n)}if(typeof i=="string"){let i;if(this.singleCharacters){i=1}else{const e=n===this._boundaryEndParent?this.boundaries.end.offset:n.data.length;i=e-t.offset}const o=new Ph(n,t.offset,i);t.offset+=i;this._position=t;return this._formatReturnValue("text",o,e,t,i)}t=Fg._createAfter(n);this._position=t;if(this.ignoreElementEnd){return this._next()}return this._formatReturnValue("elementEnd",n,e,t)}_previous(){let t=this.position.clone();const e=this.position;const n=t.parent;if(n.parent===null&&t.offset===0){return{done:true,value:undefined}}if(n==this._boundaryStartParent&&t.offset==this.boundaries.start.offset){return{done:true,value:undefined}}let i;if(n instanceof Nh){if(t.isAtStart){this._position=Fg._createBefore(n);return this._previous()}i=n.data[t.offset-1]}else{i=n.getChild(t.offset-1)}if(i instanceof Ig){if(this.shallow){t.offset--;this._position=t;return this._formatReturnValue("elementStart",i,e,t,1)}t=new Fg(i,i.childCount);this._position=t;if(this.ignoreElementEnd){return this._previous()}return this._formatReturnValue("elementEnd",i,e,t)}if(i instanceof Nh){if(this.singleCharacters){t=new Fg(i,i.data.length);this._position=t;return this._previous()}let n=i.data.length;let o;if(i==this._boundaryStartParent){const e=this.boundaries.start.offset;o=new Ph(i,e,i.data.length-e);n=o.data.length;t=Fg._createBefore(o)}else{o=new Ph(i,0,i.data.length);t.offset--}this._position=t;return this._formatReturnValue("text",o,e,t,n)}if(typeof i=="string"){let i;if(!this.singleCharacters){const e=n===this._boundaryStartParent?this.boundaries.start.offset:0;i=t.offset-e}else{i=1}t.offset-=i;const o=new Ph(n,t.offset,i);this._position=t;return this._formatReturnValue("text",o,e,t,i)}t=Fg._createBefore(n);this._position=t;return this._formatReturnValue("elementStart",n,e,t,1)}_formatReturnValue(t,e,n,i,o){if(e instanceof Ph){if(e.offsetInText+e.data.length==e.textNode.data.length){if(this.direction=="forward"&&!(this.boundaries&&this.boundaries.end.isEqual(this.position))){i=Fg._createAfter(e.textNode);this._position=i}else{n=Fg._createAfter(e.textNode)}}if(e.offsetInText===0){if(this.direction=="backward"&&!(this.boundaries&&this.boundaries.start.isEqual(this.position))){i=Fg._createBefore(e.textNode);this._position=i}else{n=Fg._createBefore(e.textNode)}}}return{done:false,value:{type:t,item:e,previousPosition:n,nextPosition:i,length:o}}}}class Fg extends Th{constructor(t,e){super();this.parent=t;this.offset=e}get nodeAfter(){if(this.parent.is("$text")){return null}return this.parent.getChild(this.offset)||null}get nodeBefore(){if(this.parent.is("$text")){return null}return this.parent.getChild(this.offset-1)||null}get isAtStart(){return this.offset===0}get isAtEnd(){const t=this.parent.is("$text")?this.parent.data.length:this.parent.childCount;return this.offset===t}get root(){return this.parent.root}get editableElement(){let t=this.parent;while(!(t instanceof zg)){if(t.parent){t=t.parent}else{return null}}return t}getShiftedBy(t){const e=Fg._createAt(this);const n=e.offset+t;e.offset=n<0?0:n;return e}getLastMatchingPosition(t,e={}){e.startPosition=this;const n=new Vg(e);n.skip(t);return n.position}getAncestors(){if(this.parent.is("documentFragment")){return[this.parent]}else{return this.parent.getAncestors({includeSelf:true})}}getCommonAncestor(t){const e=this.getAncestors();const n=t.getAncestors();let i=0;while(e[i]==n[i]&&e[i]){i++}return i===0?null:e[i-1]}isEqual(t){return this.parent==t.parent&&this.offset==t.offset}isBefore(t){return this.compareWith(t)=="before"}isAfter(t){return this.compareWith(t)=="after"}compareWith(t){if(this.root!==t.root){return"different"}if(this.isEqual(t)){return"same"}const e=this.parent.is("node")?this.parent.getPath():[];const n=t.parent.is("node")?t.parent.getPath():[];e.push(this.offset);n.push(t.offset);const i=Et(e,n);switch(i){case"prefix":return"before";case"extension":return"after";default:return e[i]0?new this(n,i):new this(i,n)}static _createIn(t){return this._createFromParentsAndOffsets(t,0,t,t.childCount)}static _createOn(t){const e=t.is("$textProxy")?t.offsetSize:1;return this._createFromPositionAndShift(Fg._createBefore(t),e)}}jg.prototype.is=function(t){return t==="range"||t==="view:range"};function Hg(t){if(t.item.is("attributeElement")||t.item.is("uiElement")){return true}return false}class Ug extends($(Th)){constructor(...t){super();this._ranges=[];this._lastRangeBackward=false;this._isFake=false;this._fakeSelectionLabel="";if(t.length){this.setTo(...t)}}get isFake(){return this._isFake}get fakeSelectionLabel(){return this._fakeSelectionLabel}get anchor(){if(!this._ranges.length){return null}const t=this._ranges[this._ranges.length-1];const e=this._lastRangeBackward?t.end:t.start;return e.clone()}get focus(){if(!this._ranges.length){return null}const t=this._ranges[this._ranges.length-1];const e=this._lastRangeBackward?t.start:t.end;return e.clone()}get isCollapsed(){return this.rangeCount===1&&this._ranges[0].isCollapsed}get rangeCount(){return this._ranges.length}get isBackward(){return!this.isCollapsed&&this._lastRangeBackward}get editableElement(){if(this.anchor){return this.anchor.editableElement}return null}*getRanges(){for(const t of this._ranges){yield t.clone()}}getFirstRange(){let t=null;for(const e of this._ranges){if(!t||e.start.isBefore(t.start)){t=e}}return t?t.clone():null}getLastRange(){let t=null;for(const e of this._ranges){if(!t||e.end.isAfter(t.end)){t=e}}return t?t.clone():null}getFirstPosition(){const t=this.getFirstRange();return t?t.start.clone():null}getLastPosition(){const t=this.getLastRange();return t?t.end.clone():null}isEqual(t){if(this.isFake!=t.isFake){return false}if(this.isFake&&this.fakeSelectionLabel!=t.fakeSelectionLabel){return false}if(this.rangeCount!=t.rangeCount){return false}else if(this.rangeCount===0){return true}if(!this.anchor.isEqual(t.anchor)||!this.focus.isEqual(t.focus)){return false}for(const e of this._ranges){let n=false;for(const i of t._ranges){if(e.isEqual(i)){n=true;break}}if(!n){return false}}return true}isSimilar(t){if(this.isBackward!=t.isBackward){return false}const e=xt(this.getRanges());const n=xt(t.getRanges());if(e!=n){return false}if(e==0){return true}for(let e of this.getRanges()){e=e.getTrimmed();let n=false;for(let i of t.getRanges()){i=i.getTrimmed();if(e.start.isEqual(i.start)&&e.end.isEqual(i.end)){n=true;break}}if(!n){return false}}return true}getSelectedElement(){if(this.rangeCount!==1){return null}return this.getFirstRange().getContainedElement()}setTo(...t){let[e,n,i]=t;if(typeof n=="object"){i=n;n=undefined}if(e===null){this._setRanges([]);this._setFakeOptions(i)}else if(e instanceof Ug||e instanceof Wg){this._setRanges(e.getRanges(),e.isBackward);this._setFakeOptions({fake:e.isFake,label:e.fakeSelectionLabel})}else if(e instanceof jg){this._setRanges([e],i&&i.backward);this._setFakeOptions(i)}else if(e instanceof Fg){this._setRanges([new jg(e)]);this._setFakeOptions(i)}else if(e instanceof Mh){const t=!!i&&!!i.backward;let o;if(n===undefined){throw new P("view-selection-setto-required-second-parameter",this)}else if(n=="in"){o=jg._createIn(e)}else if(n=="on"){o=jg._createOn(e)}else{o=new jg(Fg._createAt(e,n))}this._setRanges([o],t);this._setFakeOptions(i)}else if(Dt(e)){this._setRanges(e,i&&i.backward);this._setFakeOptions(i)}else{throw new P("view-selection-setto-not-selectable",this)}this.fire("change")}setFocus(t,e){if(this.anchor===null){throw new P("view-selection-setfocus-no-ranges",this)}const n=Fg._createAt(t,e);if(n.compareWith(this.focus)=="same"){return}const i=this.anchor;this._ranges.pop();if(n.compareWith(i)=="before"){this._addRange(new jg(n,i),true)}else{this._addRange(new jg(i,n))}this.fire("change")}_setRanges(t,e=false){t=Array.from(t);this._ranges=[];for(const e of t){this._addRange(e)}this._lastRangeBackward=!!e}_setFakeOptions(t={}){this._isFake=!!t.fake;this._fakeSelectionLabel=t.fake?t.label||"":""}_addRange(t,e=false){if(!(t instanceof jg)){throw new P("view-selection-add-range-not-range",this)}this._pushRange(t);this._lastRangeBackward=!!e}_pushRange(t){for(const e of this._ranges){if(t.isIntersecting(e)){throw new P("view-selection-range-intersects",this,{addedRange:t,intersectingRange:e})}}this._ranges.push(new jg(t.start,t.end))}}Ug.prototype.is=function(t){return t==="selection"||t==="view:selection"};class Wg extends($(Th)){constructor(...t){super();this._selection=new Ug;this._selection.delegate("change").to(this);if(t.length){this._selection.setTo(...t)}}get isFake(){return this._selection.isFake}get fakeSelectionLabel(){return this._selection.fakeSelectionLabel}get anchor(){return this._selection.anchor}get focus(){return this._selection.focus}get isCollapsed(){return this._selection.isCollapsed}get rangeCount(){return this._selection.rangeCount}get isBackward(){return this._selection.isBackward}get editableElement(){return this._selection.editableElement}get _ranges(){return this._selection._ranges}*getRanges(){yield*this._selection.getRanges()}getFirstRange(){return this._selection.getFirstRange()}getLastRange(){return this._selection.getLastRange()}getFirstPosition(){return this._selection.getFirstPosition()}getLastPosition(){return this._selection.getLastPosition()}getSelectedElement(){return this._selection.getSelectedElement()}isEqual(t){return this._selection.isEqual(t)}isSimilar(t){return this._selection.isSimilar(t)}_setTo(...t){this._selection.setTo(...t)}_setFocus(t,e){this._selection.setFocus(t,e)}}Wg.prototype.is=function(t){return t==="selection"||t=="documentSelection"||t=="view:selection"||t=="view:documentSelection"};class Gg extends D{constructor(t,e,n){super(t,e);this.startRange=n;this._eventPhase="none";this._currentTarget=null}get eventPhase(){return this._eventPhase}get currentTarget(){return this._currentTarget}}const qg=Symbol("bubbling contexts");function $g(t){class e extends t{fire(t,...e){try{const n=t instanceof D?t:new D(this,t);const i=Qg(this);if(!i.size){return}Kg(n,"capturing",this);if(Zg(i,"$capture",n,...e)){return n.return}const o=n.startRange||this.selection.getFirstRange();const r=o?o.getContainedElement():null;const s=r?Boolean(Yg(i,r)):false;let a=r||Jg(o);Kg(n,"atTarget",a);if(!s){if(Zg(i,"$text",n,...e)){return n.return}Kg(n,"bubbling",a)}while(a){if(a.is("rootElement")){if(Zg(i,"$root",n,...e)){return n.return}}else if(a.is("element")){if(Zg(i,a.name,n,...e)){return n.return}}if(Zg(i,a,n,...e)){return n.return}a=a.parent;Kg(n,"bubbling",a)}Kg(n,"bubbling",this);Zg(i,"$document",n,...e);return n.return}catch(t){P.rethrowUnexpectedError(t,this)}}_addEventListener(t,e,n){const i=il(n.context||"$document");const o=Qg(this);for(const r of i){let i=o.get(r);if(!i){i=new($());o.set(r,i)}this.listenTo(i,t,e,n)}}_removeEventListener(t,e){const n=Qg(this);for(const i of n.values()){this.stopListening(i,t,e)}}}return e}{const t=$g(Object);["fire","_addEventListener","_removeEventListener"].forEach((e=>{$g[e]=t.prototype[e]}))}function Kg(t,e,n){if(t instanceof Gg){t._eventPhase=e;t._currentTarget=n}}function Zg(t,e,n,...i){const o=typeof e=="string"?t.get(e):Yg(t,e);if(!o){return false}o.fire(n,...i);return n.stop.called}function Yg(t,e){for(const[n,i]of t){if(typeof n=="function"&&n(e)){return i}}return null}function Qg(t){if(!t[qg]){t[qg]=new Map}return t[qg]}function Jg(t){if(!t){return null}const e=t.start.parent;const n=t.end.parent;const i=e.getPath();const o=n.getPath();return i.length>o.length?e:n}class Xg extends($g(mt())){constructor(t){super();this._postFixers=new Set;this.selection=new Wg;this.roots=new ml({idProperty:"rootName"});this.stylesProcessor=t;this.set("isReadOnly",false);this.set("isFocused",false);this.set("isSelecting",false);this.set("isComposing",false)}getRoot(t="main"){return this.roots.get(t)}registerPostFixer(t){this._postFixers.add(t)}destroy(){this.roots.forEach((t=>t.destroy()));this.stopListening()}_callPostFixers(t){let e=false;do{for(const n of this._postFixers){e=n(t);if(e){break}}}while(e)}}const tf=10;class ef extends Ig{constructor(t,e,n,i){super(t,e,n,i);this._priority=tf;this._id=null;this._clonesGroup=null;this.getFillerOffset=nf}get priority(){return this._priority}get id(){return this._id}getElementsWithSameId(){if(this.id===null){throw new P("attribute-element-get-elements-with-same-id-no-id",this)}return new Set(this._clonesGroup)}isSimilar(t){if(this.id!==null||t.id!==null){return this.id===t.id}return super.isSimilar(t)&&this.priority==t.priority}_clone(t=false){const e=super._clone(t);e._priority=this._priority;e._id=this._id;return e}}ef.DEFAULT_PRIORITY=tf;ef.prototype.is=function(t,e){if(!e){return t==="attributeElement"||t==="view:attributeElement"||t==="element"||t==="view:element"||t==="node"||t==="view:node"}else{return e===this.name&&(t==="attributeElement"||t==="view:attributeElement"||t==="element"||t==="view:element")}};function nf(){if(of(this)){return null}let t=this.parent;while(t&&t.is("attributeElement")){if(of(t)>1){return null}t=t.parent}if(!t||of(t)>1){return null}return this.childCount}function of(t){return Array.from(t.getChildren()).filter((t=>!t.is("uiElement"))).length}class rf extends Ig{constructor(t,e,n,i){super(t,e,n,i);this.getFillerOffset=sf}_insertChild(t,e){if(e&&(e instanceof Mh||Array.from(e).length>0)){throw new P("view-emptyelement-cannot-add",[this,e])}return 0}}rf.prototype.is=function(t,e){if(!e){return t==="emptyElement"||t==="view:emptyElement"||t==="element"||t==="view:element"||t==="node"||t==="view:node"}else{return e===this.name&&(t==="emptyElement"||t==="view:emptyElement"||t==="element"||t==="view:element")}};function sf(){return null}class af extends Ig{constructor(t,e,n,i){super(t,e,n,i);this.getFillerOffset=lf}_insertChild(t,e){if(e&&(e instanceof Mh||Array.from(e).length>0)){throw new P("view-uielement-cannot-add",[this,e])}return 0}render(t,e){return this.toDomElement(t)}toDomElement(t){const e=t.createElement(this.name);for(const t of this.getAttributeKeys()){e.setAttribute(t,this.getAttribute(t))}return e}}af.prototype.is=function(t,e){if(!e){return t==="uiElement"||t==="view:uiElement"||t==="element"||t==="view:element"||t==="node"||t==="view:node"}else{return e===this.name&&(t==="uiElement"||t==="view:uiElement"||t==="element"||t==="view:element")}};function cf(t){t.document.on("arrowKey",((e,n)=>df(e,n,t.domConverter)),{priority:"low"})}function lf(){return null}function df(t,e,n){if(e.keyCode==qc.arrowright){const t=e.domTarget.ownerDocument.defaultView.getSelection();const i=t.rangeCount==1&&t.getRangeAt(0).collapsed;if(i||e.shiftKey){const e=t.focusNode;const o=t.focusOffset;const r=n.domPositionToView(e,o);if(r===null){return}let s=false;const a=r.getLastMatchingPosition((t=>{if(t.item.is("uiElement")){s=true}if(t.item.is("uiElement")||t.item.is("attributeElement")){return true}return false}));if(s){const e=n.viewPositionToDom(a);if(i){t.collapse(e.parent,e.offset)}else{t.extend(e.parent,e.offset)}}}}}class uf extends Ig{constructor(t,e,n,i){super(t,e,n,i);this.getFillerOffset=hf}_insertChild(t,e){if(e&&(e instanceof Mh||Array.from(e).length>0)){throw new P("view-rawelement-cannot-add",[this,e])}return 0}render(t,e){}}uf.prototype.is=function(t,e){if(!e){return t==="rawElement"||t==="view:rawElement"||t===this.name||t==="view:"+this.name||t==="element"||t==="view:element"||t==="node"||t==="view:node"}else{return e===this.name&&(t==="rawElement"||t==="view:rawElement"||t==="element"||t==="view:element")}};function hf(){return null}class mf extends($(Th)){constructor(t,e){super();this._children=[];this._customProperties=new Map;this.document=t;if(e){this._insertChild(0,e)}}[Symbol.iterator](){return this._children[Symbol.iterator]()}get childCount(){return this._children.length}get isEmpty(){return this.childCount===0}get root(){return this}get parent(){return null}get name(){return undefined}get getFillerOffset(){return undefined}getCustomProperty(t){return this._customProperties.get(t)}*getCustomProperties(){yield*this._customProperties.entries()}_appendChild(t){return this._insertChild(this.childCount,t)}getChild(t){return this._children[t]}getChildIndex(t){return this._children.indexOf(t)}getChildren(){return this._children[Symbol.iterator]()}_insertChild(t,e){this._fireChange("children",this);let n=0;const i=gf(this.document,e);for(const e of i){if(e.parent!==null){e._remove()}e.parent=this;this._children.splice(t,0,e);t++;n++}return n}_removeChildren(t,e=1){this._fireChange("children",this);for(let n=t;n{if(typeof e=="string"){return new Nh(t,e)}if(e instanceof Ph){return new Nh(t,e.data)}return e}))}class ff{constructor(t){this._cloneGroups=new Map;this._slotFactory=null;this.document=t}setSelection(...t){this.document.selection._setTo(...t)}setSelectionFocus(t,e){this.document.selection._setFocus(t,e)}createDocumentFragment(t){return new mf(this.document,t)}createText(t){return new Nh(this.document,t)}createAttributeElement(t,e,n={}){const i=new ef(this.document,t,e);if(typeof n.priority==="number"){i._priority=n.priority}if(n.id){i._id=n.id}if(n.renderUnsafeAttributes){i._unsafeAttributesToRender.push(...n.renderUnsafeAttributes)}return i}createContainerElement(t,e,n={},i={}){let o=null;if(fe(n)){i=n}else{o=n}const r=new Pg(this.document,t,e,o);if(i.renderUnsafeAttributes){r._unsafeAttributesToRender.push(...i.renderUnsafeAttributes)}return r}createEditableElement(t,e,n={}){const i=new zg(this.document,t,e);if(n.renderUnsafeAttributes){i._unsafeAttributesToRender.push(...n.renderUnsafeAttributes)}return i}createEmptyElement(t,e,n={}){const i=new rf(this.document,t,e);if(n.renderUnsafeAttributes){i._unsafeAttributesToRender.push(...n.renderUnsafeAttributes)}return i}createUIElement(t,e,n){const i=new af(this.document,t,e);if(n){i.render=n}return i}createRawElement(t,e,n,i={}){const o=new uf(this.document,t,e);if(n){o.render=n}if(i.renderUnsafeAttributes){o._unsafeAttributesToRender.push(...i.renderUnsafeAttributes)}return o}setAttribute(t,e,n){n._setAttribute(t,e)}removeAttribute(t,e){e._removeAttribute(t)}addClass(t,e){e._addClass(t)}removeClass(t,e){e._removeClass(t)}setStyle(t,e,n){if(fe(t)&&n===undefined){e._setStyle(t)}else{n._setStyle(t,e)}}removeStyle(t,e){e._removeStyle(t)}setCustomProperty(t,e,n){n._setCustomProperty(t,e)}removeCustomProperty(t,e){return e._removeCustomProperty(t)}breakAttributes(t){if(t instanceof Fg){return this._breakAttributes(t)}else{return this._breakAttributesRange(t)}}breakContainer(t){const e=t.parent;if(!e.is("containerElement")){throw new P("view-writer-break-non-container-element",this.document)}if(!e.parent){throw new P("view-writer-break-root",this.document)}if(t.isAtStart){return Fg._createBefore(e)}else if(!t.isAtEnd){const n=e._clone(false);this.insert(Fg._createAfter(e),n);const i=new jg(t,Fg._createAt(e,"end"));const o=new Fg(n,0);this.move(i,o)}return Fg._createAfter(e)}mergeAttributes(t){const e=t.offset;const n=t.parent;if(n.is("$text")){return t}if(n.is("attributeElement")&&n.childCount===0){const t=n.parent;const e=n.index;n._remove();this._removeFromClonedElementsGroup(n);return this.mergeAttributes(new Fg(t,e))}const i=n.getChild(e-1);const o=n.getChild(e);if(!i||!o){return t}if(i.is("$text")&&o.is("$text")){return Cf(i,o)}else if(i.is("attributeElement")&&o.is("attributeElement")&&i.isSimilar(o)){const t=i.childCount;i._appendChild(o.getChildren());o._remove();this._removeFromClonedElementsGroup(o);return this.mergeAttributes(new Fg(i,t))}return t}mergeContainers(t){const e=t.nodeBefore;const n=t.nodeAfter;if(!e||!n||!e.is("containerElement")||!n.is("containerElement")){throw new P("view-writer-merge-containers-invalid-position",this.document)}const i=e.getChild(e.childCount-1);const o=i instanceof Nh?Fg._createAt(i,"end"):Fg._createAt(e,"end");this.move(jg._createIn(n),Fg._createAt(e,"end"));this.remove(jg._createOn(n));return o}insert(t,e){e=Dt(e)?[...e]:[e];vf(e,this.document);const n=e.reduce(((t,e)=>{const n=t[t.length-1];const i=!e.is("uiElement");if(!n||n.breakAttributes!=i){t.push({breakAttributes:i,nodes:[e]})}else{n.nodes.push(e)}return t}),[]);let i=null;let o=t;for(const{nodes:t,breakAttributes:e}of n){const n=this._insertNodes(o,t,e);if(!i){i=n.start}o=n.end}if(!i){return new jg(t)}return new jg(i,o)}remove(t){const e=t instanceof jg?t:jg._createOn(t);xf(e,this.document);if(e.isCollapsed){return new mf(this.document)}const{start:n,end:i}=this._breakAttributesRange(e,true);const o=n.parent;const r=i.offset-n.offset;const s=o._removeChildren(n.offset,r);for(const t of s){this._removeFromClonedElementsGroup(t)}const a=this.mergeAttributes(n);e.start=a;e.end=a.clone();return new mf(this.document,s)}clear(t,e){xf(t,this.document);const n=t.getWalker({direction:"backward",ignoreElementEnd:true});for(const i of n){const n=i.item;let o;if(n.is("element")&&e.isSimilar(n)){o=jg._createOn(n)}else if(!i.nextPosition.isAfter(t.start)&&n.is("$textProxy")){const t=n.getAncestors().find((t=>t.is("element")&&e.isSimilar(t)));if(t){o=jg._createIn(t)}}if(o){if(o.end.isAfter(t.end)){o.end=t.end}if(o.start.isBefore(t.start)){o.start=t.start}this.remove(o)}}}move(t,e){let n;if(e.isAfter(t.end)){e=this._breakAttributes(e,true);const i=e.parent;const o=i.childCount;t=this._breakAttributesRange(t,true);n=this.remove(t);e.offset+=i.childCount-o}else{n=this.remove(t)}return this.insert(e,n)}wrap(t,e){if(!(e instanceof ef)){throw new P("view-writer-wrap-invalid-attribute",this.document)}xf(t,this.document);if(!t.isCollapsed){return this._wrapRange(t,e)}else{let n=t.start;if(n.parent.is("element")&&!pf(n.parent)){n=n.getLastMatchingPosition((t=>t.item.is("uiElement")))}n=this._wrapPosition(n,e);const i=this.document.selection;if(i.isCollapsed&&i.getFirstPosition().isEqual(t.start)){this.setSelection(n)}return new jg(n)}}unwrap(t,e){if(!(e instanceof ef)){throw new P("view-writer-unwrap-invalid-attribute",this.document)}xf(t,this.document);if(t.isCollapsed){return t}const{start:n,end:i}=this._breakAttributesRange(t,true);const o=n.parent;const r=this._unwrapChildren(o,n.offset,i.offset,e);const s=this.mergeAttributes(r.start);if(!s.isEqual(r.start)){r.end.offset--}const a=this.mergeAttributes(r.end);return new jg(s,a)}rename(t,e){const n=new Pg(this.document,t,e.getAttributes());this.insert(Fg._createAfter(e),n);this.move(jg._createIn(e),Fg._createAt(n,0));this.remove(jg._createOn(e));return n}clearClonedElementsGroup(t){this._cloneGroups.delete(t)}createPositionAt(t,e){return Fg._createAt(t,e)}createPositionAfter(t){return Fg._createAfter(t)}createPositionBefore(t){return Fg._createBefore(t)}createRange(t,e){return new jg(t,e)}createRangeOn(t){return jg._createOn(t)}createRangeIn(t){return jg._createIn(t)}createSelection(...t){return new Ug(...t)}createSlot(t="children"){if(!this._slotFactory){throw new P("view-writer-invalid-create-slot-context",this.document)}return this._slotFactory(this,t)}_registerSlotFactory(t){this._slotFactory=t}_clearSlotFactory(){this._slotFactory=null}_insertNodes(t,e,n){let i;if(n){i=bf(t)}else{i=t.parent.is("$text")?t.parent.parent:t.parent}if(!i){throw new P("view-writer-invalid-position-container",this.document)}let o;if(n){o=this._breakAttributes(t,true)}else{o=t.parent.is("$text")?Af(t):t}const r=i._insertChild(o.offset,e);for(const t of e){this._addToClonedElementsGroup(t)}const s=o.getShiftedBy(r);const a=this.mergeAttributes(o);if(!a.isEqual(o)){s.offset--}const c=this.mergeAttributes(s);return new jg(a,c)}_wrapChildren(t,e,n,i){let o=e;const r=[];while(ofalse;t.parent._insertChild(t.offset,n);const i=new jg(t,t.getShiftedBy(1));this.wrap(i,e);const o=new Fg(n.parent,n.index);n._remove();const r=o.nodeBefore;const s=o.nodeAfter;if(r instanceof Nh&&s instanceof Nh){return Cf(r,s)}return wf(o)}_wrapAttributeElement(t,e){if(!Ef(t,e)){return false}if(t.name!==e.name||t.priority!==e.priority){return false}for(const n of t.getAttributeKeys()){if(n==="class"||n==="style"){continue}if(e.hasAttribute(n)&&e.getAttribute(n)!==t.getAttribute(n)){return false}}for(const n of t.getStyleNames()){if(e.hasStyle(n)&&e.getStyle(n)!==t.getStyle(n)){return false}}for(const n of t.getAttributeKeys()){if(n==="class"||n==="style"){continue}if(!e.hasAttribute(n)){this.setAttribute(n,t.getAttribute(n),e)}}for(const n of t.getStyleNames()){if(!e.hasStyle(n)){this.setStyle(n,t.getStyle(n),e)}}for(const n of t.getClassNames()){if(!e.hasClass(n)){this.addClass(n,e)}}return true}_unwrapAttributeElement(t,e){if(!Ef(t,e)){return false}if(t.name!==e.name||t.priority!==e.priority){return false}for(const n of t.getAttributeKeys()){if(n==="class"||n==="style"){continue}if(!e.hasAttribute(n)||e.getAttribute(n)!==t.getAttribute(n)){return false}}if(!e.hasClass(...t.getClassNames())){return false}for(const n of t.getStyleNames()){if(!e.hasStyle(n)||e.getStyle(n)!==t.getStyle(n)){return false}}for(const n of t.getAttributeKeys()){if(n==="class"||n==="style"){continue}this.removeAttribute(n,e)}this.removeClass(Array.from(t.getClassNames()),e);this.removeStyle(Array.from(t.getStyleNames()),e);return true}_breakAttributesRange(t,e=false){const n=t.start;const i=t.end;xf(t,this.document);if(t.isCollapsed){const n=this._breakAttributes(t.start,e);return new jg(n,n)}const o=this._breakAttributes(i,e);const r=o.parent.childCount;const s=this._breakAttributes(n,e);o.offset+=o.parent.childCount-r;return new jg(s,o)}_breakAttributes(t,e=false){const n=t.offset;const i=t.parent;if(t.parent.is("emptyElement")){throw new P("view-writer-cannot-break-empty-element",this.document)}if(t.parent.is("uiElement")){throw new P("view-writer-cannot-break-ui-element",this.document)}if(t.parent.is("rawElement")){throw new P("view-writer-cannot-break-raw-element",this.document)}if(!e&&i.is("$text")&&yf(i.parent)){return t.clone()}if(yf(i)){return t.clone()}if(i.is("$text")){return this._breakAttributes(Af(t),e)}const o=i.childCount;if(n==o){const t=new Fg(i.parent,i.index+1);return this._breakAttributes(t,e)}else{if(n===0){const t=new Fg(i.parent,i.index);return this._breakAttributes(t,e)}else{const t=i.index+1;const o=i._clone();i.parent._insertChild(t,o);this._addToClonedElementsGroup(o);const r=i.childCount-n;const s=i._removeChildren(n,r);o._appendChild(s);const a=new Fg(i.parent,t);return this._breakAttributes(a,e)}}}_addToClonedElementsGroup(t){if(!t.root.is("rootElement")){return}if(t.is("element")){for(const e of t.getChildren()){this._addToClonedElementsGroup(e)}}const e=t.id;if(!e){return}let n=this._cloneGroups.get(e);if(!n){n=new Set;this._cloneGroups.set(e,n)}n.add(t);t._clonesGroup=n}_removeFromClonedElementsGroup(t){if(t.is("element")){for(const e of t.getChildren()){this._removeFromClonedElementsGroup(e)}}const e=t.id;if(!e){return}const n=this._cloneGroups.get(e);if(!n){return}n.delete(t)}}function pf(t){return Array.from(t.getChildren()).some((t=>!t.is("uiElement")))}function bf(t){let e=t.parent;while(!yf(e)){if(!e){return undefined}e=e.parent}return e}function kf(t,e){if(t.prioritye.priority){return false}return t.getIdentity()n instanceof t))){throw new P("view-writer-insert-invalid-node-type",e)}if(!n.is("$text")){vf(n.getChildren(),e)}}}function yf(t){return t&&(t.is("containerElement")||t.is("documentFragment"))}function xf(t,e){const n=bf(t.start);const i=bf(t.end);if(!n||!i||n!==i){throw new P("view-writer-invalid-range-container",e)}}function Ef(t,e){return t.id===null&&e.id===null}const Df=t=>t.createTextNode(" ");const Tf=t=>{const e=t.createElement("span");e.dataset.ckeFiller="true";e.innerText=" ";return e};const Sf=t=>{const e=t.createElement("br");e.dataset.ckeFiller="true";return e};const If=7;const Bf="⁠".repeat(If);function Mf(t){if(typeof t=="string"){return t.substr(0,If)===Bf}return sc(t)&&t.data.substr(0,If)===Bf}function Nf(t){return t.data.length==If&&Mf(t)}function Pf(t){const e=typeof t=="string"?t:t.data;if(Mf(t)){return e.slice(If)}return e}function Lf(t){t.document.on("arrowKey",zf,{priority:"low"})}function zf(t,e){if(e.keyCode==qc.arrowleft){const t=e.domTarget.ownerDocument.defaultView.getSelection();if(t.rangeCount==1&&t.getRangeAt(0).collapsed){const e=t.getRangeAt(0).startContainer;const n=t.getRangeAt(0).startOffset;if(Mf(e)&&n<=If){t.collapse(e,0)}}}}var Of=n(5037);var Rf={injectType:"singletonStyleTag",attributes:{"data-cke":true}};Rf.insert="head";Rf.singleton=true;var Vf=Pl()(Of.Z,Rf);const Ff=Of.Z.locals||{};class jf extends(mt()){constructor(t,e){super();this.domDocuments=new Set;this.markedAttributes=new Set;this.markedChildren=new Set;this.markedTexts=new Set;this._inlineFiller=null;this._fakeSelectionContainer=null;this.domConverter=t;this.selection=e;this.set("isFocused",false);this.set("isSelecting",false);if(l.isBlink&&!l.isAndroid){this.on("change:isSelecting",(()=>{if(!this.isSelecting){this.render()}}))}this.set("isComposing",false);this.on("change:isComposing",(()=>{if(!this.isComposing){this.render()}}))}markToSync(t,e){if(t==="text"){if(this.domConverter.mapViewToDom(e.parent)){this.markedTexts.add(e)}}else{if(!this.domConverter.mapViewToDom(e)){return}if(t==="attributes"){this.markedAttributes.add(e)}else if(t==="children"){this.markedChildren.add(e)}else{const e=t;throw new P("view-renderer-unknown-type",this)}}}render(){if(this.isComposing&&!l.isAndroid){return}let t=null;const e=l.isBlink&&!l.isAndroid?!this.isSelecting:true;for(const t of this.markedChildren){this._updateChildrenMappings(t)}if(e){if(this._inlineFiller&&!this._isSelectionInInlineFiller()){this._removeInlineFiller()}if(this._inlineFiller){t=this._getInlineFillerPosition()}else if(this._needsInlineFillerAtSelection()){t=this.selection.getFirstPosition();this.markedChildren.add(t.parent)}}else if(this._inlineFiller&&this._inlineFiller.parentNode){t=this.domConverter.domPositionToView(this._inlineFiller);if(t&&t.parent.is("$text")){t=Fg._createBefore(t.parent)}}for(const t of this.markedAttributes){this._updateAttrs(t)}for(const e of this.markedChildren){this._updateChildren(e,{inlineFillerPosition:t})}for(const e of this.markedTexts){if(!this.markedChildren.has(e.parent)&&this.domConverter.mapViewToDom(e.parent)){this._updateText(e,{inlineFillerPosition:t})}}if(e){if(t){const e=this.domConverter.viewPositionToDom(t);const n=e.parent.ownerDocument;if(!Mf(e.parent)){this._inlineFiller=Uf(n,e.parent,e.offset)}else{this._inlineFiller=e.parent}}else{this._inlineFiller=null}}this._updateFocus();this._updateSelection();this.domConverter._clearTemporaryCustomProperties();this.markedTexts.clear();this.markedAttributes.clear();this.markedChildren.clear()}_updateChildrenMappings(t){const e=this.domConverter.mapViewToDom(t);if(!e){return}const n=Array.from(e.childNodes);const i=Array.from(this.domConverter.viewChildrenToDom(t,{withChildren:false}));const o=this._diffNodeLists(n,i);const r=this._findUpdateActions(o,n,i,Wf);if(r.indexOf("update")!==-1){const e={equal:0,insert:0,delete:0};for(const o of r){if(o==="update"){const o=e.equal+e.insert;const r=e.equal+e.delete;const s=t.getChild(o);if(s&&!s.is("uiElement")&&!s.is("rawElement")){this._updateElementMappings(s,n[r])}Bc(i[o]);e.equal++}else{e[o]++}}}}_updateElementMappings(t,e){this.domConverter.unbindDomElement(e);this.domConverter.bindElements(e,t);this.markedChildren.add(t);this.markedAttributes.add(t)}_getInlineFillerPosition(){const t=this.selection.getFirstPosition();if(t.parent.is("$text")){return Fg._createBefore(t.parent)}else{return t}}_isSelectionInInlineFiller(){if(this.selection.rangeCount!=1||!this.selection.isCollapsed){return false}const t=this.selection.getFirstPosition();const e=this.domConverter.viewPositionToDom(t);if(e&&sc(e.parent)&&Mf(e.parent)){return true}return false}_removeInlineFiller(){const t=this._inlineFiller;if(!Mf(t)){throw new P("view-renderer-filler-was-lost",this)}if(Nf(t)){t.remove()}else{t.data=t.data.substr(If)}this._inlineFiller=null}_needsInlineFillerAtSelection(){if(this.selection.rangeCount!=1||!this.selection.isCollapsed){return false}const t=this.selection.getFirstPosition();const e=t.parent;const n=t.offset;if(!this.domConverter.mapViewToDom(e.root)){return false}if(!e.is("element")){return false}if(!Hf(e)){return false}if(n===e.getFillerOffset()){return false}const i=t.nodeBefore;const o=t.nodeAfter;if(i instanceof Nh||o instanceof Nh){return false}if(l.isAndroid&&(i||o)){return false}return true}_updateText(t,e){const n=this.domConverter.findCorrespondingDomText(t);const i=this.domConverter.viewToDom(t);let o=i.data;const r=e.inlineFillerPosition;if(r&&r.parent==t.parent&&r.offset==t.index){o=Bf+o}Yf(n,o)}_updateAttrs(t){const e=this.domConverter.mapViewToDom(t);if(!e){return}const n=Array.from(e.attributes).map((t=>t.name));const i=t.getAttributeKeys();for(const n of i){this.domConverter.setDomElementAttribute(e,n,t.getAttribute(n),t)}for(const i of n){if(!t.hasAttribute(i)){this.domConverter.removeDomElementAttribute(e,i)}}}_updateChildren(t,e){const n=this.domConverter.mapViewToDom(t);if(!n){return}if(l.isAndroid){let t=null;for(const e of Array.from(n.childNodes)){if(t&&sc(t)&&sc(e)){n.normalize();break}t=e}}const i=e.inlineFillerPosition;const o=n.childNodes;const r=Array.from(this.domConverter.viewChildrenToDom(t,{bind:true}));if(i&&i.parent===t){Uf(n.ownerDocument,r,i.offset)}const s=this._diffNodeLists(o,r);const a=this._findUpdateActions(s,o,r,Gf);let c=0;const d=new Set;for(const t of a){if(t==="delete"){d.add(o[c]);Bc(o[c])}else if(t==="equal"||t==="update"){c++}}c=0;for(const t of a){if(t==="insert"){_c(n,c,r[c]);c++}else if(t==="update"){Yf(o[c],r[c].data);c++}else if(t==="equal"){this._markDescendantTextToSync(this.domConverter.domToView(r[c]));c++}}for(const t of d){if(!t.parentNode){this.domConverter.unbindDomElement(t)}}}_diffNodeLists(t,e){t=Kf(t,this._fakeSelectionContainer);return y(t,e,qf.bind(null,this.domConverter))}_findUpdateActions(t,e,n,i){if(t.indexOf("insert")===-1||t.indexOf("delete")===-1){return t}let o=[];let r=[];let s=[];const a={equal:0,insert:0,delete:0};for(const c of t){if(c==="insert"){s.push(n[a.equal+a.insert])}else if(c==="delete"){r.push(e[a.equal+a.delete])}else{o=o.concat(y(r,s,i).map((t=>t==="equal"?"update":t)));o.push("equal");r=[];s=[]}a[c]++}return o.concat(y(r,s,i).map((t=>t==="equal"?"update":t)))}_markDescendantTextToSync(t){if(!t){return}if(t.is("$text")){this.markedTexts.add(t)}else if(t.is("element")){for(const e of t.getChildren()){this._markDescendantTextToSync(e)}}}_updateSelection(){if(l.isBlink&&!l.isAndroid&&this.isSelecting&&!this.markedChildren.size){return}if(this.selection.rangeCount===0){this._removeDomSelection();this._removeFakeSelection();return}const t=this.domConverter.mapViewToDom(this.selection.editableElement);if(!this.isFocused||!t){return}if(this.selection.isFake){this._updateFakeSelection(t)}else if(this._fakeSelectionContainer&&this._fakeSelectionContainer.isConnected){this._removeFakeSelection();this._updateDomSelection(t)}else if(!(this.isComposing&&l.isAndroid)){this._updateDomSelection(t)}}_updateFakeSelection(t){const e=t.ownerDocument;if(!this._fakeSelectionContainer){this._fakeSelectionContainer=Zf(e)}const n=this._fakeSelectionContainer;this.domConverter.bindFakeSelection(n,this.selection);if(!this._fakeSelectionNeedsUpdate(t)){return}if(!n.parentElement||n.parentElement!=t){t.appendChild(n)}n.textContent=this.selection.fakeSelectionLabel||" ";const i=e.getSelection();const o=e.createRange();i.removeAllRanges();o.selectNodeContents(n);i.addRange(o)}_updateDomSelection(t){const e=t.ownerDocument.defaultView.getSelection();if(!this._domSelectionNeedsUpdate(e)){return}const n=this.domConverter.viewPositionToDom(this.selection.anchor);const i=this.domConverter.viewPositionToDom(this.selection.focus);e.setBaseAndExtent(n.parent,n.offset,i.parent,i.offset);if(l.isGecko){$f(i,e)}}_domSelectionNeedsUpdate(t){if(!this.domConverter.isDomSelectionCorrect(t)){return true}const e=t&&this.domConverter.domSelectionToView(t);if(e&&this.selection.isEqual(e)){return false}if(!this.selection.isCollapsed&&this.selection.isSimilar(e)){return false}return true}_fakeSelectionNeedsUpdate(t){const e=this._fakeSelectionContainer;const n=t.ownerDocument.getSelection();if(!e||e.parentElement!==t){return true}if(n.anchorNode!==e&&!e.contains(n.anchorNode)){return true}return e.textContent!==this.selection.fakeSelectionLabel}_removeDomSelection(){for(const t of this.domDocuments){const e=t.getSelection();if(e.rangeCount){const n=t.activeElement;const i=this.domConverter.mapDomToView(n);if(n&&i){e.removeAllRanges()}}}}_removeFakeSelection(){const t=this._fakeSelectionContainer;if(t){t.remove()}}_updateFocus(){if(this.isFocused){const t=this.selection.editableElement;if(t){this.domConverter.focus(t)}}}}function Hf(t){if(t.getAttribute("contenteditable")=="false"){return false}const e=t.findAncestor((t=>t.hasAttribute("contenteditable")));return!e||e.getAttribute("contenteditable")=="true"}function Uf(t,e,n){const i=e instanceof Array?e:e.childNodes;const o=i[n];if(sc(o)){o.data=Bf+o.data;return o}else{const o=t.createTextNode(Bf);if(Array.isArray(e)){i.splice(n,0,o)}else{_c(e,n,o)}return o}}function Wf(t,e){return Ka(t)&&Ka(e)&&!sc(t)&&!sc(e)&&!vc(t)&&!vc(e)&&t.tagName.toLowerCase()===e.tagName.toLowerCase()}function Gf(t,e){return Ka(t)&&Ka(e)&&sc(t)&&sc(e)}function qf(t,e,n){if(e===n){return true}else if(sc(e)&&sc(n)){return e.data===n.data}else if(t.isBlockFiller(e)&&t.isBlockFiller(n)){return true}return false}function $f(t,e){const n=t.parent;if(n.nodeType!=Node.ELEMENT_NODE||t.offset!=n.childNodes.length-1){return}const i=n.childNodes[t.offset];if(i&&i.tagName=="BR"){e.addRange(e.getRangeAt(0))}}function Kf(t,e){const n=Array.from(t);if(n.length==0||!e){return n}const i=n[n.length-1];if(i==e){n.pop()}return n}function Zf(t){const e=t.createElement("div");e.className="ck-fake-selection-container";Object.assign(e.style,{position:"fixed",top:0,left:"-9999px",width:"42px"});e.textContent=" ";return e}function Yf(t,e){const n=t.data;if(n==e){return}const i=k(n,e);for(const e of i){if(e.type==="insert"){t.insertData(e.index,e.values.join(""))}else{t.deleteData(e.index,e.howMany)}}}const Qf=Sf(nc.document);const Jf=Df(nc.document);const Xf=Tf(nc.document);const tp="data-ck-unsafe-attribute-";const ep="data-ck-unsafe-element";class np{constructor(t,{blockFillerMode:e,renderingMode:n="editing"}={}){this._domToViewMapping=new WeakMap;this._viewToDomMapping=new WeakMap;this._fakeSelectionMapping=new WeakMap;this._rawContentElementMatcher=new Lh;this._inlineObjectElementMatcher=new Lh;this._elementsWithTemporaryCustomProperties=new Set;this.document=t;this.renderingMode=n;this.blockFillerMode=e||(n==="editing"?"br":"nbsp");this.preElements=["pre"];this.blockElements=["address","article","aside","blockquote","caption","center","dd","details","dir","div","dl","dt","fieldset","figcaption","figure","footer","form","h1","h2","h3","h4","h5","h6","header","hgroup","legend","li","main","menu","nav","ol","p","pre","section","summary","table","tbody","td","tfoot","th","thead","tr","ul"];this.inlineObjectElements=["object","iframe","input","button","textarea","select","option","video","embed","audio","img","canvas"];this.unsafeElements=["script","style"];this._domDocument=this.renderingMode==="editing"?nc.document:nc.document.implementation.createHTMLDocument("")}bindFakeSelection(t,e){this._fakeSelectionMapping.set(t,new Ug(e))}fakeSelectionToView(t){return this._fakeSelectionMapping.get(t)}bindElements(t,e){this._domToViewMapping.set(t,e);this._viewToDomMapping.set(e,t)}unbindDomElement(t){const e=this._domToViewMapping.get(t);if(e){this._domToViewMapping.delete(t);this._viewToDomMapping.delete(e);for(const e of Array.from(t.children)){this.unbindDomElement(e)}}}bindDocumentFragments(t,e){this._domToViewMapping.set(t,e);this._viewToDomMapping.set(e,t)}shouldRenderAttribute(t,e,n){if(this.renderingMode==="data"){return true}t=t.toLowerCase();if(t.startsWith("on")){return false}if(t==="srcdoc"&&e.match(/\bon\S+\s*=|javascript:|<\s*\/*script/i)){return false}if(n==="img"&&(t==="src"||t==="srcset")){return true}if(n==="source"&&t==="srcset"){return true}if(e.match(/^\s*(javascript:|data:(image\/svg|text\/x?html))/i)){return false}return true}setContentOf(t,e){if(this.renderingMode==="data"){t.innerHTML=e;return}const n=(new DOMParser).parseFromString(e,"text/html");const i=n.createDocumentFragment();const o=n.body.childNodes;while(o.length>0){i.appendChild(o[0])}const r=n.createTreeWalker(i,NodeFilter.SHOW_ELEMENT);const s=[];let a;while(a=r.nextNode()){s.push(a)}for(const t of s){for(const e of t.getAttributeNames()){this.setDomElementAttribute(t,e,t.getAttribute(e))}const e=t.tagName.toLowerCase();if(this._shouldRenameElement(e)){ap(e);t.replaceWith(this._createReplacementDomElement(e,t))}}while(t.firstChild){t.firstChild.remove()}t.append(i)}viewToDom(t,e={}){if(t.is("$text")){const e=this._processDataFromViewText(t);return this._domDocument.createTextNode(e)}else{const n=t;if(this.mapViewToDom(n)){if(n.getCustomProperty("editingPipeline:doNotReuseOnce")){this._elementsWithTemporaryCustomProperties.add(n)}else{return this.mapViewToDom(n)}}let i;if(n.is("documentFragment")){i=this._domDocument.createDocumentFragment();if(e.bind){this.bindDocumentFragments(i,n)}}else if(n.is("uiElement")){if(n.name==="$comment"){i=this._domDocument.createComment(n.getCustomProperty("$rawContent"))}else{i=n.render(this._domDocument,this)}if(e.bind){this.bindElements(i,n)}return i}else{if(this._shouldRenameElement(n.name)){ap(n.name);i=this._createReplacementDomElement(n.name)}else if(n.hasAttribute("xmlns")){i=this._domDocument.createElementNS(n.getAttribute("xmlns"),n.name)}else{i=this._domDocument.createElement(n.name)}if(n.is("rawElement")){n.render(i,this)}if(e.bind){this.bindElements(i,n)}for(const t of n.getAttributeKeys()){this.setDomElementAttribute(i,t,n.getAttribute(t),n)}}if(e.withChildren!==false){for(const t of this.viewChildrenToDom(n,e)){i.appendChild(t)}}return i}}setDomElementAttribute(t,e,n,i){const o=this.shouldRenderAttribute(e,n,t.tagName.toLowerCase())||i&&i.shouldRenderUnsafeAttribute(e);if(!o){L("domconverter-unsafe-attribute-detected",{domElement:t,key:e,value:n})}if(!yc(e)){L("domconverter-invalid-attribute-detected",{domElement:t,key:e,value:n});return}if(t.hasAttribute(e)&&!o){t.removeAttribute(e)}else if(t.hasAttribute(tp+e)&&o){t.removeAttribute(tp+e)}t.setAttribute(o?e:tp+e,n)}removeDomElementAttribute(t,e){if(e==ep){return}t.removeAttribute(e);t.removeAttribute(tp+e)}*viewChildrenToDom(t,e={}){const n=t.getFillerOffset&&t.getFillerOffset();let i=0;for(const o of t.getChildren()){if(n===i){yield this._getBlockFiller()}const t=o.is("element")&&!!o.getCustomProperty("dataPipeline:transparentRendering")&&!gl(o.getAttributes());if(t&&this.renderingMode=="data"){yield*this.viewChildrenToDom(o,e)}else{if(t){L("domconverter-transparent-rendering-unsupported-in-editing-pipeline",{viewElement:o})}yield this.viewToDom(o,e)}i++}if(n===i){yield this._getBlockFiller()}}viewRangeToDom(t){const e=this.viewPositionToDom(t.start);const n=this.viewPositionToDom(t.end);const i=this._domDocument.createRange();i.setStart(e.parent,e.offset);i.setEnd(n.parent,n.offset);return i}viewPositionToDom(t){const e=t.parent;if(e.is("$text")){const n=this.findCorrespondingDomText(e);if(!n){return null}let i=t.offset;if(Mf(n)){i+=If}return{parent:n,offset:i}}else{let n,i,o;if(t.offset===0){n=this.mapViewToDom(e);if(!n){return null}o=n.childNodes[0]}else{const e=t.nodeBefore;i=e.is("$text")?this.findCorrespondingDomText(e):this.mapViewToDom(e);if(!i){return null}n=i.parentNode;o=i.nextSibling}if(sc(o)&&Mf(o)){return{parent:o,offset:If}}const r=i?Cc(i)+1:0;return{parent:n,offset:r}}}domToView(t,e={}){const n=[];const i=this._domToView(t,e,n);const o=i.next().value;if(!o){return null}i.next();this._processDomInlineNodes(null,n,e);if(o.is("$text")&&o.data.length==0){return null}return o}*domChildrenToView(t,e={},n=[]){for(let i=0;i{const{scrollLeft:e,scrollTop:n}=t;i.push([e,n])}));e.focus();op(e,(t=>{const[e,n]=i.shift();t.scrollLeft=e;t.scrollTop=n}));nc.window.scrollTo(t,n)}}_clearDomSelection(){const t=this.mapViewToDom(this.document.selection.editableElement);if(!t){return}const e=t.ownerDocument.defaultView.getSelection();const n=this.domSelectionToView(e);const i=n&&n.rangeCount>0;if(i){e.removeAllRanges()}}isElement(t){return t&&t.nodeType==Node.ELEMENT_NODE}isDocumentFragment(t){return t&&t.nodeType==Node.DOCUMENT_FRAGMENT_NODE}isBlockFiller(t){if(this.blockFillerMode=="br"){return t.isEqualNode(Qf)}if(t.tagName==="BR"&&sp(t,this.blockElements)&&t.parentNode.childNodes.length===1){return true}return t.isEqualNode(Xf)||rp(t,this.blockElements)}isDomSelectionBackward(t){if(t.isCollapsed){return false}const e=this._domDocument.createRange();try{e.setStart(t.anchorNode,t.anchorOffset);e.setEnd(t.focusNode,t.focusOffset)}catch(t){return false}const n=e.collapsed;e.detach();return n}getHostViewElement(t){const e=oc(t);e.pop();while(e.length){const t=e.pop();const n=this._domToViewMapping.get(t);if(n&&(n.is("uiElement")||n.is("rawElement"))){return n}}return null}isDomSelectionCorrect(t){return this._isDomSelectionPositionCorrect(t.anchorNode,t.anchorOffset)&&this._isDomSelectionPositionCorrect(t.focusNode,t.focusOffset)}registerRawContentMatcher(t){this._rawContentElementMatcher.add(t)}registerInlineObjectMatcher(t){this._inlineObjectElementMatcher.add(t)}_clearTemporaryCustomProperties(){for(const t of this._elementsWithTemporaryCustomProperties){t._removeCustomProperty("editingPipeline:doNotReuseOnce")}this._elementsWithTemporaryCustomProperties.clear()}_getBlockFiller(){switch(this.blockFillerMode){case"nbsp":return Df(this._domDocument);case"markedNbsp":return Tf(this._domDocument);case"br":return Sf(this._domDocument)}}_isDomSelectionPositionCorrect(t,e){if(sc(t)&&Mf(t)&&e0?e[t-1]:null;const c=t+1this.preElements.includes(t.name)))){return e}if(e.charAt(0)==" "){const n=this._getTouchingInlineViewNode(t,false);const i=n&&n.is("$textProxy")&&this._nodeEndsWithSpace(n);if(i||!n){e=" "+e.substr(1)}}if(e.charAt(e.length-1)==" "){const n=this._getTouchingInlineViewNode(t,true);const i=n&&n.is("$textProxy")&&n.data.charAt(0)==" ";if(e.charAt(e.length-2)==" "||!n||i){e=e.substr(0,e.length-1)+" "}}return e.replace(/ {2}/g,"  ")}_nodeEndsWithSpace(t){if(t.getAncestors().some((t=>this.preElements.includes(t.name)))){return false}const e=this._processDataFromViewText(t);return e.charAt(e.length-1)==" "}_getTouchingInlineViewNode(t,e){const n=new Vg({startPosition:e?Fg._createAfter(t):Fg._createBefore(t),direction:e?"forward":"backward"});for(const t of n){if(t.item.is("element","br")){return null}else if(this._isInlineObjectElement(t.item)){return t.item}else if(t.item.is("containerElement")){return null}else if(t.item.is("$textProxy")){return t.item}}return null}_isBlockDomElement(t){return this.isElement(t)&&this.blockElements.includes(t.tagName.toLowerCase())}_isBlockViewElement(t){return t.is("element")&&this.blockElements.includes(t.name)}_isInlineObjectElement(t){if(!t.is("element")){return false}return t.name=="br"||this.inlineObjectElements.includes(t.name)||!!this._inlineObjectElementMatcher.match(t)}_createViewElement(t,e){if(vc(t)){return new af(this.document,"$comment")}const n=e.keepOriginalCase?t.tagName:t.tagName.toLowerCase();return new Ig(this.document,n)}_isViewElementWithRawContent(t,e){return e.withChildren!==false&&t.is("element")&&!!this._rawContentElementMatcher.match(t)}_shouldRenameElement(t){const e=t.toLowerCase();return this.renderingMode==="editing"&&this.unsafeElements.includes(e)}_createReplacementDomElement(t,e){const n=this._domDocument.createElement("span");n.setAttribute(ep,t);if(e){while(e.firstChild){n.appendChild(e.firstChild)}for(const t of e.getAttributeNames()){n.setAttribute(t,e.getAttribute(t))}}return n}}function ip(t,e){return t.getAncestors().some((t=>t.is("element")&&e.includes(t.name)))}function op(t,e){let n=t;while(n){e(n);n=n.parentElement}}function rp(t,e){const n=t.isEqualNode(Jf);return n&&sp(t,e)&&t.parentNode.childNodes.length===1}function sp(t,e){const n=t.parentNode;return!!n&&!!n.tagName&&e.includes(n.tagName.toLowerCase())}function ap(t){if(t==="script"){L("domconverter-unsafe-script-element-detected")}if(t==="style"){L("domconverter-unsafe-style-element-detected")}}function cp(t){if(!l.isGecko){return false}if(!t.rangeCount){return false}const e=t.getRangeAt(0).startContainer;try{Object.prototype.toString.call(e)}catch(t){return true}return false}class lp extends(Qa()){constructor(t){super();this._isEnabled=false;this.view=t;this.document=t.document}get isEnabled(){return this._isEnabled}enable(){this._isEnabled=true}disable(){this._isEnabled=false}destroy(){this.disable();this.stopListening()}checkShouldIgnoreEventFromTarget(t){if(t&&t.nodeType===3){t=t.parentNode}if(!t||t.nodeType!==1){return false}return t.matches("[data-cke-ignore-events], [data-cke-ignore-events] *")}}var dp=kg((function(t,e){bi(e,er(e),t)}));const up=dp;class hp{constructor(t,e,n){this.view=t;this.document=t.document;this.domEvent=e;this.domTarget=e.target;up(this,n)}get target(){return this.view.domConverter.mapDomToView(this.domTarget)}preventDefault(){this.domEvent.preventDefault()}stopPropagation(){this.domEvent.stopPropagation()}}class mp extends lp{constructor(){super(...arguments);this.useCapture=false}observe(t){const e=typeof this.domEventType=="string"?[this.domEventType]:this.domEventType;e.forEach((e=>{this.listenTo(t,e,((t,e)=>{if(this.isEnabled&&!this.checkShouldIgnoreEventFromTarget(e.target)){this.onDomEvent(e)}}),{useCapture:this.useCapture})}))}stopObserving(t){this.stopListening(t)}fire(t,e,n){if(this.isEnabled){this.document.fire(t,new hp(this.view,e,n))}}}class gp extends mp{constructor(){super(...arguments);this.domEventType=["keydown","keyup"]}onDomEvent(t){const e={keyCode:t.keyCode,altKey:t.altKey,ctrlKey:t.ctrlKey,shiftKey:t.shiftKey,metaKey:t.metaKey,get keystroke(){return Kc(this)}};this.fire(t.type,t,e)}}class fp extends lp{constructor(t){super(t);this._fireSelectionChangeDoneDebounced=wu((t=>{this.document.fire("selectionChangeDone",t)}),200)}observe(){const t=this.document;t.on("arrowKey",((e,n)=>{const i=t.selection;if(i.isFake&&this.isEnabled){n.preventDefault()}}),{context:"$capture"});t.on("arrowKey",((e,n)=>{const i=t.selection;if(i.isFake&&this.isEnabled){this._handleSelectionMove(n.keyCode)}}),{priority:"lowest"})}stopObserving(){}destroy(){super.destroy();this._fireSelectionChangeDoneDebounced.cancel()}_handleSelectionMove(t){const e=this.document.selection;const n=new Ug(e.getRanges(),{backward:e.isBackward,fake:false});if(t==qc.arrowleft||t==qc.arrowup){n.setTo(n.getFirstPosition())}if(t==qc.arrowright||t==qc.arrowdown){n.setTo(n.getLastPosition())}const i={oldSelection:e,newSelection:n,domSelection:null};this.document.fire("selectionChange",i);this._fireSelectionChangeDoneDebounced(i)}}var pp="__lodash_hash_undefined__";function bp(t){this.__data__.set(t,pp);return this}const kp=bp;function wp(t){return this.__data__.has(t)}const Ap=wp;function Cp(t){var e=-1,n=t==null?0:t.length;this.__data__=new ti;while(++ea)){return false}var l=r.get(t);var d=r.get(e);if(l&&d){return l==e&&d==t}var u=-1,h=true,m=n&Tp?new _p:undefined;r.set(t,e);r.set(e,t);while(++u{this._isFocusChanging=true;this._renderTimeoutId=setTimeout((()=>{this.flush();t.change((()=>{}))}),50)}));e.on("blur",((n,i)=>{const o=e.selection.editableElement;if(o===null||o===i.target){e.isFocused=false;this._isFocusChanging=false;t.change((()=>{}))}}))}flush(){if(this._isFocusChanging){this._isFocusChanging=false;this.document.isFocused=true}}onDomEvent(t){this.fire(t.type,t)}destroy(){if(this._renderTimeoutId){clearTimeout(this._renderTimeoutId)}super.destroy()}}class kb extends lp{constructor(t){super(t);this.mutationObserver=t.getObserver(fb);this.focusObserver=t.getObserver(bb);this.selection=this.document.selection;this.domConverter=t.domConverter;this._documents=new WeakSet;this._fireSelectionChangeDoneDebounced=wu((t=>{this.document.fire("selectionChangeDone",t)}),200);this._clearInfiniteLoopInterval=setInterval((()=>this._clearInfiniteLoop()),1e3);this._documentIsSelectingInactivityTimeoutDebounced=wu((()=>this.document.isSelecting=false),5e3);this._loopbackCounter=0}observe(t){const e=t.ownerDocument;const n=()=>{this.document.isSelecting=true;this._documentIsSelectingInactivityTimeoutDebounced()};const i=()=>{if(!this.document.isSelecting){return}this._handleSelectionChange(null,e);this.document.isSelecting=false;this._documentIsSelectingInactivityTimeoutDebounced.cancel()};this.listenTo(t,"selectstart",n,{priority:"highest"});this.listenTo(t,"keydown",i,{priority:"highest",useCapture:true});this.listenTo(t,"keyup",i,{priority:"highest",useCapture:true});if(this._documents.has(e)){return}this.listenTo(e,"mouseup",i,{priority:"highest",useCapture:true});this.listenTo(e,"selectionchange",((t,n)=>{if(this.document.isComposing&&!l.isAndroid){return}this._handleSelectionChange(n,e);this._documentIsSelectingInactivityTimeoutDebounced()}));this._documents.add(e)}stopObserving(t){this.stopListening(t)}destroy(){super.destroy();clearInterval(this._clearInfiniteLoopInterval);this._fireSelectionChangeDoneDebounced.cancel();this._documentIsSelectingInactivityTimeoutDebounced.cancel()}_reportInfiniteLoop(){}_handleSelectionChange(t,e){if(!this.isEnabled){return}const n=e.defaultView.getSelection();if(this.checkShouldIgnoreEventFromTarget(n.anchorNode)){return}this.mutationObserver.flush();const i=this.domConverter.domSelectionToView(n);if(i.rangeCount==0){this.view.hasDomSelection=false;return}this.view.hasDomSelection=true;this.focusObserver.flush();if(this.selection.isEqual(i)&&this.domConverter.isDomSelectionCorrect(n)){return}if(++this._loopbackCounter>60){this._reportInfiniteLoop();return}if(this.selection.isSimilar(i)){this.view.forceRender()}else{const t={oldSelection:this.selection,newSelection:i,domSelection:n};this.document.fire("selectionChange",t);this._fireSelectionChangeDoneDebounced(t)}}_clearInfiniteLoop(){this._loopbackCounter=0}}class wb extends mp{constructor(t){super(t);this.domEventType=["compositionstart","compositionupdate","compositionend"];const e=this.document;e.on("compositionstart",(()=>{e.isComposing=true}),{priority:"low"});e.on("compositionend",(()=>{e.isComposing=false}),{priority:"low"})}onDomEvent(t){this.fire(t.type,t,{data:t.data})}}class Ab{constructor(t,e={}){this._files=e.cacheFiles?Cb(t):null;this._native=t}get files(){if(!this._files){this._files=Cb(this._native)}return this._files}get types(){return this._native.types}getData(t){return this._native.getData(t)}setData(t,e){this._native.setData(t,e)}set effectAllowed(t){this._native.effectAllowed=t}get effectAllowed(){return this._native.effectAllowed}set dropEffect(t){this._native.dropEffect=t}get dropEffect(){return this._native.dropEffect}setDragImage(t,e,n){this._native.setDragImage(t,e,n)}get isCanceled(){return this._native.dropEffect=="none"||!!this._native.mozUserCancelled}}function Cb(t){const e=Array.from(t.files||[]);const n=Array.from(t.items||[]);if(e.length){return e}return n.filter((t=>t.kind==="file")).map((t=>t.getAsFile()))}class _b extends mp{constructor(){super(...arguments);this.domEventType="beforeinput"}onDomEvent(t){const e=t.getTargetRanges();const n=this.view;const i=n.document;let o=null;let r=null;let s=[];if(t.dataTransfer){o=new Ab(t.dataTransfer)}if(t.data!==null){r=t.data}else if(o){r=o.getData("text/plain")}if(i.selection.isFake){s=Array.from(i.selection.getRanges())}else if(e.length){s=e.map((t=>{const e=n.domConverter.domPositionToView(t.startContainer,t.startOffset);const i=n.domConverter.domPositionToView(t.endContainer,t.endOffset);if(e){return n.createRange(e,i)}else if(i){return n.createRange(i)}})).filter((t=>!!t))}else if(l.isAndroid){const e=t.target.ownerDocument.defaultView.getSelection();s=Array.from(n.domConverter.domSelectionToView(e).getRanges())}if(l.isAndroid&&t.inputType=="insertCompositionText"&&r&&r.endsWith("\n")){this.fire(t.type,t,{inputType:"insertParagraph",targetRanges:[n.createRange(s[0].end)]});return}if(t.inputType=="insertText"&&r&&r.includes("\n")){const e=r.split(/\n{1,2}/g);let n=s;for(let r=0;r{if(this.isEnabled&&Qc(e.keyCode)){const n=new Gg(this.document,"arrowKey",this.document.selection.getFirstRange());this.document.fire(n,e);if(n.stop.called){t.stop()}}}))}observe(){}stopObserving(){}}class yb extends lp{constructor(t){super(t);const e=this.document;e.on("keydown",((t,n)=>{if(!this.isEnabled||n.keyCode!=qc.tab||n.ctrlKey){return}const i=new Gg(e,"tab",e.selection.getFirstRange());e.fire(i,n);if(i.stop.called){t.stop()}}))}observe(){}stopObserving(){}}var xb=1,Eb=4;function Db(t){return Ra(t,xb|Eb)}const Tb=Db;class Sb extends(mt()){constructor(t){super();this.domRoots=new Map;this._initialDomRootAttributes=new WeakMap;this._observers=new Map;this._ongoingChange=false;this._postFixersInProgress=false;this._renderingDisabled=false;this._hasChangedSinceTheLastRendering=false;this.document=new Xg(t);this.domConverter=new np(this.document);this.set("isRenderingInProgress",false);this.set("hasDomSelection",false);this._renderer=new jf(this.domConverter,this.document.selection);this._renderer.bind("isFocused","isSelecting","isComposing").to(this.document,"isFocused","isSelecting","isComposing");this._writer=new ff(this.document);this.addObserver(fb);this.addObserver(bb);this.addObserver(kb);this.addObserver(gp);this.addObserver(fp);this.addObserver(wb);this.addObserver(vb);this.addObserver(_b);this.addObserver(yb);Lf(this);cf(this);this.on("render",(()=>{this._render();this.document.fire("layoutChanged");this._hasChangedSinceTheLastRendering=false}));this.listenTo(this.document.selection,"change",(()=>{this._hasChangedSinceTheLastRendering=true}));this.listenTo(this.document,"change:isFocused",(()=>{this._hasChangedSinceTheLastRendering=true}));if(l.isiOS){this.listenTo(this.document,"blur",((t,e)=>{const n=this.domConverter.mapDomToView(e.domEvent.relatedTarget);if(!n){this.domConverter._clearDomSelection()}}))}}attachDomRoot(t,e="main"){const n=this.document.getRoot(e);n._name=t.tagName.toLowerCase();const i={};for(const{name:e,value:o}of Array.from(t.attributes)){i[e]=o;if(e==="class"){this._writer.addClass(o.split(" "),n)}else{this._writer.setAttribute(e,o,n)}}this._initialDomRootAttributes.set(t,i);const o=()=>{this._writer.setAttribute("contenteditable",(!n.isReadOnly).toString(),n);if(n.isReadOnly){this._writer.addClass("ck-read-only",n)}else{this._writer.removeClass("ck-read-only",n)}};o();this.domRoots.set(e,t);this.domConverter.bindElements(t,n);this._renderer.markToSync("children",n);this._renderer.markToSync("attributes",n);this._renderer.domDocuments.add(t.ownerDocument);n.on("change:children",((t,e)=>this._renderer.markToSync("children",e)));n.on("change:attributes",((t,e)=>this._renderer.markToSync("attributes",e)));n.on("change:text",((t,e)=>this._renderer.markToSync("text",e)));n.on("change:isReadOnly",(()=>this.change(o)));n.on("change",(()=>{this._hasChangedSinceTheLastRendering=true}));for(const n of this._observers.values()){n.observe(t,e)}}detachDomRoot(t){const e=this.domRoots.get(t);Array.from(e.attributes).forEach((({name:t})=>e.removeAttribute(t)));const n=this._initialDomRootAttributes.get(e);for(const t in n){e.setAttribute(t,n[t])}this.domRoots.delete(t);this.domConverter.unbindDomElement(e);for(const t of this._observers.values()){t.stopObserving(e)}}getDomRoot(t="main"){return this.domRoots.get(t)}addObserver(t){let e=this._observers.get(t);if(e){return e}e=new t(this);this._observers.set(t,e);for(const[t,n]of this.domRoots){e.observe(n,t)}e.enable();return e}getObserver(t){return this._observers.get(t)}disableObservers(){for(const t of this._observers.values()){t.disable()}}enableObservers(){for(const t of this._observers.values()){t.enable()}}scrollToTheSelection({alignToTop:t,forceScroll:e,viewportOffset:n=20,ancestorOffset:i=20}={}){const o=this.document.selection.getFirstRange();if(!o){return}const r=Tb({alignToTop:t,forceScroll:e,viewportOffset:n,ancestorOffset:i});if(typeof n==="number"){n={top:n,bottom:n,left:n,right:n}}const s={target:this.domConverter.viewRangeToDom(o),viewportOffset:n,ancestorOffset:i,alignToTop:t,forceScroll:e};this.fire("scrollToTheSelection",s,r);Mc(s)}focus(){if(!this.document.isFocused){const t=this.document.selection.editableElement;if(t){this.domConverter.focus(t);this.forceRender()}else{}}}change(t){if(this.isRenderingInProgress||this._postFixersInProgress){throw new P("cannot-change-view-tree",this)}try{if(this._ongoingChange){return t(this._writer)}this._ongoingChange=true;const e=t(this._writer);this._ongoingChange=false;if(!this._renderingDisabled&&this._hasChangedSinceTheLastRendering){this._postFixersInProgress=true;this.document._callPostFixers(this._writer);this._postFixersInProgress=false;this.fire("render")}return e}catch(t){P.rethrowUnexpectedError(t,this)}}forceRender(){this._hasChangedSinceTheLastRendering=true;this.getObserver(bb).flush();this.change((()=>{}))}destroy(){for(const t of this._observers.values()){t.destroy()}this.document.destroy();this.stopListening()}createPositionAt(t,e){return Fg._createAt(t,e)}createPositionAfter(t){return Fg._createAfter(t)}createPositionBefore(t){return Fg._createBefore(t)}createRange(t,e){return new jg(t,e)}createRangeOn(t){return jg._createOn(t)}createRangeIn(t){return jg._createIn(t)}createSelection(...t){return new Ug(...t)}_disableRendering(t){this._renderingDisabled=t;if(t==false){this.change((()=>{}))}}_render(){this.isRenderingInProgress=true;this.disableObservers();this._renderer.render();this.enableObservers();this.isRenderingInProgress=false}}class Ib{is(){throw new Error("is() method is abstract")}}class Bb extends Ib{constructor(t){super();this.parent=null;this._attrs=kl(t)}get document(){return null}get index(){let t;if(!this.parent){return null}if((t=this.parent.getChildIndex(this))===null){throw new P("model-node-not-found-in-parent",this)}return t}get startOffset(){let t;if(!this.parent){return null}if((t=this.parent.getChildStartOffset(this))===null){throw new P("model-node-not-found-in-parent",this)}return t}get offsetSize(){return 1}get endOffset(){if(!this.parent){return null}return this.startOffset+this.offsetSize}get nextSibling(){const t=this.index;return t!==null&&this.parent.getChild(t+1)||null}get previousSibling(){const t=this.index;return t!==null&&this.parent.getChild(t-1)||null}get root(){let t=this;while(t.parent){t=t.parent}return t}isAttached(){return this.parent===null?false:this.root.isAttached()}getPath(){const t=[];let e=this;while(e.parent){t.unshift(e.startOffset);e=e.parent}return t}getAncestors(t={}){const e=[];let n=t.includeSelf?this:this.parent;while(n){e[t.parentFirst?"push":"unshift"](n);n=n.parent}return e}getCommonAncestor(t,e={}){const n=this.getAncestors(e);const i=t.getAncestors(e);let o=0;while(n[o]==i[o]&&n[o]){o++}return o===0?null:n[o-1]}isBefore(t){if(this==t){return false}if(this.root!==t.root){return false}const e=this.getPath();const n=t.getPath();const i=Et(e,n);switch(i){case"prefix":return true;case"extension":return false;default:return e[i]{t[e[0]]=e[1];return t}),{})}return t}_clone(t){return new this.constructor(this._attrs)}_remove(){this.parent._removeChildren(this.index)}_setAttribute(t,e){this._attrs.set(t,e)}_setAttributesTo(t){this._attrs=kl(t)}_removeAttribute(t){return this._attrs.delete(t)}_clearAttributes(){this._attrs.clear()}}Bb.prototype.is=function(t){return t==="node"||t==="model:node"};class Mb{constructor(t){this._nodes=[];if(t){this._insertNodes(0,t)}}[Symbol.iterator](){return this._nodes[Symbol.iterator]()}get length(){return this._nodes.length}get maxOffset(){return this._nodes.reduce(((t,e)=>t+e.offsetSize),0)}getNode(t){return this._nodes[t]||null}getNodeIndex(t){const e=this._nodes.indexOf(t);return e==-1?null:e}getNodeStartOffset(t){const e=this.getNodeIndex(t);return e===null?null:this._nodes.slice(0,e).reduce(((t,e)=>t+e.offsetSize),0)}indexToOffset(t){if(t==this._nodes.length){return this.maxOffset}const e=this._nodes[t];if(!e){throw new P("model-nodelist-index-out-of-bounds",this)}return this.getNodeStartOffset(e)}offsetToIndex(t){let e=0;for(const n of this._nodes){if(t>=e&&tt.toJSON()))}}class Nb extends Bb{constructor(t,e){super(e);this._data=t||""}get offsetSize(){return this.data.length}get data(){return this._data}toJSON(){const t=super.toJSON();t.data=this.data;return t}_clone(){return new Nb(this.data,this.getAttributes())}static fromJSON(t){return new Nb(t.data,t.attributes)}}Nb.prototype.is=function(t){return t==="$text"||t==="model:$text"||t==="text"||t==="model:text"||t==="node"||t==="model:node"};class Pb extends Ib{constructor(t,e,n){super();this.textNode=t;if(e<0||e>t.offsetSize){throw new P("model-textproxy-wrong-offsetintext",this)}if(n<0||e+n>t.offsetSize){throw new P("model-textproxy-wrong-length",this)}this.data=t.data.substring(e,e+n);this.offsetInText=e}get startOffset(){return this.textNode.startOffset!==null?this.textNode.startOffset+this.offsetInText:null}get offsetSize(){return this.data.length}get endOffset(){return this.startOffset!==null?this.startOffset+this.offsetSize:null}get isPartial(){return this.offsetSize!==this.textNode.offsetSize}get parent(){return this.textNode.parent}get root(){return this.textNode.root}getPath(){const t=this.textNode.getPath();if(t.length>0){t[t.length-1]+=this.offsetInText}return t}getAncestors(t={}){const e=[];let n=t.includeSelf?this:this.parent;while(n){e[t.parentFirst?"push":"unshift"](n);n=n.parent}return e}hasAttribute(t){return this.textNode.hasAttribute(t)}getAttribute(t){return this.textNode.getAttribute(t)}getAttributes(){return this.textNode.getAttributes()}getAttributeKeys(){return this.textNode.getAttributeKeys()}}Pb.prototype.is=function(t){return t==="$textProxy"||t==="model:$textProxy"||t==="textProxy"||t==="model:textProxy"};class Lb extends Bb{constructor(t,e,n){super(e);this._children=new Mb;this.name=t;if(n){this._insertChild(0,n)}}get childCount(){return this._children.length}get maxOffset(){return this._children.maxOffset}get isEmpty(){return this.childCount===0}getChild(t){return this._children.getNode(t)}getChildren(){return this._children[Symbol.iterator]()}getChildIndex(t){return this._children.getNodeIndex(t)}getChildStartOffset(t){return this._children.getNodeStartOffset(t)}offsetToIndex(t){return this._children.offsetToIndex(t)}getNodeByPath(t){let e=this;for(const n of t){e=e.getChild(e.offsetToIndex(n))}return e}findAncestor(t,e={}){let n=e.includeSelf?this:this.parent;while(n){if(n.name===t){return n}n=n.parent}return null}toJSON(){const t=super.toJSON();t.name=this.name;if(this._children.length>0){t.children=[];for(const e of this._children){t.children.push(e.toJSON())}}return t}_clone(t=false){const e=t?Array.from(this._children).map((t=>t._clone(true))):undefined;return new Lb(this.name,this.getAttributes(),e)}_appendChild(t){this._insertChild(this.childCount,t)}_insertChild(t,e){const n=zb(e);for(const t of n){if(t.parent!==null){t._remove()}t.parent=this}this._children._insertNodes(t,n)}_removeChildren(t,e=1){const n=this._children._removeNodes(t,e);for(const t of n){t.parent=null}return n}static fromJSON(t){let e;if(t.children){e=[];for(const n of t.children){if(n.name){e.push(Lb.fromJSON(n))}else{e.push(Nb.fromJSON(n))}}}return new Lb(t.name,t.attributes,e)}}Lb.prototype.is=function(t,e){if(!e){return t==="element"||t==="model:element"||t==="node"||t==="model:node"}return e===this.name&&(t==="element"||t==="model:element")};function zb(t){if(typeof t=="string"){return[new Nb(t)]}if(!Dt(t)){t=[t]}return Array.from(t).map((t=>{if(typeof t=="string"){return new Nb(t)}if(t instanceof Pb){return new Nb(t.data,t.getAttributes())}return t}))}class Ob{constructor(t){if(!t||!t.boundaries&&!t.startPosition){throw new P("model-tree-walker-no-start-position",null)}const e=t.direction||"forward";if(e!="forward"&&e!="backward"){throw new P("model-tree-walker-unknown-direction",t,{direction:e})}this.direction=e;this.boundaries=t.boundaries||null;if(t.startPosition){this._position=t.startPosition.clone()}else{this._position=Vb._createAt(this.boundaries[this.direction=="backward"?"end":"start"])}this.position.stickiness="toNone";this.singleCharacters=!!t.singleCharacters;this.shallow=!!t.shallow;this.ignoreElementEnd=!!t.ignoreElementEnd;this._boundaryStartParent=this.boundaries?this.boundaries.start.parent:null;this._boundaryEndParent=this.boundaries?this.boundaries.end.parent:null;this._visitedParent=this.position.parent}[Symbol.iterator](){return this}get position(){return this._position}skip(t){let e,n,i,o;do{i=this.position;o=this._visitedParent;({done:e,value:n}=this.next())}while(!e&&t(n));if(!e){this._position=i;this._visitedParent=o}}next(){if(this.direction=="forward"){return this._next()}else{return this._previous()}}_next(){const t=this.position;const e=this.position.clone();const n=this._visitedParent;if(n.parent===null&&e.offset===n.maxOffset){return{done:true,value:undefined}}if(n===this._boundaryEndParent&&e.offset==this.boundaries.end.offset){return{done:true,value:undefined}}const i=Fb(e,n);const o=i||jb(e,n,i);if(o instanceof Lb){if(!this.shallow){e.path.push(0);this._visitedParent=o}else{if(this.boundaries&&this.boundaries.end.isBefore(e)){return{done:true,value:undefined}}e.offset++}this._position=e;return Rb("elementStart",o,t,e,1)}if(o instanceof Nb){let i;if(this.singleCharacters){i=1}else{let t=o.endOffset;if(this._boundaryEndParent==n&&this.boundaries.end.offsett){t=this.boundaries.start.offset}i=e.offset-t}const o=e.offset-r.startOffset;const s=new Pb(r,o-i,i);e.offset-=i;this._position=e;return Rb("text",s,t,e,i)}e.path.pop();this._position=e;this._visitedParent=n.parent;return Rb("elementStart",n,t,e,1)}}function Rb(t,e,n,i,o){return{done:false,value:{type:t,item:e,previousPosition:n,nextPosition:i,length:o}}}class Vb extends Ib{constructor(t,e,n="toNone"){super();if(!t.is("element")&&!t.is("documentFragment")){throw new P("model-position-root-invalid",t)}if(!(e instanceof Array)||e.length===0){throw new P("model-position-path-incorrect-format",t,{path:e})}if(t.is("rootElement")){e=e.slice()}else{e=[...t.getPath(),...e];t=t.root}this.root=t;this.path=e;this.stickiness=n}get offset(){return this.path[this.path.length-1]}set offset(t){this.path[this.path.length-1]=t}get parent(){let t=this.root;for(let e=0;e1){return false}else if(e===1){return Ub(t,this,n)}else if(e===-1){return Ub(this,t,n)}}if(this.path.length===t.path.length){return true}else if(this.path.length>t.path.length){return Wb(this.path,e)}else{return Wb(t.path,e)}}hasSameParentAs(t){if(this.root!==t.root){return false}const e=this.getParentPath();const n=t.getParentPath();return Et(e,n)=="same"}getTransformedByOperation(t){let e;switch(t.type){case"insert":e=this._getTransformedByInsertOperation(t);break;case"move":case"remove":case"reinsert":e=this._getTransformedByMoveOperation(t);break;case"split":e=this._getTransformedBySplitOperation(t);break;case"merge":e=this._getTransformedByMergeOperation(t);break;default:e=Vb._createAt(this);break}return e}_getTransformedByInsertOperation(t){return this._getTransformedByInsertion(t.position,t.howMany)}_getTransformedByMoveOperation(t){return this._getTransformedByMove(t.sourcePosition,t.targetPosition,t.howMany)}_getTransformedBySplitOperation(t){const e=t.movedRange;const n=e.containsPosition(this)||e.start.isEqual(this)&&this.stickiness=="toNext";if(n){return this._getCombined(t.splitPosition,t.moveTargetPosition)}else{if(t.graveyardPosition){return this._getTransformedByMove(t.graveyardPosition,t.insertionPosition,1)}else{return this._getTransformedByInsertion(t.insertionPosition,1)}}}_getTransformedByMergeOperation(t){const e=t.movedRange;const n=e.containsPosition(this)||e.start.isEqual(this);let i;if(n){i=this._getCombined(t.sourcePosition,t.targetPosition);if(t.sourcePosition.isBefore(t.targetPosition)){i=i._getTransformedByDeletion(t.deletionPosition,1)}}else if(this.isEqual(t.deletionPosition)){i=Vb._createAt(t.deletionPosition)}else{i=this._getTransformedByMove(t.deletionPosition,t.graveyardPosition,1)}return i}_getTransformedByDeletion(t,e){const n=Vb._createAt(this);if(this.root!=t.root){return n}if(Et(t.getParentPath(),this.getParentPath())=="same"){if(t.offsetthis.offset){return null}else{n.offset-=e}}}else if(Et(t.getParentPath(),this.getParentPath())=="prefix"){const i=t.path.length-1;if(t.offset<=this.path[i]){if(t.offset+e>this.path[i]){return null}else{n.path[i]-=e}}}return n}_getTransformedByInsertion(t,e){const n=Vb._createAt(this);if(this.root!=t.root){return n}if(Et(t.getParentPath(),this.getParentPath())=="same"){if(t.offset=e){if(t.path[i]+o!==n.maxOffset){return false}o=1;i--;n=n.parent}return true}class qb extends Ib{constructor(t,e){super();this.start=Vb._createAt(t);this.end=e?Vb._createAt(e):Vb._createAt(t);this.start.stickiness=this.isCollapsed?"toNone":"toNext";this.end.stickiness=this.isCollapsed?"toNone":"toPrevious"}*[Symbol.iterator](){yield*new Ob({boundaries:this,ignoreElementEnd:true})}get isCollapsed(){return this.start.isEqual(this.end)}get isFlat(){const t=this.start.getParentPath();const e=this.end.getParentPath();return Et(t,e)=="same"}get root(){return this.start.root}containsPosition(t){return t.isAfter(this.start)&&t.isBefore(this.end)}containsRange(t,e=false){if(t.isCollapsed){e=false}const n=this.containsPosition(t.start)||e&&this.start.isEqual(t.start);const i=this.containsPosition(t.end)||e&&this.end.isEqual(t.end);return n&&i}containsItem(t){const e=Vb._createBefore(t);return this.containsPosition(e)||this.start.isEqual(e)}isEqual(t){return this.start.isEqual(t.start)&&this.end.isEqual(t.end)}isIntersecting(t){return this.start.isBefore(t.end)&&this.end.isAfter(t.start)}getDifference(t){const e=[];if(this.isIntersecting(t)){if(this.containsPosition(t.start)){e.push(new qb(this.start,t.start))}if(this.containsPosition(t.end)){e.push(new qb(t.end,this.end))}}else{e.push(new qb(this.start,this.end))}return e}getIntersection(t){if(this.isIntersecting(t)){let e=this.start;let n=this.end;if(this.containsPosition(t.start)){e=t.start}if(this.containsPosition(t.end)){n=t.end}return new qb(e,n)}return null}getJoined(t,e=false){let n=this.isIntersecting(t);if(!n){if(this.start.isBefore(t.start)){n=e?this.end.isTouching(t.start):this.end.isEqual(t.start)}else{n=e?t.end.isTouching(this.start):t.end.isEqual(this.start)}}if(!n){return null}let i=this.start;let o=this.end;if(t.start.isBefore(i)){i=t.start}if(t.end.isAfter(o)){o=t.end}return new qb(i,o)}getMinimalFlatRanges(){const t=[];const e=this.start.getCommonPath(this.end).length;const n=Vb._createAt(this.start);let i=n.parent;while(n.path.length>e+1){const e=i.maxOffset-n.offset;if(e!==0){t.push(new qb(n,n.getShiftedBy(e)))}n.path=n.path.slice(0,-1);n.offset++;i=i.parent}while(n.path.length<=this.end.path.length){const e=this.end.path[n.path.length-1];const i=e-n.offset;if(i!==0){t.push(new qb(n,n.getShiftedBy(i)))}n.offset=e;n.path.push(0)}return t}getWalker(t={}){t.boundaries=this;return new Ob(t)}*getItems(t={}){t.boundaries=this;t.ignoreElementEnd=true;const e=new Ob(t);for(const t of e){yield t.item}}*getPositions(t={}){t.boundaries=this;const e=new Ob(t);yield e.position;for(const t of e){yield t.nextPosition}}getTransformedByOperation(t){switch(t.type){case"insert":return this._getTransformedByInsertOperation(t);case"move":case"remove":case"reinsert":return this._getTransformedByMoveOperation(t);case"split":return[this._getTransformedBySplitOperation(t)];case"merge":return[this._getTransformedByMergeOperation(t)]}return[new qb(this.start,this.end)]}getTransformedByOperations(t){const e=[new qb(this.start,this.end)];for(const n of t){for(let t=0;t0?new this(n,i):new this(i,n)}static _createIn(t){return new this(Vb._createAt(t,0),Vb._createAt(t,t.maxOffset))}static _createOn(t){return this._createFromPositionAndShift(Vb._createBefore(t),t.offsetSize)}static _createFromRanges(t){if(t.length===0){throw new P("range-create-from-ranges-empty-array",null)}else if(t.length==1){return t[0].clone()}const e=t[0];t.sort(((t,e)=>t.start.isAfter(e.start)?1:-1));const n=t.indexOf(e);const i=new this(e.start,e.end);if(n>0){for(let e=n-1;true;e++){if(t[e].end.isEqual(i.start)){i.start=Vb._createAt(t[e].start)}else{break}}}for(let e=n+1;e{if(e.viewPosition){return}const n=this._modelToViewMapping.get(e.modelPosition.parent);if(!n){throw new P("mapping-model-position-view-parent-not-found",this,{modelPosition:e.modelPosition})}e.viewPosition=this.findPositionIn(n,e.modelPosition.offset)}),{priority:"low"});this.on("viewToModelPosition",((t,e)=>{if(e.modelPosition){return}const n=this.findMappedViewAncestor(e.viewPosition);const i=this._viewToModelMapping.get(n);const o=this._toModelOffset(e.viewPosition.parent,e.viewPosition.offset,n);e.modelPosition=Vb._createAt(i,o)}),{priority:"low"})}bindElements(t,e){this._modelToViewMapping.set(t,e);this._viewToModelMapping.set(e,t)}unbindViewElement(t,e={}){const n=this.toModelElement(t);if(this._elementToMarkerNames.has(t)){for(const e of this._elementToMarkerNames.get(t)){this._unboundMarkerNames.add(e)}}if(e.defer){this._deferredBindingRemovals.set(t,t.root)}else{this._viewToModelMapping.delete(t);if(this._modelToViewMapping.get(n)==t){this._modelToViewMapping.delete(n)}}}unbindModelElement(t){const e=this.toViewElement(t);this._modelToViewMapping.delete(t);if(this._viewToModelMapping.get(e)==t){this._viewToModelMapping.delete(e)}}bindElementToMarker(t,e){const n=this._markerNameToElements.get(e)||new Set;n.add(t);const i=this._elementToMarkerNames.get(t)||new Set;i.add(e);this._markerNameToElements.set(e,n);this._elementToMarkerNames.set(t,i)}unbindElementFromMarkerName(t,e){const n=this._markerNameToElements.get(e);if(n){n.delete(t);if(n.size==0){this._markerNameToElements.delete(e)}}const i=this._elementToMarkerNames.get(t);if(i){i.delete(e);if(i.size==0){this._elementToMarkerNames.delete(t)}}}flushUnboundMarkerNames(){const t=Array.from(this._unboundMarkerNames);this._unboundMarkerNames.clear();return t}flushDeferredBindings(){for(const[t,e]of this._deferredBindingRemovals){if(t.root==e){this.unbindViewElement(t)}}this._deferredBindingRemovals=new Map}clearBindings(){this._modelToViewMapping=new WeakMap;this._viewToModelMapping=new WeakMap;this._markerNameToElements=new Map;this._elementToMarkerNames=new Map;this._unboundMarkerNames=new Set;this._deferredBindingRemovals=new Map}toModelElement(t){return this._viewToModelMapping.get(t)}toViewElement(t){return this._modelToViewMapping.get(t)}toModelRange(t){return new qb(this.toModelPosition(t.start),this.toModelPosition(t.end))}toViewRange(t){return new jg(this.toViewPosition(t.start),this.toViewPosition(t.end))}toModelPosition(t){const e={viewPosition:t,mapper:this};this.fire("viewToModelPosition",e);return e.modelPosition}toViewPosition(t,e={}){const n={modelPosition:t,mapper:this,isPhantom:e.isPhantom};this.fire("modelToViewPosition",n);return n.viewPosition}markerNameToElements(t){const e=this._markerNameToElements.get(t);if(!e){return null}const n=new Set;for(const t of e){if(t.is("attributeElement")){for(const e of t.getElementsWithSameId()){n.add(e)}}else{n.add(t)}}return n}registerViewToModelLength(t,e){this._viewToModelLengthCallbacks.set(t,e)}findMappedViewAncestor(t){let e=t.parent;while(!this._viewToModelMapping.has(e)){e=e.parent}return e}_toModelOffset(t,e,n){if(n!=t){const i=this._toModelOffset(t.parent,t.index,n);const o=this._toModelOffset(t,e,t);return i+o}if(t.is("$text")){return e}let i=0;for(let n=0;n1?e[0]+":"+e[1]:e[0]}class Yb extends($()){constructor(t){super();this._conversionApi={dispatcher:this,...t};this._firedEventsMap=new WeakMap}convertChanges(t,e,n){const i=this._createConversionApi(n,t.getRefreshedItems());for(const e of t.getMarkersToRemove()){this._convertMarkerRemove(e.name,e.range,i)}const o=this._reduceChanges(t.getChanges());for(const t of o){if(t.type==="insert"){this._convertInsert(qb._createFromPositionAndShift(t.position,t.length),i)}else if(t.type==="reinsert"){this._convertReinsert(qb._createFromPositionAndShift(t.position,t.length),i)}else if(t.type==="remove"){this._convertRemove(t.position,t.length,t.name,i)}else{this._convertAttribute(t.range,t.attributeKey,t.attributeOldValue,t.attributeNewValue,i)}}i.mapper.flushDeferredBindings();for(const t of i.mapper.flushUnboundMarkerNames()){const n=e.get(t).getRange();this._convertMarkerRemove(t,n,i);this._convertMarkerAdd(t,n,i)}for(const e of t.getMarkersToAdd()){this._convertMarkerAdd(e.name,e.range,i)}i.consumable.verifyAllConsumed("insert")}convert(t,e,n,i={}){const o=this._createConversionApi(n,undefined,i);this._convertInsert(t,o);for(const[t,n]of e){this._convertMarkerAdd(t,n,o)}o.consumable.verifyAllConsumed("insert")}convertSelection(t,e,n){const i=this._createConversionApi(n);this.fire("cleanSelection",{selection:t},i);const o=t.getFirstPosition().root;if(!i.mapper.toViewElement(o)){return}const r=Array.from(e.getMarkersAtPosition(t.getFirstPosition()));this._addConsumablesForSelection(i.consumable,t,r);this.fire("selection",{selection:t},i);if(!t.isCollapsed){return}for(const e of r){if(i.consumable.test(t,"addMarker:"+e.name)){const n=e.getRange();if(!Qb(t.getFirstPosition(),e,i.mapper)){continue}const o={item:t,markerName:e.name,markerRange:n};this.fire(`addMarker:${e.name}`,o,i)}}for(const e of t.getAttributeKeys()){if(i.consumable.test(t,"attribute:"+e)){const n={item:t,range:t.getFirstRange(),attributeKey:e,attributeOldValue:null,attributeNewValue:t.getAttribute(e)};this.fire(`attribute:${e}:$text`,n,i)}}}_convertInsert(t,e,n={}){if(!n.doNotAddConsumables){this._addConsumablesForInsert(e.consumable,t)}for(const n of Array.from(t.getWalker({shallow:true})).map(Xb)){this._testAndFire("insert",n,e)}}_convertRemove(t,e,n,i){this.fire(`remove:${n}`,{position:t,length:e},i)}_convertAttribute(t,e,n,i,o){this._addConsumablesForRange(o.consumable,t,`attribute:${e}`);for(const r of t){const t={item:r.item,range:qb._createFromPositionAndShift(r.previousPosition,r.length),attributeKey:e,attributeOldValue:n,attributeNewValue:i};this._testAndFire(`attribute:${e}`,t,o)}}_convertReinsert(t,e){const n=Array.from(t.getWalker({shallow:true}));this._addConsumablesForInsert(e.consumable,n);for(const t of n.map(Xb)){this._testAndFire("insert",{...t,reconversion:true},e)}}_convertMarkerAdd(t,e,n){if(e.root.rootName=="$graveyard"){return}const i=`addMarker:${t}`;n.consumable.add(e,i);this.fire(i,{markerName:t,markerRange:e},n);if(!n.consumable.consume(e,i)){return}this._addConsumablesForRange(n.consumable,e,i);for(const o of e.getItems()){if(!n.consumable.test(o,i)){continue}const r={item:o,range:qb._createOn(o),markerName:t,markerRange:e};this.fire(i,r,n)}}_convertMarkerRemove(t,e,n){if(e.root.rootName=="$graveyard"){return}this.fire(`removeMarker:${t}`,{markerName:t,markerRange:e},n)}_reduceChanges(t){const e={changes:t};this.fire("reduceChanges",e);return e.changes}_addConsumablesForInsert(t,e){for(const n of e){const e=n.item;if(t.test(e,"insert")===null){t.add(e,"insert");for(const n of e.getAttributeKeys()){t.add(e,"attribute:"+n)}}}return t}_addConsumablesForRange(t,e,n){for(const i of e.getItems()){t.add(i,n)}return t}_addConsumablesForSelection(t,e,n){t.add(e,"selection");for(const i of n){t.add(e,"addMarker:"+i.name)}for(const n of e.getAttributeKeys()){t.add(e,"attribute:"+n)}return t}_testAndFire(t,e,n){const i=Jb(t,e);const o=e.item.is("$textProxy")?n.consumable._getSymbolForTextProxy(e.item):e.item;const r=this._firedEventsMap.get(n);const s=r.get(o);if(!s){r.set(o,new Set([i]))}else if(!s.has(i)){s.add(i)}else{return}this.fire(i,e,n)}_testAndFireAddAttributes(t,e){const n={item:t,range:qb._createOn(t)};for(const t of n.item.getAttributeKeys()){n.attributeKey=t;n.attributeOldValue=null;n.attributeNewValue=n.item.getAttribute(t);this._testAndFire(`attribute:${t}`,n,e)}}_createConversionApi(t,e=new Set,n={}){const i={...this._conversionApi,consumable:new Kb,writer:t,options:n,convertItem:t=>this._convertInsert(qb._createOn(t),i),convertChildren:t=>this._convertInsert(qb._createIn(t),i,{doNotAddConsumables:true}),convertAttributes:t=>this._testAndFireAddAttributes(t,i),canReuseView:t=>!e.has(i.mapper.toModelElement(t))};this._firedEventsMap.set(i,new Map);return i}}function Qb(t,e,n){const i=e.getRange();const o=Array.from(t.getAncestors());o.shift();o.reverse();const r=o.some((t=>{if(i.containsItem(t)){const e=n.toViewElement(t);return!!e.getCustomProperty("addHighlight")}}));return!r}function Jb(t,e){const n=e.item.is("element")?e.item.name:"$text";return`${t}:${n}`}function Xb(t){const e=t.item;const n=qb._createFromPositionAndShift(t.previousPosition,t.length);return{item:e,range:n}}class tk extends($(Ib)){constructor(...t){super();this._lastRangeBackward=false;this._attrs=new Map;this._ranges=[];if(t.length){this.setTo(...t)}}get anchor(){if(this._ranges.length>0){const t=this._ranges[this._ranges.length-1];return this._lastRangeBackward?t.end:t.start}return null}get focus(){if(this._ranges.length>0){const t=this._ranges[this._ranges.length-1];return this._lastRangeBackward?t.start:t.end}return null}get isCollapsed(){const t=this._ranges.length;if(t===1){return this._ranges[0].isCollapsed}else{return false}}get rangeCount(){return this._ranges.length}get isBackward(){return!this.isCollapsed&&this._lastRangeBackward}isEqual(t){if(this.rangeCount!=t.rangeCount){return false}else if(this.rangeCount===0){return true}if(!this.anchor.isEqual(t.anchor)||!this.focus.isEqual(t.focus)){return false}for(const e of this._ranges){let n=false;for(const i of t._ranges){if(e.isEqual(i)){n=true;break}}if(!n){return false}}return true}*getRanges(){for(const t of this._ranges){yield new qb(t.start,t.end)}}getFirstRange(){let t=null;for(const e of this._ranges){if(!t||e.start.isBefore(t.start)){t=e}}return t?new qb(t.start,t.end):null}getLastRange(){let t=null;for(const e of this._ranges){if(!t||e.end.isAfter(t.end)){t=e}}return t?new qb(t.start,t.end):null}getFirstPosition(){const t=this.getFirstRange();return t?t.start.clone():null}getLastPosition(){const t=this.getLastRange();return t?t.end.clone():null}setTo(...t){let[e,n,i]=t;if(typeof n=="object"){i=n;n=undefined}if(e===null){this._setRanges([])}else if(e instanceof tk){this._setRanges(e.getRanges(),e.isBackward)}else if(e&&typeof e.getRanges=="function"){this._setRanges(e.getRanges(),e.isBackward)}else if(e instanceof qb){this._setRanges([e],!!i&&!!i.backward)}else if(e instanceof Vb){this._setRanges([new qb(e)])}else if(e instanceof Bb){const t=!!i&&!!i.backward;let o;if(n=="in"){o=qb._createIn(e)}else if(n=="on"){o=qb._createOn(e)}else if(n!==undefined){o=new qb(Vb._createAt(e,n))}else{throw new P("model-selection-setto-required-second-parameter",[this,e])}this._setRanges([o],t)}else if(Dt(e)){this._setRanges(e,i&&!!i.backward)}else{throw new P("model-selection-setto-not-selectable",[this,e])}}_setRanges(t,e=false){const n=Array.from(t);const i=n.some((e=>{if(!(e instanceof qb)){throw new P("model-selection-set-ranges-not-range",[this,t])}return this._ranges.every((t=>!t.isEqual(e)))}));if(n.length===this._ranges.length&&!i){return}this._replaceAllRanges(n);this._lastRangeBackward=!!e;this.fire("change:range",{directChange:true})}setFocus(t,e){if(this.anchor===null){throw new P("model-selection-setfocus-no-ranges",[this,t])}const n=Vb._createAt(t,e);if(n.compareWith(this.focus)=="same"){return}const i=this.anchor;if(this._ranges.length){this._popRange()}if(n.compareWith(i)=="before"){this._pushRange(new qb(n,i));this._lastRangeBackward=true}else{this._pushRange(new qb(i,n));this._lastRangeBackward=false}this.fire("change:range",{directChange:true})}getAttribute(t){return this._attrs.get(t)}getAttributes(){return this._attrs.entries()}getAttributeKeys(){return this._attrs.keys()}hasAttribute(t){return this._attrs.has(t)}removeAttribute(t){if(this.hasAttribute(t)){this._attrs.delete(t);this.fire("change:attribute",{attributeKeys:[t],directChange:true})}}setAttribute(t,e){if(this.getAttribute(t)!==e){this._attrs.set(t,e);this.fire("change:attribute",{attributeKeys:[t],directChange:true})}}getSelectedElement(){if(this.rangeCount!==1){return null}return this.getFirstRange().getContainedElement()}*getSelectedBlocks(){const t=new WeakSet;for(const e of this.getRanges()){const n=ik(e.start,t);if(rk(n,e)){yield n}for(const n of e.getWalker()){const i=n.item;if(n.type=="elementEnd"&&nk(i,t,e)){yield i}}const i=ik(e.end,t);if(sk(i,e)){yield i}}}containsEntireContent(t=this.anchor.root){const e=Vb._createAt(t,0);const n=Vb._createAt(t,"end");return e.isTouching(this.getFirstPosition())&&n.isTouching(this.getLastPosition())}_pushRange(t){this._checkRange(t);this._ranges.push(new qb(t.start,t.end))}_checkRange(t){for(let e=0;e0){this._popRange()}}_popRange(){this._ranges.pop()}}tk.prototype.is=function(t){return t==="selection"||t==="model:selection"};function ek(t,e){if(e.has(t)){return false}e.add(t);return t.root.document.model.schema.isBlock(t)&&!!t.parent}function nk(t,e,n){return ek(t,e)&&ok(t,n)}function ik(t,e){const n=t.parent;const i=n.root.document.model.schema;const o=t.parent.getAncestors({parentFirst:true,includeSelf:true});let r=false;const s=o.find((t=>{if(r){return false}r=i.isLimit(t);return!r&&ek(t,e)}));o.forEach((t=>e.add(t)));return s}function ok(t,e){const n=ak(t);if(!n){return true}const i=e.containsRange(qb._createOn(n),true);return!i}function rk(t,e){if(!t){return false}if(e.isCollapsed||t.isEmpty){return true}if(e.start.isTouching(Vb._createAt(t,t.maxOffset))){return false}return ok(t,e)}function sk(t,e){if(!t){return false}if(e.isCollapsed||t.isEmpty){return true}if(e.end.isTouching(Vb._createAt(t,0))){return false}return ok(t,e)}function ak(t){const e=t.root.document.model.schema;let n=t.parent;while(n){if(e.isBlock(n)){return n}n=n.parent}}class ck extends($(qb)){constructor(t,e){super(t,e);lk.call(this)}detach(){this.stopListening()}toRange(){return new qb(this.start,this.end)}static fromRange(t){return new ck(t.start,t.end)}}ck.prototype.is=function(t){return t==="liveRange"||t==="model:liveRange"||t=="range"||t==="model:range"};function lk(){this.listenTo(this.root.document.model,"applyOperation",((t,e)=>{const n=e[0];if(!n.isDocumentOperation){return}dk.call(this,n)}),{priority:"low"})}function dk(t){const e=this.getTransformedByOperation(t);const n=qb._createFromRanges(e);const i=!n.isEqual(this);const o=uk(this,t);let r=null;if(i){if(n.root.rootName=="$graveyard"){if(t.type=="remove"){r=t.sourcePosition}else{r=t.deletionPosition}}const e=this.toRange();this.start=n.start;this.end=n.end;this.fire("change:range",e,{deletionPosition:r})}else if(o){this.fire("change:content",this.toRange(),{deletionPosition:r})}}function uk(t,e){switch(e.type){case"insert":return t.containsPosition(e.position);case"move":case"remove":case"reinsert":case"merge":return t.containsPosition(e.sourcePosition)||t.start.isEqual(e.sourcePosition)||t.containsPosition(e.targetPosition);case"split":return t.containsPosition(e.splitPosition)||t.containsPosition(e.insertionPosition)}return false}const hk="selection:";class mk extends($(Ib)){constructor(t){super();this._selection=new gk(t);this._selection.delegate("change:range").to(this);this._selection.delegate("change:attribute").to(this);this._selection.delegate("change:marker").to(this)}get isCollapsed(){return this._selection.isCollapsed}get anchor(){return this._selection.anchor}get focus(){return this._selection.focus}get rangeCount(){return this._selection.rangeCount}get hasOwnRange(){return this._selection.hasOwnRange}get isBackward(){return this._selection.isBackward}get isGravityOverridden(){return this._selection.isGravityOverridden}get markers(){return this._selection.markers}get _ranges(){return this._selection._ranges}getRanges(){return this._selection.getRanges()}getFirstPosition(){return this._selection.getFirstPosition()}getLastPosition(){return this._selection.getLastPosition()}getFirstRange(){return this._selection.getFirstRange()}getLastRange(){return this._selection.getLastRange()}getSelectedBlocks(){return this._selection.getSelectedBlocks()}getSelectedElement(){return this._selection.getSelectedElement()}containsEntireContent(t){return this._selection.containsEntireContent(t)}destroy(){this._selection.destroy()}getAttributeKeys(){return this._selection.getAttributeKeys()}getAttributes(){return this._selection.getAttributes()}getAttribute(t){return this._selection.getAttribute(t)}hasAttribute(t){return this._selection.hasAttribute(t)}refresh(){this._selection.updateMarkers();this._selection._updateAttributes(false)}observeMarkers(t){this._selection.observeMarkers(t)}_setFocus(t,e){this._selection.setFocus(t,e)}_setTo(...t){this._selection.setTo(...t)}_setAttribute(t,e){this._selection.setAttribute(t,e)}_removeAttribute(t){this._selection.removeAttribute(t)}_getStoredAttributes(){return this._selection.getStoredAttributes()}_overrideGravity(){return this._selection.overrideGravity()}_restoreGravity(t){this._selection.restoreGravity(t)}static _getStoreAttributeKey(t){return hk+t}static _isStoreAttributeKey(t){return t.startsWith(hk)}}mk.prototype.is=function(t){return t==="selection"||t=="model:selection"||t=="documentSelection"||t=="model:documentSelection"};class gk extends tk{constructor(t){super();this.markers=new ml({idProperty:"name"});this._attributePriority=new Map;this._selectionRestorePosition=null;this._hasChangedRange=false;this._overriddenGravityRegister=new Set;this._observedMarkers=new Set;this._model=t.model;this._document=t;this.listenTo(this._model,"applyOperation",((t,e)=>{const n=e[0];if(!n.isDocumentOperation||n.type=="marker"||n.type=="rename"||n.type=="noop"){return}if(this._ranges.length==0&&this._selectionRestorePosition){this._fixGraveyardSelection(this._selectionRestorePosition)}this._selectionRestorePosition=null;if(this._hasChangedRange){this._hasChangedRange=false;this.fire("change:range",{directChange:false})}}),{priority:"lowest"});this.on("change:range",(()=>{this._validateSelectionRanges(this.getRanges())}));this.listenTo(this._model.markers,"update",((t,e,n,i)=>{this._updateMarker(e,i)}));this.listenTo(this._document,"change",((t,e)=>{pk(this._model,e)}))}get isCollapsed(){const t=this._ranges.length;return t===0?this._document._getDefaultRange().isCollapsed:super.isCollapsed}get anchor(){return super.anchor||this._document._getDefaultRange().start}get focus(){return super.focus||this._document._getDefaultRange().end}get rangeCount(){return this._ranges.length?this._ranges.length:1}get hasOwnRange(){return this._ranges.length>0}get isGravityOverridden(){return!!this._overriddenGravityRegister.size}destroy(){for(let t=0;t{this._hasChangedRange=true;if(e.root==this._document.graveyard){this._selectionRestorePosition=i.deletionPosition;const t=this._ranges.indexOf(e);this._ranges.splice(t,1);e.detach()}}));return e}updateMarkers(){if(!this._observedMarkers.size){return}const t=[];let e=false;for(const e of this._model.markers){const n=e.name.split(":",1)[0];if(!this._observedMarkers.has(n)){continue}const i=e.getRange();for(const n of this.getRanges()){if(i.containsRange(n,!n.isCollapsed)){t.push(e)}}}const n=Array.from(this.markers);for(const n of t){if(!this.markers.has(n)){this.markers.add(n);e=true}}for(const n of Array.from(this.markers)){if(!t.includes(n)){this.markers.remove(n);e=true}}if(e){this.fire("change:marker",{oldMarkers:n,directChange:false})}}_updateMarker(t,e){const n=t.name.split(":",1)[0];if(!this._observedMarkers.has(n)){return}let i=false;const o=Array.from(this.markers);const r=this.markers.has(t);if(!e){if(r){this.markers.remove(t);i=true}}else{let n=false;for(const t of this.getRanges()){if(e.containsRange(t,!t.isCollapsed)){n=true;break}}if(n&&!r){this.markers.add(t);i=true}else if(!n&&r){this.markers.remove(t);i=true}}if(i){this.fire("change:marker",{oldMarkers:o,directChange:false})}}_updateAttributes(t){const e=kl(this._getSurroundingAttributes());const n=kl(this.getAttributes());if(t){this._attributePriority=new Map;this._attrs=new Map}else{for(const[t,e]of this._attributePriority){if(e=="low"){this._attrs.delete(t);this._attributePriority.delete(t)}}}this._setAttributesTo(e);const i=[];for(const[t,e]of this.getAttributes()){if(!n.has(t)||n.get(t)!==e){i.push(t)}}for(const[t]of n){if(!this.hasAttribute(t)){i.push(t)}}if(i.length>0){this.fire("change:attribute",{attributeKeys:i,directChange:false})}}_setAttribute(t,e,n=true){const i=n?"normal":"low";if(i=="low"&&this._attributePriority.get(t)=="normal"){return false}const o=super.getAttribute(t);if(o===e){return false}this._attrs.set(t,e);this._attributePriority.set(t,i);return true}_removeAttribute(t,e=true){const n=e?"normal":"low";if(n=="low"&&this._attributePriority.get(t)=="normal"){return false}this._attributePriority.set(t,n);if(!super.hasAttribute(t)){return false}this._attrs.delete(t);return true}_setAttributesTo(t){const e=new Set;for(const[e,n]of this.getAttributes()){if(t.get(e)===n){continue}this._removeAttribute(e,false)}for(const[n,i]of t){const t=this._setAttribute(n,i,false);if(t){e.add(n)}}return e}*getStoredAttributes(){const t=this.getFirstPosition().parent;if(this.isCollapsed&&t.isEmpty){for(const e of t.getAttributeKeys()){if(e.startsWith(hk)){const n=e.substr(hk.length);yield[n,t.getAttribute(e)]}}}}_getSurroundingAttributes(){const t=this.getFirstPosition();const e=this._model.schema;if(t.root.rootName=="$graveyard"){return null}let n=null;if(!this.isCollapsed){const t=this.getFirstRange();for(const i of t){if(i.item.is("element")&&e.isObject(i.item)){n=fk(i.item,e);break}if(i.type=="text"){n=i.item.getAttributes();break}}}else{const i=t.textNode?t.textNode:t.nodeBefore;const o=t.textNode?t.textNode:t.nodeAfter;if(!this.isGravityOverridden){n=fk(i,e)}if(!n){n=fk(o,e)}if(!this.isGravityOverridden&&!n){let t=i;while(t&&!n){t=t.previousSibling;n=fk(t,e)}}if(!n){let t=o;while(t&&!n){t=t.nextSibling;n=fk(t,e)}}if(!n){n=this.getStoredAttributes()}}return n}_fixGraveyardSelection(t){const e=this._model.schema.getNearestSelectionRange(t);if(e){this._pushRange(e)}}}function fk(t,e){if(!t){return null}if(t instanceof Pb||t instanceof Nb){return t.getAttributes()}if(!e.isInline(t)){return null}if(!e.isObject(t)){return[]}const n=[];for(const[i,o]of t.getAttributes()){if(e.checkAttribute("$text",i)&&e.getAttributeProperties(i).copyFromObject!==false){n.push([i,o])}}return n}function pk(t,e){const n=t.document.differ;for(const i of n.getChanges()){if(i.type!="insert"){continue}const n=i.position.parent;const o=i.length===n.maxOffset;if(o){t.enqueueChange(e,(t=>{const e=Array.from(n.getAttributeKeys()).filter((t=>t.startsWith(hk)));for(const i of e){t.removeAttribute(i,n)}}))}}}class bk{constructor(t){this._dispatchers=t}add(t){for(const e of this._dispatchers){t(e)}return this}}class kk extends bk{elementToElement(t){return this.add(Fk(t))}elementToStructure(t){return this.add(jk(t))}attributeToElement(t){return this.add(Hk(t))}attributeToAttribute(t){return this.add(Uk(t))}markerToElement(t){return this.add(Wk(t))}markerToHighlight(t){return this.add(qk(t))}markerToData(t){return this.add(Gk(t))}}function wk(){return(t,e,n)=>{if(!n.consumable.consume(e.item,t.name)){return}const i=n.writer;const o=n.mapper.toViewPosition(e.range.start);const r=i.createText(e.item.data);i.insert(o,r)}}function Ak(){return(t,e,n)=>{n.convertAttributes(e.item);if(!e.reconversion&&e.item.is("element")&&!e.item.isEmpty){n.convertChildren(e.item)}}}function Ck(){return(t,e,n)=>{const i=n.mapper.toViewPosition(e.position);const o=e.position.getShiftedBy(e.length);const r=n.mapper.toViewPosition(o,{isPhantom:true});const s=n.writer.createRange(i,r);const a=n.writer.remove(s.getTrimmed());for(const t of n.writer.createRangeIn(a).getItems()){n.mapper.unbindViewElement(t,{defer:true})}}}function _k(t,e){const n=t.createAttributeElement("span",e.attributes);if(e.classes){n._addClass(e.classes)}if(typeof e.priority==="number"){n._priority=e.priority}n._id=e.id;return n}function vk(){return(t,e,n)=>{const i=e.selection;if(i.isCollapsed){return}if(!n.consumable.consume(i,"selection")){return}const o=[];for(const t of i.getRanges()){o.push(n.mapper.toViewRange(t))}n.writer.setSelection(o,{backward:i.isBackward})}}function yk(){return(t,e,n)=>{const i=e.selection;if(!i.isCollapsed){return}if(!n.consumable.consume(i,"selection")){return}const o=n.writer;const r=i.getFirstPosition();const s=n.mapper.toViewPosition(r);const a=o.breakAttributes(s);o.setSelection(a)}}function xk(){return(t,e,n)=>{const i=n.writer;const o=i.document.selection;for(const t of o.getRanges()){if(t.isCollapsed){if(t.end.parent.isAttached()){n.writer.mergeAttributes(t.start)}}}i.setSelection(null)}}function Ek(t){return(e,n,i)=>{if(!i.consumable.test(n.item,e.name)){return}const o=t(n.attributeOldValue,i,n);const r=t(n.attributeNewValue,i,n);if(!o&&!r){return}i.consumable.consume(n.item,e.name);const s=i.writer;const a=s.document.selection;if(n.item instanceof tk||n.item instanceof mk){s.wrap(a.getFirstRange(),r)}else{let t=i.mapper.toViewRange(n.range);if(n.attributeOldValue!==null&&o){t=s.unwrap(t,o)}if(n.attributeNewValue!==null&&r){s.wrap(t,r)}}}}function Dk(t,e=aw){return(n,i,o)=>{if(!e(i.item,o.consumable,{preflight:true})){return}const r=t(i.item,o,i);if(!r){return}e(i.item,o.consumable);const s=o.mapper.toViewPosition(i.range.start);o.mapper.bindElements(i.item,r);o.writer.insert(s,r);o.convertAttributes(i.item);rw(r,i.item.getChildren(),o,{reconversion:i.reconversion})}}function Tk(t,e){return(n,i,o)=>{if(!e(i.item,o.consumable,{preflight:true})){return}const r=new Map;o.writer._registerSlotFactory(nw(i.item,r,o));const s=t(i.item,o,i);o.writer._clearSlotFactory();if(!s){return}iw(i.item,r,o);e(i.item,o.consumable);const a=o.mapper.toViewPosition(i.range.start);o.mapper.bindElements(i.item,s);o.writer.insert(a,s);o.convertAttributes(i.item);ow(s,r,o,{reconversion:i.reconversion})}}function Sk(t){return(e,n,i)=>{n.isOpening=true;const o=t(n,i);n.isOpening=false;const r=t(n,i);if(!o||!r){return}const s=n.markerRange;if(s.isCollapsed&&!i.consumable.consume(s,e.name)){return}for(const t of s){if(!i.consumable.consume(t.item,e.name)){return}}const a=i.mapper;const c=i.writer;c.insert(a.toViewPosition(s.start),o);i.mapper.bindElementToMarker(o,n.markerName);if(!s.isCollapsed){c.insert(a.toViewPosition(s.end),r);i.mapper.bindElementToMarker(r,n.markerName)}e.stop()}}function Ik(){return(t,e,n)=>{const i=n.mapper.markerNameToElements(e.markerName);if(!i){return}for(const t of i){n.mapper.unbindElementFromMarkerName(t,e.markerName);n.writer.clear(n.writer.createRangeOn(t),t)}n.writer.clearClonedElementsGroup(e.markerName);t.stop()}}function Bk(t){return(e,n,i)=>{const o=t(n.markerName,i);if(!o){return}const r=n.markerRange;if(!i.consumable.consume(r,e.name)){return}Mk(r,false,i,n,o);Mk(r,true,i,n,o);e.stop()}}function Mk(t,e,n,i,o){const r=e?t.start:t.end;const s=r.nodeAfter&&r.nodeAfter.is("element")?r.nodeAfter:null;const a=r.nodeBefore&&r.nodeBefore.is("element")?r.nodeBefore:null;if(s||a){let t;let r;if(e&&s||!e&&!a){t=s;r=true}else{t=a;r=false}const c=n.mapper.toViewElement(t);if(c){Nk(c,e,r,n,i,o);return}}const c=n.mapper.toViewPosition(r);Pk(c,e,n,i,o)}function Nk(t,e,n,i,o,r){const s=`data-${r.group}-${e?"start":"end"}-${n?"before":"after"}`;const a=t.hasAttribute(s)?t.getAttribute(s).split(","):[];a.unshift(r.name);i.writer.setAttribute(s,a.join(","),t);i.mapper.bindElementToMarker(t,o.markerName)}function Pk(t,e,n,i,o){const r=`${o.group}-${e?"start":"end"}`;const s=o.name?{name:o.name}:null;const a=n.writer.createUIElement(r,s);n.writer.insert(t,a);n.mapper.bindElementToMarker(a,i.markerName)}function Lk(t){return(e,n,i)=>{const o=t(n.markerName,i);if(!o){return}const r=i.mapper.markerNameToElements(n.markerName);if(!r){return}for(const t of r){i.mapper.unbindElementFromMarkerName(t,n.markerName);if(t.is("containerElement")){s(`data-${o.group}-start-before`,t);s(`data-${o.group}-start-after`,t);s(`data-${o.group}-end-before`,t);s(`data-${o.group}-end-after`,t)}else{i.writer.clear(i.writer.createRangeOn(t),t)}}i.writer.clearClonedElementsGroup(n.markerName);e.stop();function s(t,e){if(e.hasAttribute(t)){const n=new Set(e.getAttribute(t).split(","));n.delete(o.name);if(n.size==0){i.writer.removeAttribute(t,e)}else{i.writer.setAttribute(t,Array.from(n).join(","),e)}}}}}function zk(t){return(e,n,i)=>{if(!i.consumable.test(n.item,e.name)){return}const o=t(n.attributeOldValue,i,n);const r=t(n.attributeNewValue,i,n);if(!o&&!r){return}i.consumable.consume(n.item,e.name);const s=i.mapper.toViewElement(n.item);const a=i.writer;if(!s){throw new P("conversion-attribute-to-attribute-on-text",i.dispatcher,n)}if(n.attributeOldValue!==null&&o){if(o.key=="class"){const t=il(o.value);for(const e of t){a.removeClass(e,s)}}else if(o.key=="style"){const t=Object.keys(o.value);for(const e of t){a.removeStyle(e,s)}}else{a.removeAttribute(o.key,s)}}if(n.attributeNewValue!==null&&r){if(r.key=="class"){const t=il(r.value);for(const e of t){a.addClass(e,s)}}else if(r.key=="style"){const t=Object.keys(r.value);for(const e of t){a.setStyle(e,r.value[e],s)}}else{a.setAttribute(r.key,r.value,s)}}}}function Ok(t){return(e,n,i)=>{if(!n.item){return}if(!(n.item instanceof tk||n.item instanceof mk)&&!n.item.is("$textProxy")){return}const o=Jk(t,n,i);if(!o){return}if(!i.consumable.consume(n.item,e.name)){return}const r=i.writer;const s=_k(r,o);const a=r.document.selection;if(n.item instanceof tk||n.item instanceof mk){r.wrap(a.getFirstRange(),s)}else{const t=i.mapper.toViewRange(n.range);const e=r.wrap(t,s);for(const t of e.getItems()){if(t.is("attributeElement")&&t.isSimilar(s)){i.mapper.bindElementToMarker(t,n.markerName);break}}}}}function Rk(t){return(e,n,i)=>{if(!n.item){return}if(!(n.item instanceof Lb)){return}const o=Jk(t,n,i);if(!o){return}if(!i.consumable.test(n.item,e.name)){return}const r=i.mapper.toViewElement(n.item);if(r&&r.getCustomProperty("addHighlight")){i.consumable.consume(n.item,e.name);for(const t of qb._createIn(n.item)){i.consumable.consume(t.item,e.name)}const t=r.getCustomProperty("addHighlight");t(r,o,i.writer);i.mapper.bindElementToMarker(r,n.markerName)}}}function Vk(t){return(e,n,i)=>{if(n.markerRange.isCollapsed){return}const o=Jk(t,n,i);if(!o){return}const r=_k(i.writer,o);const s=i.mapper.markerNameToElements(n.markerName);if(!s){return}for(const t of s){i.mapper.unbindElementFromMarkerName(t,n.markerName);if(t.is("attributeElement")){i.writer.unwrap(i.writer.createRangeOn(t),r)}else{const e=t.getCustomProperty("removeHighlight");e(t,o.id,i.writer)}}i.writer.clearClonedElementsGroup(n.markerName);e.stop()}}function Fk(t){const e=$k(t.model);const n=Kk(t.view,"container");if(e.attributes.length){e.children=true}return i=>{i.on(`insert:${e.name}`,Dk(n,ew(e)),{priority:t.converterPriority||"normal"});if(e.children||e.attributes.length){i.on("reduceChanges",tw(e),{priority:"low"})}}}function jk(t){const e=$k(t.model);const n=Kk(t.view,"container");e.children=true;return i=>{if(i._conversionApi.schema.checkChild(e.name,"$text")){throw new P("conversion-element-to-structure-disallowed-text",i,{elementName:e.name})}i.on(`insert:${e.name}`,Tk(n,ew(e)),{priority:t.converterPriority||"normal"});i.on("reduceChanges",tw(e),{priority:"low"})}}function Hk(t){t=Tb(t);let e=t.model;if(typeof e=="string"){e={key:e}}let n=`attribute:${e.key}`;if(e.name){n+=":"+e.name}if(e.values){for(const n of e.values){t.view[n]=Kk(t.view[n],"attribute")}}else{t.view=Kk(t.view,"attribute")}const i=Yk(t);return e=>{e.on(n,Ek(i),{priority:t.converterPriority||"normal"})}}function Uk(t){t=Tb(t);let e=t.model;if(typeof e=="string"){e={key:e}}let n=`attribute:${e.key}`;if(e.name){n+=":"+e.name}if(e.values){for(const n of e.values){t.view[n]=Qk(t.view[n])}}else{t.view=Qk(t.view)}const i=Yk(t);return e=>{e.on(n,zk(i),{priority:t.converterPriority||"normal"})}}function Wk(t){const e=Kk(t.view,"ui");return n=>{n.on(`addMarker:${t.model}`,Sk(e),{priority:t.converterPriority||"normal"});n.on(`removeMarker:${t.model}`,Ik(),{priority:t.converterPriority||"normal"})}}function Gk(t){t=Tb(t);const e=t.model;let n=t.view;if(!n){n=n=>({group:e,name:n.substr(t.model.length+1)})}return i=>{i.on(`addMarker:${e}`,Bk(n),{priority:t.converterPriority||"normal"});i.on(`removeMarker:${e}`,Lk(n),{priority:t.converterPriority||"normal"})}}function qk(t){return e=>{e.on(`addMarker:${t.model}`,Ok(t.view),{priority:t.converterPriority||"normal"});e.on(`addMarker:${t.model}`,Rk(t.view),{priority:t.converterPriority||"normal"});e.on(`removeMarker:${t.model}`,Vk(t.view),{priority:t.converterPriority||"normal"})}}function $k(t){if(typeof t=="string"){t={name:t}}return{name:t.name,attributes:t.attributes?il(t.attributes):[],children:!!t.children}}function Kk(t,e){if(typeof t=="function"){return t}return(n,i)=>Zk(t,i,e)}function Zk(t,e,n){if(typeof t=="string"){t={name:t}}let i;const o=e.writer;const r=Object.assign({},t.attributes);if(n=="container"){i=o.createContainerElement(t.name,r)}else if(n=="attribute"){const e={priority:t.priority||ef.DEFAULT_PRIORITY};i=o.createAttributeElement(t.name,r,e)}else{i=o.createUIElement(t.name,r)}if(t.styles){const e=Object.keys(t.styles);for(const n of e){o.setStyle(n,t.styles[n],i)}}if(t.classes){const e=t.classes;if(typeof e=="string"){o.addClass(e,i)}else{for(const t of e){o.addClass(t,i)}}}return i}function Yk(t){if(t.model.values){return(e,n,i)=>{const o=t.view[e];if(o){return o(e,n,i)}return null}}else{return t.view}}function Qk(t){if(typeof t=="string"){return e=>({key:t,value:e})}else if(typeof t=="object"){if(t.value){return()=>t}else{return e=>({key:t.key,value:e})}}else{return t}}function Jk(t,e,n){const i=typeof t=="function"?t(e,n):t;if(!i){return null}if(!i.priority){i.priority=10}if(!i.id){i.id=e.markerName}return i}function Xk(t){return(e,n)=>{if(!e.is("element",t.name)){return false}if(n.type=="attribute"){if(t.attributes.includes(n.attributeKey)){return true}}else{if(t.children){return true}}return false}}function tw(t){const e=Xk(t);return(t,n)=>{const i=[];if(!n.reconvertedElements){n.reconvertedElements=new Set}for(const t of n.changes){const o=t.type=="attribute"?t.range.start.nodeAfter:t.position.parent;if(!o||!e(o,t)){i.push(t);continue}if(!n.reconvertedElements.has(o)){n.reconvertedElements.add(o);const t=Vb._createBefore(o);let e=i.length;for(let n=i.length-1;n>=0;n--){const o=i[n];const r=o.type=="attribute"?o.range.start:o.position;const s=r.compareWith(t);if(s=="before"||o.type=="remove"&&s=="same"){break}e=n}i.splice(e,0,{type:"remove",name:o.name,position:t,length:1},{type:"reinsert",name:o.name,position:t,length:1})}}n.changes=i}}function ew(t){return(e,n,i={})=>{const o=["insert"];for(const n of t.attributes){if(e.hasAttribute(n)){o.push(`attribute:${n}`)}}if(!o.every((t=>n.test(e,t)))){return false}if(!i.preflight){o.forEach((t=>n.consume(e,t)))}return true}}function nw(t,e,n){return(i,o)=>{const r=i.createContainerElement("$slot");let s=null;if(o==="children"){s=Array.from(t.getChildren())}else if(typeof o=="function"){s=Array.from(t.getChildren()).filter((t=>o(t)))}else{throw new P("conversion-slot-mode-unknown",n.dispatcher,{modeOrFilter:o})}e.set(r,s);return r}}function iw(t,e,n){const i=Array.from(e.values()).flat();const o=new Set(i);if(o.size!=i.length){throw new P("conversion-slot-filter-overlap",n.dispatcher,{element:t})}if(o.size!=t.childCount){throw new P("conversion-slot-filter-incomplete",n.dispatcher,{element:t})}}function ow(t,e,n,i){n.mapper.on("modelToViewPosition",s,{priority:"highest"});let o=null;let r=null;for([o,r]of e){rw(t,r,n,i);n.writer.move(n.writer.createRangeIn(o),n.writer.createPositionBefore(o));n.writer.remove(o)}n.mapper.off("modelToViewPosition",s);function s(t,e){const n=e.modelPosition.nodeAfter;const i=r.indexOf(n);if(i<0){return}e.viewPosition=e.mapper.findPositionIn(o,i)}}function rw(t,e,n,i){for(const o of e){if(!sw(t.root,o,n,i)){n.convertItem(o)}}}function sw(t,e,n,i){const{writer:o,mapper:r}=n;if(!i.reconversion){return false}const s=r.toViewElement(e);if(!s||s.root==t){return false}if(!n.canReuseView(s)){return false}o.move(o.createRangeOn(s),r.toViewPosition(Vb._createBefore(e)));return true}function aw(t,e,{preflight:n}={}){if(n){return e.test(t,"insert")}else{return e.consume(t,"insert")}}function cw(t){const{schema:e,document:n}=t.model;for(const i of n.getRoots()){if(i.isEmpty&&!e.checkChild(i,"$text")){if(e.checkChild(i,"paragraph")){t.insertElement("paragraph",i);return true}}}return false}function lw(t,e,n){const i=n.createContext(t);if(!n.checkChild(i,"paragraph")){return false}if(!n.checkChild(i.push("paragraph"),e)){return false}return true}function dw(t,e){const n=e.createElement("paragraph");e.insert(n,t);return e.createPositionAt(n,0)}class uw extends bk{elementToElement(t){return this.add(fw(t))}elementToAttribute(t){return this.add(pw(t))}attributeToAttribute(t){return this.add(bw(t))}elementToMarker(t){return this.add(kw(t))}dataToMarker(t){return this.add(ww(t))}}function hw(){return(t,e,n)=>{if(!e.modelRange&&n.consumable.consume(e.viewItem,{name:true})){const{modelRange:t,modelCursor:i}=n.convertChildren(e.viewItem,e.modelCursor);e.modelRange=t;e.modelCursor=i}}}function mw(){return(t,e,{schema:n,consumable:i,writer:o})=>{let r=e.modelCursor;if(!i.test(e.viewItem)){return}if(!n.checkChild(r,"$text")){if(!lw(r,"$text",n)){return}if(e.viewItem.data.trim().length==0){return}const t=r.nodeBefore;r=dw(r,o);if(t&&t.is("element","$marker")){o.move(o.createRangeOn(t),r);r=o.createPositionAfter(t)}}i.consume(e.viewItem);const s=o.createText(e.viewItem.data);o.insert(s,r);e.modelRange=o.createRange(r,r.getShiftedBy(s.offsetSize));e.modelCursor=e.modelRange.end}}function gw(t,e){return(n,i)=>{const o=i.newSelection;const r=[];for(const t of o.getRanges()){r.push(e.toModelRange(t))}const s=t.createSelection(r,{backward:o.isBackward});if(!s.isEqual(t.document.selection)){t.change((t=>{t.setSelection(s)}))}}}function fw(t){t=Tb(t);const e=_w(t);const n=Cw(t.view);const i=n?`element:${n}`:"element";return n=>{n.on(i,e,{priority:t.converterPriority||"normal"})}}function pw(t){t=Tb(t);xw(t);const e=Ew(t,false);const n=Cw(t.view);const i=n?`element:${n}`:"element";return n=>{n.on(i,e,{priority:t.converterPriority||"low"})}}function bw(t){t=Tb(t);let e=null;if(typeof t.view=="string"||t.view.key){e=yw(t)}xw(t,e);const n=Ew(t,true);return e=>{e.on("element",n,{priority:t.converterPriority||"low"})}}function kw(t){const e=Sw(t.model);return fw({...t,model:e})}function ww(t){t=Tb(t);if(!t.model){t.model=e=>e?t.view+":"+e:t.view}const e={view:t.view,model:t.model};const n=_w(Iw(e,"start"));const i=_w(Iw(e,"end"));return o=>{o.on(`element:${t.view}-start`,n,{priority:t.converterPriority||"normal"});o.on(`element:${t.view}-end`,i,{priority:t.converterPriority||"normal"});const r=B.low;const s=B.highest;const a=B.get(t.converterPriority)/s;o.on("element",Aw(e),{priority:r+a})}}function Aw(t){return(e,n,i)=>{const o=`data-${t.view}`;if(!i.consumable.test(n.viewItem,{attributes:o+"-end-after"})&&!i.consumable.test(n.viewItem,{attributes:o+"-start-after"})&&!i.consumable.test(n.viewItem,{attributes:o+"-end-before"})&&!i.consumable.test(n.viewItem,{attributes:o+"-start-before"})){return}if(!n.modelRange){Object.assign(n,i.convertChildren(n.viewItem,n.modelCursor))}if(i.consumable.consume(n.viewItem,{attributes:o+"-end-after"})){r(n.modelRange.end,n.viewItem.getAttribute(o+"-end-after").split(","))}if(i.consumable.consume(n.viewItem,{attributes:o+"-start-after"})){r(n.modelRange.end,n.viewItem.getAttribute(o+"-start-after").split(","))}if(i.consumable.consume(n.viewItem,{attributes:o+"-end-before"})){r(n.modelRange.start,n.viewItem.getAttribute(o+"-end-before").split(","))}if(i.consumable.consume(n.viewItem,{attributes:o+"-start-before"})){r(n.modelRange.start,n.viewItem.getAttribute(o+"-start-before").split(","))}function r(e,o){for(const r of o){const o=t.model(r,i);const s=i.writer.createElement("$marker",{"data-name":o});i.writer.insert(s,e);if(n.modelCursor.isEqual(e)){n.modelCursor=n.modelCursor.getShiftedBy(1)}else{n.modelCursor=n.modelCursor._getTransformedByInsertion(e,1)}n.modelRange=n.modelRange._getTransformedByInsertion(e,1)[0]}}}}function Cw(t){if(typeof t=="string"){return t}if(typeof t=="object"&&typeof t.name=="string"){return t.name}return null}function _w(t){const e=new Lh(t.view);return(n,i,o)=>{const r=e.match(i.viewItem);if(!r){return}const s=r.match;s.name=true;if(!o.consumable.test(i.viewItem,s)){return}const a=vw(t.model,i.viewItem,o);if(!a){return}if(!o.safeInsert(a,i.modelCursor)){return}o.consumable.consume(i.viewItem,s);o.convertChildren(i.viewItem,a);o.updateConversionResult(a,i)}}function vw(t,e,n){if(t instanceof Function){return t(e,n)}else{return n.writer.createElement(t)}}function yw(t){if(typeof t.view=="string"){t.view={key:t.view}}const e=t.view.key;let n;if(e=="class"||e=="style"){const i=e=="class"?"classes":"styles";n={[i]:t.view.value}}else{const i=typeof t.view.value=="undefined"?/[\s\S]*/:t.view.value;n={attributes:{[e]:i}}}if(t.view.name){n.name=t.view.name}t.view=n;return e}function xw(t,e=null){const n=e===null?true:t=>t.getAttribute(e);const i=typeof t.model!="object"?t.model:t.model.key;const o=typeof t.model!="object"||typeof t.model.value=="undefined"?n:t.model.value;t.model={key:i,value:o}}function Ew(t,e){const n=new Lh(t.view);return(i,o,r)=>{if(!o.modelRange&&e){return}const s=n.match(o.viewItem);if(!s){return}if(Dw(t.view,o.viewItem)){s.match.name=true}else{delete s.match.name}if(!r.consumable.test(o.viewItem,s.match)){return}const a=t.model.key;const c=typeof t.model.value=="function"?t.model.value(o.viewItem,r):t.model.value;if(c===null){return}if(!o.modelRange){Object.assign(o,r.convertChildren(o.viewItem,o.modelCursor))}const l=Tw(o.modelRange,{key:a,value:c},e,r);if(l){if(r.consumable.test(o.viewItem,{name:true})){s.match.name=true}r.consumable.consume(o.viewItem,s.match)}}}function Dw(t,e){const n=typeof t=="function"?t(e):t;if(typeof n=="object"&&!Cw(n)){return false}return!n.classes&&!n.attributes&&!n.styles}function Tw(t,e,n,i){let o=false;for(const r of Array.from(t.getItems({shallow:n}))){if(!i.schema.checkAttribute(r,e.key)){continue}o=true;if(r.hasAttribute(e.key)){continue}i.writer.setAttribute(e.key,e.value,r)}return o}function Sw(t){return(e,n)=>{const i=typeof t=="string"?t:t(e,n);return n.writer.createElement("$marker",{"data-name":i})}}function Iw(t,e){const n=(e,n)=>{const i=e.getAttribute("name");const o=t.model(i,n);return n.writer.createElement("$marker",{"data-name":o})};return{view:`${t.view}-${e}`,model:n}}function Bw(t){t.document.registerPostFixer((e=>Mw(e,t)))}function Mw(t,e){const n=e.document.selection;const i=e.schema;const o=[];let r=false;for(const t of n.getRanges()){const e=Nw(t,i);if(e&&!e.isEqual(t)){o.push(e);r=true}else{o.push(t)}}if(r){t.setSelection(Rw(o),{backward:n.isBackward})}return false}function Nw(t,e){if(t.isCollapsed){return Pw(t,e)}return Lw(t,e)}function Pw(t,e){const n=t.start;const i=e.getNearestSelectionRange(n);if(!i){const t=n.getAncestors().reverse().find((t=>e.isObject(t)));if(t){return qb._createOn(t)}return null}if(!i.isCollapsed){return i}const o=i.start;if(n.isEqual(o)){return null}return new qb(o)}function Lw(t,e){const{start:n,end:i}=t;const o=e.checkChild(n,"$text");const r=e.checkChild(i,"$text");const s=e.getLimitElement(n);const a=e.getLimitElement(i);if(s===a){if(o&&r){return null}if(Ow(n,i,e)){const t=n.nodeAfter&&e.isSelectable(n.nodeAfter);const o=t?null:e.getNearestSelectionRange(n,"forward");const r=i.nodeBefore&&e.isSelectable(i.nodeBefore);const s=r?null:e.getNearestSelectionRange(i,"backward");const a=o?o.start:n;const c=s?s.end:i;return new qb(a,c)}}const c=s&&!s.is("rootElement");const l=a&&!a.is("rootElement");if(c||l){const t=n.nodeAfter&&i.nodeBefore&&n.nodeAfter.parent===i.nodeBefore.parent;const o=c&&(!t||!Vw(n.nodeAfter,e));const r=l&&(!t||!Vw(i.nodeBefore,e));let d=n;let u=i;if(o){d=Vb._createBefore(zw(s,e))}if(r){u=Vb._createAfter(zw(a,e))}return new qb(d,u)}return null}function zw(t,e){let n=t;let i=n;while(e.isLimit(i)&&i.parent){n=i;i=i.parent}return n}function Ow(t,e,n){const i=t.nodeAfter&&!n.isLimit(t.nodeAfter)||n.checkChild(t,"$text");const o=e.nodeBefore&&!n.isLimit(e.nodeBefore)||n.checkChild(e,"$text");return i||o}function Rw(t){const e=[...t];const n=new Set;let i=1;while(i!n.has(e)));return o}function Vw(t,e){return t&&e.isSelectable(t)}class Fw extends(mt()){constructor(t,e){super();this.model=t;this.view=new Sb(e);this.mapper=new $b;this.downcastDispatcher=new Yb({mapper:this.mapper,schema:t.schema});const n=this.model.document;const i=n.selection;const o=this.model.markers;this.listenTo(this.model,"_beforeChanges",(()=>{this.view._disableRendering(true)}),{priority:"highest"});this.listenTo(this.model,"_afterChanges",(()=>{this.view._disableRendering(false)}),{priority:"lowest"});this.listenTo(n,"change",(()=>{this.view.change((t=>{this.downcastDispatcher.convertChanges(n.differ,o,t);this.downcastDispatcher.convertSelection(i,o,t)}))}),{priority:"low"});this.listenTo(this.view.document,"selectionChange",gw(this.model,this.mapper));this.listenTo(this.view.document,"beforeinput",jw(this.mapper,this.model.schema,this.view),{priority:"high"});this.downcastDispatcher.on("insert:$text",wk(),{priority:"lowest"});this.downcastDispatcher.on("insert",Ak(),{priority:"lowest"});this.downcastDispatcher.on("remove",Ck(),{priority:"low"});this.downcastDispatcher.on("cleanSelection",xk());this.downcastDispatcher.on("selection",vk(),{priority:"low"});this.downcastDispatcher.on("selection",yk(),{priority:"low"});this.view.document.roots.bindTo(this.model.document.roots).using((t=>{if(t.rootName=="$graveyard"){return null}const e=new Rg(this.view.document,t.name);e.rootName=t.rootName;this.mapper.bindElements(t,e);return e}))}destroy(){this.view.destroy();this.stopListening()}reconvertMarker(t){const e=typeof t=="string"?t:t.name;const n=this.model.markers.get(e);if(!n){throw new P("editingcontroller-reconvertmarker-marker-not-exist",this,{markerName:e})}this.model.change((()=>{this.model.markers._refresh(n)}))}reconvertItem(t){this.model.change((()=>{this.model.document.differ._refreshItem(t)}))}}function jw(t,e,n){return(i,o)=>{if(n.document.isComposing&&!l.isAndroid){return}for(let n=0;n{e[0]=new qw(e[0])}),{priority:"highest"});this.on("checkChild",((t,e)=>{e[0]=new qw(e[0]);e[1]=this.getDefinition(e[1])}),{priority:"highest"})}register(t,e){if(this._sourceDefinitions[t]){throw new P("schema-cannot-register-item-twice",this,{itemName:t})}this._sourceDefinitions[t]=[Object.assign({},e)];this._clearCache()}extend(t,e){if(!this._sourceDefinitions[t]){throw new P("schema-cannot-extend-missing-item",this,{itemName:t})}this._sourceDefinitions[t].push(Object.assign({},e));this._clearCache()}getDefinitions(){if(!this._compiledDefinitions){this._compile()}return this._compiledDefinitions}getDefinition(t){let e;if(typeof t=="string"){e=t}else if("is"in t&&(t.is("$text")||t.is("$textProxy"))){e="$text"}else{e=t.name}return this.getDefinitions()[e]}isRegistered(t){return!!this.getDefinition(t)}isBlock(t){const e=this.getDefinition(t);return!!(e&&e.isBlock)}isLimit(t){const e=this.getDefinition(t);if(!e){return false}return!!(e.isLimit||e.isObject)}isObject(t){const e=this.getDefinition(t);if(!e){return false}return!!(e.isObject||e.isLimit&&e.isSelectable&&e.isContent)}isInline(t){const e=this.getDefinition(t);return!!(e&&e.isInline)}isSelectable(t){const e=this.getDefinition(t);if(!e){return false}return!!(e.isSelectable||e.isObject)}isContent(t){const e=this.getDefinition(t);if(!e){return false}return!!(e.isContent||e.isObject)}checkChild(t,e){if(!e){return false}return this._checkContextMatch(e,t)}checkAttribute(t,e){const n=this.getDefinition(t.last);if(!n){return false}return n.allowAttributes.includes(e)}checkMerge(t,e){if(t instanceof Vb){const e=t.nodeBefore;const n=t.nodeAfter;if(!(e instanceof Lb)){throw new P("schema-check-merge-no-element-before",this)}if(!(n instanceof Lb)){throw new P("schema-check-merge-no-element-after",this)}return this.checkMerge(e,n)}for(const n of e.getChildren()){if(!this.checkChild(t,n)){return false}}return true}addChildCheck(t){this.on("checkChild",((e,[n,i])=>{if(!i){return}const o=t(n,i);if(typeof o=="boolean"){e.stop();e.return=o}}),{priority:"high"})}addAttributeCheck(t){this.on("checkAttribute",((e,[n,i])=>{const o=t(n,i);if(typeof o=="boolean"){e.stop();e.return=o}}),{priority:"high"})}setAttributeProperties(t,e){this._attributeProperties[t]=Object.assign(this.getAttributeProperties(t),e)}getAttributeProperties(t){return this._attributeProperties[t]||{}}getLimitElement(t){let e;if(t instanceof Vb){e=t.parent}else{const n=t instanceof qb?[t]:Array.from(t.getRanges());e=n.reduce(((t,e)=>{const n=e.getCommonAncestor();if(!t){return n}return t.getCommonAncestor(n,{includeSelf:true})}),null)}while(!this.isLimit(e)){if(e.parent){e=e.parent}else{break}}return e}checkAttributeInSelection(t,e){if(t.isCollapsed){const n=t.getFirstPosition();const i=[...n.getAncestors(),new Nb("",t.getAttributes())];return this.checkAttribute(i,e)}else{const n=t.getRanges();for(const t of n){for(const n of t){if(this.checkAttribute(n.item,e)){return true}}}}return false}*getValidRanges(t,e){t=lA(t);for(const n of t){yield*this._getValidRangesForRange(n,e)}}getNearestSelectionRange(t,e="both"){if(t.root.rootName=="$graveyard"){return null}if(this.checkChild(t,"$text")){return new qb(t)}let n,i;const o=t.getAncestors().reverse().find((t=>this.isLimit(t)))||t.root;if(e=="both"||e=="backward"){n=new Ob({boundaries:qb._createIn(o),startPosition:t,direction:"backward"})}if(e=="both"||e=="forward"){i=new Ob({boundaries:qb._createIn(o),startPosition:t})}for(const t of cA(n,i)){const e=t.walker==n?"elementEnd":"elementStart";const i=t.value;if(i.type==e&&this.isObject(i.item)){return qb._createOn(i.item)}if(this.checkChild(i.nextPosition,"$text")){return new qb(i.nextPosition)}}return null}findAllowedParent(t,e){let n=t.parent;while(n){if(this.checkChild(n,e)){return n}if(this.isLimit(n)){return null}n=n.parent}return null}setAllowedAttributes(t,e,n){const i=n.model;for(const[o,r]of Object.entries(e)){if(i.schema.checkAttribute(t,o)){n.setAttribute(o,r,t)}}}removeDisallowedAttributes(t,e){for(const n of t){if(n.is("$text")){dA(this,n,e)}else{const t=qb._createIn(n);const i=t.getPositions();for(const t of i){const n=t.nodeBefore||t.parent;dA(this,n,e)}}}}getAttributesWithProperty(t,e,n){const i={};for(const[o,r]of t.getAttributes()){const t=this.getAttributeProperties(o);if(t[e]===undefined){continue}if(n===undefined||n===t[e]){i[o]=r}}return i}createContext(t){return new qw(t)}_clearCache(){this._compiledDefinitions=null}_compile(){const t={};const e=this._sourceDefinitions;const n=Object.keys(e);for(const i of n){t[i]=$w(e[i],i)}for(const e of n){Kw(t,e)}for(const e of n){Zw(t,e)}for(const e of n){Yw(t,e)}for(const e of n){Qw(t,e);Jw(t,e)}for(const e of n){Xw(t,e);tA(t,e);eA(t,e)}this._compiledDefinitions=t}_checkContextMatch(t,e,n=e.length-1){const i=e.getItem(n);if(t.allowIn.includes(i.name)){if(n==0){return true}else{const t=this.getDefinition(i);return this._checkContextMatch(t,e,n-1)}}else{return false}}*_getValidRangesForRange(t,e){let n=t.start;let i=t.start;for(const o of t.getItems({shallow:true})){if(o.is("element")){yield*this._getValidRangesForRange(qb._createIn(o),e)}if(!this.checkAttribute(o,e)){if(!n.isEqual(i)){yield new qb(n,i)}n=Vb._createAfter(o)}i=Vb._createAfter(o)}if(!n.isEqual(i)){yield new qb(n,i)}}}class qw{constructor(t){if(t instanceof qw){return t}let e;if(typeof t=="string"){e=[t]}else if(!Array.isArray(t)){e=t.getAncestors({includeSelf:true})}else{e=t}this._items=e.map(aA)}get length(){return this._items.length}get last(){return this._items[this._items.length-1]}[Symbol.iterator](){return this._items[Symbol.iterator]()}push(t){const e=new qw([t]);e._items=[...this._items,...e._items];return e}getItem(t){return this._items[t]}*getNames(){yield*this._items.map((t=>t.name))}endsWith(t){return Array.from(this.getNames()).join(" ").endsWith(t)}startsWith(t){return Array.from(this.getNames()).join(" ").startsWith(t)}}function $w(t,e){const n={name:e,allowIn:[],allowContentOf:[],allowWhere:[],allowAttributes:[],allowAttributesOf:[],allowChildren:[],inheritTypesFrom:[]};nA(t,n);iA(t,n,"allowIn");iA(t,n,"allowContentOf");iA(t,n,"allowWhere");iA(t,n,"allowAttributes");iA(t,n,"allowAttributesOf");iA(t,n,"allowChildren");iA(t,n,"inheritTypesFrom");oA(t,n);return n}function Kw(t,e){const n=t[e];for(const i of n.allowChildren){const n=t[i];if(!n){continue}n.allowIn.push(e)}n.allowChildren.length=0}function Zw(t,e){for(const n of t[e].allowContentOf){if(t[n]){const i=rA(t,n);i.forEach((t=>{t.allowIn.push(e)}))}}delete t[e].allowContentOf}function Yw(t,e){for(const n of t[e].allowWhere){const i=t[n];if(i){const n=i.allowIn;t[e].allowIn.push(...n)}}delete t[e].allowWhere}function Qw(t,e){for(const n of t[e].allowAttributesOf){const i=t[n];if(i){const n=i.allowAttributes;t[e].allowAttributes.push(...n)}}delete t[e].allowAttributesOf}function Jw(t,e){const n=t[e];for(const e of n.inheritTypesFrom){const i=t[e];if(i){const t=Object.keys(i).filter((t=>t.startsWith("is")));for(const e of t){if(!(e in n)){n[e]=i[e]}}}}delete n.inheritTypesFrom}function Xw(t,e){const n=t[e];const i=n.allowIn.filter((e=>t[e]));n.allowIn=Array.from(new Set(i))}function tA(t,e){const n=t[e];for(const i of n.allowIn){const n=t[i];n.allowChildren.push(e)}}function eA(t,e){const n=t[e];n.allowAttributes=Array.from(new Set(n.allowAttributes))}function nA(t,e){for(const n of t){const t=Object.keys(n).filter((t=>t.startsWith("is")));for(const i of t){e[i]=!!n[i]}}}function iA(t,e,n){for(const i of t){const t=i[n];if(typeof t=="string"){e[n].push(t)}else if(Array.isArray(t)){e[n].push(...t)}}}function oA(t,e){for(const n of t){const t=n.inheritAllFrom;if(t){e.allowContentOf.push(t);e.allowWhere.push(t);e.allowAttributesOf.push(t);e.inheritTypesFrom.push(t)}}}function rA(t,e){const n=t[e];return sA(t).filter((t=>t.allowIn.includes(n.name)))}function sA(t){return Object.keys(t).map((e=>t[e]))}function aA(t){if(typeof t=="string"||t.is("documentFragment")){return{name:typeof t=="string"?t:"$documentFragment",*getAttributeKeys(){},getAttribute(){}}}else{return{name:t.is("element")?t.name:"$text",*getAttributeKeys(){yield*t.getAttributeKeys()},getAttribute(e){return t.getAttribute(e)}}}}function*cA(t,e){let n=false;while(!n){n=true;if(t){const e=t.next();if(!e.done){n=false;yield{walker:t,value:e.value}}}if(e){const t=e.next();if(!t.done){n=false;yield{walker:e,value:t.value}}}}}function*lA(t){for(const e of t){yield*e.getMinimalFlatRanges()}}function dA(t,e,n){for(const i of e.getAttributeKeys()){if(!t.checkAttribute(e,i)){n.removeAttribute(i,e)}}}class uA extends($()){constructor(t){super();this._splitParts=new Map;this._cursorParents=new Map;this._modelCursor=null;this._emptyElementsToKeep=new Set;this.conversionApi={...t,consumable:null,writer:null,store:null,convertItem:(t,e)=>this._convertItem(t,e),convertChildren:(t,e)=>this._convertChildren(t,e),safeInsert:(t,e)=>this._safeInsert(t,e),updateConversionResult:(t,e)=>this._updateConversionResult(t,e),splitToAllowedParent:(t,e)=>this._splitToAllowedParent(t,e),getSplitParts:t=>this._getSplitParts(t),keepEmptyElement:t=>this._keepEmptyElement(t)}}convert(t,e,n=["$root"]){this.fire("viewCleanup",t);this._modelCursor=mA(n,e);this.conversionApi.writer=e;this.conversionApi.consumable=Hw.createFrom(t);this.conversionApi.store={};const{modelRange:i}=this._convertItem(t,this._modelCursor);const o=e.createDocumentFragment();if(i){this._removeEmptyElements();for(const t of Array.from(this._modelCursor.parent.getChildren())){e.append(t,o)}o.markers=hA(o,e)}this._modelCursor=null;this._splitParts.clear();this._cursorParents.clear();this._emptyElementsToKeep.clear();this.conversionApi.writer=null;this.conversionApi.store=null;return o}_convertItem(t,e){const n={viewItem:t,modelCursor:e,modelRange:null};if(t.is("element")){this.fire(`element:${t.name}`,n,this.conversionApi)}else if(t.is("$text")){this.fire("text",n,this.conversionApi)}else{this.fire("documentFragment",n,this.conversionApi)}if(n.modelRange&&!(n.modelRange instanceof qb)){throw new P("view-conversion-dispatcher-incorrect-result",this)}return{modelRange:n.modelRange,modelCursor:n.modelCursor}}_convertChildren(t,e){let n=e.is("position")?e:Vb._createAt(e,0);const i=new qb(n);for(const e of Array.from(t.getChildren())){const t=this._convertItem(e,n);if(t.modelRange instanceof qb){i.end=t.modelRange.end;n=t.modelCursor}}return{modelRange:i,modelCursor:n}}_safeInsert(t,e){const n=this._splitToAllowedParent(t,e);if(!n){return false}this.conversionApi.writer.insert(t,n.position);return true}_updateConversionResult(t,e){const n=this._getSplitParts(t);const i=this.conversionApi.writer;if(!e.modelRange){e.modelRange=i.createRange(i.createPositionBefore(t),i.createPositionAfter(n[n.length-1]))}const o=this._cursorParents.get(t);if(o){e.modelCursor=i.createPositionAt(o,0)}else{e.modelCursor=e.modelRange.end}}_splitToAllowedParent(t,e){const{schema:n,writer:i}=this.conversionApi;let o=n.findAllowedParent(e,t);if(o){if(o===e.parent){return{position:e}}if(this._modelCursor.parent.getAncestors().includes(o)){o=null}}if(!o){if(!lw(e,t,n)){return null}return{position:dw(e,i)}}const r=this.conversionApi.writer.split(e,o);const s=[];for(const t of r.range.getWalker()){if(t.type=="elementEnd"){s.push(t.item)}else{const e=s.pop();const n=t.item;this._registerSplitPair(e,n)}}const a=r.range.end.parent;this._cursorParents.set(t,a);return{position:r.position,cursorParent:a}}_registerSplitPair(t,e){if(!this._splitParts.has(t)){this._splitParts.set(t,[t])}const n=this._splitParts.get(t);this._splitParts.set(e,n);n.push(e)}_getSplitParts(t){let e;if(!this._splitParts.has(t)){e=[t]}else{e=this._splitParts.get(t)}return e}_keepEmptyElement(t){this._emptyElementsToKeep.add(t)}_removeEmptyElements(){let t=false;for(const e of this._splitParts.keys()){if(e.isEmpty&&!this._emptyElementsToKeep.has(e)){this.conversionApi.writer.remove(e);this._splitParts.delete(e);t=true}}if(t){this._removeEmptyElements()}}}function hA(t,e){const n=new Set;const i=new Map;const o=qb._createIn(t).getItems();for(const t of o){if(t.is("element","$marker")){n.add(t)}}for(const t of n){const n=t.getAttribute("data-name");const o=e.createPositionBefore(t);if(!i.has(n)){i.set(n,new qb(o.clone()))}else{i.get(n).end=o.clone()}e.remove(t)}return i}function mA(t,e){let n;for(const i of new qw(t)){const t={};for(const e of i.getAttributeKeys()){t[e]=i.getAttribute(e)}const o=e.createElement(i.name,t);if(n){e.insert(o,n)}n=Vb._createAt(o,0)}return n}class gA{getHtml(t){const e=nc.document.implementation.createHTMLDocument("");const n=e.createElement("div");n.appendChild(t);return n.innerHTML}}class fA{constructor(t){this.skipComments=true;this.domParser=new DOMParser;this.domConverter=new np(t,{renderingMode:"data"});this.htmlWriter=new gA}toData(t){const e=this.domConverter.viewToDom(t);return this.htmlWriter.getHtml(e)}toView(t){const e=this._toDom(t);return this.domConverter.domToView(e,{skipComments:this.skipComments})}registerRawContentMatcher(t){this.domConverter.registerRawContentMatcher(t)}useFillerType(t){this.domConverter.blockFillerMode=t=="marked"?"markedNbsp":"nbsp"}_toDom(t){if(!t.match(/<(?:html|body|head|meta)(?:\s[^>]*)?>/i)){t=`${t}`}const e=this.domParser.parseFromString(t,"text/html");const n=e.createDocumentFragment();const i=e.body.childNodes;while(i.length>0){n.appendChild(i[0])}return n}}class pA extends($()){constructor(t,e){super();this.model=t;this.mapper=new $b;this.downcastDispatcher=new Yb({mapper:this.mapper,schema:t.schema});this.downcastDispatcher.on("insert:$text",wk(),{priority:"lowest"});this.downcastDispatcher.on("insert",Ak(),{priority:"lowest"});this.upcastDispatcher=new uA({schema:t.schema});this.viewDocument=new Xg(e);this.stylesProcessor=e;this.htmlProcessor=new fA(this.viewDocument);this.processor=this.htmlProcessor;this._viewWriter=new ff(this.viewDocument);this.upcastDispatcher.on("text",mw(),{priority:"lowest"});this.upcastDispatcher.on("element",hw(),{priority:"lowest"});this.upcastDispatcher.on("documentFragment",hw(),{priority:"lowest"});mt().prototype.decorate.call(this,"init");mt().prototype.decorate.call(this,"set");mt().prototype.decorate.call(this,"get");mt().prototype.decorate.call(this,"toView");mt().prototype.decorate.call(this,"toModel");this.on("init",(()=>{this.fire("ready")}),{priority:"lowest"});this.on("ready",(()=>{this.model.enqueueChange({isUndoable:false},cw)}),{priority:"lowest"})}get(t={}){const{rootName:e="main",trim:n="empty"}=t;if(!this._checkIfRootsExists([e])){throw new P("datacontroller-get-non-existent-root",this)}const i=this.model.document.getRoot(e);if(!i.isAttached()){L("datacontroller-get-detached-root",this)}if(n==="empty"&&!this.model.hasContent(i,{ignoreWhitespaces:true})){return""}return this.stringify(i,t)}stringify(t,e={}){const n=this.toView(t,e);return this.processor.toData(n)}toView(t,e={}){const n=this.viewDocument;const i=this._viewWriter;this.mapper.clearBindings();const o=qb._createIn(t);const r=new mf(n);this.mapper.bindElements(t,r);const s=t.is("documentFragment")?t.markers:bA(t);this.downcastDispatcher.convert(o,s,i,e);return r}init(t){if(this.model.document.version){throw new P("datacontroller-init-document-not-empty",this)}let e={};if(typeof t==="string"){e.main=t}else{e=t}if(!this._checkIfRootsExists(Object.keys(e))){throw new P("datacontroller-init-non-existent-root",this)}this.model.enqueueChange({isUndoable:false},(t=>{for(const n of Object.keys(e)){const i=this.model.document.getRoot(n);t.insert(this.parse(e[n],i),i,0)}}));return Promise.resolve()}set(t,e={}){let n={};if(typeof t==="string"){n.main=t}else{n=t}if(!this._checkIfRootsExists(Object.keys(n))){throw new P("datacontroller-set-non-existent-root",this)}this.model.enqueueChange(e.batchType||{},(t=>{t.setSelection(null);t.removeSelectionAttribute(this.model.document.selection.getAttributeKeys());for(const e of Object.keys(n)){const i=this.model.document.getRoot(e);t.remove(t.createRangeIn(i));t.insert(this.parse(n[e],i),i,0)}}))}parse(t,e="$root"){const n=this.processor.toView(t);return this.toModel(n,e)}toModel(t,e="$root"){return this.model.change((n=>this.upcastDispatcher.convert(t,n,e)))}addStyleProcessorRules(t){t(this.stylesProcessor)}registerRawContentMatcher(t){if(this.processor&&this.processor!==this.htmlProcessor){this.processor.registerRawContentMatcher(t)}this.htmlProcessor.registerRawContentMatcher(t)}destroy(){this.stopListening()}_checkIfRootsExists(t){for(const e of t){if(!this.model.document.getRoot(e)){return false}}return true}}function bA(t){const e=[];const n=t.root.document;if(!n){return new Map}const i=qb._createIn(t);for(const t of n.model.markers){const n=t.getRange();const o=n.isCollapsed;const r=n.start.isEqual(i.start)||n.end.isEqual(i.end);if(o&&r){e.push([t.name,n])}else{const o=i.getIntersection(n);if(o){e.push([t.name,o])}}}e.sort((([t,e],[n,i])=>{if(e.end.compareWith(i.start)!=="after"){return 1}else if(e.start.compareWith(i.end)!=="before"){return-1}else{switch(e.start.compareWith(i.start)){case"before":return 1;case"after":return-1;default:switch(e.end.compareWith(i.end)){case"before":return 1;case"after":return-1;default:return n.localeCompare(t)}}}}));return new Map(e)}class kA{constructor(t,e){this._helpers=new Map;this._downcast=il(t);this._createConversionHelpers({name:"downcast",dispatchers:this._downcast,isDowncast:true});this._upcast=il(e);this._createConversionHelpers({name:"upcast",dispatchers:this._upcast,isDowncast:false})}addAlias(t,e){const n=this._downcast.includes(e);const i=this._upcast.includes(e);if(!i&&!n){throw new P("conversion-add-alias-dispatcher-not-registered",this)}this._createConversionHelpers({name:t,dispatchers:[e],isDowncast:n})}for(t){if(!this._helpers.has(t)){throw new P("conversion-for-unknown-group",this)}return this._helpers.get(t)}elementToElement(t){this.for("downcast").elementToElement(t);for(const{model:e,view:n}of wA(t)){this.for("upcast").elementToElement({model:e,view:n,converterPriority:t.converterPriority})}}attributeToElement(t){this.for("downcast").attributeToElement(t);for(const{model:e,view:n}of wA(t)){this.for("upcast").elementToAttribute({view:n,model:e,converterPriority:t.converterPriority})}}attributeToAttribute(t){this.for("downcast").attributeToAttribute(t);for(const{model:e,view:n}of wA(t)){this.for("upcast").attributeToAttribute({view:n,model:e})}}_createConversionHelpers({name:t,dispatchers:e,isDowncast:n}){if(this._helpers.has(t)){throw new P("conversion-group-exists",this)}const i=n?new kk(e):new uw(e);this._helpers.set(t,i)}}function*wA(t){if(t.model.values){for(const e of t.model.values){const n={key:t.model.key,value:e};const i=t.view[e];const o=t.upcastAlso?t.upcastAlso[e]:undefined;yield*AA(n,i,o)}}else{yield*AA(t.model,t.view,t.upcastAlso)}}function*AA(t,e,n){yield{model:t,view:e};if(n){for(const e of il(n)){yield{model:t,view:e}}}}class CA{constructor(t){this.baseVersion=t;this.isDocumentOperation=this.baseVersion!==null;this.batch=null}_validate(){}toJSON(){const t=Object.assign({},this);t.__className=this.constructor.className;delete t.batch;delete t.isDocumentOperation;return t}static get className(){return"Operation"}static fromJSON(t,e){return new this(t.baseVersion)}}function _A(t,e){const n=EA(e);const i=n.reduce(((t,e)=>t+e.offsetSize),0);const o=t.parent;TA(t);const r=t.index;o._insertChild(r,n);DA(o,r+n.length);DA(o,r);return new qb(t,t.getShiftedBy(i))}function vA(t){if(!t.isFlat){throw new P("operation-utils-remove-range-not-flat",this)}const e=t.start.parent;TA(t.start);TA(t.end);const n=e._removeChildren(t.start.index,t.end.index-t.start.index);DA(e,t.start.index);return n}function yA(t,e){if(!t.isFlat){throw new P("operation-utils-move-range-not-flat",this)}const n=vA(t);e=e._getTransformedByDeletion(t.start,t.end.offset-t.start.offset);return _A(e,n)}function xA(t,e,n){TA(t.start);TA(t.end);for(const i of t.getItems({shallow:true})){const t=i.is("$textProxy")?i.textNode:i;if(n!==null){t._setAttribute(e,n)}else{t._removeAttribute(e)}DA(t.parent,t.index)}DA(t.end.parent,t.end.index)}function EA(t){const e=[];function n(t){if(typeof t=="string"){e.push(new Nb(t))}else if(t instanceof Pb){e.push(new Nb(t.data,t.getAttributes()))}else if(t instanceof Bb){e.push(t)}else if(Dt(t)){for(const e of t){n(e)}}else{const e=t}}n(t);for(let t=1;tt.maxOffset){throw new P("move-operation-nodes-do-not-exist",this)}else if(t===e&&n=n&&this.targetPosition.path[t]t._clone(true))));const e=new BA(this.position,t,this.baseVersion);e.shouldReceiveAttributes=this.shouldReceiveAttributes;return e}getReversed(){const t=this.position.root.document.graveyard;const e=new Vb(t,[0]);return new IA(this.position,this.nodes.maxOffset,e,this.baseVersion+1)}_validate(){const t=this.position.parent;if(!t||t.maxOffsett._clone(true))));_A(this.position,t)}toJSON(){const t=super.toJSON();t.position=this.position.toJSON();t.nodes=this.nodes.toJSON();return t}static get className(){return"InsertOperation"}static fromJSON(t,e){const n=[];for(const e of t.nodes){if(e.name){n.push(Lb.fromJSON(e))}else{n.push(Nb.fromJSON(e))}}const i=new BA(Vb.fromJSON(t.position,e),n,t.baseVersion);i.shouldReceiveAttributes=t.shouldReceiveAttributes;return i}}class MA extends CA{constructor(t,e,n,i,o){super(o);this.splitPosition=t.clone();this.splitPosition.stickiness="toNext";this.howMany=e;this.insertionPosition=n;this.graveyardPosition=i?i.clone():null;if(this.graveyardPosition){this.graveyardPosition.stickiness="toNext"}}get type(){return"split"}get moveTargetPosition(){const t=this.insertionPosition.path.slice();t.push(0);return new Vb(this.insertionPosition.root,t)}get movedRange(){const t=this.splitPosition.getShiftedBy(Number.POSITIVE_INFINITY);return new qb(this.splitPosition,t)}get affectedSelectable(){const t=[qb._createFromPositionAndShift(this.splitPosition,0),qb._createFromPositionAndShift(this.insertionPosition,0)];if(this.graveyardPosition){t.push(qb._createFromPositionAndShift(this.graveyardPosition,0))}return t}clone(){return new MA(this.splitPosition,this.howMany,this.insertionPosition,this.graveyardPosition,this.baseVersion)}getReversed(){const t=this.splitPosition.root.document.graveyard;const e=new Vb(t,[0]);return new NA(this.moveTargetPosition,this.howMany,this.splitPosition,e,this.baseVersion+1)}_validate(){const t=this.splitPosition.parent;const e=this.splitPosition.offset;if(!t||t.maxOffset{if(t.key===e.key&&t.range.start.hasSameParentAs(e.range.start)){const i=t.range.getDifference(e.range).map((e=>new OA(e,t.key,t.oldValue,t.newValue,0)));const o=t.range.getIntersection(e.range);if(o){if(n.aIsStrong){i.push(new OA(o,e.key,e.newValue,t.newValue,0))}}if(i.length==0){return[new RA(0)]}return i}else{return[t]}}));GA(OA,BA,((t,e)=>{if(t.range.start.hasSameParentAs(e.position)&&t.range.containsPosition(e.position)){const n=t.range._getTransformedByInsertion(e.position,e.howMany,!e.shouldReceiveAttributes);const i=n.map((e=>new OA(e,t.key,t.oldValue,t.newValue,t.baseVersion)));if(e.shouldReceiveAttributes){const n=XA(e,t.key,t.oldValue);if(n){i.unshift(n)}}return i}t.range=t.range._getTransformedByInsertion(e.position,e.howMany,false)[0];return[t]}));function XA(t,e,n){const i=t.nodes;const o=i.getNode(0).getAttribute(e);if(o==n){return null}const r=new qb(t.position,t.position.getShiftedBy(t.howMany));return new OA(r,e,o,n,0)}GA(OA,NA,((t,e)=>{const n=[];if(t.range.start.hasSameParentAs(e.deletionPosition)){if(t.range.containsPosition(e.deletionPosition)||t.range.start.isEqual(e.deletionPosition)){n.push(qb._createFromPositionAndShift(e.graveyardPosition,1))}}const i=t.range._getTransformedByMergeOperation(e);if(!i.isCollapsed){n.push(i)}return n.map((e=>new OA(e,t.key,t.oldValue,t.newValue,t.baseVersion)))}));GA(OA,IA,((t,e)=>{const n=tC(t.range,e);return n.map((e=>new OA(e,t.key,t.oldValue,t.newValue,t.baseVersion)))}));function tC(t,e){const n=qb._createFromPositionAndShift(e.sourcePosition,e.howMany);let i=null;let o=[];if(n.containsRange(t,true)){i=t}else if(t.start.hasSameParentAs(n.start)){o=t.getDifference(n);i=t.getIntersection(n)}else{o=[t]}const r=[];for(let t of o){t=t._getTransformedByDeletion(e.sourcePosition,e.howMany);const n=e.getMovedRangeStart();const i=t.start.hasSameParentAs(n);const o=t._getTransformedByInsertion(n,e.howMany,i);r.push(...o)}if(i){r.push(i._getTransformedByMove(e.sourcePosition,e.targetPosition,e.howMany,false)[0])}return r}GA(OA,MA,((t,e)=>{if(t.range.end.isEqual(e.insertionPosition)){if(!e.graveyardPosition){t.range.end.offset++}return[t]}if(t.range.start.hasSameParentAs(e.splitPosition)&&t.range.containsPosition(e.splitPosition)){const n=t.clone();n.range=new qb(e.moveTargetPosition.clone(),t.range.end._getCombined(e.splitPosition,e.moveTargetPosition));t.range.end=e.splitPosition.clone();t.range.end.stickiness="toPrevious";return[t,n]}t.range=t.range._getTransformedBySplitOperation(e);return[t]}));GA(BA,OA,((t,e)=>{const n=[t];if(t.shouldReceiveAttributes&&t.position.hasSameParentAs(e.range.start)&&e.range.containsPosition(t.position)){const i=XA(t,e.key,e.newValue);if(i){n.push(i)}}return n}));GA(BA,BA,((t,e,n)=>{if(t.position.isEqual(e.position)&&n.aIsStrong){return[t]}t.position=t.position._getTransformedByInsertOperation(e);return[t]}));GA(BA,IA,((t,e)=>{t.position=t.position._getTransformedByMoveOperation(e);return[t]}));GA(BA,MA,((t,e)=>{t.position=t.position._getTransformedBySplitOperation(e);return[t]}));GA(BA,NA,((t,e)=>{t.position=t.position._getTransformedByMergeOperation(e);return[t]}));GA(PA,BA,((t,e)=>{if(t.oldRange){t.oldRange=t.oldRange._getTransformedByInsertOperation(e)[0]}if(t.newRange){t.newRange=t.newRange._getTransformedByInsertOperation(e)[0]}return[t]}));GA(PA,PA,((t,e,n)=>{if(t.name==e.name){if(n.aIsStrong){t.oldRange=e.newRange?e.newRange.clone():null}else{return[new RA(0)]}}return[t]}));GA(PA,NA,((t,e)=>{if(t.oldRange){t.oldRange=t.oldRange._getTransformedByMergeOperation(e)}if(t.newRange){t.newRange=t.newRange._getTransformedByMergeOperation(e)}return[t]}));GA(PA,IA,((t,e,n)=>{if(t.oldRange){t.oldRange=qb._createFromRanges(t.oldRange._getTransformedByMoveOperation(e))}if(t.newRange){if(n.abRelation){const i=qb._createFromRanges(t.newRange._getTransformedByMoveOperation(e));if(n.abRelation.side=="left"&&e.targetPosition.isEqual(t.newRange.start)){t.newRange.end=i.end;t.newRange.start.path=n.abRelation.path;return[t]}else if(n.abRelation.side=="right"&&e.targetPosition.isEqual(t.newRange.end)){t.newRange.start=i.start;t.newRange.end.path=n.abRelation.path;return[t]}}t.newRange=qb._createFromRanges(t.newRange._getTransformedByMoveOperation(e))}return[t]}));GA(PA,MA,((t,e,n)=>{if(t.oldRange){t.oldRange=t.oldRange._getTransformedBySplitOperation(e)}if(t.newRange){if(n.abRelation){const i=t.newRange._getTransformedBySplitOperation(e);if(t.newRange.start.isEqual(e.splitPosition)&&n.abRelation.wasStartBeforeMergedElement){t.newRange.start=Vb._createAt(e.insertionPosition)}else if(t.newRange.start.isEqual(e.splitPosition)&&!n.abRelation.wasInLeftElement){t.newRange.start=Vb._createAt(e.moveTargetPosition)}if(t.newRange.end.isEqual(e.splitPosition)&&n.abRelation.wasInRightElement){t.newRange.end=Vb._createAt(e.moveTargetPosition)}else if(t.newRange.end.isEqual(e.splitPosition)&&n.abRelation.wasEndBeforeMergedElement){t.newRange.end=Vb._createAt(e.insertionPosition)}else{t.newRange.end=i.end}return[t]}t.newRange=t.newRange._getTransformedBySplitOperation(e)}return[t]}));GA(NA,BA,((t,e)=>{if(t.sourcePosition.hasSameParentAs(e.position)){t.howMany+=e.howMany}t.sourcePosition=t.sourcePosition._getTransformedByInsertOperation(e);t.targetPosition=t.targetPosition._getTransformedByInsertOperation(e);return[t]}));GA(NA,NA,((t,e,n)=>{if(t.sourcePosition.isEqual(e.sourcePosition)&&t.targetPosition.isEqual(e.targetPosition)){if(!n.bWasUndone){return[new RA(0)]}else{const n=e.graveyardPosition.path.slice();n.push(0);t.sourcePosition=new Vb(e.graveyardPosition.root,n);t.howMany=0;return[t]}}if(t.sourcePosition.isEqual(e.sourcePosition)&&!t.targetPosition.isEqual(e.targetPosition)&&!n.bWasUndone&&n.abRelation!="splitAtSource"){const i=t.targetPosition.root.rootName=="$graveyard";const o=e.targetPosition.root.rootName=="$graveyard";const r=i&&!o;const s=o&&!i;const a=s||!r&&n.aIsStrong;if(a){const n=e.targetPosition._getTransformedByMergeOperation(e);const i=t.targetPosition._getTransformedByMergeOperation(e);return[new IA(n,t.howMany,i,0)]}else{return[new RA(0)]}}if(t.sourcePosition.hasSameParentAs(e.targetPosition)){t.howMany+=e.howMany}t.sourcePosition=t.sourcePosition._getTransformedByMergeOperation(e);t.targetPosition=t.targetPosition._getTransformedByMergeOperation(e);if(!t.graveyardPosition.isEqual(e.graveyardPosition)||!n.aIsStrong){t.graveyardPosition=t.graveyardPosition._getTransformedByMergeOperation(e)}return[t]}));GA(NA,IA,((t,e,n)=>{const i=qb._createFromPositionAndShift(e.sourcePosition,e.howMany);if(e.type=="remove"&&!n.bWasUndone&&!n.forceWeakRemove){if(t.deletionPosition.hasSameParentAs(e.sourcePosition)&&i.containsPosition(t.sourcePosition)){return[new RA(0)]}}if(t.sourcePosition.hasSameParentAs(e.targetPosition)){t.howMany+=e.howMany}if(t.sourcePosition.hasSameParentAs(e.sourcePosition)){t.howMany-=e.howMany}t.sourcePosition=t.sourcePosition._getTransformedByMoveOperation(e);t.targetPosition=t.targetPosition._getTransformedByMoveOperation(e);if(!t.graveyardPosition.isEqual(e.targetPosition)){t.graveyardPosition=t.graveyardPosition._getTransformedByMoveOperation(e)}return[t]}));GA(NA,MA,((t,e,n)=>{if(e.graveyardPosition){t.graveyardPosition=t.graveyardPosition._getTransformedByDeletion(e.graveyardPosition,1);if(t.deletionPosition.isEqual(e.graveyardPosition)){t.howMany=e.howMany}}if(t.targetPosition.isEqual(e.splitPosition)){const i=e.howMany!=0;const o=e.graveyardPosition&&t.deletionPosition.isEqual(e.graveyardPosition);if(i||o||n.abRelation=="mergeTargetNotMoved"){t.sourcePosition=t.sourcePosition._getTransformedBySplitOperation(e);return[t]}}if(t.sourcePosition.isEqual(e.splitPosition)){if(n.abRelation=="mergeSourceNotMoved"){t.howMany=0;t.targetPosition=t.targetPosition._getTransformedBySplitOperation(e);return[t]}if(n.abRelation=="mergeSameElement"||t.sourcePosition.offset>0){t.sourcePosition=e.moveTargetPosition.clone();t.targetPosition=t.targetPosition._getTransformedBySplitOperation(e);return[t]}}if(t.sourcePosition.hasSameParentAs(e.splitPosition)){t.howMany=e.splitPosition.offset}t.sourcePosition=t.sourcePosition._getTransformedBySplitOperation(e);t.targetPosition=t.targetPosition._getTransformedBySplitOperation(e);return[t]}));GA(IA,BA,((t,e)=>{const n=qb._createFromPositionAndShift(t.sourcePosition,t.howMany);const i=n._getTransformedByInsertOperation(e,false)[0];t.sourcePosition=i.start;t.howMany=i.end.offset-i.start.offset;if(!t.targetPosition.isEqual(e.position)){t.targetPosition=t.targetPosition._getTransformedByInsertOperation(e)}return[t]}));GA(IA,IA,((t,e,n)=>{const i=qb._createFromPositionAndShift(t.sourcePosition,t.howMany);const o=qb._createFromPositionAndShift(e.sourcePosition,e.howMany);let r=n.aIsStrong;let s=!n.aIsStrong;if(n.abRelation=="insertBefore"||n.baRelation=="insertAfter"){s=true}else if(n.abRelation=="insertAfter"||n.baRelation=="insertBefore"){s=false}let a;if(t.targetPosition.isEqual(e.targetPosition)&&s){a=t.targetPosition._getTransformedByDeletion(e.sourcePosition,e.howMany)}else{a=t.targetPosition._getTransformedByMove(e.sourcePosition,e.targetPosition,e.howMany)}if(eC(t,e)&&eC(e,t)){return[e.getReversed()]}const c=i.containsPosition(e.targetPosition);if(c&&i.containsRange(o,true)){i.start=i.start._getTransformedByMove(e.sourcePosition,e.targetPosition,e.howMany);i.end=i.end._getTransformedByMove(e.sourcePosition,e.targetPosition,e.howMany);return nC([i],a)}const l=o.containsPosition(t.targetPosition);if(l&&o.containsRange(i,true)){i.start=i.start._getCombined(e.sourcePosition,e.getMovedRangeStart());i.end=i.end._getCombined(e.sourcePosition,e.getMovedRangeStart());return nC([i],a)}const d=Et(t.sourcePosition.getParentPath(),e.sourcePosition.getParentPath());if(d=="prefix"||d=="extension"){i.start=i.start._getTransformedByMove(e.sourcePosition,e.targetPosition,e.howMany);i.end=i.end._getTransformedByMove(e.sourcePosition,e.targetPosition,e.howMany);return nC([i],a)}if(t.type=="remove"&&e.type!="remove"&&!n.aWasUndone&&!n.forceWeakRemove){r=true}else if(t.type!="remove"&&e.type=="remove"&&!n.bWasUndone&&!n.forceWeakRemove){r=false}const u=[];const h=i.getDifference(o);for(const t of h){t.start=t.start._getTransformedByDeletion(e.sourcePosition,e.howMany);t.end=t.end._getTransformedByDeletion(e.sourcePosition,e.howMany);const n=Et(t.start.getParentPath(),e.getMovedRangeStart().getParentPath())=="same";const i=t._getTransformedByInsertion(e.getMovedRangeStart(),e.howMany,n);u.push(...i)}const m=i.getIntersection(o);if(m!==null&&r){m.start=m.start._getCombined(e.sourcePosition,e.getMovedRangeStart());m.end=m.end._getCombined(e.sourcePosition,e.getMovedRangeStart());if(u.length===0){u.push(m)}else if(u.length==1){if(o.start.isBefore(i.start)||o.start.isEqual(i.start)){u.unshift(m)}else{u.push(m)}}else{u.splice(1,0,m)}}if(u.length===0){return[new RA(t.baseVersion)]}return nC(u,a)}));GA(IA,MA,((t,e,n)=>{let i=t.targetPosition.clone();if(!t.targetPosition.isEqual(e.insertionPosition)||!e.graveyardPosition||n.abRelation=="moveTargetAfter"){i=t.targetPosition._getTransformedBySplitOperation(e)}const o=qb._createFromPositionAndShift(t.sourcePosition,t.howMany);if(o.end.isEqual(e.insertionPosition)){if(!e.graveyardPosition){t.howMany++}t.targetPosition=i;return[t]}if(o.start.hasSameParentAs(e.splitPosition)&&o.containsPosition(e.splitPosition)){let t=new qb(e.splitPosition,o.end);t=t._getTransformedBySplitOperation(e);const n=[new qb(o.start,e.splitPosition),t];return nC(n,i)}if(t.targetPosition.isEqual(e.splitPosition)&&n.abRelation=="insertAtSource"){i=e.moveTargetPosition}if(t.targetPosition.isEqual(e.insertionPosition)&&n.abRelation=="insertBetween"){i=t.targetPosition}const r=o._getTransformedBySplitOperation(e);const s=[r];if(e.graveyardPosition){const i=o.start.isEqual(e.graveyardPosition)||o.containsPosition(e.graveyardPosition);if(t.howMany>1&&i&&!n.aWasUndone){s.push(qb._createFromPositionAndShift(e.insertionPosition,1))}}return nC(s,i)}));GA(IA,NA,((t,e,n)=>{const i=qb._createFromPositionAndShift(t.sourcePosition,t.howMany);if(e.deletionPosition.hasSameParentAs(t.sourcePosition)&&i.containsPosition(e.sourcePosition)){if(t.type=="remove"&&!n.forceWeakRemove){if(!n.aWasUndone){const n=[];let i=e.graveyardPosition.clone();let o=e.targetPosition._getTransformedByMergeOperation(e);if(t.howMany>1){n.push(new IA(t.sourcePosition,t.howMany-1,t.targetPosition,0));i=i._getTransformedByMove(t.sourcePosition,t.targetPosition,t.howMany-1);o=o._getTransformedByMove(t.sourcePosition,t.targetPosition,t.howMany-1)}const r=e.deletionPosition._getCombined(t.sourcePosition,t.targetPosition);const s=new IA(i,1,r,0);const a=s.getMovedRangeStart().path.slice();a.push(0);const c=new Vb(s.targetPosition.root,a);o=o._getTransformedByMove(i,r,1);const l=new IA(o,e.howMany,c,0);n.push(s);n.push(l);return n}}else{if(t.howMany==1){if(!n.bWasUndone){return[new RA(0)]}else{t.sourcePosition=e.graveyardPosition.clone();t.targetPosition=t.targetPosition._getTransformedByMergeOperation(e);return[t]}}}}const o=qb._createFromPositionAndShift(t.sourcePosition,t.howMany);const r=o._getTransformedByMergeOperation(e);t.sourcePosition=r.start;t.howMany=r.end.offset-r.start.offset;t.targetPosition=t.targetPosition._getTransformedByMergeOperation(e);return[t]}));GA(VA,BA,((t,e)=>{t.position=t.position._getTransformedByInsertOperation(e);return[t]}));GA(VA,NA,((t,e)=>{if(t.position.isEqual(e.deletionPosition)){t.position=e.graveyardPosition.clone();t.position.stickiness="toNext";return[t]}t.position=t.position._getTransformedByMergeOperation(e);return[t]}));GA(VA,IA,((t,e)=>{t.position=t.position._getTransformedByMoveOperation(e);return[t]}));GA(VA,VA,((t,e,n)=>{if(t.position.isEqual(e.position)){if(n.aIsStrong){t.oldName=e.newName}else{return[new RA(0)]}}return[t]}));GA(VA,MA,((t,e)=>{const n=t.position.path;const i=e.splitPosition.getParentPath();if(Et(n,i)=="same"&&!e.graveyardPosition){const e=new VA(t.position.getShiftedBy(1),t.oldName,t.newName,0);return[t,e]}t.position=t.position._getTransformedBySplitOperation(e);return[t]}));GA(FA,FA,((t,e,n)=>{if(t.root===e.root&&t.key===e.key){if(!n.aIsStrong||t.newValue===e.newValue){return[new RA(0)]}else{t.oldValue=e.newValue}}return[t]}));GA(jA,jA,((t,e)=>{if(t.rootName===e.rootName&&t.isAdd===e.isAdd){return[new RA(0)]}return[t]}));GA(MA,BA,((t,e)=>{if(t.splitPosition.hasSameParentAs(e.position)&&t.splitPosition.offset{if(!t.graveyardPosition&&!n.bWasUndone&&t.splitPosition.hasSameParentAs(e.sourcePosition)){const n=e.graveyardPosition.path.slice();n.push(0);const i=new Vb(e.graveyardPosition.root,n);const o=MA.getInsertionPosition(new Vb(e.graveyardPosition.root,n));const r=new MA(i,0,o,null,0);t.splitPosition=t.splitPosition._getTransformedByMergeOperation(e);t.insertionPosition=MA.getInsertionPosition(t.splitPosition);t.graveyardPosition=r.insertionPosition.clone();t.graveyardPosition.stickiness="toNext";return[r,t]}if(t.splitPosition.hasSameParentAs(e.deletionPosition)&&!t.splitPosition.isAfter(e.deletionPosition)){t.howMany--}if(t.splitPosition.hasSameParentAs(e.targetPosition)){t.howMany+=e.howMany}t.splitPosition=t.splitPosition._getTransformedByMergeOperation(e);t.insertionPosition=MA.getInsertionPosition(t.splitPosition);if(t.graveyardPosition){t.graveyardPosition=t.graveyardPosition._getTransformedByMergeOperation(e)}return[t]}));GA(MA,IA,((t,e,n)=>{const i=qb._createFromPositionAndShift(e.sourcePosition,e.howMany);if(t.graveyardPosition){const o=i.start.isEqual(t.graveyardPosition)||i.containsPosition(t.graveyardPosition);if(!n.bWasUndone&&o){const n=t.splitPosition._getTransformedByMoveOperation(e);const i=t.graveyardPosition._getTransformedByMoveOperation(e);const o=i.path.slice();o.push(0);const r=new Vb(i.root,o);const s=new IA(n,t.howMany,r,0);return[s]}t.graveyardPosition=t.graveyardPosition._getTransformedByMoveOperation(e)}const o=t.splitPosition.isEqual(e.targetPosition);if(o&&(n.baRelation=="insertAtSource"||n.abRelation=="splitBefore")){t.howMany+=e.howMany;t.splitPosition=t.splitPosition._getTransformedByDeletion(e.sourcePosition,e.howMany);t.insertionPosition=MA.getInsertionPosition(t.splitPosition);return[t]}if(o&&n.abRelation&&n.abRelation.howMany){const{howMany:e,offset:i}=n.abRelation;t.howMany+=e;t.splitPosition=t.splitPosition.getShiftedBy(i);return[t]}if(t.splitPosition.hasSameParentAs(e.sourcePosition)&&i.containsPosition(t.splitPosition)){const n=e.howMany-(t.splitPosition.offset-e.sourcePosition.offset);t.howMany-=n;if(t.splitPosition.hasSameParentAs(e.targetPosition)&&t.splitPosition.offset{if(t.splitPosition.isEqual(e.splitPosition)){if(!t.graveyardPosition&&!e.graveyardPosition){return[new RA(0)]}if(t.graveyardPosition&&e.graveyardPosition&&t.graveyardPosition.isEqual(e.graveyardPosition)){return[new RA(0)]}if(n.abRelation=="splitBefore"){t.howMany=0;t.graveyardPosition=t.graveyardPosition._getTransformedBySplitOperation(e);return[t]}}if(t.graveyardPosition&&e.graveyardPosition&&t.graveyardPosition.isEqual(e.graveyardPosition)){const i=t.splitPosition.root.rootName=="$graveyard";const o=e.splitPosition.root.rootName=="$graveyard";const r=i&&!o;const s=o&&!i;const a=s||!r&&n.aIsStrong;if(a){const n=[];if(e.howMany){n.push(new IA(e.moveTargetPosition,e.howMany,e.splitPosition,0))}if(t.howMany){n.push(new IA(t.splitPosition,t.howMany,t.moveTargetPosition,0))}return n}else{return[new RA(0)]}}if(t.graveyardPosition){t.graveyardPosition=t.graveyardPosition._getTransformedBySplitOperation(e)}if(t.splitPosition.isEqual(e.insertionPosition)&&n.abRelation=="splitBefore"){t.howMany++;return[t]}if(e.splitPosition.isEqual(t.insertionPosition)&&n.baRelation=="splitBefore"){const n=e.insertionPosition.path.slice();n.push(0);const i=new Vb(e.insertionPosition.root,n);const o=new IA(t.insertionPosition,1,i,0);return[t,o]}if(t.splitPosition.hasSameParentAs(e.splitPosition)&&t.splitPosition.offset{const n=e[0];if(!n.isDocumentOperation){return}rC.call(this,n)}),{priority:"low"})}function rC(t){const e=this.getTransformedByOperation(t);if(!this.isEqual(e)){const t=this.toPosition();this.path=e.path;this.root=e.root;this.fire("change",t)}}class sC{constructor(t={}){if(typeof t==="string"){t=t==="transparent"?{isUndoable:false}:{};L("batch-constructor-deprecated-string-type")}const{isUndoable:e=true,isLocal:n=true,isUndo:i=false,isTyping:o=false}=t;this.operations=[];this.isUndoable=e;this.isLocal=n;this.isUndo=i;this.isTyping=o}get type(){L("batch-type-deprecated");return"default"}get baseVersion(){for(const t of this.operations){if(t.baseVersion!==null){return t.baseVersion}}return null}addOperation(t){t.batch=this;this.operations.push(t);return t}}class aC{constructor(t){this._changesInElement=new Map;this._elementSnapshots=new Map;this._changedMarkers=new Map;this._changedRoots=new Map;this._changeCount=0;this._cachedChanges=null;this._cachedChangesWithGraveyard=null;this._refreshedItems=new Set;this._markerCollection=t}get isEmpty(){return this._changesInElement.size==0&&this._changedMarkers.size==0&&this._changedRoots.size==0}bufferOperation(t){const e=t;switch(e.type){case"insert":{if(this._isInInsertedElement(e.position.parent)){return}this._markInsert(e.position.parent,e.position.offset,e.nodes.maxOffset);break}case"addAttribute":case"removeAttribute":case"changeAttribute":{for(const t of e.range.getItems({shallow:true})){if(this._isInInsertedElement(t.parent)){continue}this._markAttribute(t)}break}case"remove":case"move":case"reinsert":{if(e.sourcePosition.isEqual(e.targetPosition)||e.sourcePosition.getShiftedBy(e.howMany).isEqual(e.targetPosition)){return}const t=this._isInInsertedElement(e.sourcePosition.parent);const n=this._isInInsertedElement(e.targetPosition.parent);if(!t){this._markRemove(e.sourcePosition.parent,e.sourcePosition.offset,e.howMany)}if(!n){this._markInsert(e.targetPosition.parent,e.getMovedRangeStart().offset,e.howMany)}break}case"rename":{if(this._isInInsertedElement(e.position.parent)){return}this._markRemove(e.position.parent,e.position.offset,1);this._markInsert(e.position.parent,e.position.offset,1);const t=qb._createFromPositionAndShift(e.position,1);for(const e of this._markerCollection.getMarkersIntersectingRange(t)){const t=e.getData();this.bufferMarkerChange(e.name,t,t)}break}case"split":{const t=e.splitPosition.parent;if(!this._isInInsertedElement(t)){this._markRemove(t,e.splitPosition.offset,e.howMany)}if(!this._isInInsertedElement(e.insertionPosition.parent)){this._markInsert(e.insertionPosition.parent,e.insertionPosition.offset,1)}if(e.graveyardPosition){this._markRemove(e.graveyardPosition.parent,e.graveyardPosition.offset,1)}break}case"merge":{const t=e.sourcePosition.parent;if(!this._isInInsertedElement(t.parent)){this._markRemove(t.parent,t.startOffset,1)}const n=e.graveyardPosition.parent;this._markInsert(n,e.graveyardPosition.offset,1);const i=e.targetPosition.parent;if(!this._isInInsertedElement(i)){this._markInsert(i,e.targetPosition.offset,t.maxOffset)}break}case"detachRoot":case"addRoot":{const t=e.affectedSelectable;if(!t._isLoaded){return}if(t.isAttached()==e.isAdd){return}this._bufferRootStateChange(e.rootName,e.isAdd);break}case"addRootAttribute":case"removeRootAttribute":case"changeRootAttribute":{if(!e.root._isLoaded){return}const t=e.root.rootName;this._bufferRootAttributeChange(t,e.key,e.oldValue,e.newValue);break}}this._cachedChanges=null}bufferMarkerChange(t,e,n){if(e.range&&e.range.root.is("rootElement")&&!e.range.root._isLoaded){e.range=null}if(n.range&&n.range.root.is("rootElement")&&!n.range.root._isLoaded){n.range=null}let i=this._changedMarkers.get(t);if(!i){i={newMarkerData:n,oldMarkerData:e};this._changedMarkers.set(t,i)}else{i.newMarkerData=n}if(i.oldMarkerData.range==null&&n.range==null){this._changedMarkers.delete(t)}}getMarkersToRemove(){const t=[];for(const[e,n]of this._changedMarkers){if(n.oldMarkerData.range!=null){t.push({name:e,range:n.oldMarkerData.range})}}return t}getMarkersToAdd(){const t=[];for(const[e,n]of this._changedMarkers){if(n.newMarkerData.range!=null){t.push({name:e,range:n.newMarkerData.range})}}return t}getChangedMarkers(){return Array.from(this._changedMarkers).map((([t,e])=>({name:t,data:{oldRange:e.oldMarkerData.range,newRange:e.newMarkerData.range}})))}hasDataChanges(){if(this._changesInElement.size>0){return true}if(this._changedRoots.size>0){return true}for(const{newMarkerData:t,oldMarkerData:e}of this._changedMarkers.values()){if(t.affectsData!==e.affectsData){return true}if(t.affectsData){const n=t.range&&!e.range;const i=!t.range&&e.range;const o=t.range&&e.range&&!t.range.isEqual(e.range);if(n||i||o){return true}}}return false}getChanges(t={}){if(this._cachedChanges){if(t.includeChangesInGraveyard){return this._cachedChangesWithGraveyard.slice()}else{return this._cachedChanges.slice()}}let e=[];for(const t of this._changesInElement.keys()){const n=this._changesInElement.get(t).sort(((t,e)=>{if(t.offset===e.offset){if(t.type!=e.type){return t.type=="remove"?-1:1}return 0}return t.offset{if(t.position.root!=e.position.root){return t.position.root.rootNamet));for(const t of e){delete t.changeCount;if(t.type=="attribute"){delete t.position;delete t.length}}this._changeCount=0;this._cachedChangesWithGraveyard=e;this._cachedChanges=e.filter(dC);if(t.includeChangesInGraveyard){return this._cachedChangesWithGraveyard.slice()}else{return this._cachedChanges.slice()}}getChangedRoots(){return Array.from(this._changedRoots.values()).map((t=>{const e={...t};if(e.state!==undefined){delete e.attributes}return e}))}getRefreshedItems(){return new Set(this._refreshedItems)}reset(){this._changesInElement.clear();this._elementSnapshots.clear();this._changedMarkers.clear();this._changedRoots.clear();this._refreshedItems=new Set;this._cachedChanges=null}_bufferRootStateChange(t,e){if(!this._changedRoots.has(t)){this._changedRoots.set(t,{name:t,state:e?"attached":"detached"});return}const n=this._changedRoots.get(t);if(n.state!==undefined){delete n.state;if(n.attributes===undefined){this._changedRoots.delete(t)}}else{n.state=e?"attached":"detached"}}_bufferRootAttributeChange(t,e,n,i){const o=this._changedRoots.get(t)||{name:t};const r=o.attributes||{};if(r[e]){const t=r[e];if(i===t.oldValue){delete r[e]}else{t.newValue=i}}else{r[e]={oldValue:n,newValue:i}}if(Object.entries(r).length===0){delete o.attributes;if(o.state===undefined){this._changedRoots.delete(t)}}else{o.attributes=r;this._changedRoots.set(t,o)}}_refreshItem(t){if(this._isInInsertedElement(t.parent)){return}this._markRemove(t.parent,t.startOffset,t.offsetSize);this._markInsert(t.parent,t.startOffset,t.offsetSize);this._refreshedItems.add(t);const e=qb._createOn(t);for(const t of this._markerCollection.getMarkersIntersectingRange(e)){const e=t.getData();this.bufferMarkerChange(t.name,e,e)}this._cachedChanges=null}_bufferRootLoad(t){if(!t.isAttached()){return}this._bufferRootStateChange(t.rootName,true);this._markInsert(t,0,t.maxOffset);for(const e of t.getAttributeKeys()){this._bufferRootAttributeChange(t.rootName,e,null,t.getAttribute(e))}for(const e of this._markerCollection){if(e.getRange().root==t){const t=e.getData();this.bufferMarkerChange(e.name,{...t,range:null},t)}}}_markInsert(t,e,n){if(t.root.is("rootElement")&&!t.root._isLoaded){return}const i={type:"insert",offset:e,howMany:n,count:this._changeCount++};this._markChange(t,i)}_markRemove(t,e,n){if(t.root.is("rootElement")&&!t.root._isLoaded){return}const i={type:"remove",offset:e,howMany:n,count:this._changeCount++};this._markChange(t,i);this._removeAllNestedChanges(t,e,n)}_markAttribute(t){if(t.root.is("rootElement")&&!t.root._isLoaded){return}const e={type:"attribute",offset:t.startOffset,howMany:t.offsetSize,count:this._changeCount++};this._markChange(t.parent,e)}_markChange(t,e){this._makeSnapshot(t);const n=this._getChangesForElement(t);this._handleChange(e,n);n.push(e);for(let t=0;tn.offset){if(i>o){const t={type:"attribute",offset:o,howMany:i-o,count:this._changeCount++};this._handleChange(t,e);e.push(t)}t.nodesToHandle=n.offset-t.offset;t.howMany=t.nodesToHandle}else if(t.offset>=n.offset&&t.offseto){t.nodesToHandle=i-o;t.offset=o}else{t.nodesToHandle=0}}}if(n.type=="remove"){if(t.offsetn.offset){const o={type:"attribute",offset:n.offset,howMany:i-n.offset,count:this._changeCount++};this._handleChange(o,e);e.push(o);t.nodesToHandle=n.offset-t.offset;t.howMany=t.nodesToHandle}}if(n.type=="attribute"){if(t.offset>=n.offset&&i<=o){t.nodesToHandle=0;t.howMany=0;t.offset=0}else if(t.offset<=n.offset&&i>=o){n.howMany=0}}}}t.howMany=t.nodesToHandle;delete t.nodesToHandle}_getInsertDiff(t,e,n){return{type:"insert",position:Vb._createAt(t,e),name:n.name,attributes:new Map(n.attributes),length:1,changeCount:this._changeCount++}}_getRemoveDiff(t,e,n){return{type:"remove",position:Vb._createAt(t,e),name:n.name,attributes:new Map(n.attributes),length:1,changeCount:this._changeCount++}}_getAttributesDiff(t,e,n){const i=[];n=new Map(n);for(const[o,r]of e){const e=n.has(o)?n.get(o):null;if(e!==r){i.push({type:"attribute",position:t.start,range:t.clone(),length:1,attributeKey:o,attributeOldValue:r,attributeNewValue:e,changeCount:this._changeCount++})}n.delete(o)}for(const[e,o]of n){i.push({type:"attribute",position:t.start,range:t.clone(),length:1,attributeKey:e,attributeOldValue:null,attributeNewValue:o,changeCount:this._changeCount++})}return i}_isInInsertedElement(t){const e=t.parent;if(!e){return false}const n=this._changesInElement.get(e);const i=t.startOffset;if(n){for(const t of n){if(t.type=="insert"&&i>=t.offset&&ii){for(let e=0;ethis._version+1){this._gaps.set(this._version,t)}this._version=t}get lastOperation(){return this._operations[this._operations.length-1]}addOperation(t){if(t.baseVersion!==this.version){throw new P("model-document-history-addoperation-incorrect-version",this,{operation:t,historyVersion:this.version})}this._operations.push(t);this._version++;this._baseVersionToOperationIndex.set(t.baseVersion,this._operations.length-1)}getOperations(t,e=this.version){if(!this._operations.length){return[]}const n=this._operations[0];if(t===undefined){t=n.baseVersion}let i=e-1;for(const[e,n]of this._gaps){if(t>e&&te&&ithis.lastOperation.baseVersion){return[]}let o=this._baseVersionToOperationIndex.get(t);if(o===undefined){o=0}let r=this._baseVersionToOperationIndex.get(i);if(r===undefined){r=this._operations.length-1}return this._operations.slice(o,r+1)}getOperation(t){const e=this._baseVersionToOperationIndex.get(t);if(e===undefined){return}return this._operations[e]}setOperationAsUndone(t,e){this._undoPairs.set(e,t);this._undoneOperations.add(t)}isUndoingOperation(t){return this._undoPairs.has(t)}isUndoneOperation(t){return this._undoneOperations.has(t)}getUndoneOperation(t){return this._undoPairs.get(t)}reset(){this._version=0;this._undoPairs=new Map;this._operations=[];this._undoneOperations=new Set;this._gaps=new Map;this._baseVersionToOperationIndex=new Map}}class hC extends Lb{constructor(t,e,n="main"){super(e);this._isAttached=true;this._isLoaded=true;this._document=t;this.rootName=n}get document(){return this._document}isAttached(){return this._isAttached}toJSON(){return this.rootName}}hC.prototype.is=function(t,e){if(!e){return t==="rootElement"||t==="model:rootElement"||t==="element"||t==="model:element"||t==="node"||t==="model:node"}return e===this.name&&(t==="rootElement"||t==="model:rootElement"||t==="element"||t==="model:element")};const mC="$graveyard";class gC extends($()){constructor(t){super();this.model=t;this.history=new uC;this.selection=new mk(this);this.roots=new ml({idProperty:"rootName"});this.differ=new aC(t.markers);this.isReadOnly=false;this._postFixers=new Set;this._hasSelectionChangedFromTheLastChangeBlock=false;this.createRoot("$root",mC);this.listenTo(t,"applyOperation",((t,e)=>{const n=e[0];if(n.isDocumentOperation){this.differ.bufferOperation(n)}}),{priority:"high"});this.listenTo(t,"applyOperation",((t,e)=>{const n=e[0];if(n.isDocumentOperation){this.history.addOperation(n)}}),{priority:"low"});this.listenTo(this.selection,"change",(()=>{this._hasSelectionChangedFromTheLastChangeBlock=true}));this.listenTo(t.markers,"update",((t,e,n,i,o)=>{const r={...e.getData(),range:i};this.differ.bufferMarkerChange(e.name,o,r);if(n===null){e.on("change",((t,n)=>{const i=e.getData();this.differ.bufferMarkerChange(e.name,{...i,range:n},i)}))}}));this.registerPostFixer((t=>{let e=false;for(const n of this.roots){if(!n.isAttached()&&!n.isEmpty){t.remove(t.createRangeIn(n));e=true}}for(const n of this.model.markers){if(!n.getRange().root.isAttached()){t.removeMarker(n);e=true}}return e}))}get version(){return this.history.version}set version(t){this.history.version=t}get graveyard(){return this.getRoot(mC)}createRoot(t="$root",e="main"){if(this.roots.get(e)){throw new P("model-document-createroot-name-exists",this,{name:e})}const n=new hC(this,t,e);this.roots.add(n);return n}destroy(){this.selection.destroy();this.stopListening()}getRoot(t="main"){return this.roots.get(t)}getRootNames(t=false){return this.getRoots(t).map((t=>t.rootName))}getRoots(t=false){return this.roots.filter((e=>e!=this.graveyard&&(t||e.isAttached())&&e._isLoaded))}registerPostFixer(t){this._postFixers.add(t)}toJSON(){const t=Bh(this);t.selection="[engine.model.DocumentSelection]";t.model="[engine.model.Model]";return t}_handleChangeBlock(t){if(this._hasDocumentChangedFromTheLastChangeBlock()){this._callPostFixers(t);this.selection.refresh();if(this.differ.hasDataChanges()){this.fire("change:data",t.batch)}else{this.fire("change",t.batch)}this.selection.refresh();this.differ.reset()}this._hasSelectionChangedFromTheLastChangeBlock=false}_hasDocumentChangedFromTheLastChangeBlock(){return!this.differ.isEmpty||this._hasSelectionChangedFromTheLastChangeBlock}_getDefaultRoot(){const t=this.getRoots();return t.length?t[0]:this.graveyard}_getDefaultRange(){const t=this._getDefaultRoot();const e=this.model;const n=e.schema;const i=e.createPositionFromPath(t,[0]);const o=n.getNearestSelectionRange(i);return o||e.createRange(i)}_validateSelectionRange(t){return fC(t.start)&&fC(t.end)}_callPostFixers(t){let e=false;do{for(const n of this._postFixers){this.selection.refresh();e=n(t);if(e){break}}}while(e)}}function fC(t){const e=t.textNode;if(e){const n=e.data;const i=t.offset-e.startOffset;return!El(n,i)&&!Dl(n,i)}return true}class pC extends($()){constructor(){super(...arguments);this._markers=new Map}[Symbol.iterator](){return this._markers.values()}has(t){const e=t instanceof bC?t.name:t;return this._markers.has(e)}get(t){return this._markers.get(t)||null}_set(t,e,n=false,i=false){const o=t instanceof bC?t.name:t;if(o.includes(",")){throw new P("markercollection-incorrect-marker-name",this)}const r=this._markers.get(o);if(r){const t=r.getData();const s=r.getRange();let a=false;if(!s.isEqual(e)){r._attachLiveRange(ck.fromRange(e));a=true}if(n!=r.managedUsingOperations){r._managedUsingOperations=n;a=true}if(typeof i==="boolean"&&i!=r.affectsData){r._affectsData=i;a=true}if(a){this.fire(`update:${o}`,r,s,e,t)}return r}const s=ck.fromRange(e);const a=new bC(o,s,n,i);this._markers.set(o,a);this.fire(`update:${o}`,a,null,e,{...a.getData(),range:null});return a}_remove(t){const e=t instanceof bC?t.name:t;const n=this._markers.get(e);if(n){this._markers.delete(e);this.fire(`update:${e}`,n,n.getRange(),null,n.getData());this._destroyMarker(n);return true}return false}_refresh(t){const e=t instanceof bC?t.name:t;const n=this._markers.get(e);if(!n){throw new P("markercollection-refresh-marker-not-exists",this)}const i=n.getRange();this.fire(`update:${e}`,n,i,i,n.getData())}*getMarkersAtPosition(t){for(const e of this){if(e.getRange().containsPosition(t)){yield e}}}*getMarkersIntersectingRange(t){for(const e of this){if(e.getRange().getIntersection(t)!==null){yield e}}}destroy(){for(const t of this._markers.values()){this._destroyMarker(t)}this._markers=null;this.stopListening()}*getMarkersGroup(t){for(const e of this._markers.values()){if(e.name.startsWith(t+":")){yield e}}}_destroyMarker(t){t.stopListening();t._detachLiveRange()}}class bC extends($(Ib)){constructor(t,e,n,i){super();this.name=t;this._liveRange=this._attachLiveRange(e);this._managedUsingOperations=n;this._affectsData=i}get managedUsingOperations(){if(!this._liveRange){throw new P("marker-destroyed",this)}return this._managedUsingOperations}get affectsData(){if(!this._liveRange){throw new P("marker-destroyed",this)}return this._affectsData}getData(){return{range:this.getRange(),affectsData:this.affectsData,managedUsingOperations:this.managedUsingOperations}}getStart(){if(!this._liveRange){throw new P("marker-destroyed",this)}return this._liveRange.start.clone()}getEnd(){if(!this._liveRange){throw new P("marker-destroyed",this)}return this._liveRange.end.clone()}getRange(){if(!this._liveRange){throw new P("marker-destroyed",this)}return this._liveRange.toRange()}_attachLiveRange(t){if(this._liveRange){this._detachLiveRange()}t.delegate("change:range").to(this);t.delegate("change:content").to(this);this._liveRange=t;return t}_detachLiveRange(){this._liveRange.stopDelegating("change:range",this);this._liveRange.stopDelegating("change:content",this);this._liveRange.detach();this._liveRange=null}}bC.prototype.is=function(t){return t==="marker"||t==="model:marker"};class kC extends CA{constructor(t,e){super(null);this.sourcePosition=t.clone();this.howMany=e}get type(){return"detach"}get affectedSelectable(){return null}toJSON(){const t=super.toJSON();t.sourcePosition=this.sourcePosition.toJSON();return t}_validate(){if(this.sourcePosition.root.document){throw new P("detach-operation-on-document-node",this)}}_execute(){vA(qb._createFromPositionAndShift(this.sourcePosition,this.howMany))}static get className(){return"DetachOperation"}}class wC extends Ib{constructor(t){super();this.markers=new Map;this._children=new Mb;if(t){this._insertChild(0,t)}}[Symbol.iterator](){return this.getChildren()}get childCount(){return this._children.length}get maxOffset(){return this._children.maxOffset}get isEmpty(){return this.childCount===0}get nextSibling(){return null}get previousSibling(){return null}get root(){return this}get parent(){return null}get document(){return null}isAttached(){return false}getAncestors(){return[]}getChild(t){return this._children.getNode(t)}getChildren(){return this._children[Symbol.iterator]()}getChildIndex(t){return this._children.getNodeIndex(t)}getChildStartOffset(t){return this._children.getNodeStartOffset(t)}getPath(){return[]}getNodeByPath(t){let e=this;for(const n of t){e=e.getChild(e.offsetToIndex(n))}return e}offsetToIndex(t){return this._children.offsetToIndex(t)}toJSON(){const t=[];for(const e of this._children){t.push(e.toJSON())}return t}static fromJSON(t){const e=[];for(const n of t){if(n.name){e.push(Lb.fromJSON(n))}else{e.push(Nb.fromJSON(n))}}return new wC(e)}_appendChild(t){this._insertChild(this.childCount,t)}_insertChild(t,e){const n=AC(e);for(const t of n){if(t.parent!==null){t._remove()}t.parent=this}this._children._insertNodes(t,n)}_removeChildren(t,e=1){const n=this._children._removeNodes(t,e);for(const t of n){t.parent=null}return n}}wC.prototype.is=function(t){return t==="documentFragment"||t==="model:documentFragment"};function AC(t){if(typeof t=="string"){return[new Nb(t)]}if(!Dt(t)){t=[t]}return Array.from(t).map((t=>{if(typeof t=="string"){return new Nb(t)}if(t instanceof Pb){return new Nb(t.data,t.getAttributes())}return t}))}class CC{constructor(t,e){this.model=t;this.batch=e}createText(t,e){return new Nb(t,e)}createElement(t,e){return new Lb(t,e)}createDocumentFragment(){return new wC}cloneElement(t,e=true){return t._clone(e)}insert(t,e,n=0){this._assertWriterUsedCorrectly();if(t instanceof Nb&&t.data==""){return}const i=Vb._createAt(e,n);if(t.parent){if(EC(t.root,i.root)){this.move(qb._createOn(t),i);return}else{if(t.root.document){throw new P("model-writer-insert-forbidden-move",this)}else{this.remove(t)}}}const o=i.root.document?i.root.document.version:null;const r=new BA(i,t,o);if(t instanceof Nb){r.shouldReceiveAttributes=true}this.batch.addOperation(r);this.model.applyOperation(r);if(t instanceof wC){for(const[e,n]of t.markers){const t=Vb._createAt(n.root,0);const o=new qb(n.start._getCombined(t,i),n.end._getCombined(t,i));const r={range:o,usingOperation:true,affectsData:true};if(this.model.markers.has(e)){this.updateMarker(e,r)}else{this.addMarker(e,r)}}}}insertText(t,e,n,i){if(e instanceof wC||e instanceof Lb||e instanceof Vb){this.insert(this.createText(t),e,n)}else{this.insert(this.createText(t,e),n,i)}}insertElement(t,e,n,i){if(e instanceof wC||e instanceof Lb||e instanceof Vb){this.insert(this.createElement(t),e,n)}else{this.insert(this.createElement(t,e),n,i)}}append(t,e){this.insert(t,e,"end")}appendText(t,e,n){if(e instanceof wC||e instanceof Lb){this.insert(this.createText(t),e,"end")}else{this.insert(this.createText(t,e),n,"end")}}appendElement(t,e,n){if(e instanceof wC||e instanceof Lb){this.insert(this.createElement(t),e,"end")}else{this.insert(this.createElement(t,e),n,"end")}}setAttribute(t,e,n){this._assertWriterUsedCorrectly();if(n instanceof qb){const i=n.getMinimalFlatRanges();for(const n of i){_C(this,t,e,n)}}else{vC(this,t,e,n)}}setAttributes(t,e){for(const[n,i]of kl(t)){this.setAttribute(n,i,e)}}removeAttribute(t,e){this._assertWriterUsedCorrectly();if(e instanceof qb){const n=e.getMinimalFlatRanges();for(const e of n){_C(this,t,null,e)}}else{vC(this,t,null,e)}}clearAttributes(t){this._assertWriterUsedCorrectly();const e=t=>{for(const e of t.getAttributeKeys()){this.removeAttribute(e,t)}};if(!(t instanceof qb)){e(t)}else{for(const n of t.getItems()){e(n)}}}move(t,e,n){this._assertWriterUsedCorrectly();if(!(t instanceof qb)){throw new P("writer-move-invalid-range",this)}if(!t.isFlat){throw new P("writer-move-range-not-flat",this)}const i=Vb._createAt(e,n);if(i.isEqual(t.start)){return}this._addOperationForAffectedMarkers("move",t);if(!EC(t.root,i.root)){throw new P("writer-move-different-document",this)}const o=t.root.document?t.root.document.version:null;const r=new IA(t.start,t.end.offset-t.start.offset,i,o);this.batch.addOperation(r);this.model.applyOperation(r)}remove(t){this._assertWriterUsedCorrectly();const e=t instanceof qb?t:qb._createOn(t);const n=e.getMinimalFlatRanges().reverse();for(const t of n){this._addOperationForAffectedMarkers("move",t);xC(t.start,t.end.offset-t.start.offset,this.batch,this.model)}}merge(t){this._assertWriterUsedCorrectly();const e=t.nodeBefore;const n=t.nodeAfter;this._addOperationForAffectedMarkers("merge",t);if(!(e instanceof Lb)){throw new P("writer-merge-no-element-before",this)}if(!(n instanceof Lb)){throw new P("writer-merge-no-element-after",this)}if(!t.root.document){this._mergeDetached(t)}else{this._merge(t)}}createPositionFromPath(t,e,n){return this.model.createPositionFromPath(t,e,n)}createPositionAt(t,e){return this.model.createPositionAt(t,e)}createPositionAfter(t){return this.model.createPositionAfter(t)}createPositionBefore(t){return this.model.createPositionBefore(t)}createRange(t,e){return this.model.createRange(t,e)}createRangeIn(t){return this.model.createRangeIn(t)}createRangeOn(t){return this.model.createRangeOn(t)}createSelection(...t){return this.model.createSelection(...t)}_mergeDetached(t){const e=t.nodeBefore;const n=t.nodeAfter;this.move(qb._createIn(n),Vb._createAt(e,"end"));this.remove(n)}_merge(t){const e=Vb._createAt(t.nodeBefore,"end");const n=Vb._createAt(t.nodeAfter,0);const i=t.root.document.graveyard;const o=new Vb(i,[0]);const r=t.root.document.version;const s=new NA(n,t.nodeAfter.maxOffset,e,o,r);this.batch.addOperation(s);this.model.applyOperation(s)}rename(t,e){this._assertWriterUsedCorrectly();if(!(t instanceof Lb)){throw new P("writer-rename-not-element-instance",this)}const n=t.root.document?t.root.document.version:null;const i=new VA(Vb._createBefore(t),t.name,e,n);this.batch.addOperation(i);this.model.applyOperation(i)}split(t,e){this._assertWriterUsedCorrectly();let n=t.parent;if(!n.parent){throw new P("writer-split-element-no-parent",this)}if(!e){e=n.parent}if(!t.parent.getAncestors({includeSelf:true}).includes(e)){throw new P("writer-split-invalid-limit-element",this)}let i;let o;do{const e=n.root.document?n.root.document.version:null;const r=n.maxOffset-t.offset;const s=MA.getInsertionPosition(t);const a=new MA(t,r,s,null,e);this.batch.addOperation(a);this.model.applyOperation(a);if(!i&&!o){i=n;o=t.parent.nextSibling}t=this.createPositionAfter(t.parent);n=t.parent}while(n!==e);return{position:t,range:new qb(Vb._createAt(i,"end"),Vb._createAt(o,0))}}wrap(t,e){this._assertWriterUsedCorrectly();if(!t.isFlat){throw new P("writer-wrap-range-not-flat",this)}const n=e instanceof Lb?e:new Lb(e);if(n.childCount>0){throw new P("writer-wrap-element-not-empty",this)}if(n.parent!==null){throw new P("writer-wrap-element-attached",this)}this.insert(n,t.start);const i=new qb(t.start.getShiftedBy(1),t.end.getShiftedBy(1));this.move(i,Vb._createAt(n,0))}unwrap(t){this._assertWriterUsedCorrectly();if(t.parent===null){throw new P("writer-unwrap-element-no-parent",this)}this.move(qb._createIn(t),this.createPositionAfter(t));this.remove(t)}addMarker(t,e){this._assertWriterUsedCorrectly();if(!e||typeof e.usingOperation!="boolean"){throw new P("writer-addmarker-no-usingoperation",this)}const n=e.usingOperation;const i=e.range;const o=e.affectsData===undefined?false:e.affectsData;if(this.model.markers.has(t)){throw new P("writer-addmarker-marker-exists",this)}if(!i){throw new P("writer-addmarker-no-range",this)}if(!n){return this.model.markers._set(t,i,n,o)}yC(this,t,null,i,o);return this.model.markers.get(t)}updateMarker(t,e){this._assertWriterUsedCorrectly();const n=typeof t=="string"?t:t.name;const i=this.model.markers.get(n);if(!i){throw new P("writer-updatemarker-marker-not-exists",this)}if(!e){L("writer-updatemarker-reconvert-using-editingcontroller",{markerName:n});this.model.markers._refresh(i);return}const o=typeof e.usingOperation=="boolean";const r=typeof e.affectsData=="boolean";const s=r?e.affectsData:i.affectsData;if(!o&&!e.range&&!r){throw new P("writer-updatemarker-wrong-options",this)}const a=i.getRange();const c=e.range?e.range:a;if(o&&e.usingOperation!==i.managedUsingOperations){if(e.usingOperation){yC(this,n,null,c,s)}else{yC(this,n,a,null,s);this.model.markers._set(n,c,undefined,s)}return}if(i.managedUsingOperations){yC(this,n,a,c,s)}else{this.model.markers._set(n,c,undefined,s)}}removeMarker(t){this._assertWriterUsedCorrectly();const e=typeof t=="string"?t:t.name;if(!this.model.markers.has(e)){throw new P("writer-removemarker-no-marker",this)}const n=this.model.markers.get(e);if(!n.managedUsingOperations){this.model.markers._remove(e);return}const i=n.getRange();yC(this,e,i,null,n.affectsData)}addRoot(t,e="$root"){this._assertWriterUsedCorrectly();const n=this.model.document.getRoot(t);if(n&&n.isAttached()){throw new P("writer-addroot-root-exists",this)}const i=this.model.document;const o=new jA(t,e,true,i,i.version);this.batch.addOperation(o);this.model.applyOperation(o);return this.model.document.getRoot(t)}detachRoot(t){this._assertWriterUsedCorrectly();const e=typeof t=="string"?this.model.document.getRoot(t):t;if(!e||!e.isAttached()){throw new P("writer-detachroot-no-root",this)}for(const t of this.model.markers){if(t.getRange().root===e){this.removeMarker(t)}}for(const t of e.getAttributeKeys()){this.removeAttribute(t,e)}this.remove(this.createRangeIn(e));const n=this.model.document;const i=new jA(e.rootName,e.name,false,n,n.version);this.batch.addOperation(i);this.model.applyOperation(i)}setSelection(...t){this._assertWriterUsedCorrectly();this.model.document.selection._setTo(...t)}setSelectionFocus(t,e){this._assertWriterUsedCorrectly();this.model.document.selection._setFocus(t,e)}setSelectionAttribute(t,e){this._assertWriterUsedCorrectly();if(typeof t==="string"){this._setSelectionAttribute(t,e)}else{for(const[e,n]of kl(t)){this._setSelectionAttribute(e,n)}}}removeSelectionAttribute(t){this._assertWriterUsedCorrectly();if(typeof t==="string"){this._removeSelectionAttribute(t)}else{for(const e of t){this._removeSelectionAttribute(e)}}}overrideSelectionGravity(){return this.model.document.selection._overrideGravity()}restoreSelectionGravity(t){this.model.document.selection._restoreGravity(t)}_setSelectionAttribute(t,e){const n=this.model.document.selection;if(n.isCollapsed&&n.anchor.parent.isEmpty){const i=mk._getStoreAttributeKey(t);this.setAttribute(i,e,n.anchor.parent)}n._setAttribute(t,e)}_removeSelectionAttribute(t){const e=this.model.document.selection;if(e.isCollapsed&&e.anchor.parent.isEmpty){const n=mk._getStoreAttributeKey(t);this.removeAttribute(n,e.anchor.parent)}e._removeAttribute(t)}_assertWriterUsedCorrectly(){if(this.model._currentWriter!==this){throw new P("writer-incorrect-use",this)}}_addOperationForAffectedMarkers(t,e){for(const n of this.model.markers){if(!n.managedUsingOperations){continue}const i=n.getRange();let o=false;if(t==="move"){const t=e;o=t.containsPosition(i.start)||t.start.isEqual(i.start)||t.containsPosition(i.end)||t.end.isEqual(i.end)}else{const t=e;const n=t.nodeBefore;const r=t.nodeAfter;const s=i.start.parent==n&&i.start.isAtEnd;const a=i.end.parent==r&&i.end.offset==0;const c=i.end.nodeAfter==r;const l=i.start.nodeAfter==r;o=s||a||c||l}if(o){this.updateMarker(n.name,{range:i})}}}}function _C(t,e,n,i){const o=t.model;const r=o.document;let s=i.start;let a;let c;let l;for(const t of i.getWalker({shallow:true})){l=t.item.getAttribute(e);if(a&&c!=l){if(c!=n){d()}s=a}a=t.nextPosition;c=l}if(a instanceof Vb&&a!=s&&c!=n){d()}function d(){const i=new qb(s,a);const l=i.root.document?r.version:null;const d=new OA(i,e,c,n,l);t.batch.addOperation(d);o.applyOperation(d)}}function vC(t,e,n,i){const o=t.model;const r=o.document;const s=i.getAttribute(e);let a,c;if(s!=n){const l=i.root===i;if(l){const t=i.document?r.version:null;c=new FA(i,e,s,n,t)}else{a=new qb(Vb._createBefore(i),t.createPositionAfter(i));const o=a.root.document?r.version:null;c=new OA(a,e,s,n,o)}t.batch.addOperation(c);o.applyOperation(c)}}function yC(t,e,n,i,o){const r=t.model;const s=r.document;const a=new PA(e,n,i,r.markers,!!o,s.version);t.batch.addOperation(a);r.applyOperation(a)}function xC(t,e,n,i){let o;if(t.root.document){const n=i.document;const r=new Vb(n.graveyard,[0]);o=new IA(t,e,r,n.version)}else{o=new kC(t,e)}n.addOperation(o);i.applyOperation(o)}function EC(t,e){if(t===e){return true}if(t instanceof hC&&e instanceof hC){return true}return false}function DC(t,e,n={}){if(e.isCollapsed){return}const i=e.getFirstRange();if(i.root.rootName=="$graveyard"){return}const o=t.schema;t.change((t=>{if(!n.doNotResetEntireContent&&FC(o,e)){VC(t,e);return}const r={};if(!n.doNotAutoparagraph){const t=e.getSelectedElement();if(t){Object.assign(r,o.getAttributesWithProperty(t,"copyOnReplace",true))}}const[s,a]=TC(i);if(!s.isTouching(a)){t.remove(t.createRange(s,a))}if(!n.leaveUnmerged){IC(t,s,a);o.removeDisallowedAttributes(s.parent.getChildren(),t)}jC(t,e,s);if(!n.doNotAutoparagraph&&zC(o,s)){RC(t,s,e,r)}s.detach();a.detach()}))}function TC(t){const e=t.root.document.model;const n=t.start;let i=t.end;if(e.hasContent(t,{ignoreMarkers:true})){const n=SC(i);if(n&&i.isTouching(e.createPositionAt(n,0))){const n=e.createSelection(t);e.modifySelection(n,{direction:"backward"});const o=n.getLastPosition();const r=e.createRange(o,i);if(!e.hasContent(r,{ignoreMarkers:true})){i=o}}}return[iC.fromPosition(n,"toPrevious"),iC.fromPosition(i,"toNext")]}function SC(t){const e=t.parent;const n=e.root.document.model.schema;const i=e.getAncestors({parentFirst:true,includeSelf:true});for(const t of i){if(n.isLimit(t)){return null}if(n.isBlock(t)){return t}}}function IC(t,e,n){const i=t.model;if(!PC(t.model.schema,e,n)){return}const[o,r]=LC(e,n);if(!o||!r){return}if(!i.hasContent(o,{ignoreMarkers:true})&&i.hasContent(r,{ignoreMarkers:true})){MC(t,e,n,o.parent)}else{BC(t,e,n,o.parent)}}function BC(t,e,n,i){const o=e.parent;const r=n.parent;if(o==i||r==i){return}e=t.createPositionAfter(o);n=t.createPositionBefore(r);if(!n.isEqual(e)){t.insert(r,e)}t.merge(e);while(n.parent.isEmpty){const e=n.parent;n=t.createPositionBefore(e);t.remove(e)}if(!PC(t.model.schema,e,n)){return}BC(t,e,n,i)}function MC(t,e,n,i){const o=e.parent;const r=n.parent;if(o==i||r==i){return}e=t.createPositionAfter(o);n=t.createPositionBefore(r);if(!n.isEqual(e)){t.insert(o,n)}while(e.parent.isEmpty){const n=e.parent;e=t.createPositionBefore(n);t.remove(n)}n=t.createPositionBefore(r);NC(t,n);if(!PC(t.model.schema,e,n)){return}MC(t,e,n,i)}function NC(t,e){const n=e.nodeBefore;const i=e.nodeAfter;if(n.name!=i.name){t.rename(n,i.name)}t.clearAttributes(n);t.setAttributes(Object.fromEntries(i.getAttributes()),n);t.merge(e)}function PC(t,e,n){const i=e.parent;const o=n.parent;if(i==o){return false}if(t.isLimit(i)||t.isLimit(o)){return false}return OC(e,n,t)}function LC(t,e){const n=t.getAncestors();const i=e.getAncestors();let o=0;while(n[o]&&n[o]==i[o]){o++}return[n[o],i[o]]}function zC(t,e){const n=t.checkChild(e,"$text");const i=t.checkChild(e,"paragraph");return!n&&i}function OC(t,e,n){const i=new qb(t,e);for(const t of i.getWalker()){if(n.isLimit(t.item)){return false}}return true}function RC(t,e,n,i={}){const o=t.createElement("paragraph");t.model.schema.setAllowedAttributes(o,i,t);t.insert(o,e);jC(t,n,t.createPositionAt(o,0))}function VC(t,e){const n=t.model.schema.getLimitElement(e);t.remove(t.createRangeIn(n));RC(t,t.createPositionAt(n,0),e)}function FC(t,e){const n=t.getLimitElement(e);if(!e.containsEntireContent(n)){return false}const i=e.getFirstRange();if(i.start.parent==i.end.parent){return false}return t.checkChild(n,"paragraph")}function jC(t,e,n){if(e instanceof mk){t.setSelection(n)}else{e.setTo(n)}}function HC(t,e){return t.change((t=>{const n=t.createDocumentFragment();const i=e.getFirstRange();if(!i||i.isCollapsed){return n}const o=i.start.root;const r=i.start.getCommonPath(i.end);const s=o.getNodeByPath(r);let a;if(i.start.parent==i.end.parent){a=i}else{a=t.createRange(t.createPositionAt(s,i.start.path[r.length]),t.createPositionAt(s,i.end.path[r.length]+1))}const c=a.end.offset-a.start.offset;for(const e of a.getItems({shallow:true})){if(e.is("$textProxy")){t.appendText(e.data,e.getAttributes(),n)}else{t.append(t.cloneElement(e,true),n)}}if(a!=i){const e=i._getTransformedByMove(a.start,t.createPositionAt(n,0),c)[0];const o=t.createRange(t.createPositionAt(n,0),e.start);const r=t.createRange(e.end,t.createPositionAt(n,"end"));UC(r,t);UC(o,t)}return n}))}function UC(t,e){const n=[];Array.from(t.getItems({direction:"backward"})).map((t=>e.createRangeOn(t))).filter((e=>{const n=(e.start.isAfter(t.start)||e.start.isEqual(t.start))&&(e.end.isBefore(t.end)||e.end.isEqual(t.end));return n})).forEach((t=>{n.push(t.start.parent);e.remove(t)}));n.forEach((t=>{let n=t;while(n.parent&&n.isEmpty){const t=e.createRangeOn(n);n=n.parent;e.remove(t)}}))}function WC(t,e,n){return t.change((i=>{const o=n?n:t.document.selection;if(!o.isCollapsed){t.deleteContent(o,{doNotAutoparagraph:true})}const r=new GC(t,i,o.anchor);const s=[];let a;if(e.is("documentFragment")){if(e.markers.size){const t=[];for(const[n,i]of e.markers){const{start:e,end:o}=i;const r=e.isEqual(o);t.push({position:e,name:n,isCollapsed:r},{position:o,name:n,isCollapsed:r})}t.sort((({position:t},{position:e})=>t.isBefore(e)?1:-1));for(const{position:n,name:o,isCollapsed:r}of t){let t=null;let a=null;const c=n.parent===e&&n.isAtStart;const l=n.parent===e&&n.isAtEnd;if(!c&&!l){t=i.createElement("$marker");i.insert(t,n)}else if(r){a=c?"start":"end"}s.push({name:o,element:t,collapsed:a})}}a=e.getChildren()}else{a=[e]}r.handleNodes(a);let c=r.getSelectionRange();if(e.is("documentFragment")&&s.length){const t=c?ck.fromRange(c):null;const e={};for(let t=s.length-1;t>=0;t--){const{name:n,element:o,collapsed:a}=s[t];const c=!e[n];if(c){e[n]=[]}if(o){const t=i.createPositionAt(o,"before");e[n].push(t);i.remove(o)}else{const t=r.getAffectedRange();if(!t){if(a){e[n].push(r.position)}continue}if(a){e[n].push(t[a])}else{e[n].push(c?t.start:t.end)}}}for(const[t,[n,o]]of Object.entries(e)){if(n&&o&&n.root===o.root){i.addMarker(t,{usingOperation:true,affectsData:true,range:new qb(n,o)})}}if(t){c=t.toRange();t.detach()}}if(c){if(o instanceof mk){i.setSelection(c)}else{o.setTo(c)}}else{}const l=r.getAffectedRange()||t.createRange(o.anchor);r.destroy();return l}))}class GC{constructor(t,e,n){this._firstNode=null;this._lastNode=null;this._lastAutoParagraph=null;this._filterAttributesOf=[];this._affectedStart=null;this._affectedEnd=null;this._nodeToSelect=null;this.model=t;this.writer=e;this.position=n;this.canMergeWith=new Set([this.position.parent]);this.schema=t.schema;this._documentFragment=e.createDocumentFragment();this._documentFragmentPosition=e.createPositionAt(this._documentFragment,0)}handleNodes(t){for(const e of Array.from(t)){this._handleNode(e)}this._insertPartialFragment();if(this._lastAutoParagraph){this._updateLastNodeFromAutoParagraph(this._lastAutoParagraph)}this._mergeOnRight();this.schema.removeDisallowedAttributes(this._filterAttributesOf,this.writer);this._filterAttributesOf=[]}_updateLastNodeFromAutoParagraph(t){const e=this.writer.createPositionAfter(this._lastNode);const n=this.writer.createPositionAfter(t);if(n.isAfter(e)){this._lastNode=t;if(this.position.parent!=t||!this.position.isAtEnd){throw new P("insertcontent-invalid-insertion-position",this)}this.position=n;this._setAffectedBoundaries(this.position)}}getSelectionRange(){if(this._nodeToSelect){return qb._createOn(this._nodeToSelect)}return this.model.schema.getNearestSelectionRange(this.position)}getAffectedRange(){if(!this._affectedStart){return null}return new qb(this._affectedStart,this._affectedEnd)}destroy(){if(this._affectedStart){this._affectedStart.detach()}if(this._affectedEnd){this._affectedEnd.detach()}}_handleNode(t){if(this.schema.isObject(t)){this._handleObject(t);return}let e=this._checkAndAutoParagraphToAllowedPosition(t);if(!e){e=this._checkAndSplitToAllowedPosition(t);if(!e){this._handleDisallowedNode(t);return}}this._appendToFragment(t);if(!this._firstNode){this._firstNode=t}this._lastNode=t}_insertPartialFragment(){if(this._documentFragment.isEmpty){return}const t=iC.fromPosition(this.position,"toNext");this._setAffectedBoundaries(this.position);if(this._documentFragment.getChild(0)==this._firstNode){this.writer.insert(this._firstNode,this.position);this._mergeOnLeft();this.position=t.toPosition()}if(!this._documentFragment.isEmpty){this.writer.insert(this._documentFragment,this.position)}this._documentFragmentPosition=this.writer.createPositionAt(this._documentFragment,0);this.position=t.toPosition();t.detach()}_handleObject(t){if(this._checkAndSplitToAllowedPosition(t)){this._appendToFragment(t)}else{this._tryAutoparagraphing(t)}}_handleDisallowedNode(t){if(t.is("element")){this.handleNodes(t.getChildren())}else{this._tryAutoparagraphing(t)}}_appendToFragment(t){if(!this.schema.checkChild(this.position,t)){throw new P("insertcontent-wrong-position",this,{node:t,position:this.position})}this.writer.insert(t,this._documentFragmentPosition);this._documentFragmentPosition=this._documentFragmentPosition.getShiftedBy(t.offsetSize);if(this.schema.isObject(t)&&!this.schema.checkChild(this.position,"$text")){this._nodeToSelect=t}else{this._nodeToSelect=null}this._filterAttributesOf.push(t)}_setAffectedBoundaries(t){if(!this._affectedStart){this._affectedStart=iC.fromPosition(t,"toPrevious")}if(!this._affectedEnd||this._affectedEnd.isBefore(t)){if(this._affectedEnd){this._affectedEnd.detach()}this._affectedEnd=iC.fromPosition(t,"toNext")}}_mergeOnLeft(){const t=this._firstNode;if(!(t instanceof Lb)){return}if(!this._canMergeLeft(t)){return}const e=iC._createBefore(t);e.stickiness="toNext";const n=iC.fromPosition(this.position,"toNext");if(this._affectedStart.isEqual(e)){this._affectedStart.detach();this._affectedStart=iC._createAt(e.nodeBefore,"end","toPrevious")}if(this._firstNode===this._lastNode){this._firstNode=e.nodeBefore;this._lastNode=e.nodeBefore}this.writer.merge(e);if(e.isEqual(this._affectedEnd)&&this._firstNode===this._lastNode){this._affectedEnd.detach();this._affectedEnd=iC._createAt(e.nodeBefore,"end","toNext")}this.position=n.toPosition();n.detach();this._filterAttributesOf.push(this.position.parent);e.detach()}_mergeOnRight(){const t=this._lastNode;if(!(t instanceof Lb)){return}if(!this._canMergeRight(t)){return}const e=iC._createAfter(t);e.stickiness="toNext";if(!this.position.isEqual(e)){throw new P("insertcontent-invalid-insertion-position",this)}this.position=Vb._createAt(e.nodeBefore,"end");const n=iC.fromPosition(this.position,"toPrevious");if(this._affectedEnd.isEqual(e)){this._affectedEnd.detach();this._affectedEnd=iC._createAt(e.nodeBefore,"end","toNext")}if(this._firstNode===this._lastNode){this._firstNode=e.nodeBefore;this._lastNode=e.nodeBefore}this.writer.merge(e);if(e.getShiftedBy(-1).isEqual(this._affectedStart)&&this._firstNode===this._lastNode){this._affectedStart.detach();this._affectedStart=iC._createAt(e.nodeBefore,0,"toPrevious")}this.position=n.toPosition();n.detach();this._filterAttributesOf.push(this.position.parent);e.detach()}_canMergeLeft(t){const e=t.previousSibling;return e instanceof Lb&&this.canMergeWith.has(e)&&this.model.schema.checkMerge(e,t)}_canMergeRight(t){const e=t.nextSibling;return e instanceof Lb&&this.canMergeWith.has(e)&&this.model.schema.checkMerge(t,e)}_tryAutoparagraphing(t){const e=this.writer.createElement("paragraph");if(this._getAllowedIn(this.position.parent,e)&&this.schema.checkChild(e,t)){e._appendChild(t);this._handleNode(e)}}_checkAndAutoParagraphToAllowedPosition(t){if(this.schema.checkChild(this.position.parent,t)){return true}if(!this.schema.checkChild(this.position.parent,"paragraph")||!this.schema.checkChild("paragraph",t)){return false}this._insertPartialFragment();const e=this.writer.createElement("paragraph");this.writer.insert(e,this.position);this._setAffectedBoundaries(this.position);this._lastAutoParagraph=e;this.position=this.writer.createPositionAt(e,0);return true}_checkAndSplitToAllowedPosition(t){const e=this._getAllowedIn(this.position.parent,t);if(!e){return false}if(e!=this.position.parent){this._insertPartialFragment()}while(e!=this.position.parent){if(this.position.isAtStart){const t=this.position.parent;this.position=this.writer.createPositionBefore(t);if(t.isEmpty&&t.parent===e){this.writer.remove(t)}}else if(this.position.isAtEnd){this.position=this.writer.createPositionAfter(this.position.parent)}else{const t=this.writer.createPositionAfter(this.position.parent);this._setAffectedBoundaries(this.position);this.writer.split(this.position);this.position=t;this.canMergeWith.add(this.position.nodeAfter)}}return true}_getAllowedIn(t,e){if(this.schema.checkChild(t,e)){return t}if(this.schema.isLimit(t)){return null}return this._getAllowedIn(t.parent,e)}}function qC(t,e,n="auto"){const i=t.getSelectedElement();if(i&&e.schema.isObject(i)&&!e.schema.isInline(i)){if(n=="before"||n=="after"){return e.createRange(e.createPositionAt(i,n))}return e.createRangeOn(i)}const o=gl(t.getSelectedBlocks());if(!o){return e.createRange(t.focus)}if(o.isEmpty){return e.createRange(e.createPositionAt(o,0))}const r=e.createPositionAfter(o);if(t.focus.isTouching(r)){return e.createRange(r)}return e.createRange(e.createPositionBefore(o))}function $C(t,e,n,i={}){if(!t.schema.isObject(e)){throw new P("insertobject-element-not-an-object",t,{object:e})}const o=n?n:t.document.selection;let r=o;if(i.findOptimalPosition&&t.schema.isBlock(e)){r=t.createSelection(qC(o,t,i.findOptimalPosition))}const s=gl(o.getSelectedBlocks());const a={};if(s){Object.assign(a,t.schema.getAttributesWithProperty(s,"copyOnReplace",true))}return t.change((n=>{if(!r.isCollapsed){t.deleteContent(r,{doNotAutoparagraph:true})}let o=e;const s=r.anchor.parent;if(!t.schema.checkChild(s,e)&&t.schema.checkChild(s,"paragraph")&&t.schema.checkChild("paragraph",e)){o=n.createElement("paragraph");n.insert(e,o)}t.schema.setAllowedAttributes(o,a,n);const c=t.insertContent(o,r);if(c.isCollapsed){return c}if(i.setSelection){KC(n,e,i.setSelection,a)}return c}))}function KC(t,e,n,i){const o=t.model;if(n=="on"){t.setSelection(e,"on");return}if(n!="after"){throw new P("insertobject-invalid-place-parameter-value",o)}let r=e.nextSibling;if(o.schema.isInline(e)){t.setSelection(e,"after");return}const s=r&&o.schema.checkChild(r,"$text");if(!s&&o.schema.checkChild(e.parent,"paragraph")){r=t.createElement("paragraph");o.schema.setAllowedAttributes(r,i,t);o.insertContent(r,t.createPositionAfter(e))}if(r){t.setSelection(r,0)}}const ZC=' ,.?!:;"-()';function YC(t,e,n={}){const i=t.schema;const o=n.direction!="backward";const r=n.unit?n.unit:"character";const s=!!n.treatEmojiAsSingleUnit;const a=e.focus;const c=new Ob({boundaries:t_(a,o),singleCharacters:true,direction:o?"forward":"backward"});const l={walker:c,schema:i,isForward:o,unit:r,treatEmojiAsSingleUnit:s};let d;while(d=c.next()){if(d.done){return}const n=QC(l,d.value);if(n){if(e instanceof mk){t.change((t=>{t.setSelectionFocus(n)}))}else{e.setFocus(n)}return}}}function QC(t,e){const{isForward:n,walker:i,unit:o,schema:r,treatEmojiAsSingleUnit:s}=t;const{type:a,item:c,nextPosition:l}=e;if(a=="text"){if(t.unit==="word"){return XC(i,n)}return JC(i,o,s)}if(a==(n?"elementStart":"elementEnd")){if(r.isSelectable(c)){return Vb._createAt(c,n?"after":"before")}if(r.checkChild(l,"$text")){return l}}else{if(r.isLimit(c)){i.skip((()=>true));return}if(r.checkChild(l,"$text")){return l}}}function JC(t,e,n){const i=t.position.textNode;if(i){const o=i.data;let r=t.position.offset-i.startOffset;while(El(o,r)||e=="character"&&Dl(o,r)||n&&Sl(o,r)){t.next();r=t.position.offset-i.startOffset}}return t.position}function XC(t,e){let n=t.position.textNode;if(!n){n=e?t.position.nodeAfter:t.position.nodeBefore}while(n&&n.is("$text")){const i=t.position.offset-n.startOffset;if(n_(n,i,e)){n=e?t.position.nodeAfter:t.position.nodeBefore}else if(e_(n.data,i,e)){break}else{t.next()}}return t.position}function t_(t,e){const n=t.root;const i=Vb._createAt(n,e?"end":0);if(e){return new qb(t,i)}else{return new qb(i,t)}}function e_(t,e,n){const i=e+(n?0:-1);return ZC.includes(t.charAt(i))}function n_(t,e,n){return e===(n?t.offsetSize:0)}class i_ extends(mt()){constructor(){super();this.markers=new pC;this.document=new gC(this);this.schema=new Gw;this._pendingChanges=[];this._currentWriter=null;["deleteContent","modifySelection","getSelectedContent","applyOperation"].forEach((t=>this.decorate(t)));this.on("applyOperation",((t,e)=>{const n=e[0];n._validate()}),{priority:"highest"});this.schema.register("$root",{isLimit:true});this.schema.register("$container",{allowIn:["$root","$container"]});this.schema.register("$block",{allowIn:["$root","$container"],isBlock:true});this.schema.register("$blockObject",{allowWhere:"$block",isBlock:true,isObject:true});this.schema.register("$inlineObject",{allowWhere:"$text",allowAttributesOf:"$text",isInline:true,isObject:true});this.schema.register("$text",{allowIn:"$block",isInline:true,isContent:true});this.schema.register("$clipboardHolder",{allowContentOf:"$root",allowChildren:"$text",isLimit:true});this.schema.register("$documentFragment",{allowContentOf:"$root",allowChildren:"$text",isLimit:true});this.schema.register("$marker");this.schema.addChildCheck(((t,e)=>{if(e.name==="$marker"){return true}}));Bw(this);this.document.registerPostFixer(cw);this.on("insertContent",((t,[e,n])=>{t.return=WC(this,e,n)}));this.on("insertObject",((t,[e,n,i])=>{t.return=$C(this,e,n,i)}));this.on("canEditAt",(t=>{const e=!this.document.isReadOnly;t.return=e;if(!e){t.stop()}}))}change(t){try{if(this._pendingChanges.length===0){this._pendingChanges.push({batch:new sC,callback:t});return this._runPendingChanges()[0]}else{return t(this._currentWriter)}}catch(t){P.rethrowUnexpectedError(t,this)}}enqueueChange(t,e){try{if(!t){t=new sC}else if(typeof t==="function"){e=t;t=new sC}else if(!(t instanceof sC)){t=new sC(t)}this._pendingChanges.push({batch:t,callback:e});if(this._pendingChanges.length==1){this._runPendingChanges()}}catch(t){P.rethrowUnexpectedError(t,this)}}applyOperation(t){t._execute()}insertContent(t,e,n,...i){const o=o_(e,n);return this.fire("insertContent",[t,o,n,...i])}insertObject(t,e,n,i,...o){const r=o_(e,n);return this.fire("insertObject",[t,r,i,i,...o])}deleteContent(t,e){DC(this,t,e)}modifySelection(t,e){YC(this,t,e)}getSelectedContent(t){return HC(this,t)}hasContent(t,e={}){const n=t instanceof qb?t:qb._createIn(t);if(n.isCollapsed){return false}const{ignoreWhitespaces:i=false,ignoreMarkers:o=false}=e;if(!o){for(const t of this.markers.getMarkersIntersectingRange(n)){if(t.affectsData){return true}}}for(const t of n.getItems()){if(this.schema.isContent(t)){if(t.is("$textProxy")){if(!i){return true}else if(t.data.search(/\S/)!==-1){return true}}else{return true}}}return false}canEditAt(t){const e=o_(t);return this.fire("canEditAt",[e])}createPositionFromPath(t,e,n){return new Vb(t,e,n)}createPositionAt(t,e){return Vb._createAt(t,e)}createPositionAfter(t){return Vb._createAfter(t)}createPositionBefore(t){return Vb._createBefore(t)}createRange(t,e){return new qb(t,e)}createRangeIn(t){return qb._createIn(t)}createRangeOn(t){return qb._createOn(t)}createSelection(...t){return new tk(...t)}createBatch(t){return new sC(t)}createOperationFromJSON(t){return UA.fromJSON(t,this.document)}destroy(){this.document.destroy();this.stopListening()}_runPendingChanges(){const t=[];this.fire("_beforeChanges");try{while(this._pendingChanges.length){const e=this._pendingChanges[0].batch;this._currentWriter=new CC(this,e);const n=this._pendingChanges[0].callback(this._currentWriter);t.push(n);this.document._handleChangeBlock(this._currentWriter);this._pendingChanges.shift();this._currentWriter=null}}finally{this._pendingChanges.length=0;this._currentWriter=null;this.fire("_afterChanges")}return t}}function o_(t,e){if(!t){return}if(t instanceof tk||t instanceof mk){return t}if(t instanceof Bb){if(e||e===0){return new tk(t,e)}else if(t.is("rootElement")){return new tk(t,"in")}else{return new tk(t,"on")}}return new tk(t)}class r_ extends mp{constructor(){super(...arguments);this.domEventType="click"}onDomEvent(t){this.fire(t.type,t)}}class s_ extends mp{constructor(){super(...arguments);this.domEventType=["mousedown","mouseup","mouseover","mouseout"]}onDomEvent(t){this.fire(t.type,t)}}class a_{constructor(t){this.document=t}createDocumentFragment(t){return new mf(this.document,t)}createElement(t,e,n){return new Ig(this.document,t,e,n)}createText(t){return new Nh(this.document,t)}clone(t,e=false){return t._clone(e)}appendChild(t,e){return e._appendChild(t)}insertChild(t,e,n){return n._insertChild(t,e)}removeChildren(t,e,n){return n._removeChildren(t,e)}remove(t){const e=t.parent;if(e){return this.removeChildren(e.getChildIndex(t),1,e)}return[]}replace(t,e){const n=t.parent;if(n){const i=n.getChildIndex(t);this.removeChildren(i,1,n);this.insertChild(i,e,n);return true}return false}unwrapElement(t){const e=t.parent;if(e){const n=e.getChildIndex(t);this.remove(t);this.insertChild(n,t.getChildren(),e)}}rename(t,e){const n=new Ig(this.document,t,e.getAttributes(),e.getChildren());return this.replace(e,n)?n:null}setAttribute(t,e,n){n._setAttribute(t,e)}removeAttribute(t,e){e._removeAttribute(t)}addClass(t,e){e._addClass(t)}removeClass(t,e){e._removeClass(t)}setStyle(t,e,n){if(fe(t)&&n===undefined){e._setStyle(t)}else{n._setStyle(t,e)}}removeStyle(t,e){e._removeStyle(t)}setCustomProperty(t,e,n){n._setCustomProperty(t,e)}removeCustomProperty(t,e){return e._removeCustomProperty(t)}createPositionAt(t,e){return Fg._createAt(t,e)}createPositionAfter(t){return Fg._createAfter(t)}createPositionBefore(t){return Fg._createBefore(t)}createRange(t,e){return new jg(t,e)}createRangeOn(t){return jg._createOn(t)}createRangeIn(t){return jg._createIn(t)}createSelection(...t){return new Ug(...t)}}const c_=/^#([0-9a-f]{3,4}|[0-9a-f]{6}|[0-9a-f]{8})$/i;const l_=/^rgb\([ ]?([0-9]{1,3}[ %]?,[ ]?){2,3}[0-9]{1,3}[ %]?\)$/i;const d_=/^rgba\([ ]?([0-9]{1,3}[ %]?,[ ]?){3}(1|[0-9]+%|[0]?\.?[0-9]+)\)$/i;const u_=/^hsl\([ ]?([0-9]{1,3}[ %]?[,]?[ ]*){3}(1|[0-9]+%|[0]?\.?[0-9]+)?\)$/i;const h_=/^hsla\([ ]?([0-9]{1,3}[ %]?,[ ]?){2,3}(1|[0-9]+%|[0]?\.?[0-9]+)\)$/i;const m_=/\w+\((?:[^()]|\([^()]*\))*\)|\S+/gi;const g_=new Set(["black","silver","gray","white","maroon","red","purple","fuchsia","green","lime","olive","yellow","navy","blue","teal","aqua","orange","aliceblue","antiquewhite","aquamarine","azure","beige","bisque","blanchedalmond","blueviolet","brown","burlywood","cadetblue","chartreuse","chocolate","coral","cornflowerblue","cornsilk","crimson","cyan","darkblue","darkcyan","darkgoldenrod","darkgray","darkgreen","darkgrey","darkkhaki","darkmagenta","darkolivegreen","darkorange","darkorchid","darkred","darksalmon","darkseagreen","darkslateblue","darkslategray","darkslategrey","darkturquoise","darkviolet","deeppink","deepskyblue","dimgray","dimgrey","dodgerblue","firebrick","floralwhite","forestgreen","gainsboro","ghostwhite","gold","goldenrod","greenyellow","grey","honeydew","hotpink","indianred","indigo","ivory","khaki","lavender","lavenderblush","lawngreen","lemonchiffon","lightblue","lightcoral","lightcyan","lightgoldenrodyellow","lightgray","lightgreen","lightgrey","lightpink","lightsalmon","lightseagreen","lightskyblue","lightslategray","lightslategrey","lightsteelblue","lightyellow","limegreen","linen","magenta","mediumaquamarine","mediumblue","mediumorchid","mediumpurple","mediumseagreen","mediumslateblue","mediumspringgreen","mediumturquoise","mediumvioletred","midnightblue","mintcream","mistyrose","moccasin","navajowhite","oldlace","olivedrab","orangered","orchid","palegoldenrod","palegreen","paleturquoise","palevioletred","papayawhip","peachpuff","peru","pink","plum","powderblue","rosybrown","royalblue","saddlebrown","salmon","sandybrown","seagreen","seashell","sienna","skyblue","slateblue","slategray","slategrey","snow","springgreen","steelblue","tan","thistle","tomato","turquoise","violet","wheat","whitesmoke","yellowgreen","activeborder","activecaption","appworkspace","background","buttonface","buttonhighlight","buttonshadow","buttontext","captiontext","graytext","highlight","highlighttext","inactiveborder","inactivecaption","inactivecaptiontext","infobackground","infotext","menu","menutext","scrollbar","threeddarkshadow","threedface","threedhighlight","threedlightshadow","threedshadow","window","windowframe","windowtext","rebeccapurple","currentcolor","transparent"]);function f_(t){if(t.startsWith("#")){return c_.test(t)}if(t.startsWith("rgb")){return l_.test(t)||d_.test(t)}if(t.startsWith("hsl")){return u_.test(t)||h_.test(t)}return g_.has(t.toLowerCase())}const p_=null&&["none","hidden","dotted","dashed","solid","double","groove","ridge","inset","outset"];function b_(t){return p_.includes(t)}const k_=/^([+-]?[0-9]*([.][0-9]+)?(px|cm|mm|in|pc|pt|ch|em|ex|rem|vh|vw|vmin|vmax)|0)$/;function w_(t){return k_.test(t)}const A_=/^[+-]?[0-9]*([.][0-9]+)?%$/;function C_(t){return A_.test(t)}const __=null&&["repeat-x","repeat-y","repeat","space","round","no-repeat"];function v_(t){return __.includes(t)}const y_=null&&["center","top","bottom","left","right"];function x_(t){return y_.includes(t)}const E_=null&&["fixed","scroll","local"];function D_(t){return E_.includes(t)}const T_=/^url\(/;function S_(t){return T_.test(t)}function I_(t=""){if(t===""){return{top:undefined,right:undefined,bottom:undefined,left:undefined}}const e=P_(t);const n=e[0];const i=e[2]||n;const o=e[1]||n;const r=e[3]||o;return{top:n,bottom:i,right:o,left:r}}function B_(t){return e=>{const{top:n,right:i,bottom:o,left:r}=e;const s=[];if(![n,i,r,o].every((t=>!!t))){if(n){s.push([t+"-top",n])}if(i){s.push([t+"-right",i])}if(o){s.push([t+"-bottom",o])}if(r){s.push([t+"-left",r])}}else{s.push([t,M_(e)])}return s}}function M_({top:t,right:e,bottom:n,left:i}){const o=[];if(i!==e){o.push(t,e,n,i)}else if(n!==t){o.push(t,e,n)}else if(e!==t){o.push(t,e)}else{o.push(t)}return o.join(" ")}function N_(t){return e=>({path:t,value:I_(e)})}function P_(t){const e=t.matchAll(m_);return Array.from(e).map((t=>t[0]))}function L_(t){t.setNormalizer("background",z_());t.setNormalizer("background-color",O_());t.setReducer("background",R_());t.setStyleRelation("background",["background-color"])}function z_(){return t=>{const e={};const n=getShorthandValues(t);for(const t of n){if(isRepeat(t)){e.repeat=e.repeat||[];e.repeat.push(t)}else if(isPosition(t)){e.position=e.position||[];e.position.push(t)}else if(isAttachment(t)){e.attachment=t}else if(isColor(t)){e.color=t}else if(isURL(t)){e.image=t}}return{path:"background",value:e}}}function O_(){return t=>({path:"background.color",value:t})}function R_(){return t=>{const e=[];e.push(["background-color",t.color]);return e}}function V_(t){t.setNormalizer("border",F_());t.setNormalizer("border-top",j_("top"));t.setNormalizer("border-right",j_("right"));t.setNormalizer("border-bottom",j_("bottom"));t.setNormalizer("border-left",j_("left"));t.setNormalizer("border-color",H_("color"));t.setNormalizer("border-width",H_("width"));t.setNormalizer("border-style",H_("style"));t.setNormalizer("border-top-color",W_("color","top"));t.setNormalizer("border-top-style",W_("style","top"));t.setNormalizer("border-top-width",W_("width","top"));t.setNormalizer("border-right-color",W_("color","right"));t.setNormalizer("border-right-style",W_("style","right"));t.setNormalizer("border-right-width",W_("width","right"));t.setNormalizer("border-bottom-color",W_("color","bottom"));t.setNormalizer("border-bottom-style",W_("style","bottom"));t.setNormalizer("border-bottom-width",W_("width","bottom"));t.setNormalizer("border-left-color",W_("color","left"));t.setNormalizer("border-left-style",W_("style","left"));t.setNormalizer("border-left-width",W_("width","left"));t.setExtractor("border-top",G_("top"));t.setExtractor("border-right",G_("right"));t.setExtractor("border-bottom",G_("bottom"));t.setExtractor("border-left",G_("left"));t.setExtractor("border-top-color","border.color.top");t.setExtractor("border-right-color","border.color.right");t.setExtractor("border-bottom-color","border.color.bottom");t.setExtractor("border-left-color","border.color.left");t.setExtractor("border-top-width","border.width.top");t.setExtractor("border-right-width","border.width.right");t.setExtractor("border-bottom-width","border.width.bottom");t.setExtractor("border-left-width","border.width.left");t.setExtractor("border-top-style","border.style.top");t.setExtractor("border-right-style","border.style.right");t.setExtractor("border-bottom-style","border.style.bottom");t.setExtractor("border-left-style","border.style.left");t.setReducer("border-color",getBoxSidesValueReducer("border-color"));t.setReducer("border-style",getBoxSidesValueReducer("border-style"));t.setReducer("border-width",getBoxSidesValueReducer("border-width"));t.setReducer("border-top",Z_("top"));t.setReducer("border-right",Z_("right"));t.setReducer("border-bottom",Z_("bottom"));t.setReducer("border-left",Z_("left"));t.setReducer("border",K_());t.setStyleRelation("border",["border-color","border-style","border-width","border-top","border-right","border-bottom","border-left","border-top-color","border-right-color","border-bottom-color","border-left-color","border-top-style","border-right-style","border-bottom-style","border-left-style","border-top-width","border-right-width","border-bottom-width","border-left-width"]);t.setStyleRelation("border-color",["border-top-color","border-right-color","border-bottom-color","border-left-color"]);t.setStyleRelation("border-style",["border-top-style","border-right-style","border-bottom-style","border-left-style"]);t.setStyleRelation("border-width",["border-top-width","border-right-width","border-bottom-width","border-left-width"]);t.setStyleRelation("border-top",["border-top-color","border-top-style","border-top-width"]);t.setStyleRelation("border-right",["border-right-color","border-right-style","border-right-width"]);t.setStyleRelation("border-bottom",["border-bottom-color","border-bottom-style","border-bottom-width"]);t.setStyleRelation("border-left",["border-left-color","border-left-style","border-left-width"])}function F_(){return t=>{const{color:e,style:n,width:i}=$_(t);return{path:"border",value:{color:getBoxSidesValues(e),style:getBoxSidesValues(n),width:getBoxSidesValues(i)}}}}function j_(t){return e=>{const{color:n,style:i,width:o}=$_(e);const r={};if(n!==undefined){r.color={[t]:n}}if(i!==undefined){r.style={[t]:i}}if(o!==undefined){r.width={[t]:o}}return{path:"border",value:r}}}function H_(t){return e=>({path:"border",value:U_(e,t)})}function U_(t,e){return{[e]:getBoxSidesValues(t)}}function W_(t,e){return n=>({path:"border",value:{[t]:{[e]:n}}})}function G_(t){return(e,n)=>{if(n.border){return q_(n.border,t)}}}function q_(t,e){const n={};if(t.width&&t.width[e]){n.width=t.width[e]}if(t.style&&t.style[e]){n.style=t.style[e]}if(t.color&&t.color[e]){n.color=t.color[e]}return n}function $_(t){const e={};const n=getShorthandValues(t);for(const t of n){if(isLength(t)||/thin|medium|thick/.test(t)){e.width=t}else if(isLineStyle(t)){e.style=t}else{e.color=t}}return e}function K_(){return e=>{const n=q_(e,"top");const i=q_(e,"right");const o=q_(e,"bottom");const r=q_(e,"left");const s=[n,i,o,r];const a={width:t(s,"width"),style:t(s,"style"),color:t(s,"color")};const c=Y_(a,"all");if(c.length){return c}const l=Object.entries(a).reduce(((t,[e,n])=>{if(n){t.push([`border-${e}`,n]);s.forEach((t=>delete t[e]))}return t}),[]);return[...l,...Y_(n,"top"),...Y_(i,"right"),...Y_(o,"bottom"),...Y_(r,"left")]};function t(t,e){return t.map((t=>t[e])).reduce(((t,e)=>t==e?t:null))}}function Z_(t){return e=>Y_(e,t)}function Y_(t,e){const n=[];if(t&&t.width){n.push("width")}if(t&&t.style){n.push("style")}if(t&&t.color){n.push("color")}if(n.length==3){const i=n.map((e=>t[e])).join(" ");return[e=="all"?["border",i]:[`border-${e}`,i]]}if(e=="all"){return[]}return n.map((n=>[`border-${e}-${n}`,t[n]]))}function Q_(t){t.setNormalizer("margin",getPositionShorthandNormalizer("margin"));t.setNormalizer("margin-top",(t=>({path:"margin.top",value:t})));t.setNormalizer("margin-right",(t=>({path:"margin.right",value:t})));t.setNormalizer("margin-bottom",(t=>({path:"margin.bottom",value:t})));t.setNormalizer("margin-left",(t=>({path:"margin.left",value:t})));t.setReducer("margin",getBoxSidesValueReducer("margin"));t.setStyleRelation("margin",["margin-top","margin-right","margin-bottom","margin-left"])}function J_(t){t.setNormalizer("padding",getPositionShorthandNormalizer("padding"));t.setNormalizer("padding-top",(t=>({path:"padding.top",value:t})));t.setNormalizer("padding-right",(t=>({path:"padding.right",value:t})));t.setNormalizer("padding-bottom",(t=>({path:"padding.bottom",value:t})));t.setNormalizer("padding-left",(t=>({path:"padding.left",value:t})));t.setReducer("padding",getBoxSidesValueReducer("padding"));t.setStyleRelation("padding",["padding-top","padding-right","padding-bottom","padding-left"])}class X_{constructor(){this._commands=new Map}add(t,e){this._commands.set(t,e)}get(t){return this._commands.get(t)}execute(t,...e){const n=this.get(t);if(!n){throw new P("commandcollection-command-not-found",this,{commandName:t})}return n.execute(...e)}*names(){yield*this._commands.keys()}*commands(){yield*this._commands.values()}[Symbol.iterator](){return this._commands[Symbol.iterator]()}destroy(){for(const t of this.commands()){t.destroy()}}}class tv extends pl{constructor(t){super();this.editor=t}set(t,e,n={}){if(typeof e=="string"){const t=e;e=(e,n)=>{this.editor.execute(t);n()}}super.set(t,e,n)}}class ev extends(mt()){constructor(t={}){super();const e=this.constructor;const n=t.language||e.defaultConfig&&e.defaultConfig.language;this._context=t.context||new uh({language:n});this._context._addEditor(this,!t.context);const i=Array.from(e.builtinPlugins||[]);this.config=new Ga(t,e.defaultConfig);this.config.define("plugins",i);this.config.define(this._context._getEditorConfig());this.plugins=new dh(this,i,this._context.plugins);this.locale=this._context.locale;this.t=this.locale.t;this._readOnlyLocks=new Set;this.commands=new X_;this.set("state","initializing");this.once("ready",(()=>this.state="ready"),{priority:"high"});this.once("destroy",(()=>this.state="destroyed"),{priority:"high"});this.model=new i_;this.on("change:isReadOnly",(()=>{this.model.document.isReadOnly=this.isReadOnly}));const o=new Eg;this.data=new pA(this.model,o);this.editing=new Fw(this.model,o);this.editing.view.document.bind("isReadOnly").to(this);this.conversion=new kA([this.editing.downcastDispatcher,this.data.downcastDispatcher],this.data.upcastDispatcher);this.conversion.addAlias("dataDowncast",this.data.downcastDispatcher);this.conversion.addAlias("editingDowncast",this.editing.downcastDispatcher);this.keystrokes=new tv(this);this.keystrokes.listenTo(this.editing.view.document)}get isReadOnly(){return this._readOnlyLocks.size>0}set isReadOnly(t){throw new P("editor-isreadonly-has-no-setter")}enableReadOnlyMode(t){if(typeof t!=="string"&&typeof t!=="symbol"){throw new P("editor-read-only-lock-id-invalid",null,{lockId:t})}if(this._readOnlyLocks.has(t)){return}this._readOnlyLocks.add(t);if(this._readOnlyLocks.size===1){this.fire("change:isReadOnly","isReadOnly",true,false)}}disableReadOnlyMode(t){if(typeof t!=="string"&&typeof t!=="symbol"){throw new P("editor-read-only-lock-id-invalid",null,{lockId:t})}if(!this._readOnlyLocks.has(t)){return}this._readOnlyLocks.delete(t);if(this._readOnlyLocks.size===0){this.fire("change:isReadOnly","isReadOnly",false,true)}}initPlugins(){const t=this.config;const e=t.get("plugins");const n=t.get("removePlugins")||[];const i=t.get("extraPlugins")||[];const o=t.get("substitutePlugins")||[];return this.plugins.init(e.concat(i),n,o)}destroy(){let t=Promise.resolve();if(this.state=="initializing"){t=new Promise((t=>this.once("ready",t)))}return t.then((()=>{this.fire("destroy");this.stopListening();this.commands.destroy()})).then((()=>this.plugins.destroy())).then((()=>{this.model.destroy();this.data.destroy();this.editing.destroy();this.keystrokes.destroy()})).then((()=>this._context._removeEditor(this)))}execute(t,...e){try{return this.commands.execute(t,...e)}catch(t){P.rethrowUnexpectedError(t,this)}}focus(){this.editing.view.focus()}static create(...t){throw new Error("This is an abstract method.")}}function nv(t){if(!$e(t.updateSourceElement)){throw new P("attachtoform-missing-elementapi-interface",t)}const e=t.sourceElement;if(iv(e)&&e.form){let n;const i=e.form;const o=()=>t.updateSourceElement();if($e(i.submit)){n=i.submit;i.submit=()=>{o();n.apply(i)}}i.addEventListener("submit",o);t.on("destroy",(()=>{i.removeEventListener("submit",o);if(n){i.submit=n}}))}}function iv(t){return!!t&&t.tagName.toLowerCase()==="textarea"}function ov(t){class e extends t{setData(t){this.data.set(t)}getData(t){return this.data.get(t)}}return e}{const t=ov(Object);ov.setData=t.prototype.setData;ov.getData=t.prototype.getData}function rv(t){class e extends t{updateSourceElement(t){if(!this.sourceElement){throw new P("editor-missing-sourceelement",this)}const e=this.config.get("updateSourceElementOnDestroy");const n=this.sourceElement instanceof HTMLTextAreaElement;if(!e&&!n){wc(this.sourceElement,"");return}const i=typeof t==="string"?t:this.data.get();wc(this.sourceElement,i)}}return e}rv.updateSourceElement=rv(Object).prototype.updateSourceElement;function sv(t,e){if(e.ckeditorInstance){throw new CKEditorError("editor-source-element-already-used",t)}e.ckeditorInstance=t;t.once("destroy",(()=>{delete e.ckeditorInstance}))}class av extends hh{static get pluginName(){return"PendingActions"}init(){this.set("hasAny",false);this._actions=new ml({idProperty:"_id"});this._actions.delegate("add","remove").to(this)}add(t){if(typeof t!=="string"){throw new P("pendingactions-add-invalid-message",this)}const e=new(mt());e.set("message",t);this._actions.add(e);this.hasAny=true;return e}remove(t){this._actions.remove(t);this.hasAny=!!this._actions.length}get first(){return this._actions.get(0)}[Symbol.iterator](){return this._actions[Symbol.iterator]()}}const cv='';const lv='';const dv='';const uv='';const hv='';const mv='';const gv='\n';const fv='';const pv='';const bv='';const kv='';const wv='';const Av='';const Cv='';const _v='';const vv='';const yv='';const xv='';const Ev='';const Dv='';const Tv='';const Sv='';const Iv='';const Bv='';const Mv='';const Nv='';const Pv='';const Lv='';const zv='';const Ov='';const Rv='';const Vv='';const Fv='';const jv='';const Hv='';const Uv='';const Wv='';const Gv='';const qv='';const $v='';const Kv='';const Zv={bold:Wv,cancel:cv,caption:lv,check:dv,cog:uv,eraser:hv,history:mv,image:bv,imageUpload:kv,imageAssetManager:wv,imageUrl:Av,lowVision:gv,textAlternative:fv,loupe:pv,importExport:Kv,paragraph:Gv,plus:qv,text:$v,alignBottom:Cv,alignMiddle:_v,alignTop:vv,alignLeft:yv,alignCenter:xv,alignRight:Ev,alignJustify:Dv,objectLeft:Nv,objectCenter:Sv,objectRight:Pv,objectFullWidth:Bv,objectInline:Mv,objectBlockLeft:Tv,objectBlockRight:Iv,objectSizeFull:Lv,objectSizeLarge:zv,objectSizeSmall:Ov,objectSizeMedium:Rv,pencil:Vv,pilcrow:Fv,quote:jv,threeVerticalDots:Hv,dragIndicator:Uv};var Yv=n(4768);var Qv={injectType:"singletonStyleTag",attributes:{"data-cke":true}};Qv.insert="head";Qv.singleton=true;var Jv=Pl()(Yv.Z,Qv);const Xv=Yv.Z.locals||{};const{threeVerticalDots:ty}=Zv;const ey={alignLeft:Zv.alignLeft,bold:Zv.bold,importExport:Zv.importExport,paragraph:Zv.paragraph,plus:Zv.plus,text:Zv.text,threeVerticalDots:Zv.threeVerticalDots,pilcrow:Zv.pilcrow,dragIndicator:Zv.dragIndicator};class ny extends Vl{constructor(t,e){super(t);const n=this.bindTemplate;const i=this.t;this.options=e||{};this.set("ariaLabel",i("Editor toolbar"));this.set("maxWidth","auto");this.items=this.createCollection();this.focusTracker=new fl;this.keystrokes=new pl;this.set("class",undefined);this.set("isCompact",false);this.itemsView=new iy(t);this.children=this.createCollection();this.children.add(this.itemsView);this.focusables=this.createCollection();const o=t.uiLanguageDirection==="rtl";this._focusCycler=new Xu({focusables:this.focusables,focusTracker:this.focusTracker,keystrokeHandler:this.keystrokes,actions:{focusPrevious:[o?"arrowright":"arrowleft","arrowup"],focusNext:[o?"arrowleft":"arrowright","arrowdown"]}});const r=["ck","ck-toolbar",n.to("class"),n.if("isCompact","ck-toolbar_compact")];if(this.options.shouldGroupWhenFull&&this.options.isFloating){r.push("ck-toolbar_floating")}this.setTemplate({tag:"div",attributes:{class:r,role:"toolbar","aria-label":n.to("ariaLabel"),style:{maxWidth:n.to("maxWidth")},tabindex:-1},children:this.children,on:{mousedown:ih(this)}});this._behavior=this.options.shouldGroupWhenFull?new ry(this):new oy(this)}render(){super.render();this.focusTracker.add(this.element);for(const t of this.items){this.focusTracker.add(t.element)}this.items.on("add",((t,e)=>{this.focusTracker.add(e.element)}));this.items.on("remove",((t,e)=>{this.focusTracker.remove(e.element)}));this.keystrokes.listenTo(this.element);this._behavior.render(this)}destroy(){this._behavior.destroy();this.focusTracker.destroy();this.keystrokes.destroy();return super.destroy()}focus(){this._focusCycler.focusFirst()}focusLast(){this._focusCycler.focusLast()}fillFromConfig(t,e,n){this.items.addMany(this._buildItemsFromConfig(t,e,n))}_buildItemsFromConfig(t,e,n){const i=oh(t);const o=n||i.removeItems;const r=this._cleanItemsConfiguration(i.items,e,o).map((t=>{if(st(t)){return this._createNestedToolbarDropdown(t,e,o)}else if(t==="|"){return new eh}else if(t==="-"){return new nh}return e.create(t)})).filter((t=>!!t));return r}_cleanItemsConfiguration(t,e,n){const i=t.filter(((t,i,o)=>{if(t==="|"){return true}if(n.indexOf(t)!==-1){return false}if(t==="-"){if(this.options.shouldGroupWhenFull){L("toolbarview-line-break-ignored-when-grouping-items",o);return false}return true}if(!st(t)&&!e.has(t)){L("toolbarview-item-unavailable",{item:t});return false}return true}));return this._cleanSeparatorsAndLineBreaks(i)}_cleanSeparatorsAndLineBreaks(t){const e=t=>t!=="-"&&t!=="|";const n=t.length;const i=t.findIndex(e);if(i===-1){return[]}const o=n-t.slice().reverse().findIndex(e);return t.slice(i,o).filter(((t,n,i)=>{if(e(t)){return true}const o=n>0&&i[n-1]===t;return!o}))}_createNestedToolbarDropdown(t,e,n){let{label:i,icon:o,items:r,tooltip:s=true,withText:a=false}=t;r=this._cleanItemsConfiguration(r,e,n);if(!r.length){return null}const c=this.locale;const l=Dy(c);if(!i){L("toolbarview-nested-toolbar-dropdown-missing-label",t)}l.class="ck-toolbar__nested-toolbar-dropdown";l.buttonView.set({label:i,tooltip:s,withText:!!a});if(o!==false){l.buttonView.icon=ey[o]||o||ty}else{l.buttonView.withText=true}Ty(l,(()=>l.toolbarView._buildItemsFromConfig(r,e,n)));return l}}class iy extends Vl{constructor(t){super(t);this.children=this.createCollection();this.setTemplate({tag:"div",attributes:{class:["ck","ck-toolbar__items"]},children:this.children})}}class oy{constructor(t){const e=t.bindTemplate;t.set("isVertical",false);t.itemsView.children.bindTo(t.items).using((t=>t));t.focusables.bindTo(t.items).using((t=>t));t.extendTemplate({attributes:{class:[e.if("isVertical","ck-toolbar_vertical")]}})}render(){}destroy(){}}class ry{constructor(t){this.resizeObserver=null;this.cachedPadding=null;this.shouldUpdateGroupingOnNextResize=false;this.view=t;this.viewChildren=t.children;this.viewFocusables=t.focusables;this.viewItemsView=t.itemsView;this.viewFocusTracker=t.focusTracker;this.viewLocale=t.locale;this.ungroupedItems=t.createCollection();this.groupedItems=t.createCollection();this.groupedItemsDropdown=this._createGroupedItemsDropdown();t.itemsView.children.bindTo(this.ungroupedItems).using((t=>t));this.ungroupedItems.on("change",this._updateFocusCycleableItems.bind(this));t.children.on("change",this._updateFocusCycleableItems.bind(this));t.items.on("change",((t,e)=>{const n=e.index;const i=Array.from(e.added);for(const t of e.removed){if(n>=this.ungroupedItems.length){this.groupedItems.remove(t)}else{this.ungroupedItems.remove(t)}}for(let t=n;tthis.ungroupedItems.length){this.groupedItems.add(e,t-this.ungroupedItems.length)}else{this.ungroupedItems.add(e,t)}}this._updateGrouping()}));t.extendTemplate({attributes:{class:["ck-toolbar_grouping"]}})}render(t){this.viewElement=t.element;this._enableGroupingOnResize();this._enableGroupingOnMaxWidthChange(t)}destroy(){this.groupedItemsDropdown.destroy();this.resizeObserver.destroy()}_updateGrouping(){if(!this.viewElement.ownerDocument.body.contains(this.viewElement)){return}if(!xc(this.viewElement)){this.shouldUpdateGroupingOnNextResize=true;return}const t=this.groupedItems.length;let e;while(this._areItemsOverflowing){this._groupLastItem();e=true}if(!e&&this.groupedItems.length){while(this.groupedItems.length&&!this._areItemsOverflowing){this._ungroupFirstItem()}if(this._areItemsOverflowing){this._groupLastItem()}}if(this.groupedItems.length!==t){this.view.fire("groupedItemsUpdate")}}get _areItemsOverflowing(){if(!this.ungroupedItems.length){return false}const t=this.viewElement;const e=this.viewLocale.uiLanguageDirection;const n=new uc(t.lastChild);const i=new uc(t);if(!this.cachedPadding){const n=nc.window.getComputedStyle(t);const i=e==="ltr"?"paddingRight":"paddingLeft";this.cachedPadding=Number.parseInt(n[i])}if(e==="ltr"){return n.right>i.right-this.cachedPadding}else{return n.left{if(!t||t!==e.contentRect.width||this.shouldUpdateGroupingOnNextResize){this.shouldUpdateGroupingOnNextResize=false;this._updateGrouping();t=e.contentRect.width}}));this._updateGrouping()}_enableGroupingOnMaxWidthChange(t){t.on("change:maxWidth",(()=>{this._updateGrouping()}))}_groupLastItem(){if(!this.groupedItems.length){this.viewChildren.add(new eh);this.viewChildren.add(this.groupedItemsDropdown);this.viewFocusTracker.add(this.groupedItemsDropdown.element)}this.groupedItems.add(this.ungroupedItems.remove(this.ungroupedItems.last),0)}_ungroupFirstItem(){this.ungroupedItems.add(this.groupedItems.remove(this.groupedItems.first));if(!this.groupedItems.length){this.viewChildren.remove(this.groupedItemsDropdown);this.viewChildren.remove(this.viewChildren.last);this.viewFocusTracker.remove(this.groupedItemsDropdown.element)}}_createGroupedItemsDropdown(){const t=this.viewLocale;const e=t.t;const n=Dy(t);n.class="ck-toolbar__grouped-dropdown";n.panelPosition=t.uiLanguageDirection==="ltr"?"sw":"se";Ty(n,this.groupedItems);n.buttonView.set({label:e("Show more items"),tooltip:true,tooltipPosition:t.uiLanguageDirection==="rtl"?"se":"sw",icon:ty});return n}_updateFocusCycleableItems(){this.viewFocusables.clear();this.ungroupedItems.map((t=>{this.viewFocusables.add(t)}));if(this.groupedItems.length){this.viewFocusables.add(this.groupedItemsDropdown)}}}class sy extends Vl{constructor(t){super(t);const e=this.bindTemplate;this.set("isVisible",true);this.children=this.createCollection();this.setTemplate({tag:"li",attributes:{class:["ck","ck-list__item",e.if("isVisible","ck-hidden",(t=>!t))],role:"presentation"},children:this.children})}focus(){if(this.children.first){this.children.first.focus()}}}class ay extends Vl{constructor(t){super(t);this.setTemplate({tag:"li",attributes:{class:["ck","ck-list__separator"]}})}}class cy extends Vl{constructor(t,e=new yu){super(t);const n=this.bindTemplate;const i=new my(t);this.set({label:"",isVisible:true});this.labelView=e;this.labelView.bind("text").to(this,"label");this.children=this.createCollection();this.children.addMany([this.labelView,i]);i.set({role:"group",ariaLabelledBy:e.id});i.focusTracker.destroy();i.keystrokes.destroy();this.items=i.items;this.setTemplate({tag:"li",attributes:{role:"presentation",class:["ck","ck-list__group",n.if("isVisible","ck-hidden",(t=>!t))]},children:this.children})}focus(){if(this.items){const t=this.items.find((t=>!(t instanceof ay)));if(t){t.focus()}}}}var ly=n(179);var dy={injectType:"singletonStyleTag",attributes:{"data-cke":true}};dy.insert="head";dy.singleton=true;var uy=Pl()(ly.Z,dy);const hy=ly.Z.locals||{};class my extends Vl{constructor(t){super(t);this._listItemGroupToChangeListeners=new WeakMap;const e=this.bindTemplate;this.focusables=new Bl;this.items=this.createCollection();this.focusTracker=new fl;this.keystrokes=new pl;this._focusCycler=new Xu({focusables:this.focusables,focusTracker:this.focusTracker,keystrokeHandler:this.keystrokes,actions:{focusPrevious:"arrowup",focusNext:"arrowdown"}});this.set("ariaLabel",undefined);this.set("ariaLabelledBy",undefined);this.set("role",undefined);this.setTemplate({tag:"ul",attributes:{class:["ck","ck-reset","ck-list"],role:e.to("role"),"aria-label":e.to("ariaLabel"),"aria-labelledby":e.to("ariaLabelledBy")},children:this.items})}render(){super.render();for(const t of this.items){if(t instanceof cy){this._registerFocusableItemsGroup(t)}else if(t instanceof sy){this._registerFocusableListItem(t)}}this.items.on("change",((t,e)=>{for(const t of e.removed){if(t instanceof cy){this._deregisterFocusableItemsGroup(t)}else{this._deregisterFocusableListItem(t)}}for(const t of Array.from(e.added).reverse()){if(t instanceof cy){this._registerFocusableItemsGroup(t,e.index)}else{this._registerFocusableListItem(t,e.index)}}}));this.keystrokes.listenTo(this.element)}destroy(){super.destroy();this.focusTracker.destroy();this.keystrokes.destroy()}focus(){this._focusCycler.focusFirst()}focusFirst(){this._focusCycler.focusFirst()}focusLast(){this._focusCycler.focusLast()}_registerFocusableListItem(t,e){this.focusTracker.add(t.element);this.focusables.add(t,e)}_deregisterFocusableListItem(t){this.focusTracker.remove(t.element);this.focusables.remove(t)}_getOnGroupItemsChangeCallback(t){return(e,n)=>{for(const t of n.removed){this._deregisterFocusableListItem(t)}for(const e of Array.from(n.added).reverse()){this._registerFocusableListItem(e,this.items.getIndex(t)+n.index)}}}_registerFocusableItemsGroup(t,e){Array.from(t.items).forEach(((t,n)=>{const i=typeof e!=="undefined"?e+n:undefined;this._registerFocusableListItem(t,i)}));const n=this._getOnGroupItemsChangeCallback(t);this._listItemGroupToChangeListeners.set(t,n);t.items.on("change",n)}_deregisterFocusableItemsGroup(t){for(const e of t.items){this._deregisterFocusableListItem(e)}t.items.off("change",this._listItemGroupToChangeListeners.get(t));this._listItemGroupToChangeListeners.delete(t)}}var gy=n(4791);var fy={injectType:"singletonStyleTag",attributes:{"data-cke":true}};fy.insert="head";fy.singleton=true;var py=Pl()(gy.Z,fy);const by=gy.Z.locals||{};class ky extends Vl{constructor(t,e){super(t);const n=this.bindTemplate;this.set("class",undefined);this.set("labelStyle",undefined);this.set("icon",undefined);this.set("isEnabled",true);this.set("isOn",false);this.set("isToggleable",false);this.set("isVisible",true);this.set("keystroke",undefined);this.set("withKeystroke",false);this.set("label",undefined);this.set("tabindex",-1);this.set("tooltip",false);this.set("tooltipPosition","s");this.set("type","button");this.set("withText",false);this.children=this.createCollection();this.actionView=this._createActionView(e);this.arrowView=this._createArrowView();this.keystrokes=new pl;this.focusTracker=new fl;this.setTemplate({tag:"div",attributes:{class:["ck","ck-splitbutton",n.to("class"),n.if("isVisible","ck-hidden",(t=>!t)),this.arrowView.bindTemplate.if("isOn","ck-splitbutton_open")]},children:this.children})}render(){super.render();this.children.add(this.actionView);this.children.add(this.arrowView);this.focusTracker.add(this.actionView.element);this.focusTracker.add(this.arrowView.element);this.keystrokes.listenTo(this.element);this.keystrokes.set("arrowright",((t,e)=>{if(this.focusTracker.focusedElement===this.actionView.element){this.arrowView.focus();e()}}));this.keystrokes.set("arrowleft",((t,e)=>{if(this.focusTracker.focusedElement===this.arrowView.element){this.actionView.focus();e()}}))}destroy(){super.destroy();this.focusTracker.destroy();this.keystrokes.destroy()}focus(){this.actionView.focus()}_createActionView(t){const e=t||new xd;if(!t){e.bind("icon","isEnabled","isOn","isToggleable","keystroke","label","tabindex","tooltip","tooltipPosition","type","withText").to(this)}e.extendTemplate({attributes:{class:"ck-splitbutton__action"}});e.delegate("execute").to(this);return e}_createArrowView(){const t=new xd;const e=t.bindTemplate;t.icon=Qu;t.extendTemplate({attributes:{class:["ck-splitbutton__arrow"],"data-cke-tooltip-disabled":e.to("isOn"),"aria-haspopup":true,"aria-expanded":e.to("isOn",(t=>String(t)))}});t.bind("isEnabled").to(this);t.bind("label").to(this);t.bind("tooltip").to(this);t.delegate("execute").to(this,"open");return t}}var wy=n(2704);var Ay={injectType:"singletonStyleTag",attributes:{"data-cke":true}};Ay.insert="head";Ay.singleton=true;var Cy=Pl()(wy.Z,Ay);const _y=wy.Z.locals||{};var vy=n(1883);var yy={injectType:"singletonStyleTag",attributes:{"data-cke":true}};yy.insert="head";yy.singleton=true;var xy=Pl()(vy.Z,yy);const Ey=vy.Z.locals||{};function Dy(t,e=Ju){const n=typeof e=="function"?new e(t):e;const i=new Gu(t);const o=new Yu(t,n,i);n.bind("isEnabled").to(o);if(n instanceof ky){n.arrowView.bind("isOn").to(o,"isOpen")}else{n.bind("isOn").to(o,"isOpen")}Ny(o);return o}function Ty(t,e,n={}){t.extendTemplate({attributes:{class:["ck-toolbar-dropdown"]}});if(t.isOpen){Sy(t,e,n)}else{t.once("change:isOpen",(()=>Sy(t,e,n)),{priority:"highest"})}if(n.enableActiveItemFocusOnDropdownOpen){My(t,(()=>t.toolbarView.items.find((t=>t.isOn))))}}function Sy(t,e,n){const i=t.locale;const o=i.t;const r=t.toolbarView=new ny(i);const s=typeof e=="function"?e():e;r.ariaLabel=n.ariaLabel||o("Dropdown toolbar");if(n.maxWidth){r.maxWidth=n.maxWidth}if(n.class){r.class=n.class}if(n.isCompact){r.isCompact=n.isCompact}if(n.isVertical){r.isVertical=true}if(s instanceof Bl){r.items.bindTo(s).using((t=>t))}else{r.items.addMany(s)}t.panelView.children.add(r);r.items.delegate("execute").to(t)}function Iy(t,e,n={}){if(t.isOpen){By(t,e,n)}else{t.once("change:isOpen",(()=>By(t,e,n)),{priority:"highest"})}My(t,(()=>t.listView.items.find((t=>{if(t instanceof sy){return t.children.first.isOn}return false}))))}function By(t,e,n){const i=t.locale;const o=t.listView=new my(i);const r=typeof e=="function"?e():e;o.ariaLabel=n.ariaLabel;o.role=n.role;Fy(t,o.items,r,i);t.panelView.children.add(o);o.items.delegate("execute").to(t)}function My(t,e){t.on("change:isOpen",(()=>{if(!t.isOpen){return}const n=e();if(!n){return}if(typeof n.focus==="function"){n.focus()}else{L("ui-dropdown-focus-child-on-open-child-missing-focus",{view:n})}}),{priority:B.low-10})}function Ny(t){Py(t);Ly(t);zy(t);Oy(t);Ry(t);Vy(t)}function Py(e){e.on("render",(()=>{t({emitter:e,activator:()=>e.isOpen,callback:()=>{e.isOpen=false},contextElements:()=>[e.element,...e.focusTracker._elements]})}))}function Ly(t){t.on("execute",(e=>{if(e.source instanceof Id){return}t.isOpen=false}))}function zy(t){t.focusTracker.on("change:isFocused",((e,n,i)=>{if(t.isOpen&&!i){t.isOpen=false}}))}function Oy(t){t.keystrokes.set("arrowdown",((e,n)=>{if(t.isOpen){t.panelView.focus();n()}}));t.keystrokes.set("arrowup",((e,n)=>{if(t.isOpen){t.panelView.focusLast();n()}}))}function Ry(t){t.on("change:isOpen",((e,n,i)=>{if(i){return}const o=t.panelView.element;if(o&&o.contains(nc.document.activeElement)){t.buttonView.focus()}}))}function Vy(t){t.on("change:isOpen",((e,n,i)=>{if(!i){return}t.panelView.focus()}),{priority:"low"})}function Fy(t,e,n,i){e.bindTo(n).using((e=>{if(e.type==="separator"){return new ay(i)}else if(e.type==="group"){const n=new cy(i);n.set({label:e.label});Fy(t,n.items,e.items,i);n.items.delegate("execute").to(t);return n}else if(e.type==="button"||e.type==="switchbutton"){const t=new sy(i);let n;if(e.type==="button"){n=new xd(i);n.extendTemplate({attributes:{"aria-checked":n.bindTemplate.to("isOn")}})}else{n=new Id(i)}n.bind(...Object.keys(e.model)).to(e.model);n.delegate("execute").to(t);t.children.add(n);return t}return null}))}const jy=(t,e,n)=>{const i=new Ou(t.locale);i.set({id:e,ariaDescribedById:n});i.bind("isReadOnly").to(t,"isEnabled",(t=>!t));i.bind("hasError").to(t,"errorText",(t=>!!t));i.on("input",(()=>{t.errorText=null}));t.bind("isEmpty","isFocused","placeholder").to(i);return i};const Hy=(t,e,n)=>{const i=new InputNumberView(t.locale);i.set({id:e,ariaDescribedById:n,inputMode:"numeric"});i.bind("isReadOnly").to(t,"isEnabled",(t=>!t));i.bind("hasError").to(t,"errorText",(t=>!!t));i.on("input",(()=>{t.errorText=null}));t.bind("isEmpty","isFocused","placeholder").to(i);return i};const Uy=(t,e,n)=>{const i=new TextareaView(t.locale);i.set({id:e,ariaDescribedById:n});i.bind("isReadOnly").to(t,"isEnabled",(t=>!t));i.bind("hasError").to(t,"errorText",(t=>!!t));i.on("input",(()=>{t.errorText=null}));t.bind("isEmpty","isFocused","placeholder").to(i);return i};const Wy=(t,e,n)=>{const i=createDropdown(t.locale);i.set({id:e,ariaDescribedById:n});i.bind("isEnabled").to(t);return i};const Gy=(t,e=0,n=1)=>t>n?n:tMath.round(n*t)/n;const $y={grad:360/400,turn:360,rad:360/(Math.PI*2)};const Ky=t=>fx(Zy(t));const Zy=t=>{if(t[0]==="#")t=t.substring(1);if(t.length<6){return{r:parseInt(t[0]+t[0],16),g:parseInt(t[1]+t[1],16),b:parseInt(t[2]+t[2],16),a:t.length===4?qy(parseInt(t[3]+t[3],16)/255,2):1}}return{r:parseInt(t.substring(0,2),16),g:parseInt(t.substring(2,4),16),b:parseInt(t.substring(4,6),16),a:t.length===8?qy(parseInt(t.substring(6,8),16)/255,2):1}};const Yy=(t,e="deg")=>Number(t)*($y[e]||1);const Qy=t=>{const e=/hsla?\(?\s*(-?\d*\.?\d+)(deg|rad|grad|turn)?[,\s]+(-?\d*\.?\d+)%?[,\s]+(-?\d*\.?\d+)%?,?\s*[/\s]*(-?\d*\.?\d+)?(%)?\s*\)?/i;const n=e.exec(t);if(!n)return{h:0,s:0,v:0,a:1};return Xy({h:Yy(n[1],n[2]),s:Number(n[3]),l:Number(n[4]),a:n[5]===undefined?1:Number(n[5])/(n[6]?100:1)})};const Jy=null&&Qy;const Xy=({h:t,s:e,l:n,a:i})=>{e*=(n<50?n:100-n)/100;return{h:t,s:e>0?2*e/(n+e)*100:0,v:n+e,a:i}};const tx=t=>gx(sx(t));const ex=({h:t,s:e,v:n,a:i})=>{const o=(200-e)*n/100;return{h:qy(t),s:qy(o>0&&o<200?e*n/100/(o<=100?o:200-o)*100:0),l:qy(o/2),a:qy(i,2)}};const nx=t=>{const{h:e,s:n,v:i}=px(t);return`hsv(${e}, ${n}%, ${i}%)`};const ix=t=>{const{h:e,s:n,v:i,a:o}=px(t);return`hsva(${e}, ${n}%, ${i}%, ${o})`};const ox=t=>{const{h:e,s:n,l:i}=ex(t);return`hsl(${e}, ${n}%, ${i}%)`};const rx=t=>{const{h:e,s:n,l:i,a:o}=ex(t);return`hsla(${e}, ${n}%, ${i}%, ${o})`};const sx=({h:t,s:e,v:n,a:i})=>{t=t/360*6;e=e/100;n=n/100;const o=Math.floor(t),r=n*(1-e),s=n*(1-(t-o)*e),a=n*(1-(1-t+o)*e),c=o%6;return{r:qy([n,s,r,r,a,n][c]*255),g:qy([a,n,n,s,r,r][c]*255),b:qy([r,r,a,n,n,s][c]*255),a:qy(i,2)}};const ax=t=>{const{r:e,g:n,b:i}=sx(t);return`rgb(${e}, ${n}, ${i})`};const cx=t=>{const{r:e,g:n,b:i,a:o}=sx(t);return`rgba(${e}, ${n}, ${i}, ${o})`};const lx=t=>{const e=/hsva?\(?\s*(-?\d*\.?\d+)(deg|rad|grad|turn)?[,\s]+(-?\d*\.?\d+)%?[,\s]+(-?\d*\.?\d+)%?,?\s*[/\s]*(-?\d*\.?\d+)?(%)?\s*\)?/i;const n=e.exec(t);if(!n)return{h:0,s:0,v:0,a:1};return px({h:Yy(n[1],n[2]),s:Number(n[3]),v:Number(n[4]),a:n[5]===undefined?1:Number(n[5])/(n[6]?100:1)})};const dx=null&&lx;const ux=t=>{const e=/rgba?\(?\s*(-?\d*\.?\d+)(%)?[,\s]+(-?\d*\.?\d+)(%)?[,\s]+(-?\d*\.?\d+)(%)?,?\s*[/\s]*(-?\d*\.?\d+)?(%)?\s*\)?/i;const n=e.exec(t);if(!n)return{h:0,s:0,v:0,a:1};return fx({r:Number(n[1])/(n[2]?100/255:1),g:Number(n[3])/(n[4]?100/255:1),b:Number(n[5])/(n[6]?100/255:1),a:n[7]===undefined?1:Number(n[7])/(n[8]?100:1)})};const hx=null&&ux;const mx=t=>{const e=t.toString(16);return e.length<2?"0"+e:e};const gx=({r:t,g:e,b:n,a:i})=>{const o=i<1?mx(qy(i*255)):"";return"#"+mx(t)+mx(e)+mx(n)+o};const fx=({r:t,g:e,b:n,a:i})=>{const o=Math.max(t,e,n);const r=o-Math.min(t,e,n);const s=r?o===t?(e-n)/r:o===e?2+(n-t)/r:4+(t-e)/r:0;return{h:qy(60*(s<0?s+6:s)),s:qy(o?r/o*100:0),v:qy(o/255*100),a:i}};const px=t=>({h:round(t.h),s:round(t.s),v:round(t.v),a:round(t.a,2)});const bx=({r:t,g:e,b:n})=>({r:t,g:e,b:n});const kx=({h:t,s:e,l:n})=>({h:t,s:e,l:n});const wx=t=>{const{h:e,s:n,v:i}=px(t);return{h:e,s:n,v:i}};const Ax=(t,e)=>{if(t===e)return true;for(const n in t){if(t[n]!==e[n])return false}return true};const Cx=(t,e)=>t.replace(/\s/g,"")===e.replace(/\s/g,"");const _x=(t,e)=>{if(t.toLowerCase()===e.toLowerCase())return true;return Ax(Zy(t),Zy(e))};const vx={};const yx=t=>{let e=vx[t];if(!e){e=document.createElement("template");e.innerHTML=t;vx[t]=e}return e};const xx=(t,e,n)=>{t.dispatchEvent(new CustomEvent(e,{bubbles:true,detail:n}))};let Ex=false;const Dx=t=>"touches"in t;const Tx=t=>{if(Ex&&!Dx(t))return false;if(!Ex)Ex=Dx(t);return true};const Sx=(t,e)=>{const n=Dx(e)?e.touches[0]:e;const i=t.el.getBoundingClientRect();xx(t.el,"move",t.getMove({x:Gy((n.pageX-(i.left+window.pageXOffset))/i.width),y:Gy((n.pageY-(i.top+window.pageYOffset))/i.height)}))};const Ix=(t,e)=>{const n=e.keyCode;if(n>40||t.xy&&n<37||n<33)return;e.preventDefault();xx(t.el,"move",t.getMove({x:n===39?.01:n===37?-.01:n===34?.05:n===33?-.05:n===35?1:n===36?-1:0,y:n===40?.01:n===38?-.01:0},true))};class Bx{constructor(t,e,n,i){const o=yx(`
`);t.appendChild(o.content.cloneNode(true));const r=t.querySelector(`[part=${e}]`);r.addEventListener("mousedown",this);r.addEventListener("touchstart",this);r.addEventListener("keydown",this);this.el=r;this.xy=i;this.nodes=[r.firstChild,r]}set dragging(t){const e=t?document.addEventListener:document.removeEventListener;e(Ex?"touchmove":"mousemove",this);e(Ex?"touchend":"mouseup",this)}handleEvent(t){switch(t.type){case"mousedown":case"touchstart":t.preventDefault();if(!Tx(t)||!Ex&&t.button!=0)return;this.el.focus();Sx(this,t);this.dragging=true;break;case"mousemove":case"touchmove":t.preventDefault();Sx(this,t);break;case"mouseup":case"touchend":this.dragging=false;break;case"keydown":Ix(this,t);break}}style(t){t.forEach(((t,e)=>{for(const n in t){this.nodes[e].style.setProperty(n,t[n])}}))}}class Mx extends Bx{constructor(t){super(t,"hue",'aria-label="Hue" aria-valuemin="0" aria-valuemax="360"',false)}update({h:t}){this.h=t;this.style([{left:`${t/360*100}%`,color:ox({h:t,s:100,v:100,a:1})}]);this.el.setAttribute("aria-valuenow",`${qy(t)}`)}getMove(t,e){return{h:e?Gy(this.h+t.x*360,0,360):360*t.x}}}class Nx extends Bx{constructor(t){super(t,"saturation",'aria-label="Color"',true)}update(t){this.hsva=t;this.style([{top:`${100-t.v}%`,left:`${t.s}%`,color:ox(t)},{"background-color":ox({h:t.h,s:100,v:100,a:1})}]);this.el.setAttribute("aria-valuetext",`Saturation ${qy(t.s)}%, Brightness ${qy(t.v)}%`)}getMove(t,e){return{s:e?Gy(this.hsva.s+t.x*100,0,100):t.x*100,v:e?Gy(this.hsva.v-t.y*100,0,100):Math.round(100-t.y*100)}}}const Px=`:host{display:flex;flex-direction:column;position:relative;width:200px;height:200px;user-select:none;-webkit-user-select:none;cursor:default}:host([hidden]){display:none!important}[role=slider]{position:relative;touch-action:none;user-select:none;-webkit-user-select:none;outline:0}[role=slider]:last-child{border-radius:0 0 8px 8px}[part$=pointer]{position:absolute;z-index:1;box-sizing:border-box;width:28px;height:28px;display:flex;place-content:center center;transform:translate(-50%,-50%);background-color:#fff;border:2px solid #fff;border-radius:50%;box-shadow:0 2px 4px rgba(0,0,0,.2)}[part$=pointer]::after{content:"";width:100%;height:100%;border-radius:inherit;background-color:currentColor}[role=slider]:focus [part$=pointer]{transform:translate(-50%,-50%) scale(1.1)}`;const Lx=`[part=hue]{flex:0 0 24px;background:linear-gradient(to right,red 0,#ff0 17%,#0f0 33%,#0ff 50%,#00f 67%,#f0f 83%,red 100%)}[part=hue-pointer]{top:50%;z-index:2}`;const zx=`[part=saturation]{flex-grow:1;border-color:transparent;border-bottom:12px solid #000;border-radius:8px 8px 0 0;background-image:linear-gradient(to top,#000,transparent),linear-gradient(to right,#fff,rgba(255,255,255,0));box-shadow:inset 0 0 0 1px rgba(0,0,0,.05)}[part=saturation-pointer]{z-index:3}`;const Ox=Symbol("same");const Rx=Symbol("color");const Vx=Symbol("hsva");const Fx=Symbol("update");const jx=Symbol("parts");const Hx=Symbol("css");const Ux=Symbol("sliders");class Wx extends HTMLElement{static get observedAttributes(){return["color"]}get[Hx](){return[Px,Lx,zx]}get[Ux](){return[Nx,Mx]}get color(){return this[Rx]}set color(t){if(!this[Ox](t)){const e=this.colorModel.toHsva(t);this[Fx](e);this[Rx]=t}}constructor(){super();const t=yx(``);const e=this.attachShadow({mode:"open"});e.appendChild(t.content.cloneNode(true));e.addEventListener("move",this);this[jx]=this[Ux].map((t=>new t(e)))}connectedCallback(){if(this.hasOwnProperty("color")){const t=this.color;delete this["color"];this.color=t}else if(!this.color){this.color=this.colorModel.defaultColor}}attributeChangedCallback(t,e,n){const i=this.colorModel.fromAttr(n);if(!this[Ox](i)){this.color=i}}handleEvent(t){const e=this[Vx];const n={...e,...t.detail};this[Fx](n);let i;if(!Ax(n,e)&&!this[Ox](i=this.colorModel.fromHsva(n))){this[Rx]=i;xx(this,"color-changed",{value:i})}}[Ox](t){return this.color&&this.colorModel.equal(t,this.color)}[Fx](t){this[Vx]=t;this[jx].forEach((e=>e.update(t)))}}const Gx={defaultColor:"#000",toHsva:Ky,fromHsva:({h:t,s:e,v:n})=>tx({h:t,s:e,v:n,a:1}),equal:_x,fromAttr:t=>t};class qx extends Wx{get colorModel(){return Gx}}class $x extends qx{}customElements.define("hex-color-picker",$x);var Kx=n(4257);var Zx={injectType:"singletonStyleTag",attributes:{"data-cke":true}};Zx.insert="head";Zx.singleton=true;var Yx=Pl()(Kx.Z,Zx);const Qx=Kx.Z.locals||{};const Jx=150;class Xx extends Vl{constructor(t,e={}){super(t);this.set({color:"",_hexColor:""});this.hexInputRow=this._createInputRow();const n=this.createCollection();if(!e.hideInput){n.add(this.hexInputRow)}this.setTemplate({tag:"div",attributes:{class:["ck","ck-color-picker"],tabindex:-1},children:n});this._config=e;this._debounceColorPickerEvent=wu((t=>{this.set("color",t);this.fire("colorSelected",{color:this.color})}),Jx,{leading:true});this.on("set:color",((t,e,n)=>{t.return=qd(n,this._config.format||"hsl")}));this.on("change:color",(()=>{this._hexColor=tE(this.color)}));this.on("change:_hexColor",(()=>{if(document.activeElement!==this.picker){this.picker.setAttribute("color",this._hexColor)}if(tE(this.color)!=tE(this._hexColor)){this.color=this._hexColor}}))}render(){super.render();this.picker=nc.document.createElement("hex-color-picker");this.picker.setAttribute("class","hex-color-picker");this.picker.setAttribute("tabindex","-1");this._createSlidersView();if(this.element){if(this.hexInputRow.element){this.element.insertBefore(this.picker,this.hexInputRow.element)}else{this.element.appendChild(this.picker)}const t=document.createElement("style");t.textContent='[role="slider"]:focus [part$="pointer"] {'+"border: 1px solid #fff;"+"outline: 1px solid var(--ck-color-focus-border);"+"box-shadow: 0 0 0 2px #fff;"+"}";this.picker.shadowRoot.appendChild(t)}this.picker.addEventListener("color-changed",(t=>{const e=t;const n=e.detail.value;this._debounceColorPickerEvent(n)}))}focus(){if(!this._config.hideInput&&(l.isGecko||l.isiOS||l.isSafari)){const t=this.hexInputRow.children.get(1);t.focus()}const t=this.slidersView.first;t.focus()}_createSlidersView(){const t=[...this.picker.shadowRoot.children];const e=t.filter((t=>t.getAttribute("role")==="slider"));const n=e.map((t=>{const e=new eE(t);return e}));this.slidersView=this.createCollection();n.forEach((t=>{this.slidersView.add(t)}))}_createInputRow(){const t=new nE;const e=this._createColorInput();return new iE(this.locale,[t,e])}_createColorInput(){const t=new Su(this.locale,jy);const{t:e}=this.locale;t.set({label:e("HEX"),class:"color-picker-hex-input"});t.fieldView.bind("value").to(this,"_hexColor",(e=>{if(t.isFocused){return t.fieldView.value}else{return e.startsWith("#")?e.substring(1):e}}));t.fieldView.on("input",(()=>{const e=t.fieldView.element.value;if(e){const t=e.trim();const n=t.startsWith("#")?t.substring(1):t;const i=[3,4,6,8].includes(n.length)&&/(([0-9a-fA-F]{2}){3,4}|([0-9a-fA-F]){3,4})/.test(n);if(i){this._debounceColorPickerEvent("#"+n)}}}));return t}}function tE(t){let e=$d(t);if(!e){e="#000"}if(e.length===4){e="#"+[e[1],e[1],e[2],e[2],e[3],e[3]].join("")}return e.toLowerCase()}class eE extends Vl{constructor(t){super();this.element=t}focus(){this.element.focus()}}class nE extends Vl{constructor(t){super(t);this.setTemplate({tag:"div",attributes:{class:["ck","ck-color-picker__hash-view"]},children:"#"})}}class iE extends Vl{constructor(t,e){super(t);this.children=this.createCollection(e);this.setTemplate({tag:"div",attributes:{class:["ck","ck-color-picker__row"]},children:this.children})}}class oE extends(mt(ml)){constructor(t){super(t);this.set("isEmpty",true);this.on("change",(()=>{this.set("isEmpty",this.length===0)}))}add(t,e){if(this.find((e=>e.color===t.color))){return this}return super.add(t,e)}hasColor(t){return!!this.find((e=>e.color===t))}}const rE='';class sE extends Vl{constructor(t,{colors:e,columns:n,removeButtonLabel:i,documentColorsLabel:o,documentColorsCount:r,colorPickerLabel:s,focusTracker:a,focusables:c}){super(t);const l=this.bindTemplate;this.set("isVisible",true);this.focusTracker=a;this.items=this.createCollection();this.colorDefinitions=e;this.columns=n;this.documentColors=new oE;this.documentColorsCount=r;this._focusables=c;this._removeButtonLabel=i;this._colorPickerLabel=s;this._documentColorsLabel=o;this.setTemplate({tag:"div",attributes:{class:["ck-color-grids-fragment",l.if("isVisible","ck-hidden",(t=>!t))]},children:this.items});this.removeColorButtonView=this._createRemoveColorButton();this.items.add(this.removeColorButtonView)}updateDocumentColors(t,e){const n=t.document;const i=this.documentColorsCount;this.documentColors.clear();for(const o of n.getRoots()){const n=t.createRangeIn(o);for(const t of n.getItems()){if(t.is("$textProxy")&&t.hasAttribute(e)){this._addColorToDocumentColors(t.getAttribute(e));if(this.documentColors.length>=i){return}}}}}updateSelectedColors(){const t=this.documentColorsGrid;const e=this.staticColorsGrid;const n=this.selectedColor;e.selectedColor=n;if(t){t.selectedColor=n}}render(){super.render();this.staticColorsGrid=this._createStaticColorsGrid();this.items.add(this.staticColorsGrid);if(this.documentColorsCount){const t=jl.bind(this.documentColors,this.documentColors);const e=new yu(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._createColorPickerButton();this._addColorSelectorElementsToFocusTracker();this.focus()}focus(){this.removeColorButtonView.focus()}destroy(){super.destroy()}addColorPickerButton(){if(this.colorPickerButtonView){this.items.add(this.colorPickerButtonView);this.focusTracker.add(this.colorPickerButtonView.element);this._focusables.add(this.colorPickerButtonView)}}_addColorSelectorElementsToFocusTracker(){this.focusTracker.add(this.removeColorButtonView.element);this._focusables.add(this.removeColorButtonView);if(this.staticColorsGrid){this.focusTracker.add(this.staticColorsGrid.element);this._focusables.add(this.staticColorsGrid)}if(this.documentColorsGrid){this.focusTracker.add(this.documentColorsGrid.element);this._focusables.add(this.documentColorsGrid)}}_createColorPickerButton(){this.colorPickerButtonView=new xd;this.colorPickerButtonView.set({label:this._colorPickerLabel,withText:true,icon:rE,class:"ck-color-selector__color-picker"});this.colorPickerButtonView.on("execute",(()=>{this.fire("colorPicker:show")}))}_createRemoveColorButton(){const t=new xd;t.set({withText:true,icon:hv,label:this._removeButtonLabel});t.class="ck-color-selector__remove-color";t.on("execute",(()=>{this.fire("execute",{value:null,source:"removeColorButton"})}));t.render();return t}_createStaticColorsGrid(){const t=new Fd(this.locale,{colorDefinitions:this.colorDefinitions,columns:this.columns});t.on("execute",((t,e)=>{this.fire("execute",{value:e.value,source:"staticColorsGrid"})}));return t}_createDocumentColorsGrid(){const t=jl.bind(this.documentColors,this.documentColors);const e=new Fd(this.locale,{columns:this.columns});e.extendTemplate({attributes:{class:t.if("isEmpty","ck-hidden")}});e.items.bindTo(this.documentColors).using((t=>{const e=new Ld;e.set({color:t.color,hasBorder:t.options&&t.options.hasBorder});if(t.label){e.set({label:t.label,tooltip:true})}e.on("execute",(()=>{this.fire("execute",{value:t.color,source:"documentColorsGrid"})}));return e}));this.documentColors.on("change:isEmpty",((t,n,i)=>{if(i){e.selectedColor=null}}));return e}_addColorToDocumentColors(t){const e=this.colorDefinitions.find((e=>e.color===t));if(!e){this.documentColors.add({color:t,label:t,options:{hasBorder:false}})}else{this.documentColors.add(Object.assign({},e))}}}class aE extends Vl{constructor(t,{focusTracker:e,focusables:n,keystrokes:i,colorPickerViewConfig:o}){super(t);this.items=this.createCollection();this.focusTracker=e;this.keystrokes=i;this.set("isVisible",false);this.set("selectedColor",undefined);this._focusables=n;this._colorPickerViewConfig=o;const r=this.bindTemplate;const{saveButtonView:s,cancelButtonView:a}=this._createActionButtons();this.saveButtonView=s;this.cancelButtonView=a;this.actionBarView=this._createActionBarView({saveButtonView:s,cancelButtonView:a});this.setTemplate({tag:"div",attributes:{class:["ck-color-picker-fragment",r.if("isVisible","ck-hidden",(t=>!t))]},children:this.items})}render(){super.render();const t=new Xx(this.locale,{...this._colorPickerViewConfig});this.colorPickerView=t;this.colorPickerView.render();if(this.selectedColor){t.color=this.selectedColor}this.listenTo(this,"change:selectedColor",((e,n,i)=>{t.color=i}));this.items.add(this.colorPickerView);this.items.add(this.actionBarView);this._addColorPickersElementsToFocusTracker();this._stopPropagationOnArrowsKeys();this._executeOnEnterPress();this._executeUponColorChange()}destroy(){super.destroy()}focus(){this.colorPickerView.focus()}_executeOnEnterPress(){this.keystrokes.set("enter",(t=>{if(this.isVisible&&this.focusTracker.focusedElement!==this.cancelButtonView.element){this.fire("execute",{value:this.selectedColor});t.stopPropagation();t.preventDefault()}}))}_stopPropagationOnArrowsKeys(){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)}_addColorPickersElementsToFocusTracker(){for(const t of this.colorPickerView.slidersView){this.focusTracker.add(t.element);this._focusables.add(t)}const t=this.colorPickerView.hexInputRow.children.get(1);if(t.element){this.focusTracker.add(t.element);this._focusables.add(t)}this.focusTracker.add(this.saveButtonView.element);this._focusables.add(this.saveButtonView);this.focusTracker.add(this.cancelButtonView.element);this._focusables.add(this.cancelButtonView)}_createActionBarView({saveButtonView:t,cancelButtonView:e}){const n=new Vl;const i=this.createCollection();i.add(t);i.add(e);n.setTemplate({tag:"div",attributes:{class:["ck","ck-color-selector_action-bar"]},children:i});return n}_createActionButtons(){const t=this.locale;const e=t.t;const n=new xd(t);const i=new xd(t);n.set({icon:dv,class:"ck-button-save",type:"button",withText:false,label:e("Accept")});i.set({icon:cv,class:"ck-button-cancel",type:"button",withText:false,label:e("Cancel")});n.on("execute",(()=>{this.fire("execute",{source:"colorPickerSaveButton",value:this.selectedColor})}));i.on("execute",(()=>{this.fire("colorPicker:cancel")}));return{saveButtonView:n,cancelButtonView:i}}_executeUponColorChange(){this.colorPickerView.on("colorSelected",((t,e)=>{this.fire("execute",{value:e.color,source:"colorPicker"});this.set("selectedColor",e.color)}))}}var cE=n(6306);var lE={injectType:"singletonStyleTag",attributes:{"data-cke":true}};lE.insert="head";lE.singleton=true;var dE=Pl()(cE.Z,lE);const uE=cE.Z.locals||{};class hE extends Vl{constructor(t,{colors:e,columns:n,removeButtonLabel:i,documentColorsLabel:o,documentColorsCount:r,colorPickerLabel:s,colorPickerViewConfig:a}){super(t);this.items=this.createCollection();this.focusTracker=new fl;this.keystrokes=new pl;this._focusables=new Bl;this._colorPickerViewConfig=a;this._focusCycler=new Xu({focusables:this._focusables,focusTracker:this.focusTracker,keystrokeHandler:this.keystrokes,actions:{focusPrevious:"shift + tab",focusNext:"tab"}});this.colorGridsFragmentView=new sE(t,{colors:e,columns:n,removeButtonLabel:i,documentColorsLabel:o,documentColorsCount:r,colorPickerLabel:s,focusTracker:this.focusTracker,focusables:this._focusables});this.colorPickerFragmentView=new aE(t,{focusables:this._focusables,focusTracker:this.focusTracker,keystrokes:this.keystrokes,colorPickerViewConfig:a});this.set("_isColorGridsFragmentVisible",true);this.set("_isColorPickerFragmentVisible",false);this.set("selectedColor",undefined);this.colorGridsFragmentView.bind("isVisible").to(this,"_isColorGridsFragmentVisible");this.colorPickerFragmentView.bind("isVisible").to(this,"_isColorPickerFragmentVisible");this.on("change:selectedColor",((t,e,n)=>{this.colorGridsFragmentView.set("selectedColor",n);this.colorPickerFragmentView.set("selectedColor",n)}));this.colorGridsFragmentView.on("change:selectedColor",((t,e,n)=>{this.set("selectedColor",n)}));this.colorPickerFragmentView.on("change:selectedColor",((t,e,n)=>{this.set("selectedColor",n)}));this.setTemplate({tag:"div",attributes:{class:["ck","ck-color-selector"]},children:this.items})}render(){super.render();this.keystrokes.listenTo(this.element)}destroy(){super.destroy();this.focusTracker.destroy();this.keystrokes.destroy()}appendUI(){this._appendColorGridsFragment();if(this._colorPickerViewConfig){this._appendColorPickerFragment()}}showColorPickerFragment(){if(!this.colorPickerFragmentView.colorPickerView||this._isColorPickerFragmentVisible){return}this._isColorPickerFragmentVisible=true;this.colorPickerFragmentView.focus();this._isColorGridsFragmentVisible=false}showColorGridsFragment(){if(this._isColorGridsFragmentVisible){return}this._isColorGridsFragmentVisible=true;this.colorGridsFragmentView.focus();this._isColorPickerFragmentVisible=false}focus(){this._focusCycler.focusFirst()}focusLast(){this._focusCycler.focusLast()}updateDocumentColors(t,e){this.colorGridsFragmentView.updateDocumentColors(t,e)}updateSelectedColors(){this.colorGridsFragmentView.updateSelectedColors()}_appendColorGridsFragment(){if(this.items.length){return}this.items.add(this.colorGridsFragmentView);this.colorGridsFragmentView.delegate("execute").to(this);this.colorGridsFragmentView.delegate("colorPicker:show").to(this)}_appendColorPickerFragment(){if(this.items.length===2){return}this.items.add(this.colorPickerFragmentView);if(this.colorGridsFragmentView.colorPickerButtonView){this.colorGridsFragmentView.colorPickerButtonView.on("execute",(()=>{this.showColorPickerFragment()}))}this.colorGridsFragmentView.addColorPickerButton();this.colorPickerFragmentView.delegate("execute").to(this);this.colorPickerFragmentView.delegate("colorPicker:cancel").to(this)}}class mE{constructor(t){this._components=new Map;this.editor=t}*names(){for(const t of this._components.values()){yield t.originalName}}add(t,e){this._components.set(gE(t),{callback:e,originalName:t})}create(t){if(!this.has(t)){throw new P("componentfactory-item-missing",this,{name:t})}return this._components.get(gE(t)).callback(this.editor.locale)}has(t){return this._components.has(gE(t))}}function gE(t){return String(t).toLowerCase()}var fE=n(4460);var pE={injectType:"singletonStyleTag",attributes:{"data-cke":true}};pE.insert="head";pE.singleton=true;var bE=Pl()(fE.Z,pE);const kE=fE.Z.locals||{};const wE=Ac("px");const AE=nc.document.body;const CE={top:-99999,left:-99999,name:"arrowless",config:{withArrow:false}};class _E extends Vl{constructor(t){super(t);const e=this.bindTemplate;this.set("top",0);this.set("left",0);this.set("position","arrow_nw");this.set("isVisible",false);this.set("withArrow",true);this.set("class",undefined);this._pinWhenIsVisibleCallback=null;this.content=this.createCollection();this.setTemplate({tag:"div",attributes:{class:["ck","ck-balloon-panel",e.to("position",(t=>`ck-balloon-panel_${t}`)),e.if("isVisible","ck-balloon-panel_visible"),e.if("withArrow","ck-balloon-panel_with-arrow"),e.to("class")],style:{top:e.to("top",wE),left:e.to("left",wE)}},children:this.content})}show(){this.isVisible=true}hide(){this.isVisible=false}attachTo(t){this.show();const e=_E.defaultPositions;const n=Object.assign({},{element:this.element,positions:[e.southArrowNorth,e.southArrowNorthMiddleWest,e.southArrowNorthMiddleEast,e.southArrowNorthWest,e.southArrowNorthEast,e.northArrowSouth,e.northArrowSouthMiddleWest,e.northArrowSouthMiddleEast,e.northArrowSouthWest,e.northArrowSouthEast,e.viewportStickyNorth],limiter:AE,fitInViewport:true},t);const i=_E._getOptimalPosition(n)||CE;const o=parseInt(i.left);const r=parseInt(i.top);const s=i.name;const a=i.config||{};const{withArrow:c=true}=a;this.top=r;this.left=o;this.position=s;this.withArrow=c}pin(t){this.unpin();this._pinWhenIsVisibleCallback=()=>{if(this.isVisible){this._startPinning(t)}else{this._stopPinning()}};this._startPinning(t);this.listenTo(this,"change:isVisible",this._pinWhenIsVisibleCallback)}unpin(){if(this._pinWhenIsVisibleCallback){this._stopPinning();this.stopListening(this,"change:isVisible",this._pinWhenIsVisibleCallback);this._pinWhenIsVisibleCallback=null;this.hide()}}_startPinning(t){this.attachTo(t);const e=vE(t.target);const n=t.limiter?vE(t.limiter):AE;this.listenTo(nc.document,"scroll",((i,o)=>{const r=o.target;const s=e&&r.contains(e);const a=n&&r.contains(n);if(s||a||!e||!n){this.attachTo(t)}}),{useCapture:true});this.listenTo(nc.window,"resize",(()=>{this.attachTo(t)}))}_stopPinning(){this.stopListening(nc.document,"scroll");this.stopListening(nc.window,"resize")}}_E.arrowSideOffset=25;_E.arrowHeightOffset=10;_E.stickyVerticalOffset=20;_E._getOptimalPosition=Ec;_E.defaultPositions=yE();function vE(t){if(Wa(t)){return t}if(ac(t)){return t.commonAncestorContainer}if(typeof t=="function"){return vE(t())}return null}function yE(t={}){const{sideOffset:e=_E.arrowSideOffset,heightOffset:n=_E.arrowHeightOffset,stickyVerticalOffset:i=_E.stickyVerticalOffset,config:o}=t;return{northWestArrowSouthWest:(t,n)=>({top:r(t,n),left:t.left-e,name:"arrow_sw",...o&&{config:o}}),northWestArrowSouthMiddleWest:(t,n)=>({top:r(t,n),left:t.left-n.width*.25-e,name:"arrow_smw",...o&&{config:o}}),northWestArrowSouth:(t,e)=>({top:r(t,e),left:t.left-e.width/2,name:"arrow_s",...o&&{config:o}}),northWestArrowSouthMiddleEast:(t,n)=>({top:r(t,n),left:t.left-n.width*.75+e,name:"arrow_sme",...o&&{config:o}}),northWestArrowSouthEast:(t,n)=>({top:r(t,n),left:t.left-n.width+e,name:"arrow_se",...o&&{config:o}}),northArrowSouthWest:(t,n)=>({top:r(t,n),left:t.left+t.width/2-e,name:"arrow_sw",...o&&{config:o}}),northArrowSouthMiddleWest:(t,n)=>({top:r(t,n),left:t.left+t.width/2-n.width*.25-e,name:"arrow_smw",...o&&{config:o}}),northArrowSouth:(t,e)=>({top:r(t,e),left:t.left+t.width/2-e.width/2,name:"arrow_s",...o&&{config:o}}),northArrowSouthMiddleEast:(t,n)=>({top:r(t,n),left:t.left+t.width/2-n.width*.75+e,name:"arrow_sme",...o&&{config:o}}),northArrowSouthEast:(t,n)=>({top:r(t,n),left:t.left+t.width/2-n.width+e,name:"arrow_se",...o&&{config:o}}),northEastArrowSouthWest:(t,n)=>({top:r(t,n),left:t.right-e,name:"arrow_sw",...o&&{config:o}}),northEastArrowSouthMiddleWest:(t,n)=>({top:r(t,n),left:t.right-n.width*.25-e,name:"arrow_smw",...o&&{config:o}}),northEastArrowSouth:(t,e)=>({top:r(t,e),left:t.right-e.width/2,name:"arrow_s",...o&&{config:o}}),northEastArrowSouthMiddleEast:(t,n)=>({top:r(t,n),left:t.right-n.width*.75+e,name:"arrow_sme",...o&&{config:o}}),northEastArrowSouthEast:(t,n)=>({top:r(t,n),left:t.right-n.width+e,name:"arrow_se",...o&&{config:o}}),southWestArrowNorthWest:t=>({top:s(t),left:t.left-e,name:"arrow_nw",...o&&{config:o}}),southWestArrowNorthMiddleWest:(t,n)=>({top:s(t),left:t.left-n.width*.25-e,name:"arrow_nmw",...o&&{config:o}}),southWestArrowNorth:(t,e)=>({top:s(t),left:t.left-e.width/2,name:"arrow_n",...o&&{config:o}}),southWestArrowNorthMiddleEast:(t,n)=>({top:s(t),left:t.left-n.width*.75+e,name:"arrow_nme",...o&&{config:o}}),southWestArrowNorthEast:(t,n)=>({top:s(t),left:t.left-n.width+e,name:"arrow_ne",...o&&{config:o}}),southArrowNorthWest:t=>({top:s(t),left:t.left+t.width/2-e,name:"arrow_nw",...o&&{config:o}}),southArrowNorthMiddleWest:(t,n)=>({top:s(t),left:t.left+t.width/2-n.width*.25-e,name:"arrow_nmw",...o&&{config:o}}),southArrowNorth:(t,e)=>({top:s(t),left:t.left+t.width/2-e.width/2,name:"arrow_n",...o&&{config:o}}),southArrowNorthMiddleEast:(t,n)=>({top:s(t),left:t.left+t.width/2-n.width*.75+e,name:"arrow_nme",...o&&{config:o}}),southArrowNorthEast:(t,n)=>({top:s(t),left:t.left+t.width/2-n.width+e,name:"arrow_ne",...o&&{config:o}}),southEastArrowNorthWest:t=>({top:s(t),left:t.right-e,name:"arrow_nw",...o&&{config:o}}),southEastArrowNorthMiddleWest:(t,n)=>({top:s(t),left:t.right-n.width*.25-e,name:"arrow_nmw",...o&&{config:o}}),southEastArrowNorth:(t,e)=>({top:s(t),left:t.right-e.width/2,name:"arrow_n",...o&&{config:o}}),southEastArrowNorthMiddleEast:(t,n)=>({top:s(t),left:t.right-n.width*.75+e,name:"arrow_nme",...o&&{config:o}}),southEastArrowNorthEast:(t,n)=>({top:s(t),left:t.right-n.width+e,name:"arrow_ne",...o&&{config:o}}),westArrowEast:(t,e)=>({top:t.top+t.height/2-e.height/2,left:t.left-e.width-n,name:"arrow_e",...o&&{config:o}}),eastArrowWest:(t,e)=>({top:t.top+t.height/2-e.height/2,left:t.right+n,name:"arrow_w",...o&&{config:o}}),viewportStickyNorth:(t,e,n,r)=>{const s=r||n;if(!t.getIntersection(s)){return null}if(s.height-t.height>i){return null}return{top:s.top+i,left:t.left+t.width/2-e.width/2,name:"arrowless",config:{withArrow:false,...o}}}};function r(t,e){return t.top-e.height-n}function s(t){return t.bottom+n}}var xE=n(3888);var EE={injectType:"singletonStyleTag",attributes:{"data-cke":true}};EE.insert="head";EE.singleton=true;var DE=Pl()(xE.Z,EE);const TE=xE.Z.locals||{};const SE="ck-tooltip";class IE extends(Qa()){constructor(t){super();this._currentElementWithTooltip=null;this._currentTooltipPosition=null;this._resizeObserver=null;IE._editors.add(t);if(IE._instance){return IE._instance}IE._instance=this;this.tooltipTextView=new Vl(t.locale);this.tooltipTextView.set("text","");this.tooltipTextView.setTemplate({tag:"span",attributes:{class:["ck","ck-tooltip__text"]},children:[{text:this.tooltipTextView.bindTemplate.to("text")}]});this.balloonPanelView=new _E(t.locale);this.balloonPanelView.class=SE;this.balloonPanelView.content.add(this.tooltipTextView);this._pinTooltipDebounced=wu(this._pinTooltip,600);this.listenTo(nc.document,"mouseenter",this._onEnterOrFocus.bind(this),{useCapture:true});this.listenTo(nc.document,"mouseleave",this._onLeaveOrBlur.bind(this),{useCapture:true});this.listenTo(nc.document,"focus",this._onEnterOrFocus.bind(this),{useCapture:true});this.listenTo(nc.document,"blur",this._onLeaveOrBlur.bind(this),{useCapture:true});this.listenTo(nc.document,"scroll",this._onScroll.bind(this),{useCapture:true});this._watchdogExcluded=true}destroy(t){const e=t.ui.view&&t.ui.view.body;IE._editors.delete(t);this.stopListening(t.ui);if(e&&e.has(this.balloonPanelView)){e.remove(this.balloonPanelView)}if(!IE._editors.size){this._unpinTooltip();this.balloonPanelView.destroy();this.stopListening();IE._instance=null}}static getPositioningFunctions(t){const e=IE.defaultBalloonPositions;return{s:[e.southArrowNorth,e.southArrowNorthEast,e.southArrowNorthWest],n:[e.northArrowSouth],e:[e.eastArrowWest],w:[e.westArrowEast],sw:[e.southArrowNorthEast],se:[e.southArrowNorthWest]}[t]}_onEnterOrFocus(t,{target:e}){const n=BE(e);if(!n){return}if(n===this._currentElementWithTooltip){return}this._unpinTooltip();this._pinTooltipDebounced(n,ME(n))}_onLeaveOrBlur(t,{target:e,relatedTarget:n}){if(t.name==="mouseleave"){if(!Wa(e)){return}if(this._currentElementWithTooltip&&e!==this._currentElementWithTooltip){return}const t=BE(e);const i=BE(n);if(t&&t!==i){this._unpinTooltip()}}else{if(this._currentElementWithTooltip&&e!==this._currentElementWithTooltip){return}this._unpinTooltip()}}_onScroll(t,{target:e}){if(!this._currentElementWithTooltip){return}if(e.contains(this.balloonPanelView.element)&&e.contains(this._currentElementWithTooltip)){return}this._unpinTooltip()}_pinTooltip(t,{text:e,position:n,cssClass:i}){const o=gl(IE._editors.values()).ui.view.body;if(!o.has(this.balloonPanelView)){o.add(this.balloonPanelView)}this.tooltipTextView.text=e;this.balloonPanelView.pin({target:t,positions:IE.getPositioningFunctions(n)});this._resizeObserver=new kc(t,(()=>{if(!xc(t)){this._unpinTooltip()}}));this.balloonPanelView.class=[SE,i].filter((t=>t)).join(" ");for(const t of IE._editors){this.listenTo(t.ui,"update",this._updateTooltipPosition.bind(this),{priority:"low"})}this._currentElementWithTooltip=t;this._currentTooltipPosition=n}_unpinTooltip(){this._pinTooltipDebounced.cancel();this.balloonPanelView.unpin();for(const t of IE._editors){this.stopListening(t.ui,"update")}this._currentElementWithTooltip=null;this._currentTooltipPosition=null;if(this._resizeObserver){this._resizeObserver.destroy()}}_updateTooltipPosition(){if(!xc(this._currentElementWithTooltip)){this._unpinTooltip();return}this.balloonPanelView.pin({target:this._currentElementWithTooltip,positions:IE.getPositioningFunctions(this._currentTooltipPosition)})}}IE.defaultBalloonPositions=yE({heightOffset:5,sideOffset:13});IE._editors=new Set;IE._instance=null;function BE(t){if(!Wa(t)){return null}return t.closest("[data-cke-tooltip-text]:not([data-cke-tooltip-disabled])")}function ME(t){return{text:t.dataset.ckeTooltipText,position:t.dataset.ckeTooltipPosition||"s",cssClass:t.dataset.ckeTooltipClass||""}}var NE="Expected a function";function PE(t,e,n){var i=true,o=true;if(typeof t!="function"){throw new TypeError(NE)}if(st(n)){i="leading"in n?!!n.leading:i;o="trailing"in n?!!n.trailing:o}return wu(t,e,{leading:i,maxWait:e,trailing:o})}const LE=PE;const zE='\n';const OE=53;const RE=10;const VE=50;const FE=350;const jE="Powered by";class HE extends(Qa()){constructor(t){super();this.editor=t;this._balloonView=null;this._lastFocusedEditableElement=null;this._showBalloonThrottled=LE(this._showBalloon.bind(this),50,{leading:true});t.on("ready",this._handleEditorReady.bind(this))}destroy(){const t=this._balloonView;if(t){t.unpin();this._balloonView=null}this._showBalloonThrottled.cancel();this.stopListening()}_handleEditorReady(){const t=this.editor;const e=!!t.config.get("ui.poweredBy.forceVisible");if(!e&&_l(t.config.get("licenseKey"))==="VALID"){return}if(!t.ui.view){return}t.ui.focusTracker.on("change:isFocused",((t,e,n)=>{this._updateLastFocusedEditableElement();if(n){this._showBalloon()}else{this._hideBalloon()}}));t.ui.focusTracker.on("change:focusedElement",((t,e,n)=>{this._updateLastFocusedEditableElement();if(n){this._showBalloon()}}));t.ui.on("update",(()=>{this._showBalloonThrottled()}))}_createBalloonView(){const t=this.editor;const e=this._balloonView=new _E;const n=KE(t);const i=new UE(t.locale,n.label);e.content.add(i);e.set({class:"ck-powered-by-balloon"});t.ui.view.body.add(e);t.ui.focusTracker.add(e.element);this._balloonView=e}_showBalloon(){if(!this._lastFocusedEditableElement){return}const t=WE(this.editor,this._lastFocusedEditableElement);if(t){if(!this._balloonView){this._createBalloonView()}this._balloonView.pin(t)}}_hideBalloon(){if(this._balloonView){this._balloonView.unpin()}}_updateLastFocusedEditableElement(){const t=this.editor;const e=t.ui.focusTracker.isFocused;const n=t.ui.focusTracker.focusedElement;if(!e||!n){this._lastFocusedEditableElement=null;return}const i=Array.from(t.ui.getEditableElementsNames()).map((e=>t.ui.getEditableElement(e)));if(i.includes(n)){this._lastFocusedEditableElement=n}else{this._lastFocusedEditableElement=i[0]}}}class UE extends Vl{constructor(t,e){super(t);const n=new wd;const i=this.bindTemplate;n.set({content:zE,isColorInherited:false});n.extendTemplate({attributes:{style:{width:OE+"px",height:RE+"px"}}});this.setTemplate({tag:"div",attributes:{class:["ck","ck-powered-by"],"aria-hidden":true},children:[{tag:"a",attributes:{href:"https://ckeditor.com/?utm_source=ckeditor&"+"utm_medium=referral&utm_campaign=701Dn000000hVgmIAE_powered_by_ckeditor_logo",target:"_blank",tabindex:"-1"},children:[...e?[{tag:"span",attributes:{class:["ck","ck-powered-by__label"]},children:[e]}]:[],n],on:{dragstart:i.to((t=>t.preventDefault()))}}]})}}function WE(t,e){const n=KE(t);const i=n.side==="right"?GE(e,n):qE(e,n);return{target:e,positions:[i]}}function GE(t,e){return $E(t,e,((t,n)=>t.left+t.width-n.width-e.horizontalOffset))}function qE(t,e){return $E(t,e,(t=>t.left+e.horizontalOffset))}function $E(t,e,n){return(i,o)=>{const r=new uc(t);if(r.widthe.regionName===t));if(!o){o=new nD(this.view.locale);this.view.regionViews.add(o)}o.set({regionName:t,text:e,politeness:n})}}class eD extends Vl{constructor(t){super(t);this.regionViews=this.createCollection();this.setTemplate({tag:"div",attributes:{class:["ck","ck-aria-live-announcer"]},children:this.regionViews})}}class nD extends Vl{constructor(t){super(t);const e=this.bindTemplate;this.set("regionName","");this.set("text","");this.set("politeness",XE.POLITE);this.setTemplate({tag:"div",attributes:{role:"region","data-region":e.to("regionName"),"aria-live":e.to("politeness")},children:[{text:e.to("text")}]})}}class iD extends(mt()){constructor(t){super();this.isReady=false;this._editableElementsMap=new Map;this._focusableToolbarDefinitions=[];const e=t.editing.view;this.editor=t;this.componentFactory=new mE(t);this.focusTracker=new fl;this.tooltipManager=new IE(t);this.poweredBy=new HE(t);this.ariaLiveAnnouncer=new tD(t);this.set("viewportOffset",this._readViewportOffsetFromConfig());this.once("ready",(()=>{this.isReady=true}));this.listenTo(e.document,"layoutChanged",this.update.bind(this));this.listenTo(e,"scrollToTheSelection",this._handleScrollToTheSelection.bind(this));this._initFocusTracking()}get element(){return null}update(){this.fire("update")}destroy(){this.stopListening();this.focusTracker.destroy();this.tooltipManager.destroy(this.editor);this.poweredBy.destroy();for(const t of this._editableElementsMap.values()){t.ckeditorInstance=null;this.editor.keystrokes.stopListening(t)}this._editableElementsMap=new Map;this._focusableToolbarDefinitions=[]}setEditableElement(t,e){this._editableElementsMap.set(t,e);if(!e.ckeditorInstance){e.ckeditorInstance=this.editor}this.focusTracker.add(e);const n=()=>{if(this.editor.editing.view.getDomRoot(t)){return}this.editor.keystrokes.listenTo(e)};if(this.isReady){n()}else{this.once("ready",n)}}removeEditableElement(t){const e=this._editableElementsMap.get(t);if(!e){return}this._editableElementsMap.delete(t);this.editor.keystrokes.stopListening(e);this.focusTracker.remove(e);e.ckeditorInstance=null}getEditableElement(t="main"){return this._editableElementsMap.get(t)}getEditableElementsNames(){return this._editableElementsMap.keys()}addToolbar(t,e={}){if(t.isRendered){this.focusTracker.add(t.element);this.editor.keystrokes.listenTo(t.element)}else{t.once("render",(()=>{this.focusTracker.add(t.element);this.editor.keystrokes.listenTo(t.element)}))}this._focusableToolbarDefinitions.push({toolbarView:t,options:e})}get _editableElements(){console.warn("editor-ui-deprecated-editable-elements: "+"The EditorUI#_editableElements property has been deprecated and will be removed in the near future.",{editorUI:this});return this._editableElementsMap}_readViewportOffsetFromConfig(){const t=this.editor;const e=t.config.get("ui.viewportOffset");if(e){return e}const n=t.config.get("toolbar.viewportTopOffset");if(n){console.warn("editor-ui-deprecated-viewport-offset-config: "+"The `toolbar.vieportTopOffset` configuration option is deprecated. "+"It will be removed from future CKEditor versions. Use `ui.viewportOffset.top` instead.");return{top:n}}return{top:0}}_initFocusTracking(){const t=this.editor;const e=t.editing.view;let n;let i;t.keystrokes.set("Alt+F10",((t,o)=>{const r=this.focusTracker.focusedElement;if(Array.from(this._editableElementsMap.values()).includes(r)&&!Array.from(e.domRoots.values()).includes(r)){n=r}const s=this._getCurrentFocusedToolbarDefinition();if(!s||!i){i=this._getFocusableCandidateToolbarDefinitions()}for(let t=0;t{const o=this._getCurrentFocusedToolbarDefinition();if(!o){return}if(n){n.focus();n=null}else{t.editing.view.focus()}if(o.options.afterBlur){o.options.afterBlur()}i()}))}_getFocusableCandidateToolbarDefinitions(){const t=[];for(const e of this._focusableToolbarDefinitions){const{toolbarView:n,options:i}=e;if(xc(n.element)||i.beforeFocus){t.push(e)}}t.sort(((t,e)=>oD(t)-oD(e)));return t}_getCurrentFocusedToolbarDefinition(){for(const t of this._focusableToolbarDefinitions){if(t.toolbarView.element&&t.toolbarView.element.contains(this.focusTracker.focusedElement)){return t}}return null}_focusFocusableCandidateToolbar(t){const{toolbarView:e,options:{beforeFocus:n}}=t;if(n){n()}if(!xc(e.element)){return false}e.focus();return true}_handleScrollToTheSelection(t,e){const n={top:0,bottom:0,left:0,right:0,...this.viewportOffset};e.viewportOffset.top+=n.top;e.viewportOffset.bottom+=n.bottom;e.viewportOffset.left+=n.left;e.viewportOffset.right+=n.right}}function oD(t){const{toolbarView:e,options:n}=t;let i=10;if(xc(e.element)){i--}if(n.isContextual){i--}return i}var rD=n(9847);var sD={injectType:"singletonStyleTag",attributes:{"data-cke":true}};sD.insert="head";sD.singleton=true;var aD=Pl()(rD.Z,sD);const cD=rD.Z.locals||{};class lD extends Vl{constructor(t){super(t);this.body=new gd(t)}render(){super.render();this.body.attachToDom()}destroy(){this.body.detachFromDom();return super.destroy()}}class dD extends lD{constructor(t){super(t);this.top=this.createCollection();this.main=this.createCollection();this._voiceLabelView=this._createVoiceLabel();this.setTemplate({tag:"div",attributes:{class:["ck","ck-reset","ck-editor","ck-rounded-corners"],role:"application",dir:t.uiLanguageDirection,lang:t.uiLanguage,"aria-labelledby":this._voiceLabelView.id},children:[this._voiceLabelView,{tag:"div",attributes:{class:["ck","ck-editor__top","ck-reset_all"],role:"presentation"},children:this.top},{tag:"div",attributes:{class:["ck","ck-editor__main"],role:"presentation"},children:this.main}]})}_createVoiceLabel(){const t=this.t;const e=new yu;e.text=t("Rich Text Editor");e.extendTemplate({attributes:{class:"ck-voice-label"}});return e}}class uD extends Vl{constructor(t,e,n){super(t);this.name=null;this.setTemplate({tag:"div",attributes:{class:["ck","ck-content","ck-editor__editable","ck-rounded-corners"],lang:t.contentLanguage,dir:t.contentLanguageDirection}});this.set("isFocused",false);this._editableElement=n;this._hasExternalElement=!!this._editableElement;this._editingView=e}render(){super.render();if(this._hasExternalElement){this.template.apply(this.element=this._editableElement)}else{this._editableElement=this.element}this.on("change:isFocused",(()=>this._updateIsFocusedClasses()));this._updateIsFocusedClasses()}destroy(){if(this._hasExternalElement){this.template.revert(this._editableElement)}super.destroy()}get hasExternalElement(){return this._hasExternalElement}_updateIsFocusedClasses(){const t=this._editingView;if(t.isRenderingInProgress){n(this)}else{e(this)}function e(e){t.change((n=>{const i=t.document.getRoot(e.name);n.addClass(e.isFocused?"ck-focused":"ck-blurred",i);n.removeClass(e.isFocused?"ck-blurred":"ck-focused",i)}))}function n(i){t.once("change:isRenderingInProgress",((t,o,r)=>{if(!r){e(i)}else{n(i)}}))}}}class hD extends uD{constructor(t,e,n,i={}){super(t,e,n);const o=t.t;this.extendTemplate({attributes:{role:"textbox",class:"ck-editor__editable_inline"}});this._generateLabel=i.label||(()=>o("Editor editing area: %0",this.name))}render(){super.render();const t=this._editingView;t.change((e=>{const n=t.document.getRoot(this.name);e.setAttribute("aria-label",this._generateLabel(this),n)}))}}var mD=n(1874);var gD={injectType:"singletonStyleTag",attributes:{"data-cke":true}};gD.insert="head";gD.singleton=true;var fD=Pl()(mD.Z,gD);const pD=mD.Z.locals||{};class bD extends(null&&View){constructor(t,e={}){super(t);const n=this.bindTemplate;this.set("label",e.label||"");this.set("class",e.class||null);this.children=this.createCollection();this.setTemplate({tag:"div",attributes:{class:["ck","ck-form__header",n.to("class")]},children:this.children});if(e.icon){this.iconView=new IconView;this.iconView.content=e.icon;this.children.add(this.iconView)}const i=new View(t);i.setTemplate({tag:"h2",attributes:{class:["ck","ck-form__header__label"]},children:[{text:n.to("label")}]});this.children.add(i)}}class kD extends(null&&View){constructor(t){super(t);const e=this.bindTemplate;this.setTemplate({tag:"iframe",attributes:{class:["ck","ck-reset_all"],sandbox:"allow-same-origin allow-scripts"},on:{load:e.to("loaded")}})}render(){return new Promise((t=>{this.on("loaded",t);return super.render()}))}}class wD extends hh{static get pluginName(){return"Notification"}init(){this.on("show:warning",((t,e)=>{window.alert(e.message)}),{priority:"lowest"})}showSuccess(t,e={}){this._showNotification({message:t,type:"success",namespace:e.namespace,title:e.title})}showInfo(t,e={}){this._showNotification({message:t,type:"info",namespace:e.namespace,title:e.title})}showWarning(t,e={}){this._showNotification({message:t,type:"warning",namespace:e.namespace,title:e.title})}_showNotification(t){const e=t.namespace?`show:${t.type}:${t.namespace}`:`show:${t.type}`;this.fire(e,{message:t.message,type:t.type,title:t.title||""})}}class AD extends(mt()){constructor(t,e){super();if(e){up(this,e)}if(t){this.set(t)}}}const CD='';const _D='';var vD=n(7592);var yD={injectType:"singletonStyleTag",attributes:{"data-cke":true}};yD.insert="head";yD.singleton=true;var xD=Pl()(vD.Z,yD);const ED=vD.Z.locals||{};var DD=n(6356);var TD={injectType:"singletonStyleTag",attributes:{"data-cke":true}};TD.insert="head";TD.singleton=true;var SD=Pl()(DD.Z,TD);const ID=DD.Z.locals||{};const BD=Ac("px");class MD extends rh{static get pluginName(){return"ContextualBalloon"}constructor(t){super(t);this._viewToStack=new Map;this._idToStack=new Map;this._view=null;this._rotatorView=null;this._fakePanelsView=null;this.positionLimiter=()=>{const t=this.editor.editing.view;const e=t.document;const n=e.selection.editableElement;if(n){return t.domConverter.mapViewToDom(n.root)}return null};this.set("visibleView",null);this.set("_numberOfStacks",0);this.set("_singleViewMode",false)}destroy(){super.destroy();if(this._view){this._view.destroy()}if(this._rotatorView){this._rotatorView.destroy()}if(this._fakePanelsView){this._fakePanelsView.destroy()}}get view(){if(!this._view){this._createPanelView()}return this._view}hasView(t){return Array.from(this._viewToStack.keys()).includes(t)}add(t){if(!this._view){this._createPanelView()}if(this.hasView(t.view)){throw new P("contextualballoon-add-view-exist",[this,t])}const e=t.stackId||"main";if(!this._idToStack.has(e)){this._idToStack.set(e,new Map([[t.view,t]]));this._viewToStack.set(t.view,this._idToStack.get(e));this._numberOfStacks=this._idToStack.size;if(!this._visibleStack||t.singleViewMode){this.showStack(e)}return}const n=this._idToStack.get(e);if(t.singleViewMode){this.showStack(e)}n.set(t.view,t);this._viewToStack.set(t.view,n);if(n===this._visibleStack){this._showView(t)}}remove(t){if(!this.hasView(t)){throw new P("contextualballoon-remove-view-not-exist",[this,t])}const e=this._viewToStack.get(t);if(this._singleViewMode&&this.visibleView===t){this._singleViewMode=false}if(this.visibleView===t){if(e.size===1){if(this._idToStack.size>1){this._showNextStack()}else{this.view.hide();this.visibleView=null;this._rotatorView.hideView()}}else{this._showView(Array.from(e.values())[e.size-2])}}if(e.size===1){this._idToStack.delete(this._getStackId(e));this._numberOfStacks=this._idToStack.size}else{e.delete(t)}this._viewToStack.delete(t)}updatePosition(t){if(t){this._visibleStack.get(this.visibleView).position=t}this.view.pin(this._getBalloonPosition());this._fakePanelsView.updatePosition()}showStack(t){this.visibleStack=t;const e=this._idToStack.get(t);if(!e){throw new P("contextualballoon-showstack-stack-not-exist",this)}if(this._visibleStack===e){return}this._showView(Array.from(e.values()).pop())}_createPanelView(){this._view=new _E(this.editor.locale);this.editor.ui.view.body.add(this._view);this.editor.ui.focusTracker.add(this._view.element);this._rotatorView=this._createRotatorView();this._fakePanelsView=this._createFakePanelsView()}get _visibleStack(){return this._viewToStack.get(this.visibleView)}_getStackId(t){const e=Array.from(this._idToStack.entries()).find((e=>e[1]===t));return e[0]}_showNextStack(){const t=Array.from(this._idToStack.values());let e=t.indexOf(this._visibleStack)+1;if(!t[e]){e=0}this.showStack(this._getStackId(t[e]))}_showPrevStack(){const t=Array.from(this._idToStack.values());let e=t.indexOf(this._visibleStack)-1;if(!t[e]){e=t.length-1}this.showStack(this._getStackId(t[e]))}_createRotatorView(){const t=new ND(this.editor.locale);const e=this.editor.locale.t;this.view.content.add(t);t.bind("isNavigationVisible").to(this,"_numberOfStacks",this,"_singleViewMode",((t,e)=>!e&&t>1));t.on("change:isNavigationVisible",(()=>this.updatePosition()),{priority:"low"});t.bind("counter").to(this,"visibleView",this,"_numberOfStacks",((t,n)=>{if(n<2){return""}const i=Array.from(this._idToStack.values()).indexOf(this._visibleStack)+1;return e("%0 of %1",[i,n])}));t.buttonNextView.on("execute",(()=>{if(t.focusTracker.isFocused){this.editor.editing.view.focus()}this._showNextStack()}));t.buttonPrevView.on("execute",(()=>{if(t.focusTracker.isFocused){this.editor.editing.view.focus()}this._showPrevStack()}));return t}_createFakePanelsView(){const t=new PD(this.editor.locale,this.view);t.bind("numberOfPanels").to(this,"_numberOfStacks",this,"_singleViewMode",((t,e)=>{const n=!e&&t>=2;return n?Math.min(t-1,2):0}));t.listenTo(this.view,"change:top",(()=>t.updatePosition()));t.listenTo(this.view,"change:left",(()=>t.updatePosition()));this.editor.ui.view.body.add(t);return t}_showView({view:t,balloonClassName:e="",withArrow:n=true,singleViewMode:i=false}){this.view.class=e;this.view.withArrow=n;this._rotatorView.showView(t);this.visibleView=t;this.view.pin(this._getBalloonPosition());this._fakePanelsView.updatePosition();if(i){this._singleViewMode=true}}_getBalloonPosition(){let t=Array.from(this._visibleStack.values()).pop().position;if(t){if(!t.limiter){t=Object.assign({},t,{limiter:this.positionLimiter})}t=Object.assign({},t,{viewportOffsetConfig:this.editor.ui.viewportOffset})}return t}}class ND extends Vl{constructor(t){super(t);const e=t.t;const n=this.bindTemplate;this.set("isNavigationVisible",true);this.focusTracker=new fl;this.buttonPrevView=this._createButtonView(e("Previous"),CD);this.buttonNextView=this._createButtonView(e("Next"),_D);this.content=this.createCollection();this.setTemplate({tag:"div",attributes:{class:["ck","ck-balloon-rotator"],"z-index":"-1"},children:[{tag:"div",attributes:{class:["ck-balloon-rotator__navigation",n.to("isNavigationVisible",(t=>t?"":"ck-hidden"))]},children:[this.buttonPrevView,{tag:"span",attributes:{class:["ck-balloon-rotator__counter"]},children:[{text:n.to("counter")}]},this.buttonNextView]},{tag:"div",attributes:{class:"ck-balloon-rotator__content"},children:this.content}]})}render(){super.render();this.focusTracker.add(this.element)}destroy(){super.destroy();this.focusTracker.destroy()}showView(t){this.hideView();this.content.add(t)}hideView(){this.content.clear()}_createButtonView(t,e){const n=new xd(this.locale);n.set({label:t,icon:e,tooltip:true});return n}}class PD extends Vl{constructor(t,e){super(t);const n=this.bindTemplate;this.set("top",0);this.set("left",0);this.set("height",0);this.set("width",0);this.set("numberOfPanels",0);this.content=this.createCollection();this._balloonPanelView=e;this.setTemplate({tag:"div",attributes:{class:["ck-fake-panel",n.to("numberOfPanels",(t=>t?"":"ck-hidden"))],style:{top:n.to("top",BD),left:n.to("left",BD),width:n.to("width",BD),height:n.to("height",BD)}},children:this.content});this.on("change:numberOfPanels",((t,e,n,i)=>{if(n>i){this._addPanels(n-i)}else{this._removePanels(i-n)}this.updatePosition()}))}_addPanels(t){while(t--){const t=new Vl;t.setTemplate({tag:"div"});this.content.add(t);this.registerChild(t)}}_removePanels(t){while(t--){const t=this.content.last;this.content.remove(t);this.deregisterChild(t);t.destroy()}}updatePosition(){if(this.numberOfPanels){const{top:t,left:e}=this._balloonPanelView;const{width:n,height:i}=new uc(this._balloonPanelView.element);Object.assign(this,{top:t,left:e,width:n,height:i})}}}var LD=n(3707);var zD={injectType:"singletonStyleTag",attributes:{"data-cke":true}};zD.insert="head";zD.singleton=true;var OD=Pl()(LD.Z,zD);const RD=LD.Z.locals||{};const VD=Ac("px");class FD extends Vl{constructor(t){super(t);const e=this.bindTemplate;this.set("isActive",false);this.set("isSticky",false);this.set("limiterElement",null);this.set("limiterBottomOffset",50);this.set("viewportTopOffset",0);this.set("_marginLeft",null);this.set("_isStickyToTheBottomOfLimiter",false);this.set("_stickyTopOffset",null);this.set("_stickyBottomOffset",null);this.content=this.createCollection();this._contentPanelPlaceholder=new jl({tag:"div",attributes:{class:["ck","ck-sticky-panel__placeholder"],style:{display:e.to("isSticky",(t=>t?"block":"none")),height:e.to("isSticky",(t=>t?VD(this._contentPanelRect.height):null))}}}).render();this._contentPanel=new jl({tag:"div",attributes:{class:["ck","ck-sticky-panel__content",e.if("isSticky","ck-sticky-panel__content_sticky"),e.if("_isStickyToTheBottomOfLimiter","ck-sticky-panel__content_sticky_bottom-limit")],style:{width:e.to("isSticky",(t=>t?VD(this._contentPanelPlaceholder.getBoundingClientRect().width):null)),top:e.to("_stickyTopOffset",(t=>t?VD(t):t)),bottom:e.to("_stickyBottomOffset",(t=>t?VD(t):t)),marginLeft:e.to("_marginLeft")}},children:this.content}).render();this.setTemplate({tag:"div",attributes:{class:["ck","ck-sticky-panel"]},children:[this._contentPanelPlaceholder,this._contentPanel]})}render(){super.render();this.checkIfShouldBeSticky();this.listenTo(nc.document,"scroll",(()=>{this.checkIfShouldBeSticky()}),{useCapture:true});this.listenTo(this,"change:isActive",(()=>{this.checkIfShouldBeSticky()}))}checkIfShouldBeSticky(){if(!this.limiterElement||!this.isActive){this._unstick();return}const t=new uc(this.limiterElement);let e=t.getVisible();if(e){const t=new uc(nc.window);t.top+=this.viewportTopOffset;t.height-=this.viewportTopOffset;e=e.getIntersection(t)}if(e&&t.tope.bottom){const n=Math.max(t.bottom-e.bottom,0)+this.limiterBottomOffset;if(t.bottom-n>t.top+this._contentPanelRect.height){this._stickToBottomOfLimiter(n)}else{this._unstick()}}else{if(this._contentPanelRect.height+this.limiterBottomOffset{this.reset();this.focus();this.fire("reset")}));this.resetButtonView.bind("isVisible").to(this.fieldView,"isEmpty",(t=>!t));this.fieldWrapperChildren.add(this.resetButtonView);this.extendTemplate({attributes:{class:"ck-search__query_with-reset"}})}}reset(){this.fieldView.reset();if(this._viewConfig.showResetButton){this.resetButtonView.isVisible=false}}}class HD extends Vl{constructor(){super();const t=this.bindTemplate;this.set({isVisible:false,primaryText:"",secondaryText:""});this.setTemplate({tag:"div",attributes:{class:["ck","ck-search__info",t.if("isVisible","ck-hidden",(t=>!t))],tabindex:-1},children:[{tag:"span",children:[{text:[t.to("primaryText")]}]},{tag:"span",children:[{text:[t.to("secondaryText")]}]}]})}focus(){this.element.focus()}}class UD extends Vl{constructor(t){super(t);this.children=this.createCollection();this.focusTracker=new fl;this.setTemplate({tag:"div",attributes:{class:["ck","ck-search__results"],tabindex:-1},children:this.children});this._focusCycler=new Xu({focusables:this.children,focusTracker:this.focusTracker})}render(){super.render();for(const t of this.children){this.focusTracker.add(t.element)}}focus(){this._focusCycler.focusFirst()}focusFirst(){this._focusCycler.focusFirst()}focusLast(){this._focusCycler.focusLast()}}var WD=/[\\^$.*+?()[\]{}|]/g,GD=RegExp(WD.source);function qD(t){t=mm(t);return t&&GD.test(t)?t.replace(WD,"\\$&"):t}const $D=qD;var KD=n(9332);var ZD={injectType:"singletonStyleTag",attributes:{"data-cke":true}};ZD.insert="head";ZD.singleton=true;var YD=Pl()(KD.Z,ZD);const QD=KD.Z.locals||{};class JD extends Vl{constructor(t,e){super(t);this._config=e;this.filteredView=e.filteredView;this.queryView=this._createSearchTextQueryView();this.focusTracker=new fl;this.keystrokes=new pl;this.resultsView=new UD(t);this.children=this.createCollection();this.focusableChildren=this.createCollection([this.queryView,this.resultsView]);this.set("isEnabled",true);this.set("resultsCount",0);this.set("totalItemsCount",0);if(e.infoView&&e.infoView.instance){this.infoView=e.infoView.instance}else{this.infoView=new HD;this._enableDefaultInfoViewBehavior();this.on("render",(()=>{this.search("")}))}this.resultsView.children.addMany([this.infoView,this.filteredView]);this.focusCycler=new Xu({focusables:this.focusableChildren,focusTracker:this.focusTracker,keystrokeHandler:this.keystrokes,actions:{focusPrevious:"shift + tab",focusNext:"tab"}});this.on("search",((t,{resultsCount:e,totalItemsCount:n})=>{this.resultsCount=e;this.totalItemsCount=n}));this.setTemplate({tag:"div",attributes:{class:["ck","ck-search",e.class||null],tabindex:"-1"},children:this.children})}render(){super.render();this.children.addMany([this.queryView,this.resultsView]);const t=t=>t.stopPropagation();for(const t of this.focusableChildren){this.focusTracker.add(t.element)}this.keystrokes.listenTo(this.element);this.keystrokes.set("arrowright",t);this.keystrokes.set("arrowleft",t);this.keystrokes.set("arrowup",t);this.keystrokes.set("arrowdown",t)}focus(){this.queryView.focus()}reset(){this.queryView.reset();this.search("")}search(t){const e=t?new RegExp($D(t),"ig"):null;const n=this.filteredView.filter(e);this.fire("search",{query:t,...n})}_createSearchTextQueryView(){const t=new jD(this.locale,this._config.queryView);this.listenTo(t.fieldView,"input",(()=>{this.search(t.fieldView.element.value)}));t.on("reset",(()=>this.reset()));t.bind("isEnabled").to(this);return t}_enableDefaultInfoViewBehavior(){const t=this.locale.t;const e=this.infoView;this.on("search",((i,o)=>{if(!o.resultsCount){const i=this._config.infoView&&this._config.infoView.text;let r,s;if(o.totalItemsCount){if(i&&i.notFound){r=i.notFound.primary;s=i.notFound.secondary}else{r=t("No results found");s=""}}else{if(i&&i.noSearchableItems){r=i.noSearchableItems.primary;s=i.noSearchableItems.secondary}else{r=t("No searchable items");s=""}}e.set({primaryText:n(r,o),secondaryText:n(s,o),isVisible:true})}else{e.set({isVisible:false})}}));function n(t,{query:e,resultsCount:n,totalItemsCount:i}){return typeof t==="function"?t(e,n,i):t}}}var XD=n(4029);var tT={injectType:"singletonStyleTag",attributes:{"data-cke":true}};tT.insert="head";tT.singleton=true;var eT=Pl()(XD.Z,tT);const nT=XD.Z.locals||{};class iT extends JD{constructor(t,e){super(t,e);this._config=e;const n=Ac("px");this.extendTemplate({attributes:{class:["ck-autocomplete"]}});const i=this.resultsView.bindTemplate;this.resultsView.set("isVisible",false);this.resultsView.set("_position","s");this.resultsView.set("_width",0);this.resultsView.extendTemplate({attributes:{class:[i.if("isVisible","ck-hidden",(t=>!t)),i.to("_position",(t=>`ck-search__results_${t}`))],style:{width:i.to("_width",n)}}});this.focusTracker.on("change:isFocused",((t,n,i)=>{this._updateResultsVisibility();if(i){this.resultsView.element.scrollTop=0}else if(e.resetOnBlur){this.queryView.reset()}}));this.on("search",(()=>{this._updateResultsVisibility();this._updateResultsViewWidthAndPosition()}));this.keystrokes.set("esc",((t,e)=>{if(!this.resultsView.isVisible){return}this.queryView.focus();this.resultsView.isVisible=false;e()}));this.listenTo(nc.document,"scroll",(()=>{this._updateResultsViewWidthAndPosition()}));this.on("change:isEnabled",(()=>{this._updateResultsVisibility()}));this.filteredView.on("execute",((t,{value:e})=>{this.focus();this.reset();this.queryView.fieldView.value=this.queryView.fieldView.element.value=e;this.resultsView.isVisible=false}));this.resultsView.on("change:isVisible",(()=>{this._updateResultsViewWidthAndPosition()}))}_updateResultsViewWidthAndPosition(){if(!this.resultsView.isVisible){return}this.resultsView._width=new uc(this.queryView.fieldView.element).width;const t=iT._getOptimalPosition({element:this.resultsView.element,target:this.queryView.element,fitInViewport:true,positions:iT.defaultResultsPositions});this.resultsView._position=t?t.name:"s"}_updateResultsVisibility(){const t=typeof this._config.queryMinChars==="undefined"?0:this._config.queryMinChars;const e=this.queryView.fieldView.element.value.length;this.resultsView.isVisible=this.focusTracker.isFocused&&this.isEnabled&&e>=t}}iT.defaultResultsPositions=[t=>({top:t.bottom,left:t.left,name:"s"}),(t,e)=>({top:t.top-e.height,left:t.left,name:"n"})];iT._getOptimalPosition=Ec;var oT=n(4746);var rT={injectType:"singletonStyleTag",attributes:{"data-cke":true}};rT.insert="head";rT.singleton=true;var sT=Pl()(oT.Z,rT);const aT=oT.Z.locals||{};class cT extends(null&&View){constructor(){super();this.set("text",undefined);this.setTemplate({tag:"span",attributes:{class:["ck","ck-highlighted-text"]}});this.on("render",(()=>{this.on("change:text",(()=>{this._updateInnerHTML(this.text)}));this._updateInnerHTML(this.text)}))}highlightText(t){this._updateInnerHTML(lT(this.text||"",t))}_updateInnerHTML(t){this.element.innerHTML=t||""}}function lT(t,e){if(!e){return escape(t)}const n=[];let i=0;let o=e.exec(t);while(o!==null){const r=o.index;if(r!==i){n.push({text:t.substring(i,r),isMatch:false})}n.push({text:o[0],isMatch:true});i=e.lastIndex;o=e.exec(t)}if(i!==t.length){n.push({text:t.substring(i),isMatch:false})}const r=n.map((t=>{t.text=escape(t.text);return t})).map((t=>t.isMatch?`${t.text}`:t.text)).join("");return r}var dT=n(4095);var uT={injectType:"singletonStyleTag",attributes:{"data-cke":true}};uT.insert="head";uT.singleton=true;var hT=Pl()(dT.Z,uT);const mT=dT.Z.locals||{};class gT extends Vl{constructor(t,e){super(t);const n=this.bindTemplate;this.set("isCollapsed",false);this.set("label","");this.buttonView=this._createButtonView();this.children=this.createCollection();this.set("_collapsibleAriaLabelUid",undefined);if(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}focus(){this.buttonView.focus()}_createButtonView(){const t=new xd(this.locale);const e=t.bindTemplate;t.set({withText:true,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}));return t}}var fT=n(6446);var pT={injectType:"singletonStyleTag",attributes:{"data-cke":true}};pT.insert="head";pT.singleton=true;var bT=Pl()(fT.Z,pT);const kT=fT.Z.locals||{};class wT extends(null&&View){constructor(){super();this.set("isVisible",false);const t=this.bindTemplate;this.setTemplate({tag:"span",attributes:{class:["ck","ck-spinner-container",t.if("isVisible","ck-hidden",(t=>!t))]},children:[{tag:"span",attributes:{class:["ck","ck-spinner"]}}]})}}const AT=Ac("px");class CT extends(null&&Plugin){static get pluginName(){return"BalloonToolbar"}static get requires(){return[ContextualBalloon]}constructor(t){super(t);this._resizeObserver=null;this._balloonConfig=normalizeToolbarConfig(t.config.get("balloonToolbar"));this.toolbarView=this._createToolbarView();this.focusTracker=new FocusTracker;t.ui.once("ready",(()=>{this.focusTracker.add(t.ui.getEditableElement());this.focusTracker.add(this.toolbarView.element)}));t.ui.addToolbar(this.toolbarView,{beforeFocus:()=>this.show(true),afterBlur:()=>this.hide(),isContextual:true});this._balloon=t.plugins.get(ContextualBalloon);this._fireSelectionChangeDebounced=debounce((()=>this.fire("_selectionChangeDebounced")),200);this.decorate("show")}init(){const t=this.editor;const e=t.model.document.selection;this.listenTo(this.focusTracker,"change:isFocused",((t,e,n)=>{const i=this._balloon.visibleView===this.toolbarView;if(!n&&i){this.hide()}else if(n){this.show()}}));this.listenTo(e,"change:range",((t,n)=>{if(n.directChange||e.isCollapsed){this.hide()}this._fireSelectionChangeDebounced()}));this.listenTo(this,"_selectionChangeDebounced",(()=>{if(this.editor.editing.view.document.isFocused){this.show()}}));if(!this._balloonConfig.shouldNotGroupWhenFull){this.listenTo(t,"ready",(()=>{const e=t.ui.view.editable.element;this._resizeObserver=new ResizeObserver(e,(t=>{this.toolbarView.maxWidth=AT(t.contentRect.width*.9)}))}))}this.listenTo(this.toolbarView,"groupedItemsUpdate",(()=>{this._updatePosition()}))}afterInit(){const t=this.editor.ui.componentFactory;this.toolbarView.fillFromConfig(this._balloonConfig,t)}_createToolbarView(){const t=this.editor.locale.t;const e=!this._balloonConfig.shouldNotGroupWhenFull;const n=new ToolbarView(this.editor.locale,{shouldGroupWhenFull:e,isFloating:true});n.ariaLabel=t("Editor contextual toolbar");n.render();return n}show(t=false){const e=this.editor;const n=e.model.document.selection;const i=e.model.schema;if(this._balloon.hasView(this.toolbarView)){return}if(n.isCollapsed&&!t){return}if(_T(n,i)){return}if(Array.from(this.toolbarView.items).every((t=>t.isEnabled!==undefined&&!t.isEnabled))){return}this.listenTo(this.editor.ui,"update",(()=>{this._updatePosition()}));this._balloon.add({view:this.toolbarView,position:this._getBalloonPositionData(),balloonClassName:"ck-toolbar-container"})}hide(){if(this._balloon.hasView(this.toolbarView)){this.stopListening(this.editor.ui,"update");this._balloon.remove(this.toolbarView)}}_getBalloonPositionData(){const t=this.editor;const e=t.editing.view;const n=e.document;const i=n.selection;const o=n.selection.isBackward;return{target:()=>{const t=o?i.getFirstRange():i.getLastRange();const n=Rect.getDomRangeRects(e.domConverter.viewRangeToDom(t));if(o){return n[0]}else{if(n.length>1&&n[n.length-1].width===0){n.pop()}return n[n.length-1]}},positions:this._getBalloonPositions(o)}}_updatePosition(){this._balloon.updatePosition(this._getBalloonPositionData())}destroy(){super.destroy();this.stopListening();this._fireSelectionChangeDebounced.cancel();this.toolbarView.destroy();this.focusTracker.destroy();if(this._resizeObserver){this._resizeObserver.destroy()}}_getBalloonPositions(t){const e=env.isSafari&&env.isiOS;const n=e?generatePositions({heightOffset:Math.max(BalloonPanelView.arrowHeightOffset,Math.round(20/global.window.visualViewport.scale))}):BalloonPanelView.defaultPositions;return t?[n.northWestArrowSouth,n.northWestArrowSouthWest,n.northWestArrowSouthEast,n.northWestArrowSouthMiddleEast,n.northWestArrowSouthMiddleWest,n.southWestArrowNorth,n.southWestArrowNorthWest,n.southWestArrowNorthEast,n.southWestArrowNorthMiddleWest,n.southWestArrowNorthMiddleEast]:[n.southEastArrowNorth,n.southEastArrowNorthEast,n.southEastArrowNorthWest,n.southEastArrowNorthMiddleEast,n.southEastArrowNorthMiddleWest,n.northEastArrowSouth,n.northEastArrowSouthEast,n.northEastArrowSouthWest,n.northEastArrowSouthMiddleEast,n.northEastArrowSouthMiddleWest]}}function _T(t,e){if(t.rangeCount===1){return false}return[...t.getRanges()].every((t=>{const n=t.getContainedElement();return n&&e.isSelectable(n)}))}var vT=n(4176);var yT={injectType:"singletonStyleTag",attributes:{"data-cke":true}};yT.insert="head";yT.singleton=true;var xT=Pl()(vT.Z,yT);const ET=vT.Z.locals||{};const DT=Ac("px");class TT extends(null&&ButtonView){constructor(t){super(t);const e=this.bindTemplate;this.isVisible=false;this.isToggleable=true;this.set("top",0);this.set("left",0);this.extendTemplate({attributes:{class:"ck-block-toolbar-button",style:{top:e.to("top",(t=>DT(t))),left:e.to("left",(t=>DT(t)))}}})}}const ST=Ac("px");class IT extends(null&&Plugin){static get pluginName(){return"BlockToolbar"}constructor(t){super(t);this._resizeObserver=null;this._blockToolbarConfig=normalizeToolbarConfig(this.editor.config.get("blockToolbar"));this.toolbarView=this._createToolbarView();this.panelView=this._createPanelView();this.buttonView=this._createButtonView();clickOutsideHandler({emitter:this.panelView,contextElements:[this.panelView.element,this.buttonView.element],activator:()=>this.panelView.isVisible,callback:()=>this._hidePanel()})}init(){const t=this.editor;const e=t.t;const n=e("Click to edit block");const i=e("Drag to move");const o=e("Edit block");const r=t.plugins.has("DragDropBlockToolbar");const s=r?`${n}\n${i}`:o;this.buttonView.label=s;if(r){this.buttonView.element.dataset.ckeTooltipClass="ck-tooltip_multi-line"}this.listenTo(t.model.document.selection,"change:range",((t,e)=>{if(e.directChange){this._hidePanel()}}));this.listenTo(t.ui,"update",(()=>this._updateButton()));this.listenTo(t,"change:isReadOnly",(()=>this._updateButton()),{priority:"low"});this.listenTo(t.ui.focusTracker,"change:isFocused",(()=>this._updateButton()));this.listenTo(this.buttonView,"change:isVisible",((t,e,n)=>{if(n){this.buttonView.listenTo(window,"resize",(()=>this._updateButton()))}else{this.buttonView.stopListening(window,"resize");this._hidePanel()}}));t.ui.addToolbar(this.toolbarView,{beforeFocus:()=>this._showPanel(),afterBlur:()=>this._hidePanel()})}afterInit(){this.toolbarView.fillFromConfig(this._blockToolbarConfig,this.editor.ui.componentFactory);for(const t of this.toolbarView.items){t.on("execute",(()=>this._hidePanel(true)),{priority:"high"})}}destroy(){super.destroy();this.panelView.destroy();this.buttonView.destroy();this.toolbarView.destroy();if(this._resizeObserver){this._resizeObserver.destroy()}}_createToolbarView(){const t=this.editor.locale.t;const e=!this._blockToolbarConfig.shouldNotGroupWhenFull;const n=new ToolbarView(this.editor.locale,{shouldGroupWhenFull:e,isFloating:true});n.ariaLabel=t("Editor block content toolbar");return n}_createPanelView(){const t=this.editor;const e=new BalloonPanelView(t.locale);e.content.add(this.toolbarView);e.class="ck-toolbar-container";t.ui.view.body.add(e);t.ui.focusTracker.add(e.element);this.toolbarView.keystrokes.set("Esc",((t,e)=>{this._hidePanel(true);e()}));return e}_createButtonView(){const t=this.editor;const e=t.t;const n=new BlockButtonView(t.locale);const i=this._blockToolbarConfig.icon;const o=NESTED_TOOLBAR_ICONS[i]||i||NESTED_TOOLBAR_ICONS.dragIndicator;n.set({label:e("Edit block"),icon:o,withText:false});n.bind("isOn").to(this.panelView,"isVisible");n.bind("tooltip").to(this.panelView,"isVisible",(t=>!t));this.listenTo(n,"execute",(()=>{if(!this.panelView.isVisible){this._showPanel()}else{this._hidePanel(true)}}));t.ui.view.body.add(n);t.ui.focusTracker.add(n.element);return n}_updateButton(){const t=this.editor;const e=t.model;const n=t.editing.view;if(!t.ui.focusTracker.isFocused){this._hideButton();return}if(!t.model.canEditAt(t.model.document.selection)){this._hideButton();return}const i=Array.from(e.document.selection.getSelectedBlocks())[0];if(!i||Array.from(this.toolbarView.items).every((t=>!t.isEnabled))){this._hideButton();return}const o=n.domConverter.mapViewToDom(t.editing.mapper.toViewElement(i));this.buttonView.isVisible=true;this._setupToolbarResize();this._attachButtonToElement(o);if(this.panelView.isVisible){this._showPanel()}}_hideButton(){this.buttonView.isVisible=false}_showPanel(){if(!this.buttonView.isVisible){return}const t=this.panelView.isVisible;this.panelView.show();const e=this._getSelectedEditableElement();this.toolbarView.maxWidth=this._getToolbarMaxWidth(e);this.panelView.pin({target:this.buttonView.element,limiter:e});if(!t){this.toolbarView.items.get(0).focus()}}_getSelectedEditableElement(){const t=this.editor.model.document.selection.getFirstRange().root.rootName;return this.editor.ui.getEditableElement(t)}_hidePanel(t){this.panelView.isVisible=false;if(t){this.editor.editing.view.focus()}}_attachButtonToElement(t){const e=window.getComputedStyle(t);const n=new Rect(this._getSelectedEditableElement());const i=parseInt(e.paddingTop,10);const o=parseInt(e.lineHeight,10)||parseInt(e.fontSize,10)*1.2;const r=new Rect(this.buttonView.element);const s=new Rect(t);let a;if(this.editor.locale.uiLanguageDirection==="ltr"){a=n.left-r.width}else{a=n.right}const c=s.top+i+(o-r.height)/2;r.moveTo(a,c);const l=r.toAbsoluteRect();this.buttonView.top=l.top;this.buttonView.left=l.left}_setupToolbarResize(){const t=this._getSelectedEditableElement();if(!this._blockToolbarConfig.shouldNotGroupWhenFull){if(this._resizeObserver&&this._resizeObserver.element!==t){this._resizeObserver.destroy();this._resizeObserver=null}if(!this._resizeObserver){this._resizeObserver=new ResizeObserver(t,(()=>{this.toolbarView.maxWidth=this._getToolbarMaxWidth(t)}))}}}_getToolbarMaxWidth(t){const e=new Rect(t);const n=new Rect(this.buttonView.element);const i=this.editor.locale.uiLanguageDirection==="rtl";const o=i?n.left-e.right+n.width:e.left-n.left;return ST(e.width+o)}}const BT={colorPaletteIcon:rE};class MT extends iD{constructor(t,e){super(t);this.view=e;this._toolbarConfig=oh(t.config.get("toolbar"));this._elementReplacer=new yt;this.listenTo(t.editing.view,"scrollToTheSelection",this._handleScrollToTheSelectionWithStickyPanel.bind(this))}get element(){return this.view.element}init(t){const e=this.editor;const n=this.view;const i=e.editing.view;const o=n.editable;const r=i.document.getRoot();o.name=r.rootName;n.render();const s=o.element;this.setEditableElement(o.name,s);n.editable.bind("isFocused").to(this.focusTracker);i.attachDomRoot(s);if(t){this._elementReplacer.replace(t,this.element)}this._initPlaceholder();this._initToolbar();this.fire("ready")}destroy(){super.destroy();const t=this.view;const e=this.editor.editing.view;this._elementReplacer.restore();e.detachDomRoot(t.editable.name);t.destroy()}_initToolbar(){const t=this.view;t.stickyPanel.bind("isActive").to(this.focusTracker,"isFocused");t.stickyPanel.limiterElement=t.element;t.stickyPanel.bind("viewportTopOffset").to(this,"viewportOffset",(({top:t})=>t||0));t.toolbar.fillFromConfig(this._toolbarConfig,this.componentFactory);this.addToolbar(t.toolbar)}_initPlaceholder(){const t=this.editor;const e=t.editing.view;const n=e.document.getRoot();const i=t.sourceElement;let o;const r=t.config.get("placeholder");if(r){o=typeof r==="string"?r:r[this.view.editable.name]}if(!o&&i&&i.tagName.toLowerCase()==="textarea"){o=i.getAttribute("placeholder")}if(o){n.placeholder=o}wh({view:e,element:n,isDirectHost:false,keepOnFocus:true})}_handleScrollToTheSelectionWithStickyPanel(t,e,n){const i=this.view.stickyPanel;if(i.isSticky){const t=new uc(i.element).height;e.viewportOffset.top+=t}else{const t=()=>{this.editor.editing.view.scrollToTheSelection(n)};this.listenTo(i,"change:isSticky",t);setTimeout((()=>{this.stopListening(i,"change:isSticky",t)}),20)}}}var NT=n(3624);var PT={injectType:"singletonStyleTag",attributes:{"data-cke":true}};PT.insert="head";PT.singleton=true;var LT=Pl()(NT.Z,PT);const zT=NT.Z.locals||{};class OT extends dD{constructor(t,e,n={}){super(t);this.stickyPanel=new FD(t);this.toolbar=new ny(t,{shouldGroupWhenFull:n.shouldToolbarGroupWhenFull});this.editable=new hD(t,e)}render(){super.render();this.stickyPanel.content.add(this.toolbar);this.top.add(this.stickyPanel);this.main.add(this.editable)}}class RT{constructor(t){this.crashes=[];this.state="initializing";this._now=Date.now;this.crashes=[];this._crashNumberLimit=typeof t.crashNumberLimit==="number"?t.crashNumberLimit:3;this._minimumNonErrorTimePeriod=typeof t.minimumNonErrorTimePeriod==="number"?t.minimumNonErrorTimePeriod:5e3;this._boundErrorHandler=t=>{const e="error"in t?t.error:t.reason;if(e instanceof Error){this._handleError(e,t)}};this._listeners={};if(!this._restart){throw new Error("The Watchdog class was split into the abstract `Watchdog` class and the `EditorWatchdog` class. "+"Please, use `EditorWatchdog` if you have used the `Watchdog` class previously.")}}destroy(){this._stopErrorHandling();this._listeners={}}on(t,e){if(!this._listeners[t]){this._listeners[t]=[]}this._listeners[t].push(e)}off(t,e){this._listeners[t]=this._listeners[t].filter((t=>t!==e))}_fire(t,...e){const n=this._listeners[t]||[];for(const t of n){t.apply(this,[null,...e])}}_startErrorHandling(){window.addEventListener("error",this._boundErrorHandler);window.addEventListener("unhandledrejection",this._boundErrorHandler)}_stopErrorHandling(){window.removeEventListener("error",this._boundErrorHandler);window.removeEventListener("unhandledrejection",this._boundErrorHandler)}_handleError(t,e){if(this._shouldReactToError(t)){this.crashes.push({message:t.message,stack:t.stack,filename:e instanceof ErrorEvent?e.filename:undefined,lineno:e instanceof ErrorEvent?e.lineno:undefined,colno:e instanceof ErrorEvent?e.colno:undefined,date:this._now()});const n=this._shouldRestart();this.state="crashed";this._fire("stateChange");this._fire("error",{error:t,causesRestart:n});if(n){this._restart()}else{this.state="crashedPermanently";this._fire("stateChange")}}}_shouldReactToError(t){return t.is&&t.is("CKEditorError")&&t.context!==undefined&&t.context!==null&&this.state==="ready"&&this._isErrorComingFromThisItem(t)}_shouldRestart(){if(this.crashes.length<=this._crashNumberLimit){return true}const t=this.crashes[this.crashes.length-1].date;const e=this.crashes[this.crashes.length-1-this._crashNumberLimit].date;const n=(t-e)/this._crashNumberLimit;return n>this._minimumNonErrorTimePeriod}}function VT(t,e=new Set){const n=[t];const i=new Set;let o=0;while(n.length>o){const t=n[o++];if(i.has(t)||!FT(t)||e.has(t)){continue}i.add(t);if(Symbol.iterator in t){try{for(const e of t){n.push(e)}}catch(t){}}else{for(const e in t){if(e==="defaultValue"){continue}n.push(t[e])}}}return i}function FT(t){const e=Object.prototype.toString.call(t);const n=typeof t;return!(n==="number"||n==="boolean"||n==="string"||n==="symbol"||n==="function"||e==="[object Date]"||e==="[object RegExp]"||e==="[object Module]"||t===undefined||t===null||t._watchdogExcluded||t instanceof EventTarget||t instanceof Event)}function jT(t,e,n=new Set){if(t===e&&UT(t)){return true}const i=VT(t,n);const o=VT(e,n);for(const t of i){if(o.has(t)){return true}}return false}function HT(t,e,n){const{subNodes:i,prevNodeMap:o}=getSubNodes(t,n.subNodes);const{subNodes:r,prevNodeMap:s}=getSubNodes(e,n.subNodes);for(const n of i){if(r.has(n)){const i=[];i.push(n);let r=o.get(n);while(r&&r!==t){i.push(r);r=o.get(r)}r=s.get(n);while(r&&r!==e){i.unshift(r);r=s.get(r)}console.log("--------");console.log({target1:t});console.log({sharedNode:n});console.log({target2:e});console.log({connection:i});return true}}return false}function UT(t){return typeof t==="object"&&t!==null}class WT extends RT{constructor(t,e={}){super(e);this._editor=null;this._initUsingData=true;this._editables={};this._throttledSave=LE(this._save.bind(this),typeof e.saveInterval==="number"?e.saveInterval:5e3);if(t){this._creator=(e,n)=>t.create(e,n)}this._destructor=t=>t.destroy()}get editor(){return this._editor}get _item(){return this._editor}setCreator(t){this._creator=t}setDestructor(t){this._destructor=t}_restart(){return Promise.resolve().then((()=>{this.state="initializing";this._fire("stateChange");return this._destroy()})).catch((t=>{console.error("An error happened during the editor destroying.",t)})).then((()=>{const t={};const e=[];const n=this._config.rootsAttributes||{};const i={};for(const[o,r]of Object.entries(this._data.roots)){if(r.isLoaded){t[o]="";i[o]=n[o]||{}}else{e.push(o)}}const o={...this._config,extraPlugins:this._config.extraPlugins||[],lazyRoots:e,rootsAttributes:i,_watchdogInitialData:this._data};delete o.initialData;o.extraPlugins.push(GT);if(this._initUsingData){return this.create(t,o,o.context)}else{if(Wa(this._elementOrData)){return this.create(this._elementOrData,o,o.context)}else{return this.create(this._editables,o,o.context)}}})).then((()=>{this._fire("restart")}))}create(t=this._elementOrData,e=this._config,n){return Promise.resolve().then((()=>{super._startErrorHandling();this._elementOrData=t;this._initUsingData=typeof t=="string"||Object.keys(t).length>0&&typeof Object.values(t)[0]=="string";this._config=this._cloneEditorConfiguration(e)||{};this._config.context=n;return this._creator(t,this._config)})).then((t=>{this._editor=t;t.model.document.on("change:data",this._throttledSave);this._lastDocumentVersion=t.model.document.version;this._data=this._getData();if(!this._initUsingData){this._editables=this._getEditables()}this.state="ready";this._fire("stateChange")}))}destroy(){return Promise.resolve().then((()=>{this.state="destroyed";this._fire("stateChange");super.destroy();return this._destroy()}))}_destroy(){return Promise.resolve().then((()=>{this._stopErrorHandling();this._throttledSave.cancel();const t=this._editor;this._editor=null;t.model.document.off("change:data",this._throttledSave);return this._destructor(t)}))}_save(){const t=this._editor.model.document.version;try{this._data=this._getData();if(!this._initUsingData){this._editables=this._getEditables()}this._lastDocumentVersion=t}catch(t){console.error(t,"An error happened during restoring editor data. "+"Editor will be restored from the previously saved data.")}}_setExcludedProperties(t){this._excludedProps=t}_getData(){const t=this._editor;const e=t.model.document.roots.filter((t=>t.isAttached()&&t.rootName!="$graveyard"));const{plugins:n}=t;const i=n.has("CommentsRepository")&&n.get("CommentsRepository");const o=n.has("TrackChanges")&&n.get("TrackChanges");const r={roots:{},markers:{},commentThreads:JSON.stringify([]),suggestions:JSON.stringify([])};e.forEach((t=>{r.roots[t.rootName]={content:JSON.stringify(Array.from(t.getChildren())),attributes:JSON.stringify(Array.from(t.getAttributes())),isLoaded:t._isLoaded}}));for(const e of t.model.markers){if(!e._affectsData){continue}r.markers[e.name]={rangeJSON:e.getRange().toJSON(),usingOperation:e._managedUsingOperations,affectsData:e._affectsData}}if(i){r.commentThreads=JSON.stringify(i.getCommentThreads({toJSON:true,skipNotAttached:true}))}if(o){r.suggestions=JSON.stringify(o.getSuggestions({toJSON:true,skipNotAttached:true}))}return r}_getEditables(){const t={};for(const e of this.editor.model.document.getRootNames()){const n=this.editor.ui.getEditableElement(e);if(n){t[e]=n}}return t}_isErrorComingFromThisItem(t){return jT(this._editor,t.context,this._excludedProps)}_cloneEditorConfiguration(t){return Ha(t,((t,e)=>{if(Wa(t)){return t}if(e==="context"){return t}}))}}class GT{constructor(t){this.editor=t;this._data=t.config.get("_watchdogInitialData")}init(){this.editor.data.on("init",(t=>{t.stop();this.editor.model.enqueueChange({isUndoable:false},(t=>{this._restoreCollaborationData();this._restoreEditorData(t)}));this.editor.data.fire("ready")}),{priority:1e3-1})}_createNode(t,e){if("name"in e){const n=t.createElement(e.name,e.attributes);if(e.children){for(const i of e.children){n._appendChild(this._createNode(t,i))}}return n}else{return t.createText(e.data,e.attributes)}}_restoreEditorData(t){const e=this.editor;Object.entries(this._data.roots).forEach((([n,{content:i,attributes:o}])=>{const r=JSON.parse(i);const s=JSON.parse(o);const a=e.model.document.getRoot(n);for(const[e,n]of s){t.setAttribute(e,n,a)}for(const e of r){const n=this._createNode(t,e);t.insert(n,a,"end")}}));Object.entries(this._data.markers).forEach((([n,i])=>{const{document:o}=e.model;const{rangeJSON:{start:r,end:s},...a}=i;const c=o.getRoot(r.root);const l=t.createPositionFromPath(c,r.path,r.stickiness);const d=t.createPositionFromPath(c,s.path,s.stickiness);const u=t.createRange(l,d);t.addMarker(n,{range:u,...a})}))}_restoreCollaborationData(){const t=JSON.parse(this._data.commentThreads);const e=JSON.parse(this._data.suggestions);t.forEach((t=>{const e=this.editor.config.get("collaboration.channelId");const n=this.editor.plugins.get("CommentsRepository");if(n.hasCommentThread(t.threadId)){const e=n.getCommentThread(t.threadId);e.remove()}n.addCommentThread({channelId:e,...t})}));e.forEach((t=>{const e=this.editor.plugins.get("TrackChangesEditing");if(e.hasSuggestion(t.id)){const n=e.getSuggestion(t.id);n.attributes=t.attributes}else{e.addSuggestionData(t)}}))}}const qT=Symbol("MainQueueId");class $T extends RT{constructor(t,e={}){super(e);this._watchdogs=new Map;this._context=null;this._contextProps=new Set;this._actionQueues=new KT;this._watchdogConfig=e;this._creator=e=>t.create(e);this._destructor=t=>t.destroy();this._actionQueues.onEmpty((()=>{if(this.state==="initializing"){this.state="ready";this._fire("stateChange")}}))}setCreator(t){this._creator=t}setDestructor(t){this._destructor=t}get context(){return this._context}create(t={}){return this._actionQueues.enqueue(qT,(()=>{this._contextConfig=t;return this._create()}))}getItem(t){const e=this._getWatchdog(t);return e._item}getItemState(t){const e=this._getWatchdog(t);return e.state}add(t){const e=ZT(t);return Promise.all(e.map((t=>this._actionQueues.enqueue(t.id,(()=>{if(this.state==="destroyed"){throw new Error("Cannot add items to destroyed watchdog.")}if(!this._context){throw new Error("Context was not created yet. You should call the `ContextWatchdog#create()` method first.")}let e;if(this._watchdogs.has(t.id)){throw new Error(`Item with the given id is already added: '${t.id}'.`)}if(t.type==="editor"){e=new WT(null,this._watchdogConfig);e.setCreator(t.creator);e._setExcludedProperties(this._contextProps);if(t.destructor){e.setDestructor(t.destructor)}this._watchdogs.set(t.id,e);e.on("error",((n,{error:i,causesRestart:o})=>{this._fire("itemError",{itemId:t.id,error:i});if(!o){return}this._actionQueues.enqueue(t.id,(()=>new Promise((n=>{const i=()=>{e.off("restart",i);this._fire("itemRestart",{itemId:t.id});n()};e.on("restart",i)}))))}));return e.create(t.sourceElementOrData,t.config,this._context)}else{throw new Error(`Not supported item type: '${t.type}'.`)}})))))}remove(t){const e=ZT(t);return Promise.all(e.map((t=>this._actionQueues.enqueue(t,(()=>{const e=this._getWatchdog(t);this._watchdogs.delete(t);return e.destroy()})))))}destroy(){return this._actionQueues.enqueue(qT,(()=>{this.state="destroyed";this._fire("stateChange");super.destroy();return this._destroy()}))}_restart(){return this._actionQueues.enqueue(qT,(()=>{this.state="initializing";this._fire("stateChange");return this._destroy().catch((t=>{console.error("An error happened during destroying the context or items.",t)})).then((()=>this._create())).then((()=>this._fire("restart")))}))}_create(){return Promise.resolve().then((()=>{this._startErrorHandling();return this._creator(this._contextConfig)})).then((t=>{this._context=t;this._contextProps=VT(this._context);return Promise.all(Array.from(this._watchdogs.values()).map((t=>{t._setExcludedProperties(this._contextProps);return t.create(undefined,undefined,this._context)})))}))}_destroy(){return Promise.resolve().then((()=>{this._stopErrorHandling();const t=this._context;this._context=null;this._contextProps=new Set;return Promise.all(Array.from(this._watchdogs.values()).map((t=>t.destroy()))).then((()=>this._destructor(t)))}))}_getWatchdog(t){const e=this._watchdogs.get(t);if(!e){throw new Error(`Item with the given id was not registered: ${t}.`)}return e}_isErrorComingFromThisItem(t){for(const e of this._watchdogs.values()){if(e._isErrorComingFromThisItem(t)){return false}}return jT(this._context,t.context)}}class KT{constructor(){this._onEmptyCallbacks=[];this._queues=new Map;this._activeActions=0}onEmpty(t){this._onEmptyCallbacks.push(t)}enqueue(t,e){const n=t===qT;this._activeActions++;if(!this._queues.get(t)){this._queues.set(t,Promise.resolve())}const i=n?Promise.all(this._queues.values()):Promise.all([this._queues.get(qT),this._queues.get(t)]);const o=i.then(e);const r=o.catch((()=>{}));this._queues.set(t,r);return o.finally((()=>{this._activeActions--;if(this._queues.get(t)===r&&this._activeActions===0){this._onEmptyCallbacks.forEach((t=>t()))}}))}}function ZT(t){return Array.isArray(t)?t:[t]}class YT extends(ov(rv(ev))){constructor(t,e={}){if(!JT(t)&&e.initialData!==undefined){throw new P("editor-create-initial-data",null)}super(e);if(this.config.get("initialData")===undefined){this.config.set("initialData",QT(t))}if(JT(t)){this.sourceElement=t}this.model.document.createRoot();const n=!this.config.get("toolbar.shouldNotGroupWhenFull");const i=new OT(this.locale,this.editing.view,{shouldToolbarGroupWhenFull:n});this.ui=new MT(this,i);nv(this)}destroy(){if(this.sourceElement){this.updateSourceElement()}this.ui.destroy();return super.destroy()}static create(t,e={}){return new Promise((n=>{const i=new this(t,e);n(i.initPlugins().then((()=>i.ui.init(JT(t)?t:null))).then((()=>i.data.init(i.config.get("initialData")))).then((()=>i.fire("ready"))).then((()=>i)))}))}}YT.Context=uh;YT.EditorWatchdog=WT;YT.ContextWatchdog=$T;function QT(t){return JT(t)?rc(t):t}function JT(t){return Wa(t)}class XT{constructor(t,e=20){this._batch=null;this.model=t;this._size=0;this.limit=e;this._isLocked=false;this._changeCallback=(t,e)=>{if(e.isLocal&&e.isUndoable&&e!==this._batch){this._reset(true)}};this._selectionChangeCallback=()=>{this._reset()};this.model.document.on("change",this._changeCallback);this.model.document.selection.on("change:range",this._selectionChangeCallback);this.model.document.selection.on("change:attribute",this._selectionChangeCallback)}get batch(){if(!this._batch){this._batch=this.model.createBatch({isTyping:true})}return this._batch}get size(){return this._size}input(t){this._size+=t;if(this._size>=this.limit){this._reset(true)}}get isLocked(){return this._isLocked}lock(){this._isLocked=true}unlock(){this._isLocked=false}destroy(){this.model.document.off("change",this._changeCallback);this.model.document.selection.off("change:range",this._selectionChangeCallback);this.model.document.selection.off("change:attribute",this._selectionChangeCallback)}_reset(t=false){if(!this.isLocked||t){this._batch=null;this._size=0}}}class tS extends ah{constructor(t,e){super(t);this._buffer=new XT(t.model,e);this._isEnabledBasedOnSelection=false}get buffer(){return this._buffer}destroy(){super.destroy();this._buffer.destroy()}execute(t={}){const e=this.editor.model;const n=e.document;const i=t.text||"";const o=i.length;let r=n.selection;if(t.selection){r=t.selection}else if(t.range){r=e.createSelection(t.range)}if(!e.canEditAt(r)){return}const s=t.resultRange;e.enqueueChange(this._buffer.batch,(t=>{this._buffer.lock();const a=Array.from(n.selection.getAttributes());e.deleteContent(r);if(i){e.insertContent(t.createText(i,a),r)}if(s){t.setSelection(s)}else if(!r.is("documentSelection")){t.setSelection(r)}this._buffer.unlock();this._buffer.input(o)}))}}const eS=["insertText","insertReplacementText"];class nS extends lp{constructor(t){super(t);this.focusObserver=t.getObserver(bb);if(l.isAndroid){eS.push("insertCompositionText")}const e=t.document;e.on("beforeinput",((n,i)=>{if(!this.isEnabled){return}const{data:o,targetRanges:r,inputType:s,domEvent:a}=i;if(!eS.includes(s)){return}this.focusObserver.flush();const c=new D(e,"insertText");e.fire(c,new hp(t,a,{text:o,selection:t.createSelection(r)}));if(c.stop.called){n.stop()}}));e.on("compositionend",((n,{data:i,domEvent:o})=>{if(!this.isEnabled||l.isAndroid){return}if(!i){return}e.fire("insertText",new hp(t,o,{text:i,selection:e.selection}))}),{priority:"lowest"})}observe(){}stopObserving(){}}class iS extends rh{static get pluginName(){return"Input"}init(){const t=this.editor;const e=t.model;const n=t.editing.view;const i=e.document.selection;n.addObserver(nS);const o=new tS(t,t.config.get("typing.undoStep")||20);t.commands.add("insertText",o);t.commands.add("input",o);this.listenTo(n.document,"insertText",((i,o)=>{if(!n.document.isComposing){o.preventDefault()}const{text:r,selection:s,resultRange:a}=o;const c=Array.from(s.getRanges()).map((e=>t.editing.mapper.toModelRange(e)));let d=r;if(l.isAndroid){const t=Array.from(c[0].getItems()).reduce(((t,e)=>t+(e.is("$textProxy")?e.data:"")),"");if(t){if(t.length<=d.length){if(d.startsWith(t)){d=d.substring(t.length);c[0].start=c[0].start.getShiftedBy(t.length)}}else{if(t.startsWith(d)){c[0].start=c[0].start.getShiftedBy(d.length);d=""}}}}const u={text:d,selection:e.createSelection(c)};if(a){u.resultRange=t.editing.mapper.toModelRange(a)}t.execute("insertText",u);n.scrollToTheSelection()}));if(l.isAndroid){this.listenTo(n.document,"keydown",((t,r)=>{if(i.isCollapsed||r.keyCode!=229||!n.document.isComposing){return}oS(e,o)}))}else{this.listenTo(n.document,"compositionstart",(()=>{if(i.isCollapsed){return}oS(e,o)}))}}}function oS(t,e){if(!e.isEnabled){return}const n=e.buffer;n.lock();t.enqueueChange(n.batch,(()=>{t.deleteContent(t.document.selection)}));n.unlock()}class rS extends ah{constructor(t,e){super(t);this.direction=e;this._buffer=new XT(t.model,t.config.get("typing.undoStep"));this._isEnabledBasedOnSelection=false}get buffer(){return this._buffer}execute(t={}){const e=this.editor.model;const n=e.document;e.enqueueChange(this._buffer.batch,(i=>{this._buffer.lock();const o=i.createSelection(t.selection||n.selection);if(!e.canEditAt(o)){return}const r=t.sequence||1;const s=o.isCollapsed;if(o.isCollapsed){e.modifySelection(o,{direction:this.direction,unit:t.unit,treatEmojiAsSingleUnit:true})}if(this._shouldEntireContentBeReplacedWithParagraph(r)){this._replaceEntireContentWithParagraph(i);return}if(this._shouldReplaceFirstBlockWithParagraph(o,r)){this.editor.execute("paragraph",{selection:o});return}if(o.isCollapsed){return}let a=0;o.getFirstRange().getMinimalFlatRanges().forEach((t=>{a+=xt(t.getWalker({singleCharacters:true,ignoreElementEnd:true,shallow:true}))}));e.deleteContent(o,{doNotResetEntireContent:s,direction:this.direction});this._buffer.input(a);i.setSelection(o);this._buffer.unlock()}))}_shouldEntireContentBeReplacedWithParagraph(t){if(t>1){return false}const e=this.editor.model;const n=e.document;const i=n.selection;const o=e.schema.getLimitElement(i);const r=i.isCollapsed&&i.containsEntireContent(o);if(!r){return false}if(!e.schema.checkChild(o,"paragraph")){return false}const s=o.getChild(0);if(s&&s.is("element","paragraph")){return false}return true}_replaceEntireContentWithParagraph(t){const e=this.editor.model;const n=e.document;const i=n.selection;const o=e.schema.getLimitElement(i);const r=t.createElement("paragraph");t.remove(t.createRangeIn(o));t.insert(r,o);t.setSelection(r,0)}_shouldReplaceFirstBlockWithParagraph(t,e){const n=this.editor.model;if(e>1||this.direction!="backward"){return false}if(!t.isCollapsed){return false}const i=t.getFirstPosition();const o=n.schema.getLimitElement(i);const r=o.getChild(0);if(i.parent!=r){return false}if(!t.containsEntireContent(r)){return false}if(!n.schema.checkChild(o,"paragraph")){return false}if(r.name=="paragraph"){return false}return true}}const sS="character";const aS="word";const cS="codePoint";const lS="selection";const dS="backward";const uS="forward";const hS={deleteContent:{unit:lS,direction:dS},deleteContentBackward:{unit:cS,direction:dS},deleteWordBackward:{unit:aS,direction:dS},deleteHardLineBackward:{unit:lS,direction:dS},deleteSoftLineBackward:{unit:lS,direction:dS},deleteContentForward:{unit:sS,direction:uS},deleteWordForward:{unit:aS,direction:uS},deleteHardLineForward:{unit:lS,direction:uS},deleteSoftLineForward:{unit:lS,direction:uS}};class mS extends lp{constructor(t){super(t);const e=t.document;let n=0;e.on("keydown",(()=>{n++}));e.on("keyup",(()=>{n=0}));e.on("beforeinput",((i,o)=>{if(!this.isEnabled){return}const{targetRanges:r,domEvent:s,inputType:a}=o;const c=hS[a];if(!c){return}const d={direction:c.direction,unit:c.unit,sequence:n};if(d.unit==lS){d.selectionToRemove=t.createSelection(r[0])}if(a==="deleteContentBackward"){if(l.isAndroid){d.sequence=1}if(fS(r)){d.unit=lS;d.selectionToRemove=t.createSelection(r)}}const u=new Gg(e,"delete",r[0]);e.fire(u,new hp(t,s,d));if(u.stop.called){i.stop()}}));if(l.isBlink){gS(this)}}observe(){}stopObserving(){}}function gS(t){const e=t.view;const n=e.document;let i=null;let o=false;n.on("keydown",((t,{keyCode:e})=>{i=e;o=false}));n.on("keyup",((a,{keyCode:c,domEvent:l})=>{const d=n.selection;const u=t.isEnabled&&c==i&&r(c)&&!d.isCollapsed&&!o;i=null;if(u){const t=d.getFirstRange();const i=new Gg(n,"delete",t);const o={unit:lS,direction:s(c),selectionToRemove:d};n.fire(i,new hp(e,l,o))}}));n.on("beforeinput",((t,{inputType:e})=>{const n=hS[e];const a=r(i)&&n&&n.direction==s(i);if(a){o=true}}),{priority:"high"});n.on("beforeinput",((t,{inputType:e,data:n})=>{const o=i==qc.delete&&e=="insertText"&&n=="";if(o){t.stop()}}),{priority:"high"});function r(t){return t==qc.backspace||t==qc.delete}function s(t){return t==qc.backspace?dS:uS}}function fS(t){if(t.length!=1||t[0].isCollapsed){return false}const e=t[0].getWalker({direction:"backward",singleCharacters:true,ignoreElementEnd:true});let n=0;for(const{nextPosition:t}of e){if(!t.parent.is("$text")){n++}else{const e=t.parent.data;const i=t.offset;if(El(e,i)||Dl(e,i)||Sl(e,i)){continue}n++}if(n>1){return true}}return false}class pS extends rh{static get pluginName(){return"Delete"}init(){const t=this.editor;const e=t.editing.view;const n=e.document;const i=t.model.document;e.addObserver(mS);this._undoOnBackspace=false;const o=new rS(t,"forward");t.commands.add("deleteForward",o);t.commands.add("forwardDelete",o);t.commands.add("delete",new rS(t,"backward"));this.listenTo(n,"delete",((i,o)=>{if(!n.isComposing){o.preventDefault()}const{direction:r,sequence:s,selectionToRemove:a,unit:c}=o;const l=r==="forward"?"deleteForward":"delete";const d={sequence:s};if(c=="selection"){const e=Array.from(a.getRanges()).map((e=>t.editing.mapper.toModelRange(e)));d.selection=t.model.createSelection(e)}else{d.unit=c}t.execute(l,d);e.scrollToTheSelection()}),{priority:"low"});if(this.editor.plugins.has("UndoEditing")){this.listenTo(n,"delete",((e,n)=>{if(this._undoOnBackspace&&n.direction=="backward"&&n.sequence==1&&n.unit=="codePoint"){this._undoOnBackspace=false;t.execute("undo");n.preventDefault();e.stop()}}),{context:"$capture"});this.listenTo(i,"change",(()=>{this._undoOnBackspace=false}))}}requestUndoOnBackspace(){if(this.editor.plugins.has("UndoEditing")){this._undoOnBackspace=true}}}class bS extends rh{static get requires(){return[iS,pS]}static get pluginName(){return"Typing"}}function kS(t,e){let n=t.start;const i=Array.from(t.getWalker({ignoreElementEnd:false})).reduce(((t,{item:i})=>{if(!(i.is("$text")||i.is("$textProxy"))){n=e.createPositionAfter(i);return""}return t+i.data}),"");return{text:i,range:e.createRange(n,t.end)}}class wS extends(mt()){constructor(t,e){super();this.model=t;this.testCallback=e;this._hasMatch=false;this.set("isEnabled",true);this.on("change:isEnabled",(()=>{if(this.isEnabled){this._startListening()}else{this.stopListening(t.document.selection);this.stopListening(t.document)}}));this._startListening()}get hasMatch(){return this._hasMatch}_startListening(){const t=this.model;const e=t.document;this.listenTo(e.selection,"change:range",((t,{directChange:n})=>{if(!n){return}if(!e.selection.isCollapsed){if(this.hasMatch){this.fire("unmatched");this._hasMatch=false}return}this._evaluateTextBeforeSelection("selection")}));this.listenTo(e,"change:data",((t,e)=>{if(e.isUndo||!e.isLocal){return}this._evaluateTextBeforeSelection("data",{batch:e})}))}_evaluateTextBeforeSelection(t,e={}){const n=this.model;const i=n.document;const o=i.selection;const r=n.createRange(n.createPositionAt(o.focus.parent,0),o.focus);const{text:s,range:a}=kS(r,n);const c=this.testCallback(s);if(!c&&this.hasMatch){this.fire("unmatched")}this._hasMatch=!!c;if(c){const n=Object.assign(e,{text:s,range:a});if(typeof c=="object"){Object.assign(n,c)}this.fire(`matched:${t}`,n)}}}class AS extends rh{static get pluginName(){return"TwoStepCaretMovement"}constructor(t){super(t);this._isNextGravityRestorationSkipped=false;this.attributes=new Set;this._overrideUid=null}init(){const t=this.editor;const e=t.model;const n=t.editing.view;const i=t.locale;const o=e.document.selection;this.listenTo(n.document,"arrowKey",((t,e)=>{if(!o.isCollapsed){return}if(e.shiftKey||e.altKey||e.ctrlKey){return}const n=e.keyCode==qc.arrowright;const r=e.keyCode==qc.arrowleft;if(!n&&!r){return}const s=i.contentLanguageDirection;let a=false;if(s==="ltr"&&n||s==="rtl"&&r){a=this._handleForwardMovement(e)}else{a=this._handleBackwardMovement(e)}if(a===true){t.stop()}}),{context:"$text",priority:"highest"});this.listenTo(o,"change:range",((t,e)=>{if(this._isNextGravityRestorationSkipped){this._isNextGravityRestorationSkipped=false;return}if(!this._isGravityOverridden){return}if(!e.directChange&&ES(o.getFirstPosition(),this.attributes)){return}this._restoreGravity()}));this._enableClickingAfterNode();this._enableInsertContentSelectionAttributesFixer();this._handleDeleteContentAfterNode()}registerAttribute(t){this.attributes.add(t)}_handleForwardMovement(t){const e=this.attributes;const n=this.editor.model;const i=n.document.selection;const o=i.getFirstPosition();if(this._isGravityOverridden){return false}if(o.isAtStart&&CS(i,e)){return false}if(ES(o,e)){yS(t);if(CS(i,e)&&ES(o,e,true)){vS(n,e)}else{this._overrideGravity()}return true}return false}_handleBackwardMovement(t){const e=this.attributes;const n=this.editor.model;const i=n.document.selection;const o=i.getFirstPosition();if(this._isGravityOverridden){yS(t);this._restoreGravity();if(ES(o,e,true)){vS(n,e)}else{_S(n,e,o)}return true}else{if(o.isAtStart){if(CS(i,e)){yS(t);_S(n,e,o);return true}return false}if(!CS(i,e)&&ES(o,e,true)){yS(t);_S(n,e,o);return true}if(xS(o,e)){if(o.isAtEnd&&!CS(i,e)&&ES(o,e)){yS(t);_S(n,e,o);return true}this._isNextGravityRestorationSkipped=true;this._overrideGravity();return false}}return false}_enableClickingAfterNode(){const t=this.editor;const e=t.model;const n=e.document.selection;const i=t.editing.view.document;t.editing.view.addObserver(s_);let o=false;this.listenTo(i,"mousedown",(()=>{o=true}));this.listenTo(i,"selectionChange",(()=>{const t=this.attributes;if(!o){return}o=false;if(!n.isCollapsed){return}if(!CS(n,t)){return}const i=n.getFirstPosition();if(!ES(i,t)){return}if(i.isAtStart||ES(i,t,true)){vS(e,t)}else if(!this._isGravityOverridden){this._overrideGravity()}}))}_enableInsertContentSelectionAttributesFixer(){const t=this.editor;const e=t.model;const n=e.document.selection;const i=this.attributes;this.listenTo(e,"insertContent",(()=>{const t=n.getFirstPosition();if(CS(n,i)&&ES(t,i)){vS(e,i)}}),{priority:"low"})}_handleDeleteContentAfterNode(){const t=this.editor;const e=t.model;const n=e.document.selection;const i=t.editing.view;let o=false;let r=false;this.listenTo(i.document,"delete",((t,e)=>{o=e.direction==="backward"}),{priority:"high"});this.listenTo(e,"deleteContent",(()=>{if(!o){return}const t=n.getFirstPosition();r=CS(n,this.attributes)&&!xS(t,this.attributes)}),{priority:"high"});this.listenTo(e,"deleteContent",(()=>{if(!o){return}o=false;if(r){return}t.model.enqueueChange((()=>{const t=n.getFirstPosition();if(CS(n,this.attributes)&&ES(t,this.attributes)){if(t.isAtStart||ES(t,this.attributes,true)){vS(e,this.attributes)}else if(!this._isGravityOverridden){this._overrideGravity()}}}))}),{priority:"low"})}get _isGravityOverridden(){return!!this._overrideUid}_overrideGravity(){this._overrideUid=this.editor.model.change((t=>t.overrideSelectionGravity()))}_restoreGravity(){this.editor.model.change((t=>{t.restoreSelectionGravity(this._overrideUid);this._overrideUid=null}))}}function CS(t,e){for(const n of e){if(t.hasAttribute(n)){return true}}return false}function _S(t,e,n){const i=n.nodeBefore;t.change((n=>{if(i){const e=[];const o=t.schema.isObject(i)&&t.schema.isInline(i);for(const[n,r]of i.getAttributes()){if(t.schema.checkAttribute("$text",n)&&(!o||t.schema.getAttributeProperties(n).copyFromObject!==false)){e.push([n,r])}}n.setSelectionAttribute(e)}else{n.removeSelectionAttribute(e)}}))}function vS(t,e){t.change((t=>{t.removeSelectionAttribute(e)}))}function yS(t){t.preventDefault()}function xS(t,e){const n=t.getShiftedBy(-1);return ES(n,e)}function ES(t,e,n=false){const{nodeBefore:i,nodeAfter:o}=t;for(const t of e){const e=i?i.getAttribute(t):undefined;const r=o?o.getAttribute(t):undefined;if(n&&(e===undefined||r===undefined)){continue}if(r!==e){return true}}return false}const DS={copyright:{from:"(c)",to:"©"},registeredTrademark:{from:"(r)",to:"®"},trademark:{from:"(tm)",to:"™"},oneHalf:{from:/(^|[^/a-z0-9])(1\/2)([^/a-z0-9])$/i,to:[null,"½",null]},oneThird:{from:/(^|[^/a-z0-9])(1\/3)([^/a-z0-9])$/i,to:[null,"⅓",null]},twoThirds:{from:/(^|[^/a-z0-9])(2\/3)([^/a-z0-9])$/i,to:[null,"⅔",null]},oneForth:{from:/(^|[^/a-z0-9])(1\/4)([^/a-z0-9])$/i,to:[null,"¼",null]},threeQuarters:{from:/(^|[^/a-z0-9])(3\/4)([^/a-z0-9])$/i,to:[null,"¾",null]},lessThanOrEqual:{from:"<=",to:"≤"},greaterThanOrEqual:{from:">=",to:"≥"},notEqual:{from:"!=",to:"≠"},arrowLeft:{from:"<-",to:"←"},arrowRight:{from:"->",to:"→"},horizontalEllipsis:{from:"...",to:"…"},enDash:{from:/(^| )(--)( )$/,to:[null,"–",null]},emDash:{from:/(^| )(---)( )$/,to:[null,"—",null]},quotesPrimary:{from:PS('"'),to:[null,"“",null,"”"]},quotesSecondary:{from:PS("'"),to:[null,"‘",null,"’"]},quotesPrimaryEnGb:{from:PS("'"),to:[null,"‘",null,"’"]},quotesSecondaryEnGb:{from:PS('"'),to:[null,"“",null,"”"]},quotesPrimaryPl:{from:PS('"'),to:[null,"„",null,"”"]},quotesSecondaryPl:{from:PS("'"),to:[null,"‚",null,"’"]}};const TS={symbols:["copyright","registeredTrademark","trademark"],mathematical:["oneHalf","oneThird","twoThirds","oneForth","threeQuarters","lessThanOrEqual","greaterThanOrEqual","notEqual","arrowLeft","arrowRight"],typography:["horizontalEllipsis","enDash","emDash"],quotes:["quotesPrimary","quotesSecondary"]};const SS=["symbols","mathematical","typography","quotes"];class IS extends rh{static get requires(){return["Delete","Input"]}static get pluginName(){return"TextTransformation"}constructor(t){super(t);t.config.define("typing",{transformations:{include:SS}})}init(){const t=this.editor.model;const e=t.document.selection;e.on("change:range",(()=>{this.isEnabled=!e.anchor.parent.is("element","codeBlock")}));this._enableTransformationWatchers()}_enableTransformationWatchers(){const t=this.editor;const e=t.model;const n=t.plugins.get("Delete");const i=LS(t.config.get("typing.transformations"));const o=t=>{for(const e of i){const n=e.from;const i=n.test(t);if(i){return{normalizedTransformation:e}}}};const r=new wS(t.model,o);r.on("matched:data",((t,i)=>{if(!i.batch.isTyping){return}const{from:o,to:r}=i.normalizedTransformation;const s=o.exec(i.text);const a=r(s.slice(1));const c=i.range;let l=s.index;e.enqueueChange((t=>{for(let n=1;n{n.requestUndoOnBackspace()}))}))}));r.bind("isEnabled").to(this)}}function BS(t){if(typeof t=="string"){return new RegExp(`(${$D(t)})$`)}return t}function MS(t){if(typeof t=="string"){return()=>[t]}else if(t instanceof Array){return()=>t}return t}function NS(t){const e=t.textNode?t.textNode:t.nodeAfter;return e.getAttributes()}function PS(t){return new RegExp(`(^|\\s)(${t})([^${t}]*)(${t})$`)}function LS(t){const e=t.extra||[];const n=t.remove||[];const i=t=>!n.includes(t);const o=t.include.concat(e).filter(i);return zS(o).filter(i).map((t=>typeof t=="string"&&DS[t]?DS[t]:t)).filter((t=>typeof t==="object")).map((t=>({from:BS(t.from),to:MS(t.to)})))}function zS(t){const e=new Set;for(const n of t){if(typeof n=="string"&&TS[n]){for(const t of TS[n]){e.add(t)}}else{e.add(n)}}return Array.from(e)}function OS(t,e,n,i){return i.createRange(RS(t,e,n,true,i),RS(t,e,n,false,i))}function RS(t,e,n,i,o){let r=t.textNode||(i?t.nodeBefore:t.nodeAfter);let s=null;while(r&&r.getAttribute(e)==n){s=r;r=i?r.previousSibling:r.nextSibling}return s?o.createPositionAt(s,i?"before":"after"):t}function VS(t,e,n,i){const o=t.editing.view;const r=new Set;o.document.registerPostFixer((o=>{const s=t.model.document.selection;let a=false;if(s.hasAttribute(e)){const c=OS(s.getFirstPosition(),e,s.getAttribute(e),t.model);const l=t.editing.mapper.toViewRange(c);for(const t of l.getItems()){if(t.is("element",n)&&!t.hasClass(i)){o.addClass(i,t);r.add(t);a=true}}}return a}));t.conversion.for("editingDowncast").add((t=>{t.on("insert",e,{priority:"highest"});t.on("remove",e,{priority:"highest"});t.on("attribute",e,{priority:"highest"});t.on("selection",e,{priority:"highest"});function e(){o.change((t=>{for(const e of r.values()){t.removeClass(i,e);r.delete(e)}}))}}))}function FS(t,e,n,i){let o;let r=null;if(typeof i=="function"){o=i}else{r=t.commands.get(i);o=()=>{t.execute(i)}}t.model.document.on("change:data",((s,a)=>{if(r&&!r.isEnabled||!e.isEnabled){return}const c=gl(t.model.document.selection.getRanges());if(!c.isCollapsed){return}if(a.isUndo||!a.isLocal){return}const l=Array.from(t.model.document.differ.getChanges());const d=l[0];if(l.length!=1||d.type!=="insert"||d.name!="$text"||d.length!=1){return}const u=d.position.parent;if(u.is("element","codeBlock")){return}if(u.is("element","listItem")&&typeof i!=="function"&&!["numberedList","bulletedList","todoList"].includes(i)){return}if(r&&r.value===true){return}const h=u.getChild(0);const m=t.model.createRangeOn(h);if(!m.containsRange(c)&&!c.end.isEqual(m.end)){return}const g=n.exec(h.data.substr(0,c.end.offset));if(!g){return}t.model.enqueueChange((e=>{const n=e.createPositionAt(u,0);const i=e.createPositionAt(u,g[0].length);const r=new ck(n,i);const s=o({match:g});if(s!==false){e.remove(r);const n=t.model.document.selection.getFirstRange();const i=e.createRangeIn(u);if(u.isEmpty&&!i.isEqual(n)&&!i.containsRange(n,true)){e.remove(u)}}r.detach();t.model.enqueueChange((()=>{const e=t.plugins.get("Delete");e.requestUndoOnBackspace()}))}))}))}function jS(t,e,n,i){let o;let r;if(n instanceof RegExp){o=n}else{r=n}r=r||(t=>{let e;const n=[];const i=[];while((e=o.exec(t))!==null){if(e&&e.length<4){break}let{index:t,1:o,2:r,3:s}=e;const a=o+r+s;t+=e[0].length-a.length;const c=[t,t+o.length];const l=[t+o.length+r.length,t+o.length+r.length+s.length];n.push(c);n.push(l);i.push([t+o.length,t+o.length+r.length])}return{remove:n,format:i}});t.model.document.on("change:data",((n,o)=>{if(o.isUndo||!o.isLocal||!e.isEnabled){return}const s=t.model;const a=s.document.selection;if(!a.isCollapsed){return}const c=Array.from(s.document.differ.getChanges());const l=c[0];if(c.length!=1||l.type!=="insert"||l.name!="$text"||l.length!=1){return}const d=a.focus;const u=d.parent;const{text:h,range:m}=US(s.createRange(s.createPositionAt(u,0),d),s);const g=r(h);const f=HS(m.start,g.format,s);const p=HS(m.start,g.remove,s);if(!(f.length&&p.length)){return}s.enqueueChange((e=>{const n=i(e,f);if(n===false){return}for(const t of p.reverse()){e.remove(t)}s.enqueueChange((()=>{const e=t.plugins.get("Delete");e.requestUndoOnBackspace()}))}))}))}function HS(t,e,n){return e.filter((t=>t[0]!==undefined&&t[1]!==undefined)).map((e=>n.createRange(t.getShiftedBy(e[0]),t.getShiftedBy(e[1]))))}function US(t,e){let n=t.start;const i=Array.from(t.getItems()).reduce(((t,i)=>{if(!(i.is("$text")||i.is("$textProxy"))||i.getAttribute("code")){n=e.createPositionAfter(i);return""}return t+i.data}),"");return{text:i,range:e.createRange(n,t.end)}}class WS extends rh{static get requires(){return[pS]}static get pluginName(){return"Autoformat"}afterInit(){this._addListAutoformats();this._addBasicStylesAutoformats();this._addHeadingAutoformats();this._addBlockQuoteAutoformats();this._addCodeBlockAutoformats();this._addHorizontalLineAutoformats()}_addListAutoformats(){const t=this.editor.commands;if(t.get("bulletedList")){FS(this.editor,this,/^[*-]\s$/,"bulletedList")}if(t.get("numberedList")){FS(this.editor,this,/^1[.|)]\s$/,"numberedList")}if(t.get("todoList")){FS(this.editor,this,/^\[\s?\]\s$/,"todoList")}if(t.get("checkTodoList")){FS(this.editor,this,/^\[\s?x\s?\]\s$/,(()=>{this.editor.execute("todoList");this.editor.execute("checkTodoList")}))}}_addBasicStylesAutoformats(){const t=this.editor.commands;if(t.get("bold")){const t=GS(this.editor,"bold");jS(this.editor,this,/(?:^|\s)(\*\*)([^*]+)(\*\*)$/g,t);jS(this.editor,this,/(?:^|\s)(__)([^_]+)(__)$/g,t)}if(t.get("italic")){const t=GS(this.editor,"italic");jS(this.editor,this,/(?:^|\s)(\*)([^*_]+)(\*)$/g,t);jS(this.editor,this,/(?:^|\s)(_)([^_]+)(_)$/g,t)}if(t.get("code")){const t=GS(this.editor,"code");jS(this.editor,this,/(`)([^`]+)(`)$/g,t)}if(t.get("strikethrough")){const t=GS(this.editor,"strikethrough");jS(this.editor,this,/(~~)([^~]+)(~~)$/g,t)}}_addHeadingAutoformats(){const t=this.editor.commands.get("heading");if(t){t.modelElements.filter((t=>t.match(/^heading[1-6]$/))).forEach((e=>{const n=e[7];const i=new RegExp(`^(#{${n}})\\s$`);FS(this.editor,this,i,(()=>{if(!t.isEnabled||t.value===e){return false}this.editor.execute("heading",{value:e})}))}))}}_addBlockQuoteAutoformats(){if(this.editor.commands.get("blockQuote")){FS(this.editor,this,/^>\s$/,"blockQuote")}}_addCodeBlockAutoformats(){const t=this.editor;const e=t.model.document.selection;if(t.commands.get("codeBlock")){FS(t,this,/^```$/,(()=>{if(e.getFirstPosition().parent.is("element","listItem")){return false}this.editor.execute("codeBlock",{usePreviousLanguageChoice:true})}))}}_addHorizontalLineAutoformats(){if(this.editor.commands.get("horizontalLine")){FS(this.editor,this,/^---$/,"horizontalLine")}}}function GS(t,e){return(n,i)=>{const o=t.commands.get(e);if(!o.isEnabled){return false}const r=t.model.schema.getValidRanges(i,e);for(const t of r){n.setAttribute(e,true,t)}n.removeSelectionAttribute(e)}}class qS extends ah{constructor(t,e){super(t);this.attributeKey=e}refresh(){const t=this.editor.model;const e=t.document;this.value=this._getValueFromFirstAllowedNode();this.isEnabled=t.schema.checkAttributeInSelection(e.selection,this.attributeKey)}execute(t={}){const e=this.editor.model;const n=e.document;const i=n.selection;const o=t.forceValue===undefined?!this.value:t.forceValue;e.change((t=>{if(i.isCollapsed){if(o){t.setSelectionAttribute(this.attributeKey,true)}else{t.removeSelectionAttribute(this.attributeKey)}}else{const n=e.schema.getValidRanges(i.getRanges(),this.attributeKey);for(const e of n){if(o){t.setAttribute(this.attributeKey,o,e)}else{t.removeAttribute(this.attributeKey,e)}}}}))}_getValueFromFirstAllowedNode(){const t=this.editor.model;const e=t.schema;const n=t.document.selection;if(n.isCollapsed){return n.hasAttribute(this.attributeKey)}for(const t of n.getRanges()){for(const n of t.getItems()){if(e.checkAttribute(n,this.attributeKey)){return n.hasAttribute(this.attributeKey)}}}return false}}const $S="bold";class KS extends rh{static get pluginName(){return"BoldEditing"}init(){const t=this.editor;t.model.schema.extend("$text",{allowAttributes:$S});t.model.schema.setAttributeProperties($S,{isFormatting:true,copyOnEnter:true});t.conversion.attributeToElement({model:$S,view:"strong",upcastAlso:["b",t=>{const e=t.getStyle("font-weight");if(!e){return null}if(e=="bold"||Number(e)>=600){return{name:true,styles:["font-weight"]}}return null}]});t.commands.add($S,new qS(t,$S));t.keystrokes.set("CTRL+B",$S)}}const ZS="bold";class YS extends rh{static get pluginName(){return"BoldUI"}init(){const t=this.editor;const e=t.t;t.ui.componentFactory.add(ZS,(n=>{const i=t.commands.get(ZS);const o=new xd(n);o.set({label:e("Bold"),icon:Zv.bold,keystroke:"CTRL+B",tooltip:true,isToggleable:true});o.bind("isOn","isEnabled").to(i,"value","isEnabled");this.listenTo(o,"execute",(()=>{t.execute(ZS);t.editing.view.focus()}));return o}))}}class QS extends rh{static get requires(){return[KS,YS]}static get pluginName(){return"Bold"}}const JS="code";const XS="ck-code_selected";class tI extends(null&&Plugin){static get pluginName(){return"CodeEditing"}static get requires(){return[TwoStepCaretMovement]}init(){const t=this.editor;t.model.schema.extend("$text",{allowAttributes:JS});t.model.schema.setAttributeProperties(JS,{isFormatting:true,copyOnEnter:false});t.conversion.attributeToElement({model:JS,view:"code",upcastAlso:{styles:{"word-wrap":"break-word"}}});t.commands.add(JS,new AttributeCommand(t,JS));t.plugins.get(TwoStepCaretMovement).registerAttribute(JS);inlineHighlight(t,JS,"code",XS)}}var eI=n(5363);var nI={injectType:"singletonStyleTag",attributes:{"data-cke":true}};nI.insert="head";nI.singleton=true;var iI=Pl()(eI.Z,nI);const oI=eI.Z.locals||{};const rI="code";class sI extends(null&&Plugin){static get pluginName(){return"CodeUI"}init(){const t=this.editor;const e=t.t;t.ui.componentFactory.add(rI,(n=>{const i=t.commands.get(rI);const o=new ButtonView(n);o.set({label:e("Code"),icon:codeIcon,tooltip:true,isToggleable:true});o.bind("isOn","isEnabled").to(i,"value","isEnabled");this.listenTo(o,"execute",(()=>{t.execute(rI);t.editing.view.focus()}));return o}))}}class aI extends(null&&Plugin){static get requires(){return[CodeEditing,CodeUI]}static get pluginName(){return"Code"}}const cI="italic";class lI extends rh{static get pluginName(){return"ItalicEditing"}init(){const t=this.editor;t.model.schema.extend("$text",{allowAttributes:cI});t.model.schema.setAttributeProperties(cI,{isFormatting:true,copyOnEnter:true});t.conversion.attributeToElement({model:cI,view:"i",upcastAlso:["em",{styles:{"font-style":"italic"}}]});t.commands.add(cI,new qS(t,cI));t.keystrokes.set("CTRL+I",cI)}}const dI='';const uI="italic";class hI extends rh{static get pluginName(){return"ItalicUI"}init(){const t=this.editor;const e=t.t;t.ui.componentFactory.add(uI,(n=>{const i=t.commands.get(uI);const o=new xd(n);o.set({label:e("Italic"),icon:dI,keystroke:"CTRL+I",tooltip:true,isToggleable:true});o.bind("isOn","isEnabled").to(i,"value","isEnabled");this.listenTo(o,"execute",(()=>{t.execute(uI);t.editing.view.focus()}));return o}))}}class mI extends rh{static get requires(){return[lI,hI]}static get pluginName(){return"Italic"}}const gI="strikethrough";class fI extends(null&&Plugin){static get pluginName(){return"StrikethroughEditing"}init(){const t=this.editor;t.model.schema.extend("$text",{allowAttributes:gI});t.model.schema.setAttributeProperties(gI,{isFormatting:true,copyOnEnter:true});t.conversion.attributeToElement({model:gI,view:"s",upcastAlso:["del","strike",{styles:{"text-decoration":"line-through"}}]});t.commands.add(gI,new AttributeCommand(t,gI));t.keystrokes.set("CTRL+SHIFT+X","strikethrough")}}const pI="strikethrough";class bI extends(null&&Plugin){static get pluginName(){return"StrikethroughUI"}init(){const t=this.editor;const e=t.t;t.ui.componentFactory.add(pI,(n=>{const i=t.commands.get(pI);const o=new ButtonView(n);o.set({label:e("Strikethrough"),icon:strikethroughIcon,keystroke:"CTRL+SHIFT+X",tooltip:true,isToggleable:true});o.bind("isOn","isEnabled").to(i,"value","isEnabled");this.listenTo(o,"execute",(()=>{t.execute(pI);t.editing.view.focus()}));return o}))}}class kI extends(null&&Plugin){static get requires(){return[StrikethroughEditing,StrikethroughUI]}static get pluginName(){return"Strikethrough"}}const wI="subscript";class AI extends(null&&Plugin){static get pluginName(){return"SubscriptEditing"}init(){const t=this.editor;t.model.schema.extend("$text",{allowAttributes:wI});t.model.schema.setAttributeProperties(wI,{isFormatting:true,copyOnEnter:true});t.conversion.attributeToElement({model:wI,view:"sub",upcastAlso:[{styles:{"vertical-align":"sub"}}]});t.commands.add(wI,new AttributeCommand(t,wI))}}const CI="subscript";class _I extends(null&&Plugin){static get pluginName(){return"SubscriptUI"}init(){const t=this.editor;const e=t.t;t.ui.componentFactory.add(CI,(n=>{const i=t.commands.get(CI);const o=new ButtonView(n);o.set({label:e("Subscript"),icon:subscriptIcon,tooltip:true,isToggleable:true});o.bind("isOn","isEnabled").to(i,"value","isEnabled");this.listenTo(o,"execute",(()=>{t.execute(CI);t.editing.view.focus()}));return o}))}}class vI extends(null&&Plugin){static get requires(){return[SubscriptEditing,SubscriptUI]}static get pluginName(){return"Subscript"}}const yI="superscript";class xI extends(null&&Plugin){static get pluginName(){return"SuperscriptEditing"}init(){const t=this.editor;t.model.schema.extend("$text",{allowAttributes:yI});t.model.schema.setAttributeProperties(yI,{isFormatting:true,copyOnEnter:true});t.conversion.attributeToElement({model:yI,view:"sup",upcastAlso:[{styles:{"vertical-align":"super"}}]});t.commands.add(yI,new AttributeCommand(t,yI))}}const EI="superscript";class DI extends(null&&Plugin){static get pluginName(){return"SuperscriptUI"}init(){const t=this.editor;const e=t.t;t.ui.componentFactory.add(EI,(n=>{const i=t.commands.get(EI);const o=new ButtonView(n);o.set({label:e("Superscript"),icon:superscriptIcon,tooltip:true,isToggleable:true});o.bind("isOn","isEnabled").to(i,"value","isEnabled");this.listenTo(o,"execute",(()=>{t.execute(EI);t.editing.view.focus()}));return o}))}}class TI extends(null&&Plugin){static get requires(){return[SuperscriptEditing,SuperscriptUI]}static get pluginName(){return"Superscript"}}const SI="underline";class II extends(null&&Plugin){static get pluginName(){return"UnderlineEditing"}init(){const t=this.editor;t.model.schema.extend("$text",{allowAttributes:SI});t.model.schema.setAttributeProperties(SI,{isFormatting:true,copyOnEnter:true});t.conversion.attributeToElement({model:SI,view:"u",upcastAlso:{styles:{"text-decoration":"underline"}}});t.commands.add(SI,new AttributeCommand(t,SI));t.keystrokes.set("CTRL+U","underline")}}const BI="underline";class MI extends(null&&Plugin){static get pluginName(){return"UnderlineUI"}init(){const t=this.editor;const e=t.t;t.ui.componentFactory.add(BI,(n=>{const i=t.commands.get(BI);const o=new ButtonView(n);o.set({label:e("Underline"),icon:underlineIcon,keystroke:"CTRL+U",tooltip:true,isToggleable:true});o.bind("isOn","isEnabled").to(i,"value","isEnabled");this.listenTo(o,"execute",(()=>{t.execute(BI);t.editing.view.focus()}));return o}))}}class NI extends(null&&Plugin){static get requires(){return[UnderlineEditing,UnderlineUI]}static get pluginName(){return"Underline"}}function*PI(t,e){for(const n of e){if(n&&t.getAttributeProperties(n[0]).copyOnEnter){yield n}}}class LI extends ah{execute(){this.editor.model.change((t=>{this.enterBlock(t);this.fire("afterExecute",{writer:t})}))}enterBlock(t){const e=this.editor.model;const n=e.document.selection;const i=e.schema;const o=n.isCollapsed;const r=n.getFirstRange();const s=r.start.parent;const a=r.end.parent;if(i.isLimit(s)||i.isLimit(a)){if(!o&&s==a){e.deleteContent(n)}return false}if(o){const e=PI(t.model.schema,n.getAttributes());zI(t,r.start);t.setSelectionAttribute(e);return true}else{const i=!(r.start.isAtStart&&r.end.isAtEnd);const o=s==a;e.deleteContent(n,{leaveUnmerged:i});if(i){if(o){zI(t,n.focus);return true}else{t.setSelection(a,0)}}}return false}}function zI(t,e){t.split(e);t.setSelection(e.parent.nextSibling,0)}const OI={insertParagraph:{isSoft:false},insertLineBreak:{isSoft:true}};class RI extends lp{constructor(t){super(t);const e=this.document;let n=false;e.on("keydown",((t,e)=>{n=e.shiftKey}));e.on("beforeinput",((i,o)=>{if(!this.isEnabled){return}let r=o.inputType;if(l.isSafari&&n&&r=="insertParagraph"){r="insertLineBreak"}const s=o.domEvent;const a=OI[r];if(!a){return}const c=new Gg(e,"enter",o.targetRanges[0]);e.fire(c,new hp(t,s,{isSoft:a.isSoft}));if(c.stop.called){i.stop()}}))}observe(){}stopObserving(){}}class VI extends rh{static get pluginName(){return"Enter"}init(){const t=this.editor;const e=t.editing.view;const n=e.document;e.addObserver(RI);t.commands.add("enter",new LI(t));this.listenTo(n,"enter",((i,o)=>{if(!n.isComposing){o.preventDefault()}if(o.isSoft){return}t.execute("enter");e.scrollToTheSelection()}),{priority:"low"})}}class FI extends ah{execute(){const t=this.editor.model;const e=t.document;t.change((n=>{HI(t,n,e.selection);this.fire("afterExecute",{writer:n})}))}refresh(){const t=this.editor.model;const e=t.document;this.isEnabled=jI(t.schema,e.selection)}}function jI(t,e){if(e.rangeCount>1){return false}const n=e.anchor;if(!n||!t.checkChild(n,"softBreak")){return false}const i=e.getFirstRange();const o=i.start.parent;const r=i.end.parent;if((WI(o,t)||WI(r,t))&&o!==r){return false}return true}function HI(t,e,n){const i=n.isCollapsed;const o=n.getFirstRange();const r=o.start.parent;const s=o.end.parent;const a=r==s;if(i){const i=PI(t.schema,n.getAttributes());UI(t,e,o.end);e.removeSelectionAttribute(n.getAttributeKeys());e.setSelectionAttribute(i)}else{const i=!(o.start.isAtStart&&o.end.isAtEnd);t.deleteContent(n,{leaveUnmerged:i});if(a){UI(t,e,n.focus)}else{if(i){e.setSelection(s,0)}}}}function UI(t,e,n){const i=e.createElement("softBreak");t.insertContent(i,n);e.setSelection(i,"after")}function WI(t,e){if(t.is("rootElement")){return false}return e.isLimit(t)||WI(t.parent,e)}class GI extends rh{static get pluginName(){return"ShiftEnter"}init(){const t=this.editor;const e=t.model.schema;const n=t.conversion;const i=t.editing.view;const o=i.document;e.register("softBreak",{allowWhere:"$text",isInline:true});n.for("upcast").elementToElement({model:"softBreak",view:"br"});n.for("downcast").elementToElement({model:"softBreak",view:(t,{writer:e})=>e.createEmptyElement("br")});i.addObserver(RI);t.commands.add("shiftEnter",new FI(t));this.listenTo(o,"enter",((e,n)=>{if(!o.isComposing){n.preventDefault()}if(!n.isSoft){return}t.execute("shiftEnter");i.scrollToTheSelection()}),{priority:"low"})}}class qI extends ah{refresh(){this.value=this._getValue();this.isEnabled=this._checkEnabled()}execute(t={}){const e=this.editor.model;const n=e.schema;const i=e.document.selection;const o=Array.from(i.getSelectedBlocks());const r=t.forceValue===undefined?!this.value:t.forceValue;e.change((t=>{if(!r){this._removeQuote(t,o.filter($I))}else{const e=o.filter((t=>$I(t)||ZI(n,t)));this._applyQuote(t,e)}}))}_getValue(){const t=this.editor.model.document.selection;const e=gl(t.getSelectedBlocks());return!!(e&&$I(e))}_checkEnabled(){if(this.value){return true}const t=this.editor.model.document.selection;const e=this.editor.model.schema;const n=gl(t.getSelectedBlocks());if(!n){return false}return ZI(e,n)}_removeQuote(t,e){KI(t,e).reverse().forEach((e=>{if(e.start.isAtStart&&e.end.isAtEnd){t.unwrap(e.start.parent);return}if(e.start.isAtStart){const n=t.createPositionBefore(e.start.parent);t.move(e,n);return}if(!e.end.isAtEnd){t.split(e.end)}const n=t.createPositionAfter(e.end.parent);t.move(e,n)}))}_applyQuote(t,e){const n=[];KI(t,e).reverse().forEach((e=>{let i=$I(e.start);if(!i){i=t.createElement("blockQuote");t.wrap(e,i)}n.push(i)}));n.reverse().reduce(((e,n)=>{if(e.nextSibling==n){t.merge(t.createPositionAfter(e));return e}return n}))}}function $I(t){return t.parent.name=="blockQuote"?t.parent:null}function KI(t,e){let n;let i=0;const o=[];while(i{const i=t.model.document.differ.getChanges();for(const t of i){if(t.type=="insert"){const i=t.position.nodeAfter;if(!i){continue}if(i.is("element","blockQuote")&&i.isEmpty){n.remove(i);return true}else if(i.is("element","blockQuote")&&!e.checkChild(t.position,i)){n.unwrap(i);return true}else if(i.is("element")){const t=n.createRangeIn(i);for(const i of t.getItems()){if(i.is("element","blockQuote")&&!e.checkChild(n.createPositionBefore(i),i)){n.unwrap(i);return true}}}}else if(t.type=="remove"){const e=t.position.parent;if(e.is("element","blockQuote")&&e.isEmpty){n.remove(e);return true}}}return false}));const n=this.editor.editing.view.document;const i=t.model.document.selection;const o=t.commands.get("blockQuote");this.listenTo(n,"enter",((e,n)=>{if(!i.isCollapsed||!o.value){return}const r=i.getLastPosition().parent;if(r.isEmpty){t.execute("blockQuote");t.editing.view.scrollToTheSelection();n.preventDefault();e.stop()}}),{context:"blockquote"});this.listenTo(n,"delete",((e,n)=>{if(n.direction!="backward"||!i.isCollapsed||!o.value){return}const r=i.getLastPosition().parent;if(r.isEmpty&&!r.previousSibling){t.execute("blockQuote");t.editing.view.scrollToTheSelection();n.preventDefault();e.stop()}}),{context:"blockquote"})}}var QI=n(3789);var JI={injectType:"singletonStyleTag",attributes:{"data-cke":true}};JI.insert="head";JI.singleton=true;var XI=Pl()(QI.Z,JI);const tB=QI.Z.locals||{};class eB extends rh{static get pluginName(){return"BlockQuoteUI"}init(){const t=this.editor;const e=t.t;t.ui.componentFactory.add("blockQuote",(n=>{const i=t.commands.get("blockQuote");const o=new xd(n);o.set({label:e("Block quote"),icon:Zv.quote,tooltip:true,isToggleable:true});o.bind("isOn","isEnabled").to(i,"value","isEnabled");this.listenTo(o,"execute",(()=>{t.execute("blockQuote");t.editing.view.focus()}));return o}))}}class nB extends rh{static get requires(){return[YI,eB]}static get pluginName(){return"BlockQuote"}}const iB={autoRefresh:true};const oB=36e5;class rB extends(mt()){constructor(t,e={}){super();if(!t){throw new P("token-missing-token-url",this)}if(e.initValue){this._validateTokenValue(e.initValue)}this.set("value",e.initValue);if(typeof t==="function"){this._refresh=t}else{this._refresh=()=>sB(t)}this._options={...iB,...e}}init(){return new Promise(((t,e)=>{if(!this.value){this.refreshToken().then(t).catch(e);return}if(this._options.autoRefresh){this._registerRefreshTokenTimeout()}t(this)}))}refreshToken(){return this._refresh().then((t=>{this._validateTokenValue(t);this.set("value",t);if(this._options.autoRefresh){this._registerRefreshTokenTimeout()}return this}))}destroy(){clearTimeout(this._tokenRefreshTimeout)}_validateTokenValue(t){const e=typeof t==="string";const n=!/^".*"$/.test(t);const i=e&&t.split(".").length===3;if(!(n&&i)){throw new P("token-not-in-jwt-format",this)}}_registerRefreshTokenTimeout(){const t=this._getTokenRefreshTimeoutTime();clearTimeout(this._tokenRefreshTimeout);this._tokenRefreshTimeout=setTimeout((()=>{this.refreshToken()}),t)}_getTokenRefreshTimeoutTime(){try{const[,t]=this.value.split(".");const{exp:e}=JSON.parse(atob(t));if(!e){return oB}const n=Math.floor((e*1e3-Date.now())/2);return n}catch(t){return oB}}static create(t,e={}){const n=new rB(t,e);return n.init()}}function sB(t){return new Promise(((e,n)=>{const i=new XMLHttpRequest;i.open("GET",t);i.addEventListener("load",(()=>{const t=i.status;const o=i.response;if(t<200||t>299){return n(new P("token-cannot-download-new-token",null))}return e(o)}));i.addEventListener("error",(()=>n(new Error("Network Error"))));i.addEventListener("abort",(()=>n(new Error("Abort"))));i.send()}))}const aB=/^data:(\S*?);base64,/;class cB extends($()){constructor(t,e,n){super();if(!t){throw new P("fileuploader-missing-file",null)}if(!e){throw new P("fileuploader-missing-token",null)}if(!n){throw new P("fileuploader-missing-api-address",null)}this.file=dB(t)?lB(t):t;this._token=e;this._apiAddress=n}onProgress(t){this.on("progress",((e,n)=>t(n)));return this}onError(t){this.once("error",((e,n)=>t(n)));return this}abort(){this.xhr.abort()}send(){this._prepareRequest();this._attachXHRListeners();return this._sendRequest()}_prepareRequest(){const t=new XMLHttpRequest;t.open("POST",this._apiAddress);t.setRequestHeader("Authorization",this._token.value);t.responseType="json";this.xhr=t}_attachXHRListeners(){const t=this.xhr;const e=t=>()=>this.fire("error",t);t.addEventListener("error",e("Network Error"));t.addEventListener("abort",e("Abort"));if(t.upload){t.upload.addEventListener("progress",(t=>{if(t.lengthComputable){this.fire("progress",{total:t.total,uploaded:t.loaded})}}))}t.addEventListener("load",(()=>{const e=t.status;const n=t.response;if(e<200||e>299){return this.fire("error",n.message||n.error)}}))}_sendRequest(){const t=new FormData;const e=this.xhr;t.append("file",this.file);return new Promise(((n,i)=>{e.addEventListener("load",(()=>{const t=e.status;const o=e.response;if(t<200||t>299){if(o.message){return i(new P("fileuploader-uploading-data-failed",this,{message:o.message}))}return i(o.error)}return n(o)}));e.addEventListener("error",(()=>i(new Error("Network Error"))));e.addEventListener("abort",(()=>i(new Error("Abort"))));e.send(t)}))}}function lB(t,e=512){try{const n=t.match(aB)[1];const i=atob(t.replace(aB,""));const o=[];for(let t=0;t{i.preventDefault();const o=i.dropRange?[i.dropRange]:null;const r=new D(e,t);e.fire(r,{dataTransfer:i.dataTransfer,method:n.name,targetRanges:o,target:i.target,domEvent:i.domEvent});if(r.stop.called){i.stopPropagation()}}}}onDomEvent(t){const e="clipboardData"in t?t.clipboardData:t.dataTransfer;const n=t.type=="drop"||t.type=="paste";const i={dataTransfer:new Ab(e,{cacheFiles:n})};if(t.type=="drop"||t.type=="dragover"){i.dropRange=fB(this.view,t)}this.fire(t.type,t,i)}}function fB(t,e){const n=e.target.ownerDocument;const i=e.clientX;const o=e.clientY;let r;if(n.caretRangeFromPoint&&n.caretRangeFromPoint(i,o)){r=n.caretRangeFromPoint(i,o)}else if(e.rangeParent){r=n.createRange();r.setStart(e.rangeParent,e.rangeOffset);r.collapse(true)}if(r){return t.domConverter.domRangeToView(r)}return null}function pB(t){t=t.replace(/&/g,"&").replace(//g,">").replace(/\r?\n\r?\n/g,"

").replace(/\r?\n/g,"
").replace(/\t/g,"    ").replace(/^\s/," ").replace(/\s$/," ").replace(/\s\s/g,"  ");if(t.includes("

")||t.includes("
")){t=`

${t}

`}return t}function bB(t){return t.replace(/(\s+)<\/span>/g,((t,e)=>{if(e.length==1){return" "}return e})).replace(//g,"")}const kB=["figcaption","li"];const wB=["ol","ul"];function AB(t){if(t.is("$text")||t.is("$textProxy")){return t.data}if(t.is("element","img")&&t.hasAttribute("alt")){return t.getAttribute("alt")}if(t.is("element","br")){return"\n"}let e="";let n=null;for(const i of t.getChildren()){e+=CB(i,n)+AB(i);n=i}return e}function CB(t,e){if(!e){return""}if(t.is("element","li")&&!t.isEmpty&&t.getChild(0).is("containerElement")){return"\n\n"}if(wB.includes(t.name)&&wB.includes(e.name)){return"\n\n"}if(!t.is("containerElement")&&!e.is("containerElement")){return""}if(kB.includes(t.name)||kB.includes(e.name)){return"\n"}return"\n\n"}class _B extends rh{static get pluginName(){return"ClipboardPipeline"}init(){const t=this.editor;const e=t.editing.view;e.addObserver(gB);this._setupPasteDrop();this._setupCopyCut()}_fireOutputTransformationEvent(t,e,n){const i=this.editor.model.getSelectedContent(e);this.fire("outputTransformation",{dataTransfer:t,content:i,method:n})}_setupPasteDrop(){const t=this.editor;const e=t.model;const n=t.editing.view;const i=n.document;this.listenTo(i,"clipboardInput",((e,n)=>{if(n.method=="paste"&&!t.model.canEditAt(t.model.document.selection)){e.stop()}}),{priority:"highest"});this.listenTo(i,"clipboardInput",((t,e)=>{const i=e.dataTransfer;let o;if(e.content){o=e.content}else{let t="";if(i.getData("text/html")){t=bB(i.getData("text/html"))}else if(i.getData("text/plain")){t=pB(i.getData("text/plain"))}o=this.editor.data.htmlProcessor.toView(t)}const r=new D(this,"inputTransformation");this.fire(r,{content:o,dataTransfer:i,targetRanges:e.targetRanges,method:e.method});if(r.stop.called){t.stop()}n.scrollToTheSelection()}),{priority:"low"});this.listenTo(this,"inputTransformation",((t,n)=>{if(n.content.isEmpty){return}const i=this.editor.data;const o=i.toModel(n.content,"$clipboardHolder");if(o.childCount==0){return}t.stop();e.change((()=>{this.fire("contentInsertion",{content:o,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;const e=t.model.document;const n=t.editing.view;const i=n.document;const o=(t,n)=>{const i=n.dataTransfer;n.preventDefault();this._fireOutputTransformationEvent(i,e.selection,t.name)};this.listenTo(i,"copy",o,{priority:"low"});this.listenTo(i,"cut",((e,n)=>{if(!t.model.canEditAt(t.model.document.selection)){n.preventDefault()}else{o(e,n)}}),{priority:"low"});this.listenTo(this,"outputTransformation",((e,n)=>{const o=t.data.toView(n.content);i.fire("clipboardOutput",{dataTransfer:n.dataTransfer,content:o,method:n.method})}),{priority:"low"});this.listenTo(i,"clipboardOutput",((n,i)=>{if(!i.content.isEmpty){i.dataTransfer.setData("text/html",this.editor.data.htmlProcessor.toData(i.content));i.dataTransfer.setData("text/plain",AB(i.content))}if(i.method=="cut"){t.model.deleteContent(e.selection)}}),{priority:"low"})}}class vB extends($()){constructor(){super(...arguments);this._stack=[]}add(t,e){const n=this._stack;const i=n[0];this._insertDescriptor(t);const o=n[0];if(i!==o&&!yB(i,o)){this.fire("change:top",{oldDescriptor:i,newDescriptor:o,writer:e})}}remove(t,e){const n=this._stack;const i=n[0];this._removeDescriptor(t);const o=n[0];if(i!==o&&!yB(i,o)){this.fire("change:top",{oldDescriptor:i,newDescriptor:o,writer:e})}}_insertDescriptor(t){const e=this._stack;const n=e.findIndex((e=>e.id===t.id));if(yB(t,e[n])){return}if(n>-1){e.splice(n,1)}let i=0;while(e[i]&&xB(e[i],t)){i++}e.splice(i,0,t)}_removeDescriptor(t){const e=this._stack;const n=e.findIndex((e=>e.id===t));if(n>-1){e.splice(n,1)}}}function yB(t,e){return t&&e&&t.priority==e.priority&&EB(t.classes)==EB(e.classes)}function xB(t,e){if(t.priority>e.priority){return true}else if(t.priorityEB(e.classes)}function EB(t){return Array.isArray(t)?t.sort().join(","):t}const DB='';const TB="ck-widget";const SB="ck-widget_selected";function IB(t){if(!t.is("element")){return false}return!!t.getCustomProperty("widget")}function BB(t,e,n={}){if(!t.is("containerElement")){throw new P("widget-to-widget-wrong-element-type",null,{element:t})}e.setAttribute("contenteditable","false",t);e.addClass(TB,t);e.setCustomProperty("widget",true,t);t.getFillerOffset=FB;e.setCustomProperty("widgetLabel",[],t);if(n.label){LB(t,n.label)}if(n.hasSelectionHandle){jB(t,e)}PB(t,e);return t}function MB(t,e,n){if(e.classes){n.addClass(il(e.classes),t)}if(e.attributes){for(const i in e.attributes){n.setAttribute(i,e.attributes[i],t)}}}function NB(t,e,n){if(e.classes){n.removeClass(il(e.classes),t)}if(e.attributes){for(const i in e.attributes){n.removeAttribute(i,t)}}}function PB(t,e,n=MB,i=NB){const o=new vB;o.on("change:top",((e,o)=>{if(o.oldDescriptor){i(t,o.oldDescriptor,o.writer)}if(o.newDescriptor){n(t,o.newDescriptor,o.writer)}}));const r=(t,e,n)=>o.add(e,n);const s=(t,e,n)=>o.remove(e,n);e.setCustomProperty("addHighlight",r,t);e.setCustomProperty("removeHighlight",s,t)}function LB(t,e){const n=t.getCustomProperty("widgetLabel");n.push(e)}function zB(t){const e=t.getCustomProperty("widgetLabel");return e.reduce(((t,e)=>{if(typeof e==="function"){return t?t+". "+e():e()}else{return t?t+". "+e:e}}),"")}function OB(t,e,n={}){e.addClass(["ck-editor__editable","ck-editor__nested-editable"],t);e.setAttribute("role","textbox",t);if(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)=>{if(o){e.addClass("ck-editor__nested-editable_focused",t)}else{e.removeClass("ck-editor__nested-editable_focused",t)}}));PB(t,e);return t}function RB(t,e){const n=t.getSelectedElement();if(n){const i=$B(t);if(i){return e.createRange(e.createPositionAt(n,i))}}return qC(t,e)}function VB(t,e){return(n,i)=>{const{mapper:o,viewPosition:r}=i;const s=o.findMappedViewAncestor(r);if(!e(s)){return}const a=o.toModelElement(s);i.modelPosition=t.createPositionAt(a,r.isAtStart?"before":"after")}}function FB(){return null}function jB(t,e){const n=e.createUIElement("div",{class:"ck ck-widget__selection-handle"},(function(t){const e=this.toDomElement(t);const n=new wd;n.set("content",DB);n.render();e.appendChild(n.element);return e}));e.insert(e.createPositionAt(t,0),n);e.addClass(["ck-widget_with-selection-handle"],t)}const HB="widget-type-around";function UB(t,e,n){return!!t&&IB(t)&&!n.isInline(e)}function WB(t){return t.closest(".ck-widget__type-around__button")}function GB(t){return t.classList.contains("ck-widget__type-around__button_before")?"before":"after"}function qB(t,e){const n=t.closest(".ck-widget");return e.mapDomToView(n)}function $B(t){return t.getAttribute(HB)}const KB='';var ZB=n(2347);var YB={injectType:"singletonStyleTag",attributes:{"data-cke":true}};YB.insert="head";YB.singleton=true;var QB=Pl()(ZB.Z,YB);const JB=ZB.Z.locals||{};const XB=["before","after"];const tM=(new DOMParser).parseFromString(KB,"image/svg+xml").firstChild;const eM="ck-widget__type-around_disabled";class nM extends rh{constructor(){super(...arguments);this._currentFakeCaretModelElement=null}static get pluginName(){return"WidgetTypeAround"}static get requires(){return[VI,pS]}init(){const t=this.editor;const e=t.editing.view;this.on("change:isEnabled",((n,i,o)=>{e.change((t=>{for(const n of e.document.roots){if(o){t.removeClass(eM,n)}else{t.addClass(eM,n)}}}));if(!o){t.model.change((t=>{t.removeSelectionAttribute(HB)}))}}));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;const i=n.editing.view;const o=n.model.schema.getAttributesWithProperty(t,"copyOnReplace",true);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)=>{if(this.isEnabled){n(...t)}}),i)}_insertParagraphAccordingToFakeCaretPosition(){const t=this.editor;const e=t.model;const n=e.document.selection;const i=$B(n);if(!i){return false}const o=n.getSelectedElement();this._insertParagraph(o,i);return true}_enableTypeAroundUIInjection(){const t=this.editor;const e=t.model.schema;const n=t.locale.t;const i={before:n("Insert paragraph before block"),after:n("Insert paragraph after block")};t.editing.downcastDispatcher.on("insert",((t,o,r)=>{const s=r.mapper.toViewElement(o.item);if(!s){return}if(UB(s,o.item,e)){iM(r.writer,i,s);const t=s.getCustomProperty("widgetLabel");t.push((()=>this.isEnabled?n("Press Enter to type after or press Shift + Enter to type before the widget"):""))}}),{priority:"low"})}_enableTypeAroundFakeCaretActivationUsingKeyboardArrows(){const t=this.editor;const e=t.model;const n=e.document.selection;const i=e.schema;const o=t.editing.view;this._listenToIfEnabled(o.document,"arrowKey",((t,e)=>{this._handleArrowKeyPress(t,e)}),{context:[IB,"$text"],priority:"high"});this._listenToIfEnabled(n,"change:range",((e,n)=>{if(!n.directChange){return}t.model.change((t=>{t.removeSelectionAttribute(HB)}))}));this._listenToIfEnabled(e.document,"change:data",(()=>{const e=n.getSelectedElement();if(e){const n=t.editing.mapper.toViewElement(e);if(UB(n,e,i)){return}}t.model.change((t=>{t.removeSelectionAttribute(HB)}))}));this._listenToIfEnabled(t.editing.downcastDispatcher,"selection",((t,e,n)=>{const o=n.writer;if(this._currentFakeCaretModelElement){const t=n.mapper.toViewElement(this._currentFakeCaretModelElement);if(t){o.removeClass(XB.map(r),t);this._currentFakeCaretModelElement=null}}const s=e.selection.getSelectedElement();if(!s){return}const a=n.mapper.toViewElement(s);if(!UB(a,s,i)){return}const c=$B(e.selection);if(!c){return}o.addClass(r(c),a);this._currentFakeCaretModelElement=s}));this._listenToIfEnabled(t.ui.focusTracker,"change:isFocused",((e,n,i)=>{if(!i){t.model.change((t=>{t.removeSelectionAttribute(HB)}))}}));function r(t){return`ck-widget_type-around_show-fake-caret_${t}`}}_handleArrowKeyPress(t,e){const n=this.editor;const i=n.model;const o=i.document.selection;const r=i.schema;const s=n.editing.view;const a=e.keyCode;const c=tl(a,n.locale.contentLanguageDirection);const l=s.document.selection.getSelectedElement();const d=n.editing.mapper.toModelElement(l);let u;if(UB(l,d,r)){u=this._handleArrowKeyPressOnSelectedWidget(c)}else if(o.isCollapsed){u=this._handleArrowKeyPressWhenSelectionNextToAWidget(c)}else if(!e.shiftKey){u=this._handleArrowKeyPressWhenNonCollapsedSelection(c)}if(u){e.preventDefault();t.stop()}}_handleArrowKeyPressOnSelectedWidget(t){const e=this.editor;const n=e.model;const i=n.document.selection;const o=$B(i);return n.change((e=>{if(o){const n=o===(t?"after":"before");if(!n){e.removeSelectionAttribute(HB);return true}}else{e.setSelectionAttribute(HB,t?"after":"before");return true}return false}))}_handleArrowKeyPressWhenSelectionNextToAWidget(t){const e=this.editor;const n=e.model;const i=n.schema;const o=e.plugins.get("Widget");const r=o._getObjectElementNextToSelection(t);const s=e.editing.mapper.toViewElement(r);if(UB(s,r,i)){n.change((e=>{o._setSelectionOverElement(r);e.setSelectionAttribute(HB,t?"before":"after")}));return true}return false}_handleArrowKeyPressWhenNonCollapsedSelection(t){const e=this.editor;const n=e.model;const i=n.schema;const o=e.editing.mapper;const r=n.document.selection;const s=t?r.getLastPosition().nodeBefore:r.getFirstPosition().nodeAfter;const a=o.toViewElement(s);if(UB(a,s,i)){n.change((e=>{e.setSelection(s,"on");e.setSelectionAttribute(HB,t?"after":"before")}));return true}return false}_enableInsertingParagraphsOnButtonClick(){const t=this.editor;const e=t.editing.view;this._listenToIfEnabled(e.document,"mousedown",((n,i)=>{const o=WB(i.domTarget);if(!o){return}const r=GB(o);const s=qB(o,e.domConverter);const a=t.editing.mapper.toModelElement(s);this._insertParagraph(a,r);i.preventDefault();n.stop()}))}_enableInsertingParagraphsOnEnterKeypress(){const t=this.editor;const e=t.model.document.selection;const n=t.editing.view;this._listenToIfEnabled(n.document,"enter",((n,i)=>{if(n.eventPhase!="atTarget"){return}const o=e.getSelectedElement();const r=t.editing.mapper.toViewElement(o);const s=t.model.schema;let a;if(this._insertParagraphAccordingToFakeCaretPosition()){a=true}else if(UB(r,o,s)){this._insertParagraph(o,i.isSoft?"before":"after");a=true}if(a){i.preventDefault();n.stop()}}),{context:IB})}_enableInsertingParagraphsOnTypingKeystroke(){const t=this.editor;const e=t.editing.view.document;this._listenToIfEnabled(e,"insertText",((t,n)=>{if(this._insertParagraphAccordingToFakeCaretPosition()){n.selection=e.selection}}),{priority:"high"});if(l.isAndroid){this._listenToIfEnabled(e,"keydown",((t,e)=>{if(e.keyCode==229){this._insertParagraphAccordingToFakeCaretPosition()}}))}else{this._listenToIfEnabled(e,"compositionstart",(()=>{this._insertParagraphAccordingToFakeCaretPosition()}),{priority:"high"})}}_enableDeleteIntegration(){const t=this.editor;const e=t.editing.view;const n=t.model;const i=n.schema;this._listenToIfEnabled(e.document,"delete",((e,o)=>{if(e.eventPhase!="atTarget"){return}const r=$B(n.document.selection);if(!r){return}const s=o.direction;const a=n.document.selection.getSelectedElement();const c=r==="before";const l=s=="forward";const d=c===l;if(d){t.execute("delete",{selection:n.createSelection(a,"on")})}else{const e=i.getNearestSelectionRange(n.createPositionAt(a,r),s);if(e){if(!e.isCollapsed){n.change((n=>{n.setSelection(e);t.execute(l?"deleteForward":"delete")}))}else{const o=n.createSelection(e.start);n.modifySelection(o,{direction:s});if(!o.focus.isEqual(e.start)){n.change((n=>{n.setSelection(e);t.execute(l?"deleteForward":"delete")}))}else{const t=sM(i,e.start.parent);n.deleteContent(n.createSelection(t,"on"),{doNotAutoparagraph:true})}}}}o.preventDefault();e.stop()}),{context:IB})}_enableInsertContentIntegration(){const t=this.editor;const e=this.editor.model;const n=e.document.selection;this._listenToIfEnabled(t.model,"insertContent",((t,[i,o])=>{if(o&&!o.is("documentSelection")){return}const r=$B(n);if(!r){return}t.stop();return e.change((t=>{const o=n.getSelectedElement();const s=e.createPositionAt(o,r);const a=t.createSelection(s);const c=e.insertContent(i,a);t.setSelection(a);return c}))}),{priority:"high"})}_enableInsertObjectIntegration(){const t=this.editor;const e=this.editor.model;const n=e.document.selection;this._listenToIfEnabled(t.model,"insertObject",((t,e)=>{const[,i,o={}]=e;if(i&&!i.is("documentSelection")){return}const r=$B(n);if(!r){return}o.findOptimalPosition=r;e[3]=o}),{priority:"high"})}_enableDeleteContentIntegration(){const t=this.editor;const e=this.editor.model;const n=e.document.selection;this._listenToIfEnabled(t.model,"deleteContent",((t,[e])=>{if(e&&!e.is("documentSelection")){return}const i=$B(n);if(i){t.stop()}}),{priority:"high"})}}function iM(t,e,n){const i=t.createUIElement("div",{class:"ck ck-reset_all ck-widget__type-around"},(function(t){const n=this.toDomElement(t);oM(n,e);rM(n);return n}));t.insert(t.createPositionAt(n,"end"),i)}function oM(t,e){for(const n of XB){const i=new jl({tag:"div",attributes:{class:["ck","ck-widget__type-around__button",`ck-widget__type-around__button_${n}`],title:e[n],"aria-hidden":"true"},children:[t.ownerDocument.importNode(tM,true)]});t.appendChild(i.render())}}function rM(t){const e=new jl({tag:"div",attributes:{class:["ck","ck-widget__type-around__fake-caret"]}});t.appendChild(e.render())}function sM(t,e){let n=e;for(const i of e.getAncestors({parentFirst:true})){if(i.childCount>1||t.isLimit(i)){break}n=i}return n}function aM(t){const e=t.model;return(n,i)=>{const o=i.keyCode==qc.arrowup;const r=i.keyCode==qc.arrowdown;const s=i.shiftKey;const a=e.document.selection;if(!o&&!r){return}const c=r;if(s&&hM(a,c)){return}const l=cM(t,a,c);if(!l){return}if(l.isCollapsed){if(a.isCollapsed){return}else if(s){return}}if(l.isCollapsed||uM(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 cM(t,e,n){const i=t.model;if(n){const t=e.isCollapsed?e.focus:e.getLastPosition();const n=lM(i,t,"forward");if(!n){return null}const o=i.createRange(t,n);const r=dM(i.schema,o,"backward");if(r){return i.createRange(t,r)}return null}else{const t=e.isCollapsed?e.focus:e.getFirstPosition();const n=lM(i,t,"backward");if(!n){return null}const o=i.createRange(n,t);const r=dM(i.schema,o,"forward");if(r){return i.createRange(r,t)}return null}}function lM(t,e,n){const i=t.schema;const o=t.createRangeIn(e.root);const r=n=="forward"?"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 dM(t,e,n){const i=n=="backward"?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}function uM(t,e,n){const i=t.model;const o=t.view.domConverter;if(n){const t=i.createSelection(e.start);i.modifySelection(t);if(!t.focus.isAtEnd&&!e.start.isEqual(t.focus)){e=i.createRange(t.focus,e.end)}}const r=t.mapper.toViewRange(e);const s=o.viewRangeToDom(r);const a=uc.getDomRangeRects(s);let c;for(const t of a){if(c===undefined){c=Math.round(t.bottom);continue}if(Math.round(t.top)>=c){return false}c=Math.max(c,Math.round(t.bottom))}return true}function hM(t,e){return!t.isCollapsed&&t.isBackward==e}var mM=n(7153);var gM={injectType:"singletonStyleTag",attributes:{"data-cke":true}};gM.insert="head";gM.singleton=true;var fM=Pl()(mM.Z,gM);const pM=mM.Z.locals||{};class bM extends rh{constructor(){super(...arguments);this._previouslySelected=new Set}static get pluginName(){return"Widget"}static get requires(){return[nM,pS]}init(){const t=this.editor;const e=t.editing.view;const n=e.document;this.editor.editing.downcastDispatcher.on("selection",((e,n,i)=>{const o=i.writer;const r=n.selection;if(r.isCollapsed){return}const s=r.getSelectedElement();if(!s){return}const a=t.editing.mapper.toViewElement(s);if(!IB(a)){return}if(!i.consumable.consume(r,"selection")){return}o.setSelection(o.createRangeOn(a),{fake:true,label:zB(a)})}));this.editor.editing.downcastDispatcher.on("selection",((t,e,n)=>{this._clearPreviouslySelectedWidgets(n.writer);const i=n.writer;const o=i.document.selection;let r=null;for(const t of o.getRanges()){for(const e of t){const t=e.item;if(IB(t)&&!wM(t,r)){i.addClass(SB,t);this._previouslySelected.add(t);r=t}}}}),{priority:"low"});e.addObserver(s_);this.listenTo(n,"mousedown",((...t)=>this._onMousedown(...t)));this.listenTo(n,"arrowKey",((...t)=>{this._handleSelectionChangeOnArrowKeyPress(...t)}),{context:[IB,"$text"]});this.listenTo(n,"arrowKey",((...t)=>{this._preventDefaultOnArrowKeyPress(...t)}),{context:"$root"});this.listenTo(n,"arrowKey",aM(this.editor.editing),{context:"$text"});this.listenTo(n,"delete",((t,e)=>{if(this._handleDelete(e.direction=="forward")){e.preventDefault();t.stop()}}),{context:"$root"})}_onMousedown(t,e){const n=this.editor;const i=n.editing.view;const o=i.document;let r=e.target;if(e.domEvent.detail>=3){if(this._selectBlockContent(r)){e.preventDefault()}return}if(kM(r)){return}if(!IB(r)){r=r.findAncestor(IB);if(!r){return}}if(l.isAndroid){e.preventDefault()}if(!o.isFocused){i.focus()}const s=n.editing.mapper.toModelElement(r);this._setSelectionOverElement(s)}_selectBlockContent(t){const e=this.editor;const n=e.model;const i=e.editing.mapper;const o=n.schema;const r=i.findMappedViewAncestor(this.editor.editing.view.createPositionAt(t,0));const s=AM(i.toModelElement(r),n.schema);if(!s){return false}n.change((t=>{const e=!o.isLimit(s)?CM(t.createPositionAfter(s),o):null;const n=t.createPositionAt(s,0);const i=e?t.createPositionAt(e,0):t.createPositionAt(s,"end");t.setSelection(t.createRange(n,i))}));return true}_handleSelectionChangeOnArrowKeyPress(t,e){const n=e.keyCode;const i=this.editor.model;const o=i.schema;const r=i.document.selection;const s=r.getSelectedElement();const a=Jc(n,this.editor.locale.contentLanguageDirection);const c=a=="down"||a=="right";const l=a=="up"||a=="down";if(s&&o.isObject(s)){const n=c?r.getLastPosition():r.getFirstPosition();const s=o.getNearestSelectionRange(n,c?"forward":"backward");if(s){i.change((t=>{t.setSelection(s)}));e.preventDefault();t.stop()}return}if(!r.isCollapsed&&!e.shiftKey){const n=r.getFirstPosition();const s=r.getLastPosition();const a=n.nodeAfter;const l=s.nodeBefore;if(a&&o.isObject(a)||l&&o.isObject(l)){i.change((t=>{t.setSelection(c?s:n)}));e.preventDefault();t.stop()}return}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;const i=n.schema;const o=n.document.selection.getSelectedElement();if(o&&i.isObject(o)){e.preventDefault();t.stop()}}_handleDelete(t){const e=this.editor.model.document;const n=e.selection;if(!this.editor.model.canEditAt(n)){return}if(!n.isCollapsed){return}const i=this._getObjectElementNextToSelection(t);if(i){this.editor.model.change((t=>{let e=n.anchor.parent;while(e.isEmpty){const n=e;e=n.parent;t.remove(n)}this._setSelectionOverElement(i)}));return true}}_setSelectionOverElement(t){this.editor.model.change((e=>{e.setSelection(e.createRangeOn(t))}))}_getObjectElementNextToSelection(t){const e=this.editor.model;const n=e.schema;const i=e.document.selection;const o=e.createSelection(i);e.modifySelection(o,{direction:t?"forward":"backward"});if(o.isEqual(i)){return null}const r=t?o.focus.nodeBefore:o.focus.nodeAfter;if(!!r&&n.isObject(r)){return r}return null}_clearPreviouslySelectedWidgets(t){for(const e of this._previouslySelected){t.removeClass(SB,e)}this._previouslySelected.clear()}}function kM(t){let e=t;while(e){if(e.is("editableElement")&&!e.is("rootElement")){return true}if(IB(e)){return false}e=e.parent}return false}function wM(t,e){if(!e){return false}return Array.from(t.getAncestors()).includes(e)}function AM(t,e){for(const n of t.getAncestors({includeSelf:true,parentFirst:true})){if(e.checkChild(n,"$text")){return n}if(e.isLimit(n)&&!e.isObject(n)){break}}return null}function CM(t,e){const n=new Ob({startPosition:t});for(const{item:t}of n){if(e.isLimit(t)||!t.is("element")){return null}if(e.checkChild(t,"$text")){return t}}return null}class _M extends rh{constructor(){super(...arguments);this._toolbarDefinitions=new Map}static get requires(){return[MD]}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=>{if(xM(t.editing.view.document.selection)){e.stop()}}),{priority:"high"})}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){L("widget-toolbar-no-items",{toolbarId:t});return}const r=this.editor;const s=r.t;const a=new ny(r.locale);a.ariaLabel=e||s("Widget toolbar");if(this._toolbarDefinitions.has(t)){throw new P("widget-toolbar-duplicated",this,{toolbarId:t})}const c={view:a,getRelatedElement:i,balloonClassName:o,itemsConfig:n,initialized:false};r.ui.addToolbar(a,{isContextual:true,beforeFocus:()=>{const t=i(r.editing.view.document.selection);if(t){this._showToolbar(c,t)}},afterBlur:()=>{this._hideToolbar(c)}});this._toolbarDefinitions.set(t,c)}_updateToolbarsVisibility(){let t=0;let e=null;let 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._isToolbarInBalloon(i)){this._hideToolbar(i)}}else if(!this.editor.ui.focusTracker.isFocused){if(this._isToolbarVisible(i)){this._hideToolbar(i)}}else{const r=o.getAncestors().length;if(r>t){t=r;e=o;n=i}}}if(n){this._showToolbar(n,e)}}_hideToolbar(t){this._balloon.remove(t.view);this.stopListening(this._balloon,"change:visibleView")}_showToolbar(t,e){if(this._isToolbarVisible(t)){vM(this.editor,e)}else if(!this._isToolbarInBalloon(t)){if(!t.initialized){t.initialized=true;t.view.fillFromConfig(t.itemsConfig,this.editor.ui.componentFactory)}this._balloon.add({view:t.view,position:yM(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);vM(this.editor,e)}}}))}}_isToolbarVisible(t){return this._balloon.visibleView===t.view}_isToolbarInBalloon(t){return this._balloon.hasView(t.view)}}function vM(t,e){const n=t.plugins.get("ContextualBalloon");const i=yM(t,e);n.updatePosition(i)}function yM(t,e){const n=t.editing.view;const i=_E.defaultPositions;return{target:n.domConverter.mapViewToDom(e),positions:[i.northArrowSouth,i.northArrowSouthWest,i.northArrowSouthEast,i.southArrowNorth,i.southArrowNorthWest,i.southArrowNorthEast,i.viewportStickyNorth]}}function xM(t){const e=t.getSelectedElement();return!!(e&&IB(e))}class EM extends(mt()){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 uc(e);this.activeHandlePosition=IM(t);this._referenceCoordinates=TM(e,BM(this.activeHandlePosition));this._originalWidth=i.width;this._originalHeight=i.height;this._aspectRatio=i.width/i.height;const o=n.style.width;if(o&&o.match(/^\d+(\.\d*)?%$/)){this._originalWidthPercents=parseFloat(o)}else{this._originalWidthPercents=DM(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 DM(t,e){const n=t.parentElement;let i=parseFloat(n.ownerDocument.defaultView.getComputedStyle(n).width);const o=5;let r=0;let s=n;while(isNaN(i)){s=s.parentElement;if(++r>o){return 0}i=parseFloat(n.ownerDocument.defaultView.getComputedStyle(s).width)}return e.width/i*100}function TM(t,e){const n=new uc(t);const i=e.split("-");const o={x:i[1]=="right"?n.right:n.left,y:i[0]=="bottom"?n.bottom:n.top};o.x+=t.ownerDocument.defaultView.scrollX;o.y+=t.ownerDocument.defaultView.scrollY;return o}function SM(t){return`ck-widget__resizer__handle-${t}`}function IM(t){const e=["top-left","top-right","bottom-right","bottom-left"];for(const n of e){if(t.classList.contains(SM(n))){return n}}}function BM(t){const e=t.split("-");const n={top:"bottom",bottom:"top",left:"right",right:"left"};return`${n[e[0]]}-${n[e[1]]}`}class MM extends Vl{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)=>t!==null&&e!==null));this.bind("_label").to(e,"proposedHandleHostWidth",e,"proposedHandleHostHeight",e,"proposedWidthPercents",((e,n,i)=>{if(t.unit==="px"){return`${e}×${n}`}else{return`${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=false}}class NM extends(mt()){constructor(t){super();this._viewResizerWrapper=null;this._options=t;this.set("isEnabled",true);this.set("isSelected",false);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=>{if(!this.state.proposedWidth&&!this.state.proposedWidthPercents){this._cleanup();t.stop()}}),{priority:"high"})}get state(){return this._state}show(){const t=this._options.editor.editing.view;t.change((t=>{t.removeClass("ck-hidden",this._viewResizerWrapper)}))}hide(){const t=this._options.editor.editing.view;t.change((t=>{t.addClass("ck-hidden",this._viewResizerWrapper)}))}attach(){const t=this;const e=this._options.viewElement;const n=this._options.editor.editing.view;n.change((n=>{const i=n.createUIElement("div",{class:"ck ck-reset_all ck-widget__resizer"},(function(e){const n=this.toDomElement(e);t._appendHandles(n);t._appendSizeUI(n);return n}));n.insert(n.createPositionAt(e,"end"),i);n.addClass("ck-widget_with-resizer",e);this._viewResizerWrapper=i;if(!this.isVisible){this.hide()}}));this.on("change:isVisible",(()=>{if(this.isVisible){this.show();this.redraw()}else{this.hide()}}))}begin(t){this._state=new EM(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);const n=this._options.editor.editing.view;n.change((t=>{const n=this._options.unit||"%";const i=(n==="%"?e.widthPercents:e.width)+n;t.setStyle("width",i,this._options.viewElement)}));const i=this._getHandleHost();const o=new uc(i);const r=Math.round(o.width);const s=Math.round(o.height);const a=new uc(i);e.width=Math.round(a.width);e.height=Math.round(a.height);this.redraw(o);this.state.update({...e,handleHostWidth:r,handleHostHeight:s})}commit(){const t=this._options.unit||"%";const 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(!zM(e)){return}const n=e.parentElement;const i=this._getHandleHost();const o=this._viewResizerWrapper;const r=[o.getStyle("width"),o.getStyle("height"),o.getStyle("left"),o.getStyle("top")];let s;if(n.isSameNode(i)){const e=t||new uc(i);s=[e.width+"px",e.height+"px",undefined,undefined]}else{s=[i.offsetWidth+"px",i.offsetHeight+"px",i.offsetLeft+"px",i.offsetTop+"px"]}if(Et(r,s)!=="same"){this._options.editor.editing.view.change((t=>{t.setStyle({width:s[0],height:s[1],left:s[2],top:s[3]},o)}))}}containsHandle(t){return this._domResizerWrapper.contains(t)}static isResizeHandle(t){return t.classList.contains("ck-widget__resizer__handle")}_cleanup(){this._sizeView._dismiss();const t=this._options.editor.editing.view;t.change((t=>{t.setStyle("width",this._initialViewWidth,this._options.viewElement)}))}_proposeNewSize(t){const e=this.state;const n=LM(t);const i=this._options.isCentered?this._options.isCentered(this):true;const o={x:e._referenceCoordinates.x-(n.x+e.originalWidth),y:n.y-e.originalHeight-e._referenceCoordinates.y};if(i&&e.activeHandlePosition.endsWith("-right")){o.x=n.x-(e._referenceCoordinates.x+e.originalWidth)}if(i){o.x*=2}let r=Math.abs(e.originalWidth+o.x);let s=Math.abs(e.originalHeight+o.y);const a=r/e.aspectRatio>s?"width":"height";if(a=="width"){s=r/e.aspectRatio}else{r=s*e.aspectRatio}return{width:Math.round(r),height:Math.round(s),widthPercents:Math.min(Math.round(e.originalWidthPercents/e.originalWidth*r*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 n of e){t.appendChild(new jl({tag:"div",attributes:{class:`ck-widget__resizer__handle ${PM(n)}`}}).render())}}_appendSizeUI(t){this._sizeView=new MM;this._sizeView.render();t.appendChild(this._sizeView.element)}}function PM(t){return`ck-widget__resizer__handle-${t}`}function LM(t){return{x:t.pageX,y:t.pageY}}function zM(t){return t&&t.ownerDocument&&t.ownerDocument.contains(t)}var OM=n(4875);var RM={injectType:"singletonStyleTag",attributes:{"data-cke":true}};RM.insert="head";RM.singleton=true;var VM=Pl()(OM.Z,RM);const FM=OM.Z.locals||{};class jM extends rh{constructor(){super(...arguments);this._resizers=new Map}static get pluginName(){return"WidgetResize"}init(){const t=this.editor.editing;const e=nc.window.document;this.set("selectedResizer",null);this.set("_activeResizer",null);t.view.addObserver(s_);this._observer=new(Qa());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=LE((()=>this.redrawSelectedResizer()),200);this.editor.ui.on("update",this._redrawSelectedResizerThrottled);this.editor.model.document.on("change",(()=>{for(const[t,e]of this._resizers){if(!t.isAttached()){this._resizers.delete(t);e.destroy()}}}),{priority:"lowest"});this._observer.listenTo(nc.window,"resize",this._redrawSelectedResizerThrottled);const n=this.editor.editing.view.document.selection;n.on("change",(()=>{const t=n.getSelectedElement();const e=this.getResizerByViewElement(t)||null;if(e){this.select(e)}else{this.deselect()}}))}redrawSelectedResizer(){if(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=true}deselect(){if(this.selectedResizer){this.selectedResizer.isSelected=false}this.selectedResizer=null}attachTo(t){const e=new NM(t);const n=this.editor.plugins;e.attach();if(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;const o=i.getSelectedElement();if(this.getResizerByViewElement(o)==e){this.select(e)}return 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;if(!NM.isResizeHandle(n)){return}this._activeResizer=this._getResizerByHandle(n)||null;if(this._activeResizer){this._activeResizer.begin(n);t.stop();e.preventDefault()}}_mouseMoveListener(t,e){if(this._activeResizer){this._activeResizer.updateSize(e)}}_mouseUpListener(){if(this._activeResizer){this._activeResizer.commit();this._activeResizer=null}}}const HM=Ac("px");class UM extends Vl{constructor(){super();const t=this.bindTemplate;this.set({isVisible:false,left:null,top:null,width:null});this.setTemplate({tag:"div",attributes:{class:["ck","ck-clipboard-drop-target-line",t.if("isVisible","ck-hidden",(t=>!t))],style:{left:t.to("left",(t=>HM(t))),top:t.to("top",(t=>HM(t))),width:t.to("width",(t=>HM(t)))}}})}}class WM extends rh{constructor(){super(...arguments);this.removeDropMarkerDelayed=Cl((()=>this.removeDropMarker()),40);this._updateDropMarkerThrottled=LE((t=>this._updateDropMarker(t)),40);this._reconvertMarkerThrottled=LE((()=>{if(this.editor.model.markers.has("drop-target")){this.editor.editing.reconvertMarker("drop-target")}}),0);this._dropTargetLineView=new UM;this._domEmitter=new(Qa());this._scrollables=new Map}static get pluginName(){return"DragDropTarget"}init(){this._setupDropMarker()}destroy(){this._domEmitter.stopListening();for(const{resizeObserver:t}of this._scrollables.values()){t.destroy()}this._updateDropMarkerThrottled.cancel();this.removeDropMarkerDelayed.cancel();this._reconvertMarkerThrottled.cancel();return super.destroy()}updateDropMarker(t,e,n,i,o,r){this.removeDropMarkerDelayed.cancel();const s=GM(this.editor,t,e,n,i,o,r);if(!s){return}if(r&&r.containsRange(s)){return this.removeDropMarker()}this._updateDropMarkerThrottled(s)}getFinalDropRange(t,e,n,i,o,r){const s=GM(this.editor,t,e,n,i,o,r);this.removeDropMarker();return s}removeDropMarker(){const t=this.editor.model;this.removeDropMarkerDelayed.cancel();this._updateDropMarkerThrottled.cancel();this._dropTargetLineView.isVisible=false;if(t.markers.has("drop-target")){t.change((t=>{t.removeMarker("drop-target")}))}}_setupDropMarker(){const t=this.editor;t.ui.view.body.add(this._dropTargetLineView);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")){this._dropTargetLineView.isVisible=false;return this._createDropTargetPosition(n)}else{if(e.markerRange.isCollapsed){this._updateDropTargetLine(e.markerRange)}else{this._dropTargetLineView.isVisible=false}}}})}_updateDropMarker(t){const e=this.editor;const n=e.model.markers;e.model.change((e=>{if(n.has("drop-target")){if(!n.get("drop-target").getRange().isEqual(t)){e.updateMarker("drop-target",{range:t})}}else{e.addMarker("drop-target",{range:t,usingOperation:false,affectsData:false})}}))}_createDropTargetPosition(t){return t.createUIElement("span",{class:"ck ck-clipboard-drop-target-position"},(function(t){const e=this.toDomElement(t);e.append("⁠",t.createElement("span"),"⁠");return e}))}_updateDropTargetLine(t){const e=this.editor.editing;const n=t.start.nodeBefore;const i=t.start.nodeAfter;const o=t.start.parent;const r=n?e.mapper.toViewElement(n):null;const s=r?e.view.domConverter.mapViewToDom(r):null;const a=i?e.mapper.toViewElement(i):null;const c=a?e.view.domConverter.mapViewToDom(a):null;const l=e.mapper.toViewElement(o);const d=e.view.domConverter.mapViewToDom(l);const u=this._getScrollableRect(l);const{scrollX:h,scrollY:m}=nc.window;const g=s?new uc(s):null;const f=c?new uc(c):null;const p=new uc(d).excludeScrollbarsAndBorders();const b=g?g.bottom:p.top;const k=f?f.top:p.bottom;const w=nc.window.getComputedStyle(d);const A=b<=k?(b+k)/2:k;if(u.topa.schema.checkChild(r,t)));if(l){if(a.schema.checkChild(r,"$text")){return a.createRange(r)}else if(e){return $M(t,ZM(t,e.parent),i,o)}}}}else if(a.schema.isInline(d)){return $M(t,d,i,o)}}if(a.schema.isBlock(d)){return $M(t,d,i,o)}else if(a.schema.checkChild(d,"$block")){const e=Array.from(d.getChildren()).filter((e=>e.is("element")&&!qM(t,e)));let n=0;let r=e.length;if(r==0){return a.createRange(a.createPositionAt(d,"end"))}while(n{if(n){this.forceDisabled("readOnlyMode");this._isBlockDragging=false}else{this.clearForceDisabled("readOnlyMode")}}));if(l.isAndroid){this.forceDisabled("noAndroidSupport")}if(t.plugins.has("BlockToolbar")){const e=t.plugins.get("BlockToolbar");const n=e.buttonView.element;this._domEmitter.listenTo(n,"dragstart",((t,e)=>this._handleBlockDragStart(e)));this._domEmitter.listenTo(nc.document,"dragover",((t,e)=>this._handleBlockDragging(e)));this._domEmitter.listenTo(nc.document,"drop",((t,e)=>this._handleBlockDragging(e)));this._domEmitter.listenTo(nc.document,"dragend",(()=>this._handleBlockDragEnd()),{useCapture:true});if(this.isEnabled){n.setAttribute("draggable","true")}this.on("change:isEnabled",((t,e,i)=>{n.setAttribute("draggable",i?"true":"false")}))}}destroy(){this._domEmitter.stopListening();return super.destroy()}_handleBlockDragStart(t){if(!this.isEnabled){return}const e=this.editor.model;const n=e.document.selection;const i=this.editor.editing.view;const o=Array.from(n.getSelectedBlocks());const r=e.createRange(e.createPositionBefore(o[0]),e.createPositionAfter(o[o.length-1]));e.change((t=>t.setSelection(r)));this._isBlockDragging=true;i.focus();i.getObserver(gB).onDomEvent(t)}_handleBlockDragging(t){if(!this.isEnabled||!this._isBlockDragging){return}const e=t.clientX+(this.editor.locale.contentLanguageDirection=="ltr"?100:-100);const n=t.clientY;const i=document.elementFromPoint(e,n);const o=this.editor.editing.view;if(!i||!i.closest(".ck-editor__editable")){return}o.getObserver(gB).onDomEvent({...t,type:t.type,dataTransfer:t.dataTransfer,target:i,clientX:e,clientY:n,preventDefault:()=>t.preventDefault(),stopPropagation:()=>t.stopPropagation()})}_handleBlockDragEnd(){this._isBlockDragging=false}}var JM=n(799);var XM={injectType:"singletonStyleTag",attributes:{"data-cke":true}};XM.insert="head";XM.singleton=true;var tN=Pl()(JM.Z,XM);const eN=JM.Z.locals||{};class nN extends rh{constructor(){super(...arguments);this._clearDraggableAttributesDelayed=Cl((()=>this._clearDraggableAttributes()),40);this._blockMode=false;this._domEmitter=new(Qa())}static get pluginName(){return"DragDrop"}static get requires(){return[_B,bM,WM,QM]}init(){const t=this.editor;const e=t.editing.view;this._draggedRange=null;this._draggingUid="";this._draggableElement=null;e.addObserver(gB);e.addObserver(s_);this._setupDragging();this._setupContentInsertionIntegration();this._setupClipboardInputIntegration();this._setupDraggableAttributeHandling();this.listenTo(t,"change:isReadOnly",((t,e,n)=>{if(n){this.forceDisabled("readOnlyMode")}else{this.clearForceDisabled("readOnlyMode")}}));this.on("change:isEnabled",((t,e,n)=>{if(!n){this._finalizeDragging(false)}}));if(l.isAndroid){this.forceDisabled("noAndroidSupport")}}destroy(){if(this._draggedRange){this._draggedRange.detach();this._draggedRange=null}if(this._previewContainer){this._previewContainer.remove()}this._domEmitter.stopListening();this._clearDraggableAttributesDelayed.cancel();return super.destroy()}_setupDragging(){const t=this.editor;const e=t.model;const n=t.editing.view;const i=n.document;const o=t.plugins.get(WM);this.listenTo(i,"dragstart",((t,n)=>{if(n.target&&n.target.is("editableElement")){n.preventDefault();return}this._prepareDraggedRange(n.target);if(!this._draggedRange){n.preventDefault();return}this._draggingUid=S();n.dataTransfer.effectAllowed=this.isEnabled?"copyMove":"copy";n.dataTransfer.setData("application/ckeditor5-dragging-uid",this._draggingUid);const i=e.createSelection(this._draggedRange.toRange());const o=this.editor.plugins.get("ClipboardPipeline");o._fireOutputTransformationEvent(n.dataTransfer,i,"dragstart");const{dataTransfer:r,domTarget:s,domEvent:a}=n;const{clientX:c}=a;this._updatePreview({dataTransfer:r,domTarget:s,clientX:c});n.stopPropagation();if(!this.isEnabled){this._draggedRange.detach();this._draggedRange=null;this._draggingUid=""}}),{priority:"low"});this.listenTo(i,"dragend",((t,e)=>{this._finalizeDragging(!e.dataTransfer.isCanceled&&e.dataTransfer.dropEffect=="move")}),{priority:"low"});this._domEmitter.listenTo(nc.document,"dragend",(()=>{this._blockMode=false}),{useCapture:true});this.listenTo(i,"dragenter",(()=>{if(!this.isEnabled){return}n.focus()}));this.listenTo(i,"dragleave",(()=>{o.removeDropMarkerDelayed()}));this.listenTo(i,"dragging",((t,e)=>{if(!this.isEnabled){e.dataTransfer.dropEffect="none";return}const{clientX:n,clientY:i}=e.domEvent;o.updateDropMarker(e.target,e.targetRanges,n,i,this._blockMode,this._draggedRange);if(!this._draggedRange){e.dataTransfer.dropEffect="copy"}if(!l.isGecko){if(e.dataTransfer.effectAllowed=="copy"){e.dataTransfer.dropEffect="copy"}else if(["all","copyMove"].includes(e.dataTransfer.effectAllowed)){e.dataTransfer.dropEffect="move"}}t.stop()}),{priority:"low"})}_setupClipboardInputIntegration(){const t=this.editor;const e=t.editing.view;const n=e.document;const i=t.plugins.get(WM);this.listenTo(n,"clipboardInput",((e,n)=>{if(n.method!="drop"){return}const{clientX:o,clientY:r}=n.domEvent;const s=i.getFinalDropRange(n.target,n.targetRanges,o,r,this._blockMode,this._draggedRange);if(!s){this._finalizeDragging(false);e.stop();return}if(this._draggedRange&&this._draggingUid!=n.dataTransfer.getData("application/ckeditor5-dragging-uid")){this._draggedRange.detach();this._draggedRange=null;this._draggingUid=""}const a=iN(n.dataTransfer)=="move";if(a&&this._draggedRange&&this._draggedRange.containsRange(s,true)){this._finalizeDragging(false);e.stop();return}n.targetRanges=[t.editing.mapper.toViewRange(s)]}),{priority:"high"})}_setupContentInsertionIntegration(){const t=this.editor.plugins.get(_B);t.on("contentInsertion",((t,e)=>{if(!this.isEnabled||e.method!=="drop"){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||e.method!=="drop"){return}const n=iN(e.dataTransfer)=="move";const i=!e.resultRange||!e.resultRange.isCollapsed;this._finalizeDragging(i&&n)}),{priority:"lowest"})}_setupDraggableAttributeHandling(){const t=this.editor;const e=t.editing.view;const n=e.document;this.listenTo(n,"mousedown",((i,o)=>{if(l.isAndroid||!o){return}this._clearDraggableAttributesDelayed.cancel();let r=oN(o.target);if(l.isBlink&&!t.isReadOnly&&!r&&!n.selection.isCollapsed){const t=n.selection.getSelectedElement();if(!t||!IB(t)){r=n.selection.editableElement}}if(r){e.change((t=>{t.setAttribute("draggable","true",r)}));this._draggableElement=t.editing.mapper.toModelElement(r)}}));this.listenTo(n,"mouseup",(()=>{if(!l.isAndroid){this._clearDraggableAttributesDelayed()}}))}_clearDraggableAttributes(){const t=this.editor.editing;t.view.change((e=>{if(this._draggableElement&&this._draggableElement.root.rootName!="$graveyard"){e.removeAttribute("draggable",t.mapper.toViewElement(this._draggableElement))}this._draggableElement=null}))}_finalizeDragging(t){const e=this.editor;const n=e.model;const i=e.plugins.get(WM);i.removeDropMarker();this._clearDraggableAttributes();if(e.plugins.has("WidgetToolbarRepository")){const t=e.plugins.get("WidgetToolbarRepository");t.clearForceDisabled("dragDrop")}this._draggingUid="";if(this._previewContainer){this._previewContainer.remove();this._previewContainer=undefined}if(!this._draggedRange){return}if(t&&this.isEnabled){n.change((t=>{const e=n.createSelection(this._draggedRange);n.deleteContent(e,{doNotAutoparagraph:true});const i=e.getFirstPosition().parent;if(i.isEmpty&&!n.schema.checkChild(i,"$text")&&n.schema.checkChild(i,"paragraph")){t.insertElement("paragraph",i,0)}}))}this._draggedRange.detach();this._draggedRange=null}_prepareDraggedRange(t){const e=this.editor;const n=e.model;const i=n.document.selection;const o=t?oN(t):null;if(o){const t=e.editing.mapper.toModelElement(o);this._draggedRange=ck.fromRange(n.createRangeOn(t));this._blockMode=n.schema.isBlock(t);if(e.plugins.has("WidgetToolbarRepository")){const t=e.plugins.get("WidgetToolbarRepository");t.forceDisabled("dragDrop")}return}if(i.isCollapsed&&!i.getFirstPosition().parent.isEmpty){return}const r=Array.from(i.getSelectedBlocks());const s=i.getFirstRange();if(r.length==0){this._draggedRange=ck.fromRange(s);return}const a=rN(n,r);if(r.length>1){this._draggedRange=ck.fromRange(a);this._blockMode=true}else if(r.length==1){const t=s.start.isTouching(a.start)&&s.end.isTouching(a.end);this._draggedRange=ck.fromRange(t?a:s);this._blockMode=t}n.change((t=>t.setSelection(this._draggedRange.toRange())))}_updatePreview({dataTransfer:t,domTarget:e,clientX:n}){const i=this.editor.editing.view;const o=i.document.selection.editableElement;const r=i.domConverter.mapViewToDom(o);const s=nc.window.getComputedStyle(r);if(!this._previewContainer){this._previewContainer=ie(nc.document,"div",{style:"position: fixed; left: -999999px;"});nc.document.body.appendChild(this._previewContainer)}else if(this._previewContainer.firstElementChild){this._previewContainer.removeChild(this._previewContainer.firstElementChild)}const a=new uc(r);if(r.contains(e)){return}const c=parseFloat(s.paddingLeft);const d=ie(nc.document,"div");d.className="ck ck-content";d.style.width=s.width;d.style.paddingLeft=`${a.left-n+c}px`;if(l.isiOS){d.style.backgroundColor="white"}d.innerHTML=t.getData("text/html");t.setDragImage(d,0,0);this._previewContainer.appendChild(d)}}function iN(t){if(l.isGecko){return t.dropEffect}return["all","copyMove"].includes(t.effectAllowed)?"move":"copy"}function oN(t){if(t.is("editableElement")){return null}if(t.hasClass("ck-widget__selection-handle")){return t.findAncestor(IB)}if(IB(t)){return t}const e=t.findAncestor((t=>IB(t)||t.is("editableElement")));if(IB(e)){return e}return null}function rN(t,e){const n=e[0];const i=e[e.length-1];const o=n.getCommonAncestor(i);const r=t.createPositionBefore(n);const s=t.createPositionAfter(i);if(o&&o.is("element")&&!t.schema.isLimit(o)){const e=t.createRangeOn(o);const n=r.isTouching(e.start);const i=s.isTouching(e.end);if(n&&i){return rN(t,[o])}}return t.createRange(r,s)}class sN extends rh{static get pluginName(){return"PastePlainText"}static get requires(){return[_B]}init(){const t=this.editor;const e=t.model;const n=t.editing.view;const i=n.document;const o=e.document.selection;let r=false;n.addObserver(gB);this.listenTo(i,"keydown",((t,e)=>{r=e.shiftKey}));t.plugins.get(_B).on("contentInsertion",((t,n)=>{if(!r&&!aN(n.content,e.schema)){return}e.change((t=>{const i=Array.from(o.getAttributes()).filter((([t])=>e.schema.getAttributeProperties(t).isFormatting));if(!o.isCollapsed){e.deleteContent(o,{doNotAutoparagraph:true})}i.push(...o.getAttributes());const r=t.createRangeIn(n.content);for(const e of r.getItems()){if(e.is("$textProxy")){t.setAttributes(i,e)}}}))}))}}function aN(t,e){if(t.childCount>1){return false}const n=t.getChild(0);if(e.isObject(n)){return false}return Array.from(n.getAttributeKeys()).length==0}class cN extends rh{static get pluginName(){return"Clipboard"}static get requires(){return[_B,nN,sN]}}class lN extends ah{constructor(t){super(t);this.affectsData=false}execute(){const t=this.editor.model;const e=t.document.selection;let n=t.schema.getLimitElement(e);if(e.containsEntireContent(n)||!dN(t.schema,n)){do{n=n.parent;if(!n){return}}while(!dN(t.schema,n))}t.change((t=>{t.setSelection(n,"in")}))}}function dN(t,e){return t.isLimit(e)&&(t.checkChild(e,"$text")||t.checkChild(e,"paragraph"))}const uN=Zc("Ctrl+A");class hN extends rh{static get pluginName(){return"SelectAllEditing"}init(){const t=this.editor;const e=t.editing.view;const n=e.document;t.commands.add("selectAll",new lN(t));this.listenTo(n,"keydown",((e,n)=>{if(Kc(n)===uN){t.execute("selectAll");n.preventDefault()}}))}}const mN='';class gN extends rh{static get pluginName(){return"SelectAllUI"}init(){const t=this.editor;t.ui.componentFactory.add("selectAll",(e=>{const n=t.commands.get("selectAll");const i=new xd(e);const o=e.t;i.set({label:o("Select all"),icon:mN,keystroke:"Ctrl+A",tooltip:true});i.bind("isEnabled").to(n,"isEnabled");this.listenTo(i,"execute",(()=>{t.execute("selectAll");t.editing.view.focus()}));return i}))}}class fN extends rh{static get requires(){return[hN,gN]}static get pluginName(){return"SelectAll"}}class pN extends ah{constructor(t){super(t);this._stack=[];this._createdBatches=new WeakSet;this.refresh();this._isEnabledBasedOnSelection=false;this.listenTo(t.data,"set",((t,e)=>{e[1]={...e[1]};const n=e[1];if(!n.batchType){n.batchType={isUndoable:false}}}),{priority:"high"});this.listenTo(t.data,"set",((t,e)=>{const n=e[1];if(!n.batchType.isUndoable){this.clearStack()}}))}refresh(){this.isEnabled=this._stack.length>0}get createdBatches(){return this._createdBatches}addBatch(t){const e=this.editor.model.document.selection;const 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;const o=i.document;const r=[];const s=t.map((t=>t.getTransformedByOperations(n)));const a=s.flat();for(const t of s){const e=t.filter((t=>t.root!=o.graveyard)).filter((t=>!kN(t,a)));if(!e.length){continue}bN(e);r.push(e[0])}if(r.length){i.change((t=>{t.setSelection(r,{backward:e})}))}}_undo(t,e){const n=this.editor.model;const 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;const r=Array.from(i.history.getOperations(o));const s=ZA([t.getReversed()],r,{useRelations:true,document:this.editor.model.document,padWithNoOps:false,forceWeakRemove:true});const a=s.operationsA;for(let o of a){const r=o.affectedSelectable;if(r&&!n.canEditAt(r)){o=new RA(o.baseVersion)}e.addOperation(o);n.applyOperation(o);i.history.setOperationAsUndone(t,o)}}}}function bN(t){t.sort(((t,e)=>t.start.isBefore(e.start)?-1:1));for(let e=1;ee!==t&&e.containsRange(t,true)))}class wN extends pN{execute(t=null){const e=t?this._stack.findIndex((e=>e.batch==t)):this._stack.length-1;const n=this._stack.splice(e,1)[0];const i=this.editor.model.createBatch({isUndo:true});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 AN extends pN{execute(){const t=this._stack.pop();const e=this.editor.model.createBatch({isUndo:true});this.editor.model.enqueueChange(e,(()=>{const n=t.batch.operations[t.batch.operations.length-1];const i=n.baseVersion+1;const o=this.editor.model.document.history.getOperations(i);this._restoreSelection(t.selection.ranges,t.selection.isBackward,o);this._undo(t.batch,e)}));this.refresh()}}class CN extends rh{constructor(){super(...arguments);this._batchRegistry=new WeakSet}static get pluginName(){return"UndoEditing"}init(){const t=this.editor;this._undoCommand=new wN(t);this._redoCommand=new AN(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;const o=this._redoCommand.createdBatches.has(i);const r=this._undoCommand.createdBatches.has(i);const s=this._batchRegistry.has(i);if(s){return}this._batchRegistry.add(i);if(!i.isUndoable){return}if(o){this._undoCommand.addBatch(i)}else if(!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 _N='';const vN='';class yN extends rh{static get pluginName(){return"UndoUI"}init(){const t=this.editor;const e=t.locale;const n=t.t;const i=e.uiLanguageDirection=="ltr"?_N:vN;const o=e.uiLanguageDirection=="ltr"?vN:_N;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);const a=new xd(r);a.set({label:e,icon:i,keystroke:n,tooltip:true});a.bind("isEnabled").to(s,"isEnabled");this.listenTo(a,"execute",(()=>{o.execute(t);o.editing.view.focus()}));return a}))}}class xN extends rh{static get requires(){return[CN,yN]}static get pluginName(){return"Undo"}}class EN extends rh{static get requires(){return[cN,VI,fN,GI,bS,xN]}static get pluginName(){return"Essentials"}}class DN extends ah{constructor(t,e){super(t);this.attributeKey=e}refresh(){const t=this.editor.model;const 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;const n=e.document;const i=n.selection;const o=t.value;const r=t.batch;const s=t=>{if(i.isCollapsed){if(o){t.setSelectionAttribute(this.attributeKey,o)}else{t.removeSelectionAttribute(this.attributeKey)}}else{const n=e.schema.getValidRanges(i.getRanges(),this.attributeKey);for(const e of n){if(o){t.setAttribute(this.attributeKey,o,e)}else{t.removeAttribute(this.attributeKey,e)}}}};if(r){e.enqueueChange(r,(t=>{s(t)}))}else{e.change((t=>{s(t)}))}}}const TN="fontSize";const SN="fontFamily";const IN="fontColor";const BN="fontBackgroundColor";function MN(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;if(t.upcastAlso){n.upcastAlso[t.model]=t.upcastAlso}}return n}function NN(t){return e=>zN(e.getStyle(t))}function PN(t){return(e,{writer:n})=>n.createAttributeElement("span",{style:`${t}:${e}`},{priority:7})}function LN({dropdownView:t,colors:e,columns:n,removeButtonLabel:i,colorPickerLabel:o,documentColorsLabel:r,documentColorsCount:s,colorPickerViewConfig:a}){const c=t.locale;const l=new hE(c,{colors:e,columns:n,removeButtonLabel:i,colorPickerLabel:o,documentColorsLabel:r,documentColorsCount:s,colorPickerViewConfig:a});t.colorSelectorView=l;t.panelView.children.add(l);return l}function zN(t){return t.replace(/\s/g,"")}class ON extends(null&&FontCommand){constructor(t){super(t,FONT_FAMILY)}}class RN extends(null&&Plugin){static get pluginName(){return"FontFamilyEditing"}constructor(t){super(t);t.config.define(FONT_FAMILY,{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:false})}init(){const t=this.editor;t.model.schema.extend("$text",{allowAttributes:FONT_FAMILY});t.model.schema.setAttributeProperties(FONT_FAMILY,{isFormatting:true,copyOnEnter:true});const e=normalizeOptions(t.config.get("fontFamily.options")).filter((t=>t.model));const n=buildDefinition(FONT_FAMILY,e);if(t.config.get("fontFamily.supportAllValues")){this._prepareAnyValueConverters();this._prepareCompatibilityConverter()}else{t.conversion.attributeToElement(n)}t.commands.add(FONT_FAMILY,new FontFamilyCommand(t))}_prepareAnyValueConverters(){const t=this.editor;t.conversion.for("downcast").attributeToElement({model:FONT_FAMILY,view:(t,{writer:e})=>e.createAttributeElement("span",{style:"font-family:"+t},{priority:7})});t.conversion.for("upcast").elementToAttribute({model:{key:FONT_FAMILY,value:t=>t.getStyle("font-family")},view:{name:"span",styles:{"font-family":/.*/}}})}_prepareCompatibilityConverter(){const t=this.editor;t.conversion.for("upcast").elementToAttribute({view:{name:"font",attributes:{face:/.*/}},model:{key:FONT_FAMILY,value:t=>t.getAttribute("face")}})}}class VN extends(null&&Plugin){static get pluginName(){return"FontFamilyUI"}init(){const t=this.editor;const e=t.t;const n=this._getLocalizedOptions();const i=t.commands.get(FONT_FAMILY);const o=e("Font Family");t.ui.componentFactory.add(FONT_FAMILY,(e=>{const r=createDropdown(e);addListToDropdown(r,(()=>FN(n,i)),{role:"menu",ariaLabel:o});r.buttonView.set({label:o,icon:fontFamilyIcon,tooltip:true});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()}));return r}))}_getLocalizedOptions(){const t=this.editor;const e=t.t;const n=normalizeOptions(t.config.get(FONT_FAMILY).options);return n.map((t=>{if(t.title==="Default"){t.title=e("Default")}return t}))}}function FN(t,e){const n=new Collection;for(const i of t){const t={type:"button",model:new Model({commandName:FONT_FAMILY,commandParam:i.model,label:i.title,role:"menuitemradio",withText:true})};t.model.bind("isOn").to(e,"value",(t=>{if(t===i.model){return true}if(!t||!i.model){return false}return t.split(",")[0].replace(/'/g,"").toLowerCase()===i.model.toLowerCase()}));if(i.view&&typeof i.view!=="string"&&i.view.styles){t.model.set("labelStyle",`font-family: ${i.view.styles["font-family"]}`)}n.add(t)}return n}class jN extends(null&&Plugin){static get requires(){return[FontFamilyEditing,FontFamilyUI]}static get pluginName(){return"FontFamily"}}class HN extends(null&&FontCommand){constructor(t){super(t,FONT_SIZE)}}function UN(t){return t.map((t=>GN(t))).filter((t=>t!==undefined))}const WN={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 GN(t){if(typeof t==="number"){t=String(t)}if(typeof t==="object"&&ZN(t)){return $N(t)}const e=KN(t);if(e){return $N(e)}if(t==="default"){return{model:undefined,title:"Default"}}if(YN(t)){return undefined}return qN(t)}function qN(t){if(typeof t==="string"){t={title:t,model:`${parseFloat(t)}px`}}t.view={name:"span",styles:{"font-size":t.model}};return $N(t)}function $N(t){if(t.view&&typeof t.view!=="string"&&!t.view.priority){t.view.priority=7}return t}function KN(t){return typeof t==="string"?WN[t]:WN[t.model]}function ZN(t){return t.title&&t.model&&t.view}function YN(t){let e;if(typeof t==="object"){if(!t.model){throw new CKEditorError("font-size-invalid-definition",null,t)}else{e=parseFloat(t.model)}}else{e=parseFloat(t)}return isNaN(e)}const QN=null&&["x-small","x-small","small","medium","large","x-large","xx-large","xxx-large"];class JN extends(null&&Plugin){static get pluginName(){return"FontSizeEditing"}constructor(t){super(t);t.config.define(FONT_SIZE,{options:["tiny","small","default","big","huge"],supportAllValues:false})}init(){const t=this.editor;t.model.schema.extend("$text",{allowAttributes:FONT_SIZE});t.model.schema.setAttributeProperties(FONT_SIZE,{isFormatting:true,copyOnEnter:true});const e=t.config.get("fontSize.supportAllValues");const n=normalizeOptions(this.editor.config.get("fontSize.options")).filter((t=>t.model));const i=buildDefinition(FONT_SIZE,n);if(e){this._prepareAnyValueConverters(i);this._prepareCompatibilityConverter()}else{t.conversion.attributeToElement(i)}t.commands.add(FONT_SIZE,new FontSizeCommand(t))}_prepareAnyValueConverters(t){const e=this.editor;const n=t.model.values.filter((t=>!isLength(String(t))&&!isPercentage(String(t))));if(n.length){throw new CKEditorError("font-size-invalid-use-of-named-presets",null,{presets:n})}e.conversion.for("downcast").attributeToElement({model:FONT_SIZE,view:(t,{writer:e})=>{if(!t){return}return e.createAttributeElement("span",{style:"font-size:"+t},{priority:7})}});e.conversion.for("upcast").elementToAttribute({model:{key:FONT_SIZE,value:t=>t.getStyle("font-size")},view:{name:"span",styles:{"font-size":/.*/}}})}_prepareCompatibilityConverter(){const t=this.editor;t.conversion.for("upcast").elementToAttribute({view:{name:"font",attributes:{size:/^[+-]?\d{1,3}$/}},model:{key:FONT_SIZE,value:t=>{const e=t.getAttribute("size");const n=e[0]==="-"||e[0]==="+";let i=parseInt(e,10);if(n){i=3+i}const o=QN.length-1;const r=Math.min(Math.max(i,0),o);return QN[r]}}})}}var XN=n(5991);var tP={injectType:"singletonStyleTag",attributes:{"data-cke":true}};tP.insert="head";tP.singleton=true;var eP=Pl()(XN.Z,tP);const nP=XN.Z.locals||{};class iP extends(null&&Plugin){static get pluginName(){return"FontSizeUI"}init(){const t=this.editor;const e=t.t;const n=this._getLocalizedOptions();const i=t.commands.get(FONT_SIZE);const o=e("Font Size");t.ui.componentFactory.add(FONT_SIZE,(e=>{const r=createDropdown(e);addListToDropdown(r,(()=>oP(n,i)),{role:"menu",ariaLabel:o});r.buttonView.set({label:o,icon:fontSizeIcon,tooltip:true});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()}));return r}))}_getLocalizedOptions(){const t=this.editor;const e=t.t;const n={Default:e("Default"),Tiny:e("Tiny"),Small:e("Small"),Big:e("Big"),Huge:e("Huge")};const i=normalizeOptions(t.config.get(FONT_SIZE).options);return i.map((t=>{const e=n[t.title];if(e&&e!=t.title){t=Object.assign({},t,{title:e})}return t}))}}function oP(t,e){const n=new Collection;for(const i of t){const t={type:"button",model:new Model({commandName:FONT_SIZE,commandParam:i.model,label:i.title,class:"ck-fontsize-option",role:"menuitemradio",withText:true})};if(i.view&&typeof i.view!=="string"){if(i.view.styles){t.model.set("labelStyle",`font-size:${i.view.styles["font-size"]}`)}if(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}class rP extends(null&&Plugin){static get requires(){return[FontSizeEditing,FontSizeUI]}static get pluginName(){return"FontSize"}normalizeSizeOptions(t){return normalizeOptions(t)}}class sP extends DN{constructor(t){super(t,IN)}}class aP extends rh{static get pluginName(){return"FontColorEditing"}constructor(t){super(t);t.config.define(IN,{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:true},{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:IN,value:NN("color")}});t.conversion.for("upcast").elementToAttribute({view:{name:"font",attributes:{color:/^#?\w+$/}},model:{key:IN,value:t=>t.getAttribute("color")}});t.conversion.for("downcast").attributeToElement({model:IN,view:PN("color")});t.commands.add(IN,new sP(t));t.model.schema.extend("$text",{allowAttributes:IN});t.model.schema.setAttributeProperties(IN,{isFormatting:true,copyOnEnter:true})}}class cP extends rh{constructor(t,{commandName:e,componentName:n,icon:i,dropdownLabel:o}){super(t);this.commandName=e;this.componentName=n;this.icon=i;this.dropdownLabel=o;this.columns=t.config.get(`${this.componentName}.columns`);this.colorSelectorView=undefined}init(){const t=this.editor;const e=t.locale;const n=e.t;const i=t.commands.get(this.commandName);const o=t.config.get(this.componentName);const r=Md(o.colors);const s=Bd(e,r);const a=o.documentColors;const c=o.colorPicker!==false;t.ui.componentFactory.add(this.componentName,(e=>{const r=Dy(e);let l=false;this.colorSelectorView=LN({dropdownView:r,colors:s.map((t=>({label:t.label,color:t.model,options:{hasBorder:t.hasBorder}}))),columns:this.columns,removeButtonLabel:n("Remove color"),colorPickerLabel:n("Color picker"),documentColorsLabel:a!==0?n("Document colors"):"",documentColorsCount:a===undefined?this.columns:a,colorPickerViewConfig:c?o.colorPicker||{}:false});this.colorSelectorView.bind("selectedColor").to(i,"value");r.buttonView.set({label:this.dropdownLabel,icon:this.icon,tooltip:true});r.extendTemplate({attributes:{class:"ck-color-ui-dropdown"}});r.bind("isEnabled").to(i);this.colorSelectorView.on("execute",((e,n)=>{if(r.isOpen){t.execute(this.commandName,{value:n.value,batch:this._undoStepBatch})}if(n.source!=="colorPicker"){t.editing.view.focus()}if(n.source==="colorPickerSaveButton"){r.isOpen=false}}));this.colorSelectorView.on("colorPicker:show",(()=>{this._undoStepBatch=t.model.createBatch()}));this.colorSelectorView.on("colorPicker:cancel",(()=>{if(this._undoStepBatch.operations.length){r.isOpen=false;t.execute("undo",this._undoStepBatch)}t.editing.view.focus()}));r.on("change:isOpen",((e,n,i)=>{if(!l){l=true;r.colorSelectorView.appendUI()}if(i){if(a!==0){this.colorSelectorView.updateDocumentColors(t.model,this.componentName)}this.colorSelectorView.updateSelectedColors();this.colorSelectorView.showColorGridsFragment()}}));My(r,(()=>r.colorSelectorView.colorGridsFragmentView.staticColorsGrid.items.find((t=>t.isOn))));return r}))}}const lP='';class dP extends cP{constructor(t){const e=t.locale.t;super(t,{commandName:IN,componentName:IN,icon:lP,dropdownLabel:e("Font Color")})}static get pluginName(){return"FontColorUI"}}class uP extends rh{static get requires(){return[aP,dP]}static get pluginName(){return"FontColor"}}class hP extends(null&&FontCommand){constructor(t){super(t,FONT_BACKGROUND_COLOR)}}class mP extends(null&&Plugin){static get pluginName(){return"FontBackgroundColorEditing"}constructor(t){super(t);t.config.define(FONT_BACKGROUND_COLOR,{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:true},{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(addBackgroundRules);t.conversion.for("upcast").elementToAttribute({view:{name:"span",styles:{"background-color":/[\s\S]+/}},model:{key:FONT_BACKGROUND_COLOR,value:renderUpcastAttribute("background-color")}});t.conversion.for("downcast").attributeToElement({model:FONT_BACKGROUND_COLOR,view:renderDowncastElement("background-color")});t.commands.add(FONT_BACKGROUND_COLOR,new FontBackgroundColorCommand(t));t.model.schema.extend("$text",{allowAttributes:FONT_BACKGROUND_COLOR});t.model.schema.setAttributeProperties(FONT_BACKGROUND_COLOR,{isFormatting:true,copyOnEnter:true})}}class gP extends(null&&ColorUI){constructor(t){const e=t.locale.t;super(t,{commandName:FONT_BACKGROUND_COLOR,componentName:FONT_BACKGROUND_COLOR,icon:fontBackgroundColorIcon,dropdownLabel:e("Font Background Color")})}static get pluginName(){return"FontBackgroundColorUI"}}class fP extends(null&&Plugin){static get requires(){return[FontBackgroundColorEditing,FontBackgroundColorUI]}static get pluginName(){return"FontBackgroundColor"}}class pP extends(null&&Plugin){static get requires(){return[FontFamily,FontSize,FontColor,FontBackgroundColor]}static get pluginName(){return"Font"}}class bP extends ah{constructor(t){super(t);this._isEnabledBasedOnSelection=false}refresh(){const t=this.editor.model;const e=t.document;const n=gl(e.selection.getSelectedBlocks());this.value=!!n&&n.is("element","paragraph");this.isEnabled=!!n&&kP(n,t.schema)}execute(t={}){const e=this.editor.model;const n=e.document;const i=t.selection||n.selection;if(!e.canEditAt(i)){return}e.change((t=>{const n=i.getSelectedBlocks();for(const i of n){if(!i.is("element","paragraph")&&kP(i,e.schema)){t.rename(i,"paragraph")}}}))}}function kP(t,e){return e.checkChild(t.parent,"paragraph")&&!e.isObject(t)}class wP extends ah{constructor(t){super(t);this._isEnabledBasedOnSelection=false}execute(t){const e=this.editor.model;const n=t.attributes;let i=t.position;if(!e.canEditAt(i)){return}e.change((t=>{i=this._findPositionToInsertParagraph(i,t);if(!i){return}const o=t.createElement("paragraph");if(n){e.schema.setAllowedAttributes(o,n,t)}e.insertContent(o,i);t.setSelection(o,"in")}))}_findPositionToInsertParagraph(t,e){const n=this.editor.model;if(n.schema.checkChild(t,"paragraph")){return t}const i=n.schema.findAllowedParent(t,"paragraph");if(!i){return null}const o=t.parent;const r=n.schema.checkChild(o,"$text");if(o.isEmpty||r&&t.isAtEnd){return n.createPositionAfter(o)}if(!o.isEmpty&&r&&t.isAtStart){return n.createPositionBefore(o)}return e.split(t,i).position}}class AP extends rh{static get pluginName(){return"Paragraph"}init(){const t=this.editor;const e=t.model;t.commands.add("paragraph",new bP(t));t.commands.add("insertParagraph",new wP(t));e.schema.register("paragraph",{inheritAllFrom:"$block"});t.conversion.elementToElement({model:"paragraph",view:"p"});t.conversion.for("upcast").elementToElement({model:(t,{writer:e})=>{if(!AP.paragraphLikeElements.has(t.name)){return null}if(t.isEmpty){return null}return e.createElement("paragraph")},view:/.+/,converterPriority:"low"})}}AP.paragraphLikeElements=new Set(["blockquote","dd","div","dt","h1","h2","h3","h4","h5","h6","li","p","td","th"]);const CP=Zv.paragraph;class _P extends(null&&Plugin){static get requires(){return[Paragraph]}init(){const t=this.editor;const e=t.t;t.ui.componentFactory.add("paragraph",(n=>{const i=new ButtonView(n);const o=t.commands.get("paragraph");i.label=e("Paragraph");i.icon=CP;i.tooltip=true;i.isToggleable=true;i.bind("isEnabled").to(o);i.bind("isOn").to(o,"value");i.on("execute",(()=>{t.execute("paragraph")}));return i}))}}class vP extends ah{constructor(t,e){super(t);this.modelElements=e}refresh(){const t=gl(this.editor.model.document.selection.getSelectedBlocks());this.value=!!t&&this.modelElements.includes(t.name)&&t.name;this.isEnabled=!!t&&this.modelElements.some((e=>yP(t,e,this.editor.model.schema)))}execute(t){const e=this.editor.model;const n=e.document;const i=t.value;e.change((t=>{const o=Array.from(n.selection.getSelectedBlocks()).filter((t=>yP(t,i,e.schema)));for(const e of o){if(!e.is("element",i)){t.rename(e,i)}}}))}}function yP(t,e,n){return n.checkChild(t.parent,e)&&!n.isObject(t)}const xP="paragraph";class EP extends rh{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[AP]}init(){const t=this.editor;const e=t.config.get("heading.options");const n=[];for(const i of e){if(i.model==="paragraph"){continue}t.model.schema.register(i.model,{inheritAllFrom:"$block"});t.conversion.elementToElement(i);n.push(i.model)}this._addDefaultH1Conversion(t);t.commands.add("heading",new vP(t,n))}afterInit(){const t=this.editor;const e=t.commands.get("enter");const n=t.config.get("heading.options");if(e){this.listenTo(e,"afterExecute",((e,i)=>{const o=t.model.document.selection.getFirstPosition().parent;const r=n.some((t=>o.is("element",t.model)));if(r&&!o.is("element",xP)&&o.childCount===0){i.writer.rename(o,xP)}}))}}_addDefaultH1Conversion(t){t.conversion.for("upcast").elementToElement({model:"heading1",view:"h1",converterPriority:B.low+1})}}function DP(t){const e=t.t;const 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];if(e&&e!=t.title){t.title=e}return t}))}var TP=n(4249);var SP={injectType:"singletonStyleTag",attributes:{"data-cke":true}};SP.insert="head";SP.singleton=true;var IP=Pl()(TP.Z,SP);const BP=TP.Z.locals||{};class MP extends rh{static get pluginName(){return"HeadingUI"}init(){const t=this.editor;const e=t.t;const n=DP(t);const i=e("Choose heading");const o=e("Heading");t.ui.componentFactory.add("heading",(e=>{const r={};const s=new ml;const a=t.commands.get("heading");const c=t.commands.get("paragraph");const l=[a];for(const t of n){const e={type:"button",model:new AD({label:t.title,class:t.class,role:"menuitemradio",withText:true})};if(t.model==="paragraph"){e.model.bind("isOn").to(c,"value");e.model.set("commandName","paragraph");l.push(c)}else{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=Dy(e);Iy(d,s,{ariaLabel:o,role:"menu"});d.buttonView.set({ariaLabel:o,ariaLabelledBy:undefined,isOn:false,withText:true,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";if(typeof n==="boolean"){return i}if(!r[n]){return i}return r[n]}));this.listenTo(d,"execute",(e=>{const{commandName:n,commandValue:i}=e.source;t.execute(n,i?{value:i}:undefined);t.editing.view.focus()}));return d}))}}class NP extends rh{static get requires(){return[EP,MP]}static get pluginName(){return"Heading"}}const PP='';const LP='';const zP='';const OP='';const RP='';const VP='';const FP={heading1:PP,heading2:LP,heading3:zP,heading4:OP,heading5:RP,heading6:VP};class jP extends(null&&Plugin){init(){const t=getLocalizedOptions(this.editor);t.filter((t=>t.model!=="paragraph")).map((t=>this._createButton(t)))}_createButton(t){const e=this.editor;e.ui.componentFactory.add(t.model,(n=>{const i=new ButtonView(n);const o=e.commands.get("heading");i.label=t.title;i.icon=t.icon||FP[t.model];i.tooltip=true;i.isToggleable=true;i.bind("isEnabled").to(o);i.bind("isOn").to(o,"value",(e=>e==t.model));i.on("execute",(()=>{e.execute("heading",{value:t.model});e.editing.view.focus()}));return i}))}}const HP=new Set(["paragraph","heading1","heading2","heading3","heading4","heading5","heading6"]);class UP extends(null&&Plugin){constructor(){super(...arguments);this._bodyPlaceholder=new Map}static get pluginName(){return"Title"}static get requires(){return["Paragraph"]}init(){const t=this.editor;const e=t.model;e.schema.register("title",{isBlock:true,allowIn:"$root"});e.schema.register("title-content",{isBlock:true,allowIn:"title",allowAttributes:["alignment"]});e.schema.extend("$text",{allowIn:"title-content"});e.schema.addAttributeCheck((t=>{if(t.endsWith("title-content $text")){return false}}));t.editing.mapper.on("modelToViewPosition",GP(t.editing.view));t.data.mapper.on("modelToViewPosition",GP(t.editing.view));t.conversion.for("downcast").elementToElement({model:"title-content",view:"h1"});t.conversion.for("downcast").add((t=>t.on("insert:title",((t,e,n)=>{n.consumable.consume(e.item,t.name)}))));t.data.upcastDispatcher.on("element:h1",WP,{priority:"high"});t.data.upcastDispatcher.on("element:h2",WP,{priority:"high"});t.data.upcastDispatcher.on("element:h3",WP,{priority:"high"});e.document.registerPostFixer((t=>this._fixTitleContent(t)));e.document.registerPostFixer((t=>this._fixTitleElement(t)));e.document.registerPostFixer((t=>this._fixBodyElement(t)));e.document.registerPostFixer((t=>this._fixExtraParagraph(t)));this._attachPlaceholders();this._attachTabPressHandling()}getTitle(t={}){const e=t.rootName?t.rootName:undefined;const n=this._getTitleElement(e);const i=n.getChild(0);return this.editor.data.stringify(i,t)}getBody(t={}){const e=this.editor;const n=e.data;const i=e.model;const o=t.rootName?t.rootName:undefined;const r=e.model.document.getRoot(o);const s=e.editing.view;const a=new DowncastWriter(s.document);const c=i.createRangeIn(r);const l=a.createDocumentFragment();const d=i.createPositionAfter(r.getChild(0));const u=i.createRange(d,i.createPositionAt(r,"end"));const h=new Map;for(const t of i.markers){const e=u.getIntersection(t.getRange());if(e){h.set(t.name,e)}}n.mapper.clearBindings();n.mapper.bindElements(r,l);n.downcastDispatcher.convert(c,h,a,t);a.remove(a.createRangeOn(l.getChild(0)));return e.data.processor.toData(l)}_getTitleElement(t){const e=this.editor.model.document.getRoot(t);for(const t of e.getChildren()){if(qP(t)){return t}}}_fixTitleContent(t){let e=false;for(const n of this.editor.model.document.getRootNames()){const i=this._getTitleElement(n);if(!i||i.maxOffset===1){continue}const o=Array.from(i.getChildren());o.shift();for(const e of o){t.move(t.createRangeOn(e),i,"after");t.rename(e,"paragraph")}e=true}return e}_fixTitleElement(t){let e=false;const n=this.editor.model;for(const i of this.editor.model.document.getRoots()){const o=Array.from(i.getChildren()).filter(qP);const r=o[0];const s=i.getChild(0);if(s.is("element","title")){if(o.length>1){KP(o,t,n);e=true}continue}if(!r&&!HP.has(s.name)){const n=t.createElement("title");t.insert(n,i);t.insertElement("title-content",n);e=true;continue}if(HP.has(s.name)){$P(s,t,n)}else{t.move(t.createRangeOn(r),i,0)}KP(o,t,n);e=true}return e}_fixBodyElement(t){let e=false;for(const n of this.editor.model.document.getRootNames()){const i=this.editor.model.document.getRoot(n);if(i.childCount<2){const o=t.createElement("paragraph");t.insert(o,i,1);this._bodyPlaceholder.set(n,o);e=true}}return e}_fixExtraParagraph(t){let e=false;for(const n of this.editor.model.document.getRootNames()){const i=this.editor.model.document.getRoot(n);const o=this._bodyPlaceholder.get(n);if(YP(o,i)){this._bodyPlaceholder.delete(n);t.remove(o);e=true}}return e}_attachPlaceholders(){const t=this.editor;const e=t.t;const n=t.editing.view;const i=t.sourceElement;const o=t.config.get("title.placeholder")||e("Type your title");const r=t.config.get("placeholder")||i&&i.tagName.toLowerCase()==="textarea"&&i.getAttribute("placeholder")||e("Type or paste your content here.");t.editing.downcastDispatcher.on("insert:title-content",((t,e,i)=>{const r=i.mapper.toViewElement(e.item);r.placeholder=o;enablePlaceholder({view:n,element:r,keepOnFocus:true})}));const s=new Map;n.document.registerPostFixer((t=>{let e=false;for(const i of n.document.roots){if(i.isEmpty){continue}const n=i.getChild(1);const o=s.get(i.rootName);if(n!==o){if(o){hidePlaceholder(t,o);t.removeAttribute("data-placeholder",o)}t.setAttribute("data-placeholder",r,n);s.set(i.rootName,n);e=true}if(needsPlaceholder(n,true)&&i.childCount===2&&n.name==="p"){e=showPlaceholder(t,n)?true:e}else{e=hidePlaceholder(t,n)?true:e}}return e}))}_attachTabPressHandling(){const t=this.editor;const e=t.model;t.keystrokes.set("TAB",((t,n)=>{e.change((t=>{const i=e.document.selection;const o=Array.from(i.getSelectedBlocks());if(o.length===1&&o[0].is("element","title-content")){const e=i.getFirstPosition().root;const o=e.getChild(1);t.setSelection(o,0);n()}}))}));t.keystrokes.set("SHIFT + TAB",((n,i)=>{e.change((n=>{const o=e.document.selection;if(!o.isCollapsed){return}const r=first(o.getSelectedBlocks());const s=o.getFirstPosition();const a=t.model.document.getRoot(s.root.rootName);const c=a.getChild(0);const l=a.getChild(1);if(r===l&&s.isAtStart){n.setSelection(c.getChild(0),0);i()}}))}))}}function WP(t,e,n){const i=e.modelCursor;const o=e.viewItem;if(!i.isAtStart||!i.parent.is("element","$root")){return}if(!n.consumable.consume(o,{name:true})){return}const r=n.writer;const s=r.createElement("title");const a=r.createElement("title-content");r.append(a,s);r.insert(s,i);n.convertChildren(o,a);n.updateConversionResult(s,e)}function GP(t){return(e,n)=>{const i=n.modelPosition.parent;if(!i.is("element","title")){return}const o=i.parent;const r=n.mapper.toViewElement(o);n.viewPosition=t.createPositionAt(r,0);e.stop()}}function qP(t){return t.is("element","title")}function $P(t,e,n){const i=e.createElement("title");e.insert(i,t,"before");e.insert(t,i,0);e.rename(t,"title-content");n.schema.removeDisallowedAttributes([t],e)}function KP(t,e,n){let i=false;for(const o of t){if(o.index!==0){ZP(o,e,n);i=true}}return i}function ZP(t,e,n){const i=t.getChild(0);if(i.isEmpty){e.remove(t);return}e.move(e.createRangeOn(i),t,"before");e.rename(i,"paragraph");e.remove(t);n.schema.removeDisallowedAttributes([i],e)}function YP(t,e){if(!t||!t.is("element","paragraph")||t.childCount){return false}if(e.childCount<=2||e.getChild(e.childCount-1)!==t){return false}return true}function QP(t,e,n,i){var o=-1,r=t==null?0:t.length;if(i&&r){n=t[++o]}while(++o=i?t:ym(t,e,n)}const gz=mz;var fz="\\ud800-\\udfff",pz="\\u0300-\\u036f",bz="\\ufe20-\\ufe2f",kz="\\u20d0-\\u20ff",wz=pz+bz+kz,Az="\\ufe0e\\ufe0f";var Cz="\\u200d";var _z=RegExp("["+Cz+fz+wz+Az+"]");function vz(t){return _z.test(t)}const yz=vz;function xz(t){return t.split("")}const Ez=xz;var Dz="\\ud800-\\udfff",Tz="\\u0300-\\u036f",Sz="\\ufe20-\\ufe2f",Iz="\\u20d0-\\u20ff",Bz=Tz+Sz+Iz,Mz="\\ufe0e\\ufe0f";var Nz="["+Dz+"]",Pz="["+Bz+"]",Lz="\\ud83c[\\udffb-\\udfff]",zz="(?:"+Pz+"|"+Lz+")",Oz="[^"+Dz+"]",Rz="(?:\\ud83c[\\udde6-\\uddff]){2}",Vz="[\\ud800-\\udbff][\\udc00-\\udfff]",Fz="\\u200d";var jz=zz+"?",Hz="["+Mz+"]?",Uz="(?:"+Fz+"(?:"+[Oz,Rz,Vz].join("|")+")"+Hz+jz+")*",Wz=Hz+jz+Uz,Gz="(?:"+[Oz+Pz+"?",Pz,Rz,Vz,Nz].join("|")+")";var qz=RegExp(Lz+"(?="+Lz+")|"+Gz+Wz,"g");function $z(t){return t.match(qz)||[]}const Kz=$z;function Zz(t){return yz(t)?Kz(t):Ez(t)}const Yz=Zz;function Qz(t){return function(e){e=mm(e);var n=yz(e)?Yz(e):undefined;var i=n?n[0]:e.charAt(0);var o=n?gz(n,1).join(""):e.slice(1);return i[t]()+o}}const Jz=Qz;var Xz=Jz("toUpperCase");const tO=Xz;var eO=hz((function(t,e,n){return t+(n?" ":"")+tO(e)}));const nO=eO;function iO(t,e,n,i){if(e){rO(t,e,i)}if(n){oO(t,n,i)}}function oO(t,e,n){if(e.attributes){for(const[i,o]of Object.entries(e.attributes)){t.setAttribute(i,o,n)}}if(e.styles){t.setStyle(e.styles,n)}if(e.classes){t.addClass(e.classes,n)}}function rO(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)}}if(e.classes){t.removeClass(e.classes,n)}}function sO(t,e){const n=Tb(t);let i="attributes";for(i in e){if(i=="classes"){n[i]=Array.from(new Set([...t[i]||[],...e[i]]))}else{n[i]={...t[i],...e[i]}}}return n}function aO(t,e,n,i,o){const r=e.getAttribute(n);const s={};for(const t of["attributes","styles","classes"]){if(t!=i){if(r&&r[t]){s[t]=r[t]}continue}if(i=="classes"){const e=new Set(r&&r.classes||[]);o(e);if(e.size){s[t]=Array.from(e)}continue}const e=new Map(Object.entries(r&&r[t]||{}));o(e);if(e.size){s[t]=Object.fromEntries(e)}}if(Object.keys(s).length){if(e.is("documentSelection")){t.setSelectionAttribute(n,s)}else{t.setAttribute(n,s,e)}}else if(r){if(e.is("documentSelection")){t.removeSelectionAttribute(n)}else{t.removeAttribute(n,e)}}}function cO(t){return nO(t).replace(/ /g,"")}function lO(t){return`html${cO(t)}Attributes`}function dO({model:t}){return(e,n)=>n.writer.createElement(t,{htmlContent:e.getCustomProperty("$rawContent")})}function uO(t,{view:e,isInline:n}){const i=t.t;return(t,{writer:o})=>{const r=i("HTML object");const s=hO(e,t,o);const a=t.getAttribute(lO(e));o.addClass("html-object-embed__content",s);if(a){oO(o,a,s)}const c=o.createContainerElement(n?"span":"div",{class:"html-object-embed","data-html-object-embed-label":r},s);return BB(c,o,{label:r})}}function hO(t,e,n){return n.createRawElement(t,null,((t,n)=>{n.setContentOf(t,e.getAttribute("htmlContent"))}))}function mO({view:t,model:e,allowEmpty:n},i){return e=>{e.on(`element:${t}`,((t,e,r)=>{let s=i.processViewAttributes(e.viewItem,r);if(!s&&!r.consumable.test(e.viewItem,{name:true})){return}s=s||{};r.consumable.consume(e.viewItem,{name:true});if(!e.modelRange){e=Object.assign(e,r.convertChildren(e.viewItem,e.modelCursor))}if(n&&e.modelRange.isCollapsed&&Object.keys(s).length){const t=r.writer.createElement("htmlEmptyElement");if(!r.safeInsert(t,e.modelCursor)){return}const n=r.getSplitParts(t);e.modelRange=r.writer.createRange(e.modelRange.start,r.writer.createPositionAfter(n[n.length-1]));r.updateConversionResult(t,e);o(t,s,r);return}for(const t of e.modelRange.getItems()){o(t,s,r)}}),{priority:"low"})};function o(t,n,i){if(i.schema.checkAttribute(t,e)){const o=t.getAttribute(e);const r=sO(n,o||{});i.writer.setAttribute(e,r,t)}}}function gO({model:t,view:e},n){return(i,{writer:o,consumable:r})=>{if(!i.hasAttribute(t)){return null}const s=o.createContainerElement(e);const a=i.getAttribute(t);r.consume(i,`attribute:${t}`);oO(o,a,s);s.getFillerOffset=()=>null;return n?BB(s,o):s}}function fO({priority:t,view:e}){return(n,i)=>{if(!n){return}const{writer:o}=i;const r=o.createAttributeElement(e,null,{priority:t});oO(o,n,r);return r}}function pO({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);if(!o){return}i.writer.setAttribute(lO(n.viewItem.name),o,n.modelRange)}),{priority:"low"})}}function bO({view:t,model:e}){return n=>{n.on(`attribute:${lO(t)}:${e}`,((t,e,n)=>{if(!n.consumable.consume(e.item,t.name)){return}const{attributeOldValue:i,attributeNewValue:o}=e;const r=n.writer;const s=n.mapper.toViewElement(e.item);iO(r,i,o,s)}))}}const kO={block:[{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:"tableColumnGroup",view:"colgroup"},{model:"tableColumn",view:"col"},{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:true}},{model:"htmlTbody",view:"tbody",modelSchema:{allowIn:"htmlTable",isBlock:false}},{model:"htmlThead",view:"thead",modelSchema:{allowIn:"htmlTable",isBlock:false}},{model:"htmlTfoot",view:"tfoot",modelSchema:{allowIn:"htmlTable",isBlock:false}},{model:"htmlCaption",view:"caption",modelSchema:{allowIn:"htmlTable",allowChildren:"$text",isBlock:false}},{model:"htmlColgroup",view:"colgroup",modelSchema:{allowIn:"htmlTable",allowChildren:"col",isBlock:false}},{model:"htmlCol",view:"col",modelSchema:{allowIn:"htmlColgroup",isBlock:false}},{model:"htmlTr",view:"tr",modelSchema:{allowIn:["htmlTable","htmlThead","htmlTbody"],isLimit:true}},{model:"htmlTd",view:"td",modelSchema:{allowIn:"htmlTr",allowContentOf:"$container",isLimit:true,isBlock:false}},{model:"htmlTh",view:"th",modelSchema:{allowIn:"htmlTr",allowContentOf:"$container",isLimit:true,isBlock:false}},{model:"htmlFigure",view:"figure",modelSchema:{inheritAllFrom:"$container",isBlock:false}},{model:"htmlFigcaption",view:"figcaption",modelSchema:{allowIn:"htmlFigure",allowChildren:"$text",isBlock:false}},{model:"htmlAddress",view:"address",modelSchema:{inheritAllFrom:"$container",isBlock:false}},{model:"htmlAside",view:"aside",modelSchema:{inheritAllFrom:"$container",isBlock:false}},{model:"htmlMain",view:"main",modelSchema:{inheritAllFrom:"$container",isBlock:false}},{model:"htmlDetails",view:"details",modelSchema:{inheritAllFrom:"$container",isBlock:false}},{model:"htmlSummary",view:"summary",modelSchema:{allowChildren:"$text",allowIn:"htmlDetails",isBlock:false}},{model:"htmlDiv",view:"div",paragraphLikeModel:"htmlDivParagraph",modelSchema:{inheritAllFrom:"$container"}},{model:"htmlFieldset",view:"fieldset",modelSchema:{inheritAllFrom:"$container",isBlock:false}},{model:"htmlLegend",view:"legend",modelSchema:{allowIn:"htmlFieldset",allowChildren:"$text"}},{model:"htmlHeader",view:"header",modelSchema:{inheritAllFrom:"$container",isBlock:false}},{model:"htmlFooter",view:"footer",modelSchema:{inheritAllFrom:"$container",isBlock:false}},{model:"htmlForm",view:"form",modelSchema:{inheritAllFrom:"$container",isBlock:true}},{model:"htmlHgroup",view:"hgroup",modelSchema:{allowChildren:["htmlH1","htmlH2","htmlH3","htmlH4","htmlH5","htmlH6"],isBlock:false}},{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:false}},{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:false}},{model:"htmlPre",view:"pre",modelSchema:{inheritAllFrom:"$block"}},{model:"htmlArticle",view:"article",modelSchema:{inheritAllFrom:"$container",isBlock:false}},{model:"htmlSection",view:"section",modelSchema:{inheritAllFrom:"$container",isBlock:false}},{model:"htmlNav",view:"nav",modelSchema:{inheritAllFrom:"$container",isBlock:false}},{model:"htmlDivDl",view:"div",modelSchema:{allowChildren:["htmlDt","htmlDd"],allowIn:"htmlDl"}},{model:"htmlDl",view:"dl",modelSchema:{allowWhere:"$container",allowChildren:["htmlDt","htmlDd","htmlDivDl"],isBlock:false}},{model:"htmlDt",view:"dt",modelSchema:{allowChildren:"$block",isBlock:false}},{model:"htmlDd",view:"dd",modelSchema:{allowChildren:"$block",isBlock:false}},{model:"htmlCenter",view:"center",modelSchema:{inheritAllFrom:"$container",isBlock:false}}],inline:[{model:"htmlLiAttributes",view:"li",appliesToBlock:true,coupledAttribute:"listItemId"},{model:"htmlOlAttributes",view:"ol",appliesToBlock:true,coupledAttribute:"listItemId"},{model:"htmlUlAttributes",view:"ul",appliesToBlock:true,coupledAttribute:"listItemId"},{model:"htmlFigureAttributes",view:"figure",appliesToBlock:"table"},{model:"htmlTheadAttributes",view:"thead",appliesToBlock:"table"},{model:"htmlTbodyAttributes",view:"tbody",appliesToBlock:"table"},{model:"htmlFigureAttributes",view:"figure",appliesToBlock:"imageBlock"},{model:"htmlAcronym",view:"acronym",attributeProperties:{copyOnEnter:true,isFormatting:true}},{model:"htmlTt",view:"tt",attributeProperties:{copyOnEnter:true,isFormatting:true}},{model:"htmlFont",view:"font",attributeProperties:{copyOnEnter:true,isFormatting:true}},{model:"htmlTime",view:"time",attributeProperties:{copyOnEnter:true,isFormatting:true}},{model:"htmlVar",view:"var",attributeProperties:{copyOnEnter:true,isFormatting:true}},{model:"htmlBig",view:"big",attributeProperties:{copyOnEnter:true,isFormatting:true}},{model:"htmlSmall",view:"small",attributeProperties:{copyOnEnter:true,isFormatting:true}},{model:"htmlSamp",view:"samp",attributeProperties:{copyOnEnter:true,isFormatting:true}},{model:"htmlQ",view:"q",attributeProperties:{copyOnEnter:true,isFormatting:true}},{model:"htmlOutput",view:"output",attributeProperties:{copyOnEnter:true,isFormatting:true}},{model:"htmlKbd",view:"kbd",attributeProperties:{copyOnEnter:true,isFormatting:true}},{model:"htmlBdi",view:"bdi",attributeProperties:{copyOnEnter:true,isFormatting:true}},{model:"htmlBdo",view:"bdo",attributeProperties:{copyOnEnter:true,isFormatting:true}},{model:"htmlAbbr",view:"abbr",attributeProperties:{copyOnEnter:true,isFormatting:true}},{model:"htmlA",view:"a",priority:5,coupledAttribute:"linkHref"},{model:"htmlStrong",view:"strong",coupledAttribute:"bold",attributeProperties:{copyOnEnter:true,isFormatting:true}},{model:"htmlB",view:"b",coupledAttribute:"bold",attributeProperties:{copyOnEnter:true,isFormatting:true}},{model:"htmlI",view:"i",coupledAttribute:"italic",attributeProperties:{copyOnEnter:true,isFormatting:true}},{model:"htmlEm",view:"em",coupledAttribute:"italic",attributeProperties:{copyOnEnter:true,isFormatting:true}},{model:"htmlS",view:"s",coupledAttribute:"strikethrough",attributeProperties:{copyOnEnter:true,isFormatting:true}},{model:"htmlDel",view:"del",coupledAttribute:"strikethrough",attributeProperties:{copyOnEnter:true,isFormatting:true}},{model:"htmlIns",view:"ins",attributeProperties:{copyOnEnter:true,isFormatting:true}},{model:"htmlU",view:"u",coupledAttribute:"underline",attributeProperties:{copyOnEnter:true,isFormatting:true}},{model:"htmlSub",view:"sub",coupledAttribute:"subscript",attributeProperties:{copyOnEnter:true,isFormatting:true}},{model:"htmlSup",view:"sup",coupledAttribute:"superscript",attributeProperties:{copyOnEnter:true,isFormatting:true}},{model:"htmlCode",view:"code",coupledAttribute:"code",attributeProperties:{copyOnEnter:true,isFormatting:true}},{model:"htmlMark",view:"mark",attributeProperties:{copyOnEnter:true,isFormatting:true}},{model:"htmlSpan",view:"span",attributeProperties:{copyOnEnter:true,isFormatting:true}},{model:"htmlCite",view:"cite",attributeProperties:{copyOnEnter:true,isFormatting:true}},{model:"htmlLabel",view:"label",attributeProperties:{copyOnEnter:true,isFormatting:true}},{model:"htmlDfn",view:"dfn",attributeProperties:{copyOnEnter:true,isFormatting:true}},{model:"htmlObject",view:"object",isObject:true,modelSchema:{inheritAllFrom:"$inlineObject"}},{model:"htmlIframe",view:"iframe",isObject:true,modelSchema:{inheritAllFrom:"$inlineObject"}},{model:"htmlInput",view:"input",isObject:true,modelSchema:{inheritAllFrom:"$inlineObject"}},{model:"htmlButton",view:"button",isObject:true,modelSchema:{inheritAllFrom:"$inlineObject"}},{model:"htmlTextarea",view:"textarea",isObject:true,modelSchema:{inheritAllFrom:"$inlineObject"}},{model:"htmlSelect",view:"select",isObject:true,modelSchema:{inheritAllFrom:"$inlineObject"}},{model:"htmlVideo",view:"video",isObject:true,modelSchema:{inheritAllFrom:"$inlineObject"}},{model:"htmlEmbed",view:"embed",isObject:true,modelSchema:{inheritAllFrom:"$inlineObject"}},{model:"htmlOembed",view:"oembed",isObject:true,modelSchema:{inheritAllFrom:"$inlineObject"}},{model:"htmlAudio",view:"audio",isObject:true,modelSchema:{inheritAllFrom:"$inlineObject"}},{model:"htmlImg",view:"img",isObject:true,modelSchema:{inheritAllFrom:"$inlineObject"}},{model:"htmlCanvas",view:"canvas",isObject:true,modelSchema:{inheritAllFrom:"$inlineObject"}},{model:"htmlMeter",view:"meter",isObject:true,modelSchema:{inheritAllFrom:"$inlineObject"}},{model:"htmlProgress",view:"progress",isObject:true,modelSchema:{inheritAllFrom:"$inlineObject"}},{model:"htmlScript",view:"script",modelSchema:{allowWhere:["$text","$block"],isInline:true}},{model:"htmlStyle",view:"style",modelSchema:{allowWhere:["$text","$block"],isInline:true}},{model:"htmlCustomElement",view:"$customElement",modelSchema:{allowWhere:["$text","$block"],allowAttributesOf:"$inlineObject",isInline:true}}]};var wO=kg((function(t,e,n,i){Km(t,e,n,i)}));const AO=wO;class CO extends rh{constructor(){super(...arguments);this._definitions=[]}static get pluginName(){return"DataSchema"}init(){for(const t of kO.block){this.registerBlockElement(t)}for(const t of kO.inline){this.registerInlineElement(t)}}registerBlockElement(t){this._definitions.push({...t,isBlock:true})}registerInlineElement(t){this._definitions.push({...t,isInline:true})}extendBlockElement(t){this._extendDefinition({...t,isBlock:true})}extendInlineElement(t){this._extendDefinition({...t,isInline:true})}getDefinitionsForView(t,e=false){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}getDefinitionsForModel(t){return this._definitions.filter((e=>e.model==t))}_getMatchingViewDefinitions(t){return this._definitions.filter((e=>e.view&&_O(t,e.view)))}*_getReferences(t){const e=["inheritAllFrom","inheritTypesFrom","allowWhere","allowContentOf","allowAttributesOf"];const n=this._definitions.filter((e=>e.model==t));for(const{modelSchema:i}of n){if(!i){continue}for(const n of e){for(const e of il(i[n]||[])){const n=this._definitions.filter((t=>t.model==e));for(const i of n){if(e!==t){yield*this._getReferences(i.model);yield i}}}}}}_extendDefinition(t){const e=Array.from(this._definitions.entries()).filter((([,e])=>e.model==t.model));if(e.length==0){this._definitions.push(t);return}for(const[n,i]of e){this._definitions[n]=AO({},i,t,((t,e)=>Array.isArray(t)?t.concat(e):undefined))}}}function _O(t,e){if(typeof t==="string"){return t===e}if(t instanceof RegExp){return t.test(e)}return false}function vO(t,e,n,i){var o=t.length,r=n+(i?1:-1);while(i?r--:++r-1){if(a!==t){PO.call(a,c,1)}PO.call(t,c,1)}}return t}const zO=LO;function OO(t,e){return t&&t.length&&e&&e.length?zO(t,e):t}const RO=OO;var VO=gg(RO);const FO=VO;var jO=n(1710);var HO={injectType:"singletonStyleTag",attributes:{"data-cke":true}};HO.insert="head";HO.singleton=true;var UO=Pl()(jO.Z,HO);const WO=jO.Z.locals||{};class GO extends rh{constructor(t){super(t);this._dataSchema=t.plugins.get("DataSchema");this._allowedAttributes=new Lh;this._disallowedAttributes=new Lh;this._allowedElements=new Set;this._disallowedElements=new Set;this._dataInitialized=false;this._coupledAttributes=null;this._registerElementsAfterInit();this._registerElementHandlers();this._registerCoupledAttributesPostFixer();this._registerAssociatedHtmlAttributesPostFixer()}static get pluginName(){return"DataFilter"}static get requires(){return[CO,bM]}loadAllowedConfig(t){for(const e of t){const t=e.name||/[\s\S]+/;const n=JO(e);this.allowElement(t);n.forEach((t=>this.allowAttributes(t)))}}loadDisallowedConfig(t){for(const e of t){const t=e.name||/[\s\S]+/;const n=JO(e);if(n.length==0){this.disallowElement(t)}else{n.forEach((t=>this.disallowAttributes(t)))}}}loadAllowedEmptyElementsConfig(t){for(const e of t){this.allowEmptyElement(e)}}allowElement(t){for(const e of this._dataSchema.getDefinitionsForView(t,true)){this._addAllowedElement(e);this._coupledAttributes=null}}disallowElement(t){for(const e of this._dataSchema.getDefinitionsForView(t,false)){this._disallowedElements.add(e.view)}}allowEmptyElement(t){for(const e of this._dataSchema.getDefinitionsForView(t,true)){if(e.isInline){this._dataSchema.extendInlineElement({...e,allowEmpty:true})}}}allowAttributes(t){this._allowedAttributes.add(t)}disallowAttributes(t){this._disallowedAttributes.add(t)}processViewAttributes(t,e){qO(t,e,this._disallowedAttributes);return qO(t,e,this._allowedAttributes)}_addAllowedElement(t){if(this._allowedElements.has(t)){return}this._allowedElements.add(t);if("appliesToBlock"in t&&typeof t.appliesToBlock=="string"){for(const e of this._dataSchema.getDefinitionsForModel(t.appliesToBlock)){if(e.isBlock){this._addAllowedElement(e)}}}if(this._dataInitialized){this.editor.data.once("set",(()=>{this._fireRegisterEvent(t)}),{priority:B.highest+1})}}_registerElementsAfterInit(){this.editor.data.on("init",(()=>{this._dataInitialized=true;for(const t of this._allowedElements){this._fireRegisterEvent(t)}}),{priority:B.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){this._registerInlineElement(e)}else{throw new P("data-filter-invalid-definition",null,e)}t.stop()}),{priority:"lowest"})}_registerCoupledAttributesPostFixer(){const t=this.editor.model;const e=t.document.selection;t.document.registerPostFixer((e=>{const n=t.document.differ.getChanges();let i=false;const o=this._getCoupledAttributesMap();for(const t of n){if(t.type!="attribute"||t.attributeNewValue!==null){continue}const n=o.get(t.attributeKey);if(!n){continue}for(const{item:o}of t.range.getWalker({shallow:true})){for(const t of n){if(o.hasAttribute(t)){e.removeAttribute(t,o);i=true}}}}return i}));this.listenTo(e,"change:attribute",((n,{attributeKeys:i})=>{const o=new Set;const r=this._getCoupledAttributesMap();for(const t of i){if(e.hasAttribute(t)){continue}const n=r.get(t);if(!n){continue}for(const t of n){if(e.hasAttribute(t)){o.add(t)}}}if(o.size==0){return}t.change((t=>{for(const e of o){t.removeSelectionAttribute(e)}}))}))}_registerAssociatedHtmlAttributesPostFixer(){const t=this.editor.model;t.document.registerPostFixer((e=>{const n=t.document.differ.getChanges();let i=false;for(const o of n){if(o.type!=="insert"||o.name==="$text"){continue}for(const n of o.attributes.keys()){if(!n.startsWith("html")||!n.endsWith("Attributes")){continue}if(!t.schema.checkAttribute(o.name,n)){e.removeAttribute(n,o.position.nodeAfter);i=true}}}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);if(e){e.push(t.model)}else{this._coupledAttributes.set(t.coupledAttribute,[t.model])}}}return this._coupledAttributes}_fireRegisterEvent(t){if(t.view&&this._disallowedElements.has(t.view)){return}this.fire(t.view?`register:${t.view}`:"register",t)}_registerObjectElement(t){const e=this.editor;const n=e.model.schema;const i=e.conversion;const{view:o,model:r}=t;n.register(r,t.modelSchema);if(!o){return}n.extend(t.model,{allowAttributes:[lO(o),"htmlContent"]});e.data.registerRawContentMatcher({name:o});i.for("upcast").elementToElement({view:o,model:dO(t),converterPriority:B.low+2});i.for("upcast").add(pO(t,this));i.for("editingDowncast").elementToStructure({model:{name:r,attributes:[lO(o)]},view:uO(e,t)});i.for("dataDowncast").elementToElement({model:r,view:(t,{writer:e})=>hO(o,t,e)});i.for("dataDowncast").add(bO(t))}_registerBlockElement(t){const e=this.editor;const n=e.model.schema;const i=e.conversion;const{view:o,model:r}=t;if(!n.isRegistered(t.model)){n.register(t.model,t.modelSchema);if(!o){return}i.for("upcast").elementToElement({model:r,view:o,converterPriority:B.low+2});i.for("downcast").elementToElement({model:r,view:o})}if(!o){return}n.extend(t.model,{allowAttributes:lO(o)});i.for("upcast").add(pO(t,this));i.for("downcast").add(bO(t))}_registerInlineElement(t){const e=this.editor;const n=e.model.schema;const i=e.conversion;const o=t.model;if(t.appliesToBlock){return}n.extend("$text",{allowAttributes:o});if(t.attributeProperties){n.setAttributeProperties(o,t.attributeProperties)}i.for("upcast").add(mO(t,this));i.for("downcast").attributeToElement({model:o,view:fO(t)});if(!t.allowEmpty){return}n.setAttributeProperties(o,{copyFromObject:false});if(!n.isRegistered("htmlEmptyElement")){n.register("htmlEmptyElement",{inheritAllFrom:"$inlineObject"})}e.data.htmlProcessor.domConverter.registerInlineObjectMatcher((e=>{if(e.name==t.view&&e.isEmpty&&Array.from(e.getAttributeKeys()).length){return{name:true}}return null}));i.for("editingDowncast").elementToElement({model:"htmlEmptyElement",view:gO(t,true)});i.for("dataDowncast").elementToElement({model:"htmlEmptyElement",view:gO(t)})}}function qO(t,e,n){const i=$O(t,e,n);const{attributes:o,styles:r,classes:s}=ZO(i);const a={};if(o.size){for(const t of o){if(!yc(t)){o.delete(t)}}}if(o.size){a.attributes=YO(o,(e=>t.getAttribute(e)))}if(r.size){a.styles=YO(r,(e=>t.getStyle(e)))}if(s.size){a.classes=Array.from(s)}if(!Object.keys(a).length){return null}return a}function $O(t,{consumable:e},n){const i=n.matchAll(t)||[];const o=[];for(const n of i){KO(e,t,n);delete n.match.name;e.consume(t,n.match);o.push(n)}return o}function KO(t,e,n){for(const i of["attributes","classes","styles"]){const o=n.match[i];if(!o){continue}for(const n of Array.from(o)){if(!t.test(e,{[i]:[n]})){FO(o,n)}}}}function ZO(t){const e={attributes:new Set,classes:new Set,styles:new Set};for(const n of t){for(const t in e){const i=n.match[t]||[];i.forEach((n=>e[t].add(n)))}}return e}function YO(t,e){const n={};for(const i of t){const t=e(i);if(t!==undefined){n[i]=e(i)}}return n}function QO(t,e){const{name:n}=t;const i=t[e];if(fe(i)){return Object.entries(i).map((([t,i])=>({name:n,[e]:{[t]:i}})))}if(Array.isArray(i)){return i.map((t=>({name:n,[e]:[t]})))}return[t]}function JO(t){const{name:e,attributes:n,classes:i,styles:o}=t;const r=[];if(n){r.push(...QO({name:e,attributes:n},"attributes"))}if(i){r.push(...QO({name:e,classes:i},"classes"))}if(o){r.push(...QO({name:e,styles:o},"styles"))}return r}class XO extends rh{static get requires(){return[GO]}static get pluginName(){return"CodeBlockElementSupport"}init(){if(!this.editor.plugins.has("CodeBlockEditing")){return}const t=this.editor.plugins.get(GO);t.on("register:pre",((e,n)=>{if(n.model!=="codeBlock"){return}const i=this.editor;const o=i.model.schema;const r=i.conversion;o.extend("codeBlock",{allowAttributes:["htmlPreAttributes","htmlContentAttributes"]});r.for("upcast").add(tR(t));r.for("downcast").add(eR());e.stop()}))}}function tR(t){return e=>{e.on("element:code",((e,n,i)=>{const o=n.viewItem;const r=o.parent;if(!r||!r.is("element","pre")){return}s(r,"htmlPreAttributes");s(o,"htmlContentAttributes");function s(e,o){const r=t.processViewAttributes(e,i);if(r){i.writer.setAttribute(o,r,n.modelRange)}}}),{priority:"low"})}}function eR(){return t=>{t.on("attribute:htmlPreAttributes:codeBlock",((t,e,n)=>{if(!n.consumable.consume(e.item,t.name)){return}const{attributeOldValue:i,attributeNewValue:o}=e;const r=n.mapper.toViewElement(e.item);const s=r.parent;iO(n.writer,i,o,s)}));t.on("attribute:htmlContentAttributes:codeBlock",((t,e,n)=>{if(!n.consumable.consume(e.item,t.name)){return}const{attributeOldValue:i,attributeNewValue:o}=e;const r=n.mapper.toViewElement(e.item);iO(n.writer,i,o,r)}))}}class nR extends rh{static get requires(){return[GO]}static get pluginName(){return"DualContentModelElementSupport"}init(){const t=this.editor.plugins.get(GO);t.on("register",((t,e)=>{const n=e;const i=this.editor;const o=i.model.schema;const r=i.conversion;if(!n.paragraphLikeModel){return}if(o.isRegistered(n.model)||o.isRegistered(n.paragraphLikeModel)){return}const s={model:n.paragraphLikeModel,view:n.view};o.register(n.model,n.modelSchema);o.register(s.model,{inheritAllFrom:"$block"});r.for("upcast").elementToElement({view:n.view,model:(t,{writer:e})=>{if(this._hasBlockContent(t)){return e.createElement(n.model)}return e.createElement(s.model)},converterPriority:B.low+.5});r.for("downcast").elementToElement({view:n.view,model:n.model});this._addAttributeConversion(n);r.for("downcast").elementToElement({view:s.view,model:s.model});this._addAttributeConversion(s);t.stop()}))}_hasBlockContent(t){const e=this.editor.editing.view;const n=e.domConverter.blockElements;for(const i of e.createRangeIn(t).getItems()){if(i.is("element")&&n.includes(i.name)){return true}}return false}_addAttributeConversion(t){const e=this.editor;const n=e.conversion;const i=e.plugins.get(GO);e.model.schema.extend(t.model,{allowAttributes:lO(t.view)});n.for("upcast").add(pO(t,i));n.for("downcast").add(bO(t))}}class iR extends rh{static get requires(){return[CO,VI]}static get pluginName(){return"HeadingElementSupport"}init(){const t=this.editor;if(!t.plugins.has("HeadingEditing")){return}const e=t.config.get("heading.options");this.registerHeadingElements(t,e)}registerHeadingElements(t,e){const n=t.plugins.get(CO);const i=[];for(const t of e){if("model"in t&&"view"in t){n.registerBlockElement({view:t.view,model:t.model});i.push(t.model)}}n.extendBlockElement({model:"htmlHgroup",modelSchema:{allowChildren:i}})}}function oR(t,e,n){const i=t.createRangeOn(e);for(const{item:t}of i.getWalker()){if(t.is("element",n)){return t}}}class rR extends rh{static get requires(){return[GO]}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;const n=t.conversion;const i=t.plugins.get(GO);i.on("register:figure",(()=>{n.for("upcast").add(cR(i))}));i.on("register:img",((o,r)=>{if(r.model!=="imageBlock"&&r.model!=="imageInline"){return}if(e.isRegistered("imageBlock")){e.extend("imageBlock",{allowAttributes:["htmlImgAttributes","htmlFigureAttributes","htmlLinkAttributes"]})}if(e.isRegistered("imageInline")){e.extend("imageInline",{allowAttributes:["htmlA","htmlImgAttributes"]})}n.for("upcast").add(sR(i));n.for("downcast").add(lR());if(t.plugins.has("LinkImage")){n.for("upcast").add(aR(i,t))}o.stop()}))}}function sR(t){return e=>{e.on("element:img",((e,n,i)=>{if(!n.modelRange){return}const o=n.viewItem;const r=t.processViewAttributes(o,i);if(r){i.writer.setAttribute("htmlImgAttributes",r,n.modelRange)}}),{priority:"low"})}}function aR(t,e){const n=e.plugins.get("ImageUtils");return e=>{e.on("element:a",((e,i,o)=>{const r=i.viewItem;const s=n.findViewImgElement(r);if(!s){return}const a=i.modelCursor.parent;if(!a.is("element","imageBlock")){return}const c=t.processViewAttributes(r,o);if(c){o.writer.setAttribute("htmlLinkAttributes",c,a)}}),{priority:"low"})}}function cR(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);if(r){i.writer.setAttribute("htmlFigureAttributes",r,n.modelRange)}}),{priority:"low"})}}function lR(){return t=>{e("htmlImgAttributes");n("img","htmlImgAttributes");n("figure","htmlFigureAttributes");n("a","htmlLinkAttributes");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;const r=n.mapper.toViewElement(e.item);iO(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;const s=i.mapper.toViewElement(n.item);const a=oR(i.writer,s,e);if(a){iO(i.writer,o,r,a);i.consumable.consume(n.item,t.name)}}),{priority:"low"});if(e==="a"){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);const o=oR(n.writer,i,"a");oO(n.writer,e.item.getAttribute("htmlLinkAttributes"),o)}),{priority:"low"})}}}}class dR extends rh{static get requires(){return[GO]}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;const n=t.conversion;const i=this.editor.plugins.get(GO);const o=this.editor.plugins.get(CO);const r=t.config.get("mediaEmbed.elementName");o.registerBlockElement({model:"media",view:r});i.on("register:figure",(()=>{n.for("upcast").add(hR(i))}));i.on(`register:${r}`,((t,o)=>{if(o.model!=="media"){return}e.extend("media",{allowAttributes:[lO(r),"htmlFigureAttributes"]});n.for("upcast").add(uR(i,r));n.for("dataDowncast").add(mR(r));t.stop()}))}}function uR(t,e){const n=(n,i,o)=>{const r=i.viewItem;s(r,lO(e));function s(e,n){const r=t.processViewAttributes(e,o);if(r){o.writer.setAttribute(n,r,i.modelRange)}}};return t=>{t.on(`element:${e}`,n,{priority:"low"})}}function hR(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);if(r){i.writer.setAttribute("htmlFigureAttributes",r,n.modelRange)}}),{priority:"low"})}}function mR(t){return e=>{n(t,lO(t));n("figure","htmlFigureAttributes");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;const s=i.mapper.toViewElement(n.item);const a=oR(i.writer,s,t);iO(i.writer,o,r,a)}))}}}class gR extends rh{static get requires(){return[GO]}static get pluginName(){return"ScriptElementSupport"}init(){const t=this.editor.plugins.get(GO);t.on("register:script",((e,n)=>{const i=this.editor;const o=i.model.schema;const r=i.conversion;o.register("htmlScript",n.modelSchema);o.extend("htmlScript",{allowAttributes:["htmlScriptAttributes","htmlContent"],isContent:true});i.data.registerRawContentMatcher({name:"script"});r.for("upcast").elementToElement({view:"script",model:dO(n)});r.for("upcast").add(pO(n,t));r.for("downcast").elementToElement({model:"htmlScript",view:(t,{writer:e})=>hO("script",t,e)});r.for("downcast").add(bO(n));e.stop()}))}}class fR extends rh{static get requires(){return[GO]}static get pluginName(){return"TableElementSupport"}init(){const t=this.editor;if(!t.plugins.has("TableEditing")){return}const e=t.model.schema;const n=t.conversion;const i=t.plugins.get(GO);const o=t.plugins.get("TableUtils");i.on("register:figure",(()=>{n.for("upcast").add(kR(i))}));i.on("register:table",((r,s)=>{if(s.model!=="table"){return}e.extend("table",{allowAttributes:["htmlTableAttributes","htmlFigureAttributes","htmlTheadAttributes","htmlTbodyAttributes"]});n.for("upcast").add(bR(i));n.for("downcast").add(wR());t.model.document.registerPostFixer(pR(t.model,o));r.stop()}))}}function pR(t,e){return n=>{const i=t.document.differ.getChanges();let o=false;for(const t of i){if(t.type!="attribute"||t.attributeKey!="headingRows"){continue}const i=t.range.start.nodeAfter;const r=i.getAttribute("htmlTheadAttributes");const s=i.getAttribute("htmlTbodyAttributes");if(r&&!t.attributeNewValue){n.removeAttribute("htmlTheadAttributes",i);o=true}else if(s&&t.attributeNewValue==e.getRows(i)){n.removeAttribute("htmlTbodyAttributes",i);o=true}}return o}}function bR(t){return e=>{e.on("element:table",((e,n,i)=>{if(!n.modelRange){return}const o=n.viewItem;r(o,"htmlTableAttributes");for(const t of o.getChildren()){if(t.is("element","thead")){r(t,"htmlTheadAttributes")}if(t.is("element","tbody")){r(t,"htmlTbodyAttributes")}}function r(e,o){const r=t.processViewAttributes(e,i);if(r){i.writer.setAttribute(o,r,n.modelRange)}}}),{priority:"low"})}}function kR(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);if(r){i.writer.setAttribute("htmlFigureAttributes",r,n.modelRange)}}),{priority:"low"})}}function wR(){return t=>{e("table","htmlTableAttributes");e("figure","htmlFigureAttributes");e("thead","htmlTheadAttributes");e("tbody","htmlTbodyAttributes");function e(e,n){t.on(`attribute:${n}:table`,((t,n,i)=>{if(!i.consumable.test(n.item,t.name)){return}const o=i.mapper.toViewElement(n.item);const r=oR(i.writer,o,e);if(!r){return}i.consumable.consume(n.item,t.name);iO(i.writer,n.attributeOldValue,n.attributeNewValue,r)}))}}}class AR extends rh{static get requires(){return[GO]}static get pluginName(){return"StyleElementSupport"}init(){const t=this.editor.plugins.get(GO);t.on("register:style",((e,n)=>{const i=this.editor;const o=i.model.schema;const r=i.conversion;o.register("htmlStyle",n.modelSchema);o.extend("htmlStyle",{allowAttributes:["htmlStyleAttributes","htmlContent"],isContent:true});i.data.registerRawContentMatcher({name:"style"});r.for("upcast").elementToElement({view:"style",model:dO(n)});r.for("upcast").add(pO(n,t));r.for("downcast").elementToElement({model:"htmlStyle",view:(t,{writer:e})=>hO("style",t,e)});r.for("downcast").add(bO(n));e.stop()}))}}class CR extends rh{static get requires(){return[GO]}static get pluginName(){return"DocumentListElementSupport"}init(){const t=this.editor;if(!t.plugins.has("DocumentListEditing")){return}const e=t.model.schema;const n=t.conversion;const i=t.plugins.get(GO);const o=t.plugins.get("DocumentListEditing");const r=["ul","ol","li"];o.registerDowncastStrategy({scope:"item",attributeName:"htmlLiAttributes",setAttributeOnDowncast:oO});o.registerDowncastStrategy({scope:"list",attributeName:"htmlUlAttributes",setAttributeOnDowncast:oO});o.registerDowncastStrategy({scope:"list",attributeName:"htmlOlAttributes",setAttributeOnDowncast:oO});i.on("register",((t,o)=>{if(!r.includes(o.view)){return}t.stop();if(e.checkAttribute("$block","htmlLiAttributes")){return}const s=r.map((t=>lO(t)));e.extend("$listItem",{allowAttributes:s});n.for("upcast").add((t=>{t.on("element:ul",_R("htmlUlAttributes",i),{priority:"low"});t.on("element:ol",_R("htmlOlAttributes",i),{priority:"low"});t.on("element:li",_R("htmlLiAttributes",i),{priority:"low"})}))}));o.on("postFixer",((t,{listNodes:e,writer:n})=>{for(const{node:i,previousNodeInList:o}of e){if(!o){continue}if(o.getAttribute("listType")==i.getAttribute("listType")){const e=vR(o.getAttribute("listType"));const r=o.getAttribute(e);if(!zA(i.getAttribute(e),r)&&n.model.schema.checkAttribute(i,e)){n.setAttribute(e,r,i);t.return=true}}if(o.getAttribute("listItemId")==i.getAttribute("listItemId")){const e=o.getAttribute("htmlLiAttributes");if(!zA(i.getAttribute("htmlLiAttributes"),e)&&n.model.schema.checkAttribute(i,"htmlLiAttributes")){n.setAttribute("htmlLiAttributes",e,i);t.return=true}}}}));o.on("postFixer",((t,{listNodes:e,writer:n})=>{for(const{node:i}of e){const e=i.getAttribute("listType");if(e!=="numbered"&&i.getAttribute("htmlOlAttributes")){n.removeAttribute("htmlOlAttributes",i);t.return=true}if(e==="numbered"&&i.getAttribute("htmlUlAttributes")){n.removeAttribute("htmlUlAttributes",i);t.return=true}}}))}afterInit(){const t=this.editor;if(!t.commands.get("indentList")){return}const e=t.commands.get("indentList");this.listenTo(e,"afterExecute",((e,n)=>{t.model.change((e=>{for(const i of n){const n=vR(i.getAttribute("listType"));if(!t.model.schema.checkAttribute(i,n)){continue}e.setAttribute(n,{},i)}}))}))}}function _R(t,e){return(n,i,o)=>{const r=i.viewItem;if(!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:true})){if(!e.hasAttribute("listItemId")){continue}if(e.hasAttribute(t)){continue}if(o.writer.model.schema.checkAttribute(e,t)){o.writer.setAttribute(t,s||{},e)}}}}function vR(t){return t==="numbered"?"htmlOlAttributes":"htmlUlAttributes"}class yR extends rh{static get requires(){return[GO,CO]}static get pluginName(){return"CustomElementSupport"}init(){const t=this.editor.plugins.get(GO);const e=this.editor.plugins.get(CO);t.on("register:$customElement",((n,i)=>{n.stop();const o=this.editor;const r=o.model.schema;const s=o.conversion;const a=o.editing.view.domConverter.unsafeElements;const c=o.data.htmlProcessor.domConverter.preElements;r.register(i.model,i.modelSchema);r.extend(i.model,{allowAttributes:["htmlElementName","htmlCustomElementAttributes","htmlContent"],isContent:true});o.data.htmlProcessor.domConverter.registerRawContentMatcher({name:"template"});s.for("upcast").elementToElement({view:/.*/,model:(n,r)=>{if(n.name=="$comment"){return null}if(!xR(n.name)){return null}if(e.getDefinitionsForView(n.name).size){return null}if(!a.includes(n.name)){a.push(n.name)}if(!c.includes(n.name)){c.push(n.name)}const s=r.writer.createElement(i.model,{htmlElementName:n.name});const l=t.processViewAttributes(n,r);if(l){r.writer.setAttribute("htmlCustomElementAttributes",l,s)}let d;if(n.is("element","template")&&n.getCustomProperty("$rawContent")){d=n.getCustomProperty("$rawContent")}else{const t=new a_(n.document);const e=t.createDocumentFragment(n);const i=o.data.htmlProcessor.domConverter.viewToDom(e);const r=i.firstChild;while(r.firstChild){i.appendChild(r.firstChild)}r.remove();d=o.data.htmlProcessor.htmlWriter.getHtml(i)}r.writer.setAttribute("htmlContent",d,s);for(const{item:t}of o.editing.view.createRangeIn(n)){r.consumable.consume(t,{name:true})}return s},converterPriority:"low"});s.for("editingDowncast").elementToElement({model:{name:i.model,attributes:["htmlElementName","htmlCustomElementAttributes","htmlContent"]},view:(t,{writer:e})=>{const n=t.getAttribute("htmlElementName");const i=e.createRawElement(n);if(t.hasAttribute("htmlCustomElementAttributes")){oO(e,t.getAttribute("htmlCustomElementAttributes"),i)}return i}});s.for("dataDowncast").elementToElement({model:{name:i.model,attributes:["htmlElementName","htmlCustomElementAttributes","htmlContent"]},view:(t,{writer:e})=>{const n=t.getAttribute("htmlElementName");const i=t.getAttribute("htmlContent");const o=e.createRawElement(n,null,((t,e)=>{e.setContentOf(t,i)}));if(t.hasAttribute("htmlCustomElementAttributes")){oO(e,t.getAttribute("htmlCustomElementAttributes"),o)}return o}})}))}}function xR(t){try{document.createElement(t)}catch(t){return false}return true}class ER extends rh{static get pluginName(){return"GeneralHtmlSupport"}static get requires(){return[GO,XO,nR,iR,rR,dR,gR,fR,AR,CR,yR]}init(){const t=this.editor;const e=t.plugins.get(GO);e.loadAllowedEmptyElementsConfig(t.config.get("htmlSupport.allowEmpty")||[]);e.loadAllowedConfig(t.config.get("htmlSupport.allow")||[]);e.loadDisallowedConfig(t.config.get("htmlSupport.disallow")||[])}getGhsAttributeNameForElement(t){const e=this.editor.plugins.get("DataSchema");const n=Array.from(e.getDefinitionsForView(t,false));const i=n.find((t=>t.isInline&&!n[0].isObject));if(i){return i.model}return lO(t)}addModelHtmlClass(t,e,n){const i=this.editor.model;const o=this.getGhsAttributeNameForElement(t);i.change((t=>{for(const r of DR(i,n,o)){aO(t,r,o,"classes",(t=>{for(const n of il(e)){t.add(n)}}))}}))}removeModelHtmlClass(t,e,n){const i=this.editor.model;const o=this.getGhsAttributeNameForElement(t);i.change((t=>{for(const r of DR(i,n,o)){aO(t,r,o,"classes",(t=>{for(const n of il(e)){t.delete(n)}}))}}))}setModelHtmlAttributes(t,e,n){const i=this.editor.model;const o=this.getGhsAttributeNameForElement(t);i.change((t=>{for(const r of DR(i,n,o)){aO(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;const o=this.getGhsAttributeNameForElement(t);i.change((t=>{for(const r of DR(i,n,o)){aO(t,r,o,"attributes",(t=>{for(const n of il(e)){t.delete(n)}}))}}))}setModelHtmlStyles(t,e,n){const i=this.editor.model;const o=this.getGhsAttributeNameForElement(t);i.change((t=>{for(const r of DR(i,n,o)){aO(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;const o=this.getGhsAttributeNameForElement(t);i.change((t=>{for(const r of DR(i,n,o)){aO(t,r,o,"styles",(t=>{for(const n of il(e)){t.delete(n)}}))}}))}}function*DR(t,e,n){if(!e){return}if(!(Symbol.iterator in e)&&e.is("documentSelection")&&e.isCollapsed){if(t.schema.checkAttributeInSelection(e,n)){yield e}}else{for(const i of TR(t,e,n)){yield*i.getItems({shallow:true})}}}function TR(t,e,n){if(!(Symbol.iterator in e)&&(e.is("node")||e.is("$text")||e.is("$textProxy"))){if(t.schema.checkAttribute(e,n)){return[t.createRangeOn(e)]}else{return[]}}else{return t.schema.getValidRanges(t.createSelection(e).getRanges(),n)}}class SR extends(null&&Plugin){static get pluginName(){return"HtmlComment"}init(){const t=this.editor;const e=new Map;t.data.processor.skipComments=false;t.model.schema.addAttributeCheck(((t,e)=>{if(t.endsWith("$root")&&e.startsWith("$comment")){return true}}));t.conversion.for("upcast").elementToMarker({view:"$comment",model:t=>{const n=uid();const i=`$comment:${n}`;const o=t.getCustomProperty("$rawContent");e.set(i,o);return i}});t.conversion.for("dataDowncast").markerToElement({model:"$comment",view:(t,{writer:e})=>{let n=undefined;for(const e of this.editor.model.document.getRootNames()){n=this.editor.model.document.getRoot(e);if(n.hasAttribute(t.markerName)){break}}const i=t.markerName;const o=n.getAttribute(i);const r=e.createUIElement("$comment");e.setCustomProperty("$rawContent",o,r);return r}});t.model.document.registerPostFixer((n=>{let i=false;const o=t.model.document.differ.getChangedMarkers().filter((t=>t.name.startsWith("$comment:")));for(const t of o){const{oldRange:o,newRange:r}=t.data;if(o&&r&&o.root==r.root){continue}if(o){const e=o.root;if(e.hasAttribute(t.name)){n.removeAttribute(t.name,e);i=true}}if(r){const o=r.root;if(o.rootName=="$graveyard"){n.removeMarker(t.name);i=true}else if(!o.hasAttribute(t.name)){n.setAttribute(t.name,e.get(t.name)||"",o);i=true}}}return i}));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);const i=t.model.createPositionAt(n,0);const o=t.model.createPositionAt(n,"end");let r;if(i.isTouching(e.start)&&o.isTouching(e.end)){r=this.getHtmlCommentsInRange(t.model.createRange(i,o))}else{r=this.getHtmlCommentsInRange(e,{skipBoundaries:true})}for(const t of r){this.removeHtmlComment(t)}}}),{priority:"high"})}createHtmlComment(t,e){const n=uid();const i=this.editor;const o=i.model;const r=o.document.getRoot(t.root.rootName);const s=`$comment:${n}`;return o.change((n=>{const i=n.createRange(t);n.addMarker(s,{usingOperation:true,affectsData:true,range:i});n.setAttribute(s,e,r);return s}))}removeHtmlComment(t){const e=this.editor;const n=e.model.markers.get(t);if(!n){return false}e.model.change((t=>{t.removeMarker(n)}));return true}getHtmlCommentData(t){const e=this.editor;const n=e.model.markers.get(t);if(!n){return null}let i="";for(const e of this.editor.model.document.getRoots()){if(e.hasAttribute(t)){i=e.getAttribute(t);break}}return{content:i,position:n.getStart()}}getHtmlCommentsInRange(t,{skipBoundaries:e=false}={}){const n=!e;return Array.from(this.editor.model.markers.getMarkersGroup("$comment")).filter((e=>i(e,t))).map((t=>t.name));function i(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))}}}class IR extends(null&&HtmlDataProcessor){toView(t){if(!t.match(/<(?:html|body|head|meta)(?:\s[^>]*)?>/i)){return super.toView(t)}let e="";let n="";t=t.replace(/]*>/i,(t=>{e=t;return""}));t=t.replace(/<\?xml\s[^?]*\?>/i,(t=>{n=t;return""}));const i=this._toDom(t);const o=this.domConverter.domToView(i,{skipComments:this.skipComments});const r=new UpcastWriter(o.document);r.setCustomProperty("$fullPageDocument",i.ownerDocument.documentElement.outerHTML,o);if(e){r.setCustomProperty("$fullPageDocType",e,o)}if(n){r.setCustomProperty("$fullPageXmlDeclaration",n,o)}return o}toData(t){let e=super.toData(t);const n=t.getCustomProperty("$fullPageDocument");const i=t.getCustomProperty("$fullPageDocType");const o=t.getCustomProperty("$fullPageXmlDeclaration");if(n){e=n.replace(/<\/body\s*>/,e+"$&");if(i){e=i+"\n"+e}if(o){e=o+"\n"+e}}return e}}class BR extends(null&&Plugin){static get pluginName(){return"FullPage"}init(){const t=this.editor;const e=["$fullPageDocument","$fullPageDocType","$fullPageXmlDeclaration"];t.data.processor=new HtmlPageDataProcessor(t.data.viewDocument);t.model.schema.extend("$root",{allowAttributes:e});t.data.on("toModel",((n,[i])=>{const o=t.model.document.getRoot();t.model.change((t=>{for(const n of e){const e=i.getCustomProperty(n);if(e){t.setAttribute(n,e,o)}}}))}),{priority:"low"});t.data.on("toView",((t,[n])=>{if(!n.is("rootElement")){return}const i=n;const o=t.return;if(!i.hasAttribute("$fullPageDocument")){return}const r=new UpcastWriter(o.document);for(const t of e){const e=i.getAttribute(t);if(e){r.setCustomProperty(t,e,o)}}}),{priority:"low"});t.data.on("set",(()=>{const n=t.model.document.getRoot();t.model.change((t=>{for(const i of e){if(n.hasAttribute(i)){t.removeAttribute(i,n)}}}))}),{priority:"high"});t.data.on("get",((t,e)=>{if(!e[0]){e[0]={}}e[0].trim=false}),{priority:"high"})}}function MR(t){return t.createContainerElement("span",{class:"image-inline"},t.createEmptyElement("img"))}function NR(t){return t.createContainerElement("figure",{class:"image"},[t.createEmptyElement("img"),t.createSlot("children")])}function PR(t,e){const n=t.plugins.get("ImageUtils");const i=t.plugins.has("ImageInlineEditing")&&t.plugins.has("ImageBlockEditing");return t=>{if(!n.isInlineImageView(t)){return null}if(!i){return o(t)}const r=t.getStyle("display")=="block"||t.findAncestor(n.isBlockImageView)?"imageBlock":"imageInline";if(r!==e){return null}return o(t)};function o(t){const e={name:true};if(t.hasAttribute("src")){e.attributes=["src"]}return e}}function LR(t,e){const n=gl(e.getSelectedBlocks());if(!n||t.isObject(n)){return"imageBlock"}if(n.isEmpty&&n.name!="listItem"){return"imageBlock"}return"imageInline"}function zR(t){if(t&&t.endsWith("px")){return parseInt(t)}return null}function OR(t){const e=zR(t.getStyle("width"));const n=zR(t.getStyle("height"));return!!(e&&n)}const RR=/^(image|image-inline)$/;class VR extends rh{constructor(){super(...arguments);this._domEmitter=new(Qa())}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,i={}){const o=this.editor;const r=o.model;const s=r.document.selection;const a=UR(o,e||s,n);t={...Object.fromEntries(s.getAttributes()),...t};for(const e in t){if(!r.schema.checkAttribute(a,e)){delete t[e]}}return r.change((n=>{const{setImageSizes:o=true}=i;const s=n.createElement(a,t);r.insertObject(s,e,null,{setSelection:"on",findOptimalPosition:!e&&a!="imageInline"?"auto":undefined});if(s.parent){if(o){this.setImageNaturalSizeAttributes(s)}return s}return null}))}setImageNaturalSizeAttributes(t){const e=t.getAttribute("src");if(!e){return}if(t.getAttribute("width")||t.getAttribute("height")){return}this.editor.model.change((n=>{const i=new nc.window.Image;this._domEmitter.listenTo(i,"load",(()=>{if(!t.getAttribute("width")&&!t.getAttribute("height")){this.editor.model.enqueueChange(n.batch,(e=>{e.setAttribute("width",i.naturalWidth,t);e.setAttribute("height",i.naturalHeight,t)}))}this._domEmitter.stopListening(i,"load")}));i.src=e}))}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;while(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")}getImageWidgetFromImageView(t){return t.findAncestor({classes:RR})}isImageAllowed(){const t=this.editor.model;const e=t.document.selection;return FR(this.editor,e)&&jR(e)}toImageWidget(t,e,n){e.setCustomProperty("image",true,t);const i=()=>{const e=this.findViewImgElement(t);const i=e.getAttribute("alt");return i?`${i} ${n}`:n};return BB(t,e,{label:i})}isImageWidget(t){return!!t.getCustomProperty("image")&&IB(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}}}destroy(){this._domEmitter.stopListening();return super.destroy()}}function FR(t,e){const n=UR(t,e,null);if(n=="imageBlock"){const n=HR(e,t.model);if(t.model.schema.checkChild(n,"imageBlock")){return true}}else if(t.model.schema.checkChild(e.focus,"imageInline")){return true}return false}function jR(t){return[...t.focus.getAncestors()].every((t=>!t.is("element","imageBlock")))}function HR(t,e){const n=RB(t,e);const i=n.start.parent;if(i.isEmpty&&!i.is("element","$root")){return i.parent}return i}function UR(t,e,n){const i=t.model.schema;const o=t.config.get("image.insert.type");if(!t.plugins.has("ImageBlockEditing")){return"imageInline"}if(!t.plugins.has("ImageInlineEditing")){return"imageBlock"}if(n){return n}if(o==="inline"){return"imageInline"}if(o!=="auto"){return"imageBlock"}if(e.is("selection")){return LR(i,e)}return i.checkChild(e,"imageInline")?"imageInline":"imageBlock"}const WR=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 GR extends rh{static get requires(){return[cN,VR,xN,pS]}static get pluginName(){return"AutoImage"}constructor(t){super(t);this._timeoutId=null;this._positionToInsert=null}init(){const t=this.editor;const e=t.model.document;const n=t.plugins.get("ClipboardPipeline");this.listenTo(n,"inputTransformation",(()=>{const t=e.selection.getFirstRange();const n=iC.fromPosition(t.start);n.stickiness="toPrevious";const i=iC.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",(()=>{if(this._timeoutId){nc.window.clearTimeout(this._timeoutId);this._positionToInsert.detach();this._timeoutId=null;this._positionToInsert=null}}),{priority:"high"})}_embedImageBetweenPositions(t,e){const n=this.editor;const i=new ck(t,e);const o=i.getWalker({ignoreElementEnd:true});const r=Object.fromEntries(n.model.document.selection.getAttributes());const s=this.editor.plugins.get("ImageUtils");let a="";for(const t of o){if(t.item.is("$textProxy")){a+=t.item.data}}a=a.trim();if(!a.match(WR)){i.detach();return}this._positionToInsert=iC.fromPosition(t);this._timeoutId=setTimeout((()=>{const t=n.commands.get("insertImage");if(!t.isEnabled){i.detach();return}n.model.change((t=>{this._timeoutId=null;t.remove(i);i.detach();let e;if(this._positionToInsert.root.rootName!=="$graveyard"){e=this._positionToInsert.toPosition()}s.insertImage({...r,src:a},e);this._positionToInsert.detach();this._positionToInsert=null}));const e=n.plugins.get("Delete");e.requestUndoOnBackspace()}),100)}}class qR extends ah{refresh(){const t=this.editor;const e=t.plugins.get("ImageUtils");const n=e.getClosestSelectedImageElement(this.editor.model.document.selection);this.isEnabled=!!n;if(this.isEnabled&&n.hasAttribute("alt")){this.value=n.getAttribute("alt")}else{this.value=false}}execute(t){const e=this.editor;const n=e.plugins.get("ImageUtils");const i=e.model;const o=n.getClosestSelectedImageElement(i.document.selection);i.change((e=>{e.setAttribute("alt",t.newValue,o)}))}}class $R extends rh{static get requires(){return[VR]}static get pluginName(){return"ImageTextAlternativeEditing"}init(){this.editor.commands.add("imageTextAlternative",new qR(this.editor))}}var KR=n(5269);var ZR={injectType:"singletonStyleTag",attributes:{"data-cke":true}};ZR.insert="head";ZR.singleton=true;var YR=Pl()(KR.Z,ZR);const QR=KR.Z.locals||{};var JR=n(6603);var XR={injectType:"singletonStyleTag",attributes:{"data-cke":true}};XR.insert="head";XR.singleton=true;var tV=Pl()(JR.Z,XR);const eV=JR.Z.locals||{};class nV extends Vl{constructor(t){super(t);const e=this.locale.t;this.focusTracker=new fl;this.keystrokes=new pl;this.labeledInput=this._createLabeledInputView();this.saveButtonView=this._createButton(e("Save"),Zv.check,"ck-button-save");this.saveButtonView.type="submit";this.cancelButtonView=this._createButton(e("Cancel"),Zv.cancel,"ck-button-cancel","cancel");this._focusables=new Bl;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]})}render(){super.render();this.keystrokes.listenTo(this.element);o({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 xd(this.locale);o.set({label:t,icon:e,tooltip:true});o.extendTemplate({attributes:{class:n}});if(i){o.delegate("execute").to(this,i)}return o}_createLabeledInputView(){const t=this.locale.t;const e=new Su(this.locale,jy);e.label=t("Text alternative");return e}}function iV(t){const e=t.plugins.get("ContextualBalloon");const n=t.plugins.get("ImageUtils");if(n.getClosestSelectedImageWidget(t.editing.view.document.selection)){const n=oV(t);e.updatePosition(n)}}function oV(t){const e=t.editing.view;const n=_E.defaultPositions;const 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 rV extends rh{static get requires(){return[MD]}static get pluginName(){return"ImageTextAlternativeUI"}init(){this._createButton()}destroy(){super.destroy();if(this._form){this._form.destroy()}}_createButton(){const t=this.editor;const e=t.t;t.ui.componentFactory.add("imageTextAlternative",(n=>{const i=t.commands.get("imageTextAlternative");const o=new xd(n);o.set({label:e("Change image text alternative"),icon:Zv.textAlternative,tooltip:true});o.bind("isEnabled").to(i,"isEnabled");o.bind("isOn").to(i,"value",(t=>!!t));this.listenTo(o,"execute",(()=>{this._showForm()}));return o}))}_createForm(){const n=this.editor;const i=n.editing.view;const o=i.document;const r=n.plugins.get("ImageUtils");this._balloon=this.editor.plugins.get("ContextualBalloon");this._form=new(e(nV))(n.locale);this._form.render();this.listenTo(this._form,"submit",(()=>{n.execute("imageTextAlternative",{newValue:this._form.labeledInput.fieldView.element.value});this._hideForm(true)}));this.listenTo(this._form,"cancel",(()=>{this._hideForm(true)}));this._form.keystrokes.set("Esc",((t,e)=>{this._hideForm(true);e()}));this.listenTo(n.ui,"update",(()=>{if(!r.getClosestSelectedImageWidget(o.selection)){this._hideForm(true)}else if(this._isVisible){iV(n)}}));t({emitter:this._form,activator:()=>this._isVisible,contextElements:()=>[this._balloon.view.element],callback:()=>this._hideForm()})}_showForm(){if(this._isVisible){return}if(!this._form){this._createForm()}const t=this.editor;const e=t.commands.get("imageTextAlternative");const n=this._form.labeledInput;this._form.disableCssTransitions();if(!this._isInBalloon){this._balloon.add({view:this._form,position:oV(t)})}n.fieldView.value=n.fieldView.element.value=e.value||"";this._form.labeledInput.fieldView.select();this._form.enableCssTransitions()}_hideForm(t=false){if(!this._isInBalloon){return}if(this._form.focusTracker.isFocused){this._form.saveButtonView.focus()}this._balloon.remove(this._form);if(t){this.editor.editing.view.focus()}}get _isVisible(){return!!this._balloon&&this._balloon.visibleView===this._form}get _isInBalloon(){return!!this._balloon&&this._balloon.hasView(this._form)}}class sV extends rh{static get requires(){return[$R,rV]}static get pluginName(){return"ImageTextAlternative"}}function aV(t){const e=(e,n,i)=>{if(!i.consumable.test(n.viewItem,{name:true,classes:"image"})){return}const o=t.findViewImgElement(n.viewItem);if(!o||!i.consumable.test(o,{name:true})){return}i.consumable.consume(n.viewItem,{name:true,classes:"image"});const r=i.convertItem(o,n.modelCursor);const s=gl(r.modelRange.getItems());if(!s){i.consumable.revert(n.viewItem,{name:true,classes:"image"});return}i.convertChildren(n.viewItem,s);i.updateConversionResult(s,n)};return t=>{t.on("element:figure",e)}}function cV(t){const e=["srcset","media","type","sizes"];const n=(n,i,o)=>{const r=i.viewItem;if(!o.consumable.test(r,{name:true})){return}const s=new Map;for(const t of r.getChildren()){if(t.is("element","source")){const n={};for(const i of e){if(t.hasAttribute(i)){if(o.consumable.test(t,{attributes:i})){n[i]=t.getAttribute(i)}}}if(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=first(t.modelRange.getItems())}o.consumable.consume(r,{name:true});for(const[t,e]of s){o.consumable.consume(t,{attributes:Object.keys(e)})}if(s.size){o.writer.setAttribute("sources",Array.from(s.values()),c)}o.convertChildren(r,c)};return t=>{t.on("element:picture",n)}}function lV(t,e){const n=(e,n,i)=>{if(!i.consumable.consume(n.item,e.name)){return}const o=i.writer;const r=i.mapper.toViewElement(n.item);const s=t.findViewImgElement(r);if(n.attributeNewValue===null){o.removeAttribute("srcset",s);o.removeAttribute("sizes",s)}else{if(n.attributeNewValue){o.setAttribute("srcset",n.attributeNewValue,s);o.setAttribute("sizes","100vw",s)}}};return t=>{t.on(`attribute:srcset:${e}`,n)}}function dV(t){const e=(e,n,i)=>{if(!i.consumable.consume(n.item,e.name)){return}const o=i.writer;const r=i.mapper.toViewElement(n.item);const s=t.findViewImgElement(r);const a=n.attributeNewValue;if(a&&a.length){const t=o.createContainerElement("picture",null,a.map((t=>o.createEmptyElement("source",t))));const e=[];let n=s.parent;while(n&&n.is("attributeElement")){const t=n.parent;o.unwrap(o.createRangeOn(s),n);e.unshift(n);n=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)}};return t=>{t.on("attribute:sources:imageBlock",e);t.on("attribute:sources:imageInline",e)}}function uV(t,e,n){const i=(e,n,i)=>{if(!i.consumable.consume(n.item,e.name)){return}const o=i.writer;const r=i.mapper.toViewElement(n.item);const s=t.findViewImgElement(r);o.setAttribute(n.attributeKey,n.attributeNewValue||"",s)};return t=>{t.on(`attribute:${n}:${e}`,i)}}class hV extends lp{observe(t){this.listenTo(t,"load",((t,e)=>{const n=e.target;if(this.checkShouldIgnoreEventFromTarget(n)){return}if(n.tagName=="IMG"){this._fireEvents(e)}}),{useCapture:true})}stopObserving(t){this.stopListening(t)}_fireEvents(t){if(this.isEnabled){this.document.fire("layoutChanged");this.document.fire("imageLoaded",t)}}}class mV extends ah{constructor(t){super(t);const e=t.config.get("image.insert.type");if(!t.plugins.has("ImageBlockEditing")){if(e==="block"){L("image-block-plugin-required")}}if(!t.plugins.has("ImageInlineEditing")){if(e==="inline"){L("image-inline-plugin-required")}}}refresh(){const t=this.editor.plugins.get("ImageUtils");this.isEnabled=t.isImageAllowed()}execute(t){const e=il(t.source);const n=this.editor.model.document.selection;const i=this.editor.plugins.get("ImageUtils");const o=Object.fromEntries(n.getAttributes());e.forEach(((t,e)=>{const r=n.getSelectedElement();if(typeof t==="string"){t={src:t}}if(e&&r&&i.isImage(r)){const e=this.editor.model.createPositionAfter(r);i.insertImage({...t,...o},e)}else{i.insertImage({...t,...o})}}))}}class gV extends ah{constructor(t){super(t);this.decorate("cleanupImage")}refresh(){const t=this.editor;const e=t.plugins.get("ImageUtils");const n=this.editor.model.document.selection.getSelectedElement();this.isEnabled=e.isImage(n);this.value=this.isEnabled?n.getAttribute("src"):null}execute(t){const e=this.editor.model.document.selection.getSelectedElement();const n=this.editor.plugins.get("ImageUtils");this.editor.model.change((i=>{i.setAttribute("src",t.source,e);this.cleanupImage(i,e);n.setImageNaturalSizeAttributes(e)}))}cleanupImage(t,e){t.removeAttribute("srcset",e);t.removeAttribute("sizes",e);t.removeAttribute("sources",e);t.removeAttribute("width",e);t.removeAttribute("height",e);t.removeAttribute("alt",e)}}class fV extends rh{static get requires(){return[VR]}static get pluginName(){return"ImageEditing"}init(){const t=this.editor;const e=t.conversion;t.editing.view.addObserver(hV);e.for("upcast").attributeToAttribute({view:{name:"img",key:"alt"},model:"alt"}).attributeToAttribute({view:{name:"img",key:"srcset"},model:"srcset"});const n=new mV(t);const i=new gV(t);t.commands.add("insertImage",n);t.commands.add("replaceImageSource",i);t.commands.add("imageInsert",n)}}class pV extends rh{static get requires(){return[VR]}static get pluginName(){return"ImageSizeAttributes"}afterInit(){this._registerSchema();this._registerConverters("imageBlock");this._registerConverters("imageInline")}_registerSchema(){if(this.editor.plugins.has("ImageBlockEditing")){this.editor.model.schema.extend("imageBlock",{allowAttributes:["width","height"]})}if(this.editor.plugins.has("ImageInlineEditing")){this.editor.model.schema.extend("imageInline",{allowAttributes:["width","height"]})}}_registerConverters(t){const e=this.editor;const n=e.plugins.get("ImageUtils");const i=t==="imageBlock"?"figure":"img";e.conversion.for("upcast").attributeToAttribute({view:{name:i,styles:{width:/.+/}},model:{key:"width",value:t=>{if(OR(t)){return zR(t.getStyle("width"))}return null}}}).attributeToAttribute({view:{name:i,key:"width"},model:"width"}).attributeToAttribute({view:{name:i,styles:{height:/.+/}},model:{key:"height",value:t=>{if(OR(t)){return zR(t.getStyle("height"))}return null}}}).attributeToAttribute({view:{name:i,key:"height"},model:"height"});e.conversion.for("editingDowncast").add((t=>{o(t,"width","width",true);o(t,"height","height",true)}));e.conversion.for("dataDowncast").add((t=>{o(t,"width","width",false);o(t,"height","height",false)}));function o(e,i,o,r){e.on(`attribute:${i}:${t}`,((e,i,s)=>{if(!s.consumable.consume(i.item,e.name)){return}const a=s.writer;const c=s.mapper.toViewElement(i.item);const l=n.findViewImgElement(c);if(i.attributeNewValue!==null){a.setAttribute(o,i.attributeNewValue,l)}else{a.removeAttribute(o,l)}if(i.item.hasAttribute("sources")){return}const d=i.item.hasAttribute("resizedWidth");if(t==="imageInline"&&!d&&!r){return}const u=i.item.getAttribute("width");const h=i.item.getAttribute("height");if(u&&h){a.setStyle("aspect-ratio",`${u}/${h}`,l)}}))}}}class bV extends ah{constructor(t,e){super(t);this._modelElementName=e}refresh(){const t=this.editor;const e=t.plugins.get("ImageUtils");const n=e.getClosestSelectedImageElement(this.editor.model.document.selection);if(this._modelElementName==="imageBlock"){this.isEnabled=e.isInlineImage(n)}else{this.isEnabled=e.isBlockImage(n)}}execute(t={}){const e=this.editor;const n=this.editor.model;const i=e.plugins.get("ImageUtils");const o=i.getClosestSelectedImageElement(n.document.selection);const r=Object.fromEntries(o.getAttributes());if(!r.src&&!r.uploadId){return null}return n.change((e=>{const{setImageSizes:s=true}=t;const a=Array.from(n.markers).filter((t=>t.getRange().containsItem(o)));const c=i.insertImage(r,n.createSelection(o,"on"),this._modelElementName,{setImageSizes:s});if(!c){return null}const l=e.createRangeOn(c);for(const t of a){const n=t.getRange();const i=n.root.rootName!="$graveyard"?n.getJoined(l,true):l;e.updateMarker(t,{range:i})}return{oldElement:o,newElement:c}}))}}var kV=n(31);var wV={injectType:"singletonStyleTag",attributes:{"data-cke":true}};wV.insert="head";wV.singleton=true;var AV=Pl()(kV.Z,wV);const CV=kV.Z.locals||{};class _V extends rh{static get requires(){return[VR]}static get pluginName(){return"ImagePlaceholder"}afterInit(){this._setupSchema();this._setupConversion();this._setupLoadListener()}_setupSchema(){const t=this.editor.model.schema;if(t.isRegistered("imageBlock")){t.extend("imageBlock",{allowAttributes:["placeholder"]})}if(t.isRegistered("imageInline")){t.extend("imageInline",{allowAttributes:["placeholder"]})}}_setupConversion(){const t=this.editor;const e=t.conversion;const n=t.plugins.get("ImageUtils");e.for("editingDowncast").add((t=>{t.on("attribute:placeholder",((t,e,i)=>{if(!i.consumable.test(e.item,t.name)){return}if(!e.item.is("element","imageBlock")&&!e.item.is("element","imageInline")){return}i.consumable.consume(e.item,t.name);const o=i.writer;const r=i.mapper.toViewElement(e.item);const s=n.findViewImgElement(r);if(e.attributeNewValue){o.addClass("image_placeholder",s);o.setStyle("background-image",`url(${e.attributeNewValue})`,s);o.setCustomProperty("editingPipeline:doNotReuseOnce",true,s)}else{o.removeClass("image_placeholder",s);o.removeStyle("background-image",s)}}))}))}_setupLoadListener(){const t=this.editor;const e=t.model;const n=t.editing;const i=n.view;const o=t.plugins.get("ImageUtils");i.addObserver(hV);this.listenTo(i.document,"imageLoaded",((t,r)=>{const s=i.domConverter.mapDomToView(r.target);if(!s){return}const a=o.getImageWidgetFromImageView(s);if(!a){return}const c=n.mapper.toModelElement(a);if(!c||!c.hasAttribute("placeholder")){return}e.enqueueChange({isUndoable:false},(t=>{t.removeAttribute("placeholder",c)}))}))}}class vV extends rh{static get requires(){return[fV,pV,VR,_V,_B]}static get pluginName(){return"ImageBlockEditing"}init(){const t=this.editor;const e=t.model.schema;e.register("imageBlock",{inheritAllFrom:"$blockObject",allowAttributes:["alt","src","srcset"]});this._setupConversion();if(t.plugins.has("ImageInlineEditing")){t.commands.add("imageTypeBlock",new bV(this.editor,"imageBlock"));this._setupClipboardIntegration()}}_setupConversion(){const t=this.editor;const e=t.t;const n=t.conversion;const i=t.plugins.get("ImageUtils");n.for("dataDowncast").elementToStructure({model:"imageBlock",view:(t,{writer:e})=>NR(e)});n.for("editingDowncast").elementToStructure({model:"imageBlock",view:(t,{writer:n})=>i.toImageWidget(NR(n),n,e("image widget"))});n.for("downcast").add(uV(i,"imageBlock","src")).add(uV(i,"imageBlock","alt")).add(lV(i,"imageBlock"));n.for("upcast").elementToElement({view:PR(t,"imageBlock"),model:(t,{writer:e})=>e.createElement("imageBlock",t.hasAttribute("src")?{src:t.getAttribute("src")}:undefined)}).add(aV(i))}_setupClipboardIntegration(){const t=this.editor;const e=t.model;const n=t.editing.view;const i=t.plugins.get("ImageUtils");const o=t.plugins.get("ClipboardPipeline");this.listenTo(o,"inputTransformation",((o,r)=>{const s=Array.from(r.content.getChildren());let a;if(!s.every(i.isInlineImageView)){return}if(r.targetRanges){a=t.editing.mapper.toModelRange(r.targetRanges[0])}else{a=e.document.selection.getFirstRange()}const c=e.createSelection(a);if(LR(e.schema,c)==="imageBlock"){const t=new a_(n.document);const e=s.map((e=>t.createElement("figure",{class:"image"},e)));r.content=t.createDocumentFragment(e)}}));this.listenTo(o,"contentInsertion",((t,n)=>{if(n.method!=="paste"){return}e.change((t=>{const e=t.createRangeIn(n.content);for(const t of e.getItems()){if(t.is("element","imageBlock")){i.setImageNaturalSizeAttributes(t)}}}))}))}}var yV=n(8879);var xV={injectType:"singletonStyleTag",attributes:{"data-cke":true}};xV.insert="head";xV.singleton=true;var EV=Pl()(yV.Z,xV);const DV=yV.Z.locals||{};class TV extends Vl{constructor(t,e=[]){super(t);this.focusTracker=new fl;this.keystrokes=new pl;this._focusables=new Bl;this.children=this.createCollection();this._focusCycler=new Xu({focusables:this._focusables,focusTracker:this.focusTracker,keystrokeHandler:this.keystrokes,actions:{focusPrevious:"shift + tab",focusNext:"tab"}});for(const t of e){this.children.add(t);this._focusables.add(t);if(t instanceof gT){this._focusables.addMany(t.children)}}if(this._focusables.length>1){for(const t of this._focusables){if(SV(t)){t.focusCycler.on("forwardCycle",(t=>{this._focusCycler.focusNext();t.stop()}));t.focusCycler.on("backwardCycle",(t=>{this._focusCycler.focusPrevious();t.stop()}))}}}this.setTemplate({tag:"form",attributes:{class:["ck","ck-image-insert-form"],tabindex:-1},children:this.children})}render(){super.render();o({view:this});for(const t of this._focusables){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)}destroy(){super.destroy();this.focusTracker.destroy();this.keystrokes.destroy()}focus(){this._focusCycler.focusFirst()}}function SV(t){return"focusCycler"in t}class IV extends rh{static get pluginName(){return"ImageInsertUI"}static get requires(){return[VR]}constructor(t){super(t);this._integrations=new Map;t.config.define("image.insert.integrations",["upload","assetManager","url"])}init(){const t=this.editor;const e=t.model.document.selection;const n=t.plugins.get("ImageUtils");this.set("isImageSelected",false);this.listenTo(t.model.document,"change",(()=>{this.isImageSelected=n.isImage(e.getSelectedElement())}));const i=t=>this._createToolbarComponent(t);t.ui.componentFactory.add("insertImage",i);t.ui.componentFactory.add("imageInsert",i)}registerIntegration({name:t,observable:e,buttonViewCreator:n,formViewCreator:i,requiresForm:o}){if(this._integrations.has(t)){L("image-insert-integration-exists",{name:t})}this._integrations.set(t,{observable:e,buttonViewCreator:n,formViewCreator:i,requiresForm:!!o})}_createToolbarComponent(t){const e=this.editor;const n=t.t;const i=this._prepareIntegrations();if(!i.length){return null}let o;const r=i[0];if(i.length==1){if(!r.requiresForm){return r.buttonViewCreator(true)}o=r.buttonViewCreator(true)}else{const e=r.buttonViewCreator(false);o=new ky(t,e);o.tooltip=true;o.bind("label").to(this,"isImageSelected",(t=>t?n("Replace image"):n("Insert image")))}const s=this.dropdownView=Dy(t,o);const a=i.map((({observable:t})=>t));s.bind("isEnabled").toMany(a,"isEnabled",((...t)=>t.some((t=>t))));s.once("change:isOpen",(()=>{const t=i.map((({formViewCreator:t})=>t(i.length==1)));const n=new TV(e.locale,t);s.panelView.children.add(n)}));return s}_prepareIntegrations(){const t=this.editor;const e=t.config.get("image.insert.integrations");const n=[];if(!e.length){L("image-insert-integrations-not-specified");return n}for(const t of e){if(!this._integrations.has(t)){if(!["upload","assetManager","url"].includes(t)){L("image-insert-unknown-integration",{item:t})}continue}n.push(this._integrations.get(t))}if(!n.length){L("image-insert-integrations-not-registered")}return n}}var BV=n(2430);var MV={injectType:"singletonStyleTag",attributes:{"data-cke":true}};MV.insert="head";MV.singleton=true;var NV=Pl()(BV.Z,MV);const PV=BV.Z.locals||{};class LV extends rh{static get requires(){return[vV,bM,sV,IV]}static get pluginName(){return"ImageBlock"}}class zV extends rh{static get requires(){return[fV,pV,VR,_V,_B]}static get pluginName(){return"ImageInlineEditing"}init(){const t=this.editor;const e=t.model.schema;e.register("imageInline",{inheritAllFrom:"$inlineObject",allowAttributes:["alt","src","srcset"]});e.addChildCheck(((t,e)=>{if(t.endsWith("caption")&&e.name==="imageInline"){return false}}));this._setupConversion();if(t.plugins.has("ImageBlockEditing")){t.commands.add("imageTypeInline",new bV(this.editor,"imageInline"));this._setupClipboardIntegration()}}_setupConversion(){const t=this.editor;const e=t.t;const n=t.conversion;const 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(MR(n),n,e("image widget"))});n.for("downcast").add(uV(i,"imageInline","src")).add(uV(i,"imageInline","alt")).add(lV(i,"imageInline"));n.for("upcast").elementToElement({view:PR(t,"imageInline"),model:(t,{writer:e})=>e.createElement("imageInline",t.hasAttribute("src")?{src:t.getAttribute("src")}:undefined)})}_setupClipboardIntegration(){const t=this.editor;const e=t.model;const n=t.editing.view;const i=t.plugins.get("ImageUtils");const o=t.plugins.get("ClipboardPipeline");this.listenTo(o,"inputTransformation",((o,r)=>{const s=Array.from(r.content.getChildren());let a;if(!s.every(i.isBlockImageView)){return}if(r.targetRanges){a=t.editing.mapper.toModelRange(r.targetRanges[0])}else{a=e.document.selection.getFirstRange()}const c=e.createSelection(a);if(LR(e.schema,c)==="imageInline"){const t=new a_(n.document);const e=s.map((e=>{if(e.childCount===1){Array.from(e.getAttributes()).forEach((n=>t.setAttribute(...n,i.findViewImgElement(e))));return e.getChild(0)}else{return e}}));r.content=t.createDocumentFragment(e)}}));this.listenTo(o,"contentInsertion",((t,n)=>{if(n.method!=="paste"){return}e.change((t=>{const e=t.createRangeIn(n.content);for(const t of e.getItems()){if(t.is("element","imageInline")){i.setImageNaturalSizeAttributes(t)}}}))}))}}class OV extends rh{static get requires(){return[zV,bM,sV,IV]}static get pluginName(){return"ImageInline"}}class RV extends rh{static get requires(){return[LV,OV]}static get pluginName(){return"Image"}}class VV extends rh{static get pluginName(){return"ImageCaptionUtils"}static get requires(){return[VR]}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");const n=t.getFirstPosition().findAncestor("caption");if(!n){return null}if(e.isBlockImage(n.parent)){return n}return null}matchImageCaptionViewElement(t){const e=this.editor.plugins.get("ImageUtils");if(t.name=="figcaption"&&e.isBlockImageView(t.parent)){return{name:true}}return null}}class FV extends ah{refresh(){const t=this.editor;const e=t.plugins.get("ImageCaptionUtils");const n=t.plugins.get("ImageUtils");if(!t.plugins.has(vV)){this.isEnabled=false;this.value=false;return}const i=t.model.document.selection;const o=i.getSelectedElement();if(!o){const t=e.getCaptionFromModelSelection(i);this.isEnabled=!!t;this.value=!!t;return}this.isEnabled=n.isImage(o);if(!this.isEnabled){this.value=false}else{this.value=!!e.getCaptionFromImageModelElement(o)}}execute(t={}){const{focusCaptionOnShow:e}=t;this.editor.model.change((t=>{if(this.value){this._hideImageCaption(t)}else{this._showImageCaption(t,e)}}))}_showImageCaption(t,e){const n=this.editor.model;const i=n.document.selection;const o=this.editor.plugins.get("ImageCaptionEditing");const r=this.editor.plugins.get("ImageUtils");let s=i.getSelectedElement();const a=o._getSavedCaption(s);if(r.isInlineImage(s)){this.editor.execute("imageTypeBlock");s=i.getSelectedElement()}const c=a||t.createElement("caption");t.append(c,s);if(e){t.setSelection(c,"in")}}_hideImageCaption(t){const e=this.editor;const n=e.model.document.selection;const i=e.plugins.get("ImageCaptionEditing");const o=e.plugins.get("ImageCaptionUtils");let r=n.getSelectedElement();let s;if(r){s=o.getCaptionFromImageModelElement(r)}else{s=o.getCaptionFromModelSelection(n);r=s.parent}i._saveCaption(r,s);t.setSelection(r,"on");t.remove(s)}}class jV extends rh{static get requires(){return[VR,VV]}static get pluginName(){return"ImageCaptionEditing"}constructor(t){super(t);this._savedCaptionsMap=new WeakMap}init(){const t=this.editor;const e=t.model.schema;if(!e.isRegistered("caption")){e.register("caption",{allowIn:"imageBlock",allowContentOf:"$block",isLimit:true})}else{e.extend("caption",{allowIn:"imageBlock"})}t.commands.add("toggleImageCaption",new FV(this.editor));this._setupConversion();this._setupImageTypeCommandsIntegration();this._registerCaptionReconversion()}_setupConversion(){const t=this.editor;const e=t.editing.view;const n=t.plugins.get("ImageUtils");const i=t.plugins.get("ImageCaptionUtils");const 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})=>{if(!n.isBlockImage(t.parent)){return null}return e.createContainerElement("figcaption")}});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",true,r);r.placeholder=o("Enter image caption");wh({view:e,element:r,keepOnFocus:true});const s=t.parent.getAttribute("alt");const a=s?o("Caption for image: %0",[s]):o("Caption for the image");return OB(r,i,{label:a})}})}_setupImageTypeCommandsIntegration(){const t=this.editor;const e=t.plugins.get("ImageUtils");const n=t.plugins.get("ImageCaptionUtils");const i=t.commands.get("imageTypeInline");const o=t.commands.get("imageTypeBlock");const 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){this._saveCaption(o,t);return}}const r=this._getSavedCaption(i);if(r){this._saveCaption(o,r)}};if(i){this.listenTo(i,"execute",r,{priority:"low"})}if(o){this.listenTo(o,"execute",r,{priority:"low"})}}_getSavedCaption(t){const e=this._savedCaptionsMap.get(t);return e?Lb.fromJSON(e):null}_saveCaption(t,e){this._savedCaptionsMap.set(t,e.toJSON())}_registerCaptionReconversion(){const t=this.editor;const e=t.model;const n=t.plugins.get("ImageUtils");const i=t.plugins.get("ImageCaptionUtils");e.document.on("change:data",(()=>{const o=e.document.differ.getChanges();for(const e of o){if(e.attributeKey!=="alt"){continue}const o=e.range.start.nodeAfter;if(n.isBlockImage(o)){const e=i.getCaptionFromImageModelElement(o);if(!e){return}t.editing.reconvertItem(e)}}}))}}class HV extends rh{static get requires(){return[VV]}static get pluginName(){return"ImageCaptionUI"}init(){const t=this.editor;const e=t.editing.view;const n=t.plugins.get("ImageCaptionUtils");const i=t.t;t.ui.componentFactory.add("toggleImageCaption",(o=>{const r=t.commands.get("toggleImageCaption");const s=new xd(o);s.set({icon:Zv.caption,tooltip:true,isToggleable:true});s.bind("isOn","isEnabled").to(r,"value","isEnabled");s.bind("label").to(r,"value",(t=>t?i("Toggle caption off"):i("Toggle caption on")));this.listenTo(s,"execute",(()=>{t.execute("toggleImageCaption",{focusCaptionOnShow:true});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()}));return s}))}}var UV=n(2423);var WV={injectType:"singletonStyleTag",attributes:{"data-cke":true}};WV.insert="head";WV.singleton=true;var GV=Pl()(UV.Z,WV);const qV=UV.Z.locals||{};class $V extends rh{static get requires(){return[jV,HV]}static get pluginName(){return"ImageCaption"}}class KV extends(mt()){constructor(){super();const t=new window.FileReader;this._reader=t;this._data=undefined;this.set("loaded",0);t.onprogress=t=>{this.loaded=t.loaded}}get error(){return this._reader.error}get data(){return this._data}read(t){const e=this._reader;this.total=t.size;return new Promise(((n,i)=>{e.onload=()=>{const t=e.result;this._data=t;n(t)};e.onerror=()=>{i("error")};e.onabort=()=>{i("aborted")};this._reader.readAsDataURL(t)}))}abort(){this._reader.abort()}}class ZV extends rh{constructor(){super(...arguments);this.loaders=new ml;this._loadersMap=new Map;this._pendingAction=null}static get pluginName(){return"FileRepository"}static get requires(){return[av]}init(){this.loaders.on("change",(()=>this._updatePendingAction()));this.set("uploaded",0);this.set("uploadTotal",null);this.bind("uploadedPercent").to(this,"uploaded",this,"uploadTotal",((t,e)=>e?t/e*100:0))}getLoader(t){return this._loadersMap.get(t)||null}createLoader(t){if(!this.createUploadAdapter){L("filerepository-no-upload-adapter");return null}const e=new YV(Promise.resolve(t),this.createUploadAdapter);this.loaders.add(e);this._loadersMap.set(t,e);if(t instanceof Promise){e.file.then((t=>{this._loadersMap.set(t,e)})).catch((()=>{}))}e.on("change:uploaded",(()=>{let t=0;for(const e of this.loaders){t+=e.uploaded}this.uploaded=t}));e.on("change:uploadTotal",(()=>{let t=0;for(const e of this.loaders){if(e.uploadTotal){t+=e.uploadTotal}}this.uploadTotal=t}));return e}destroyLoader(t){const e=t instanceof YV?t:this.getLoader(t);e._destroy();this.loaders.remove(e);this._loadersMap.forEach(((t,n)=>{if(t===e){this._loadersMap.delete(n)}}))}_updatePendingAction(){const t=this.editor.plugins.get(av);if(this.loaders.length){if(!this._pendingAction){const e=this.editor.t;const n=t=>`${e("Upload in progress")} ${parseInt(t)}%.`;this._pendingAction=t.add(n(this.uploadedPercent));this._pendingAction.bind("message").to(this,"uploadedPercent",n)}}else{t.remove(this._pendingAction);this._pendingAction=null}}}class YV extends(mt()){constructor(t,e){super();this.id=S();this._filePromiseWrapper=this._createFilePromiseWrapper(t);this._adapter=e(this);this._reader=new KV;this.set("status","idle");this.set("uploaded",0);this.set("uploadTotal",null);this.bind("uploadedPercent").to(this,"uploaded",this,"uploadTotal",((t,e)=>e?t/e*100:0));this.set("uploadResponse",null)}get file(){if(!this._filePromiseWrapper){return Promise.resolve(null)}else{return this._filePromiseWrapper.promise.then((t=>this._filePromiseWrapper?t:null))}}get data(){return this._reader.data}read(){if(this.status!="idle"){throw new P("filerepository-read-wrong-status",this)}this.status="reading";return this.file.then((t=>this._reader.read(t))).then((t=>{if(this.status!=="reading"){throw this.status}this.status="idle";return t})).catch((t=>{if(t==="aborted"){this.status="aborted";throw"aborted"}this.status="error";throw this._reader.error?this._reader.error:t}))}upload(){if(this.status!="idle"){throw new P("filerepository-upload-wrong-status",this)}this.status="uploading";return this.file.then((()=>this._adapter.upload())).then((t=>{this.uploadResponse=t;this.status="idle";return t})).catch((t=>{if(this.status==="aborted"){throw"aborted"}this.status="error";throw t}))}abort(){const t=this.status;this.status="aborted";if(!this._filePromiseWrapper.isFulfilled){this._filePromiseWrapper.promise.catch((()=>{}));this._filePromiseWrapper.rejecter("aborted")}else if(t=="reading"){this._reader.abort()}else if(t=="uploading"&&this._adapter.abort){this._adapter.abort()}this._destroy()}_destroy(){this._filePromiseWrapper=undefined;this._reader=undefined;this._adapter=undefined;this.uploadResponse=undefined}_createFilePromiseWrapper(t){const e={};e.promise=new Promise(((n,i)=>{e.rejecter=i;e.isFulfilled=false;t.then((t=>{e.isFulfilled=true;n(t)})).catch((t=>{e.isFulfilled=true;i(t)}))}));return e}}class QV extends xd{constructor(t){super(t);this.buttonView=this;this._fileInputView=new JV(t);this._fileInputView.bind("acceptedType").to(this);this._fileInputView.bind("allowMultipleFiles").to(this);this._fileInputView.delegate("done").to(this);this.on("execute",(()=>{this._fileInputView.open()}));this.extendTemplate({attributes:{class:"ck-file-dialog-button"}})}render(){super.render();this.children.add(this._fileInputView)}}class JV extends Vl{constructor(t){super(t);this.set("acceptedType",undefined);this.set("allowMultipleFiles",false);const e=this.bindTemplate;this.setTemplate({tag:"input",attributes:{class:["ck-hidden"],type:"file",tabindex:"-1",accept:e.to("acceptedType"),multiple:e.to("allowMultipleFiles")},on:{change:e.to((()=>{if(this.element&&this.element.files&&this.element.files.length){this.fire("done",this.element.files)}this.element.value=""}))}})}open(){this.element.click()}}class XV extends(null&&Plugin){static get requires(){return[FileRepository]}static get pluginName(){return"Base64UploadAdapter"}init(){this.editor.plugins.get(FileRepository).createUploadAdapter=t=>new tF(t)}}class tF{constructor(t){this.loader=t}upload(){return new Promise(((t,e)=>{const n=this.reader=new window.FileReader;n.addEventListener("load",(()=>{t({default:n.result})}));n.addEventListener("error",(t=>{e(t)}));n.addEventListener("abort",(()=>{e()}));this.loader.file.then((t=>{n.readAsDataURL(t)}))}))}abort(){this.reader.abort()}}class eF extends rh{static get requires(){return[ZV]}static get pluginName(){return"SimpleUploadAdapter"}init(){const t=this.editor.config.get("simpleUpload");if(!t){return}if(!t.uploadUrl){L("simple-upload-adapter-missing-uploadurl");return}this.editor.plugins.get(ZV).createUploadAdapter=e=>new nF(e,t)}}class nF{constructor(t,e){this.loader=t;this.options=e}upload(){return this.loader.file.then((t=>new Promise(((e,n)=>{this._initRequest();this._initListeners(e,n,t);this._sendRequest(t)}))))}abort(){if(this.xhr){this.xhr.abort()}}_initRequest(){const t=this.xhr=new XMLHttpRequest;t.open("POST",this.options.uploadUrl,true);t.responseType="json"}_initListeners(t,e,n){const i=this.xhr;const o=this.loader;const r=`Couldn't upload file: ${n.name}.`;i.addEventListener("error",(()=>e(r)));i.addEventListener("abort",(()=>e()));i.addEventListener("load",(()=>{const n=i.response;if(!n||n.error){return e(n&&n.error&&n.error.message?n.error.message:r)}const o=n.url?{default:n.url}:n.urls;t({...n,urls:o})}));if(i.upload){i.upload.addEventListener("progress",(t=>{if(t.lengthComputable){o.uploadTotal=t.total;o.uploaded=t.loaded}}))}}_sendRequest(t){const e=this.options.headers||{};const n=this.options.withCredentials||false;for(const t of Object.keys(e)){this.xhr.setRequestHeader(t,e[t])}this.xhr.withCredentials=n;const i=new FormData;i.append("upload",t);this.xhr.send(i)}}function iF(t){const e=t.map((t=>t.replace("+","\\+")));return new RegExp(`^image\\/(${e.join("|")})$`)}function oF(t){return new Promise(((e,n)=>{const i=t.getAttribute("src");fetch(i).then((t=>t.blob())).then((t=>{const n=sF(t,i);const o=n.replace("image/","");const r=`image.${o}`;const s=new File([t],r,{type:n});e(s)})).catch((t=>t&&t.name==="TypeError"?aF(i).then(e).catch(n):n(t)))}))}function rF(t,e){if(!t.isInlineImageView(e)||!e.getAttribute("src")){return false}return!!e.getAttribute("src").match(/^data:image\/\w+;base64,/g)||!!e.getAttribute("src").match(/^blob:/g)}function sF(t,e){if(t.type){return t.type}else if(e.match(/data:(image\/\w+);base64/)){return e.match(/data:(image\/\w+);base64/)[1].toLowerCase()}else{return"image/jpeg"}}function aF(t){return cF(t).then((e=>{const n=sF(e,t);const i=n.replace("image/","");const o=`image.${i}`;return new File([e],o,{type:n})}))}function cF(t){return new Promise(((e,n)=>{const i=nc.document.createElement("img");i.addEventListener("load",(()=>{const t=nc.document.createElement("canvas");t.width=i.width;t.height=i.height;const o=t.getContext("2d");o.drawImage(i,0,0);t.toBlob((t=>t?e(t):n()))}));i.addEventListener("error",(()=>n()));i.src=t}))}class lF extends rh{static get pluginName(){return"ImageUploadUI"}init(){const t=this.editor;const e=t.t;const n=n=>{const i=new QV(n);const o=t.commands.get("uploadImage");const r=t.config.get("image.upload.types");const s=iF(r);i.set({acceptedType:r.map((t=>`image/${t}`)).join(","),allowMultipleFiles:true,label:e("Upload image from computer"),icon:Zv.imageUpload,tooltip:true});i.bind("isEnabled").to(o);i.on("done",((e,n)=>{const i=Array.from(n).filter((t=>s.test(t.type)));if(i.length){t.execute("uploadImage",{file:i});t.editing.view.focus()}}));return i};t.ui.componentFactory.add("uploadImage",n);t.ui.componentFactory.add("imageUpload",n);if(t.plugins.has("ImageInsertUI")){const n=t.plugins.get("ImageInsertUI");const i=t.commands.get("uploadImage");n.registerIntegration({name:"upload",observable:i,buttonViewCreator:()=>{const i=t.ui.componentFactory.create("uploadImage");i.bind("label").to(n,"isImageSelected",(t=>t?e("Replace image from computer"):e("Upload image from computer")));return i},formViewCreator:()=>{const i=t.ui.componentFactory.create("uploadImage");i.withText=true;i.bind("label").to(n,"isImageSelected",(t=>t?e("Replace from computer"):e("Upload from computer")));i.on("execute",(()=>{n.dropdownView.isOpen=false}));return i}})}}}var dF=n(2926);var uF={injectType:"singletonStyleTag",attributes:{"data-cke":true}};uF.insert="head";uF.singleton=true;var hF=Pl()(dF.Z,uF);const mF=dF.Z.locals||{};var gF=n(1547);var fF={injectType:"singletonStyleTag",attributes:{"data-cke":true}};fF.insert="head";fF.singleton=true;var pF=Pl()(gF.Z,fF);const bF=gF.Z.locals||{};var kF=n(6618);var wF={injectType:"singletonStyleTag",attributes:{"data-cke":true}};wF.insert="head";wF.singleton=true;var AF=Pl()(kF.Z,wF);const CF=kF.Z.locals||{};class _F extends rh{static get pluginName(){return"ImageUploadProgress"}constructor(t){super(t);this.uploadStatusChange=(t,e,n)=>{const i=this.editor;const o=e.item;const r=o.getAttribute("uploadId");if(!n.consumable.consume(e.item,t.name)){return}const s=i.plugins.get("ImageUtils");const a=i.plugins.get(ZV);const c=r?e.attributeNewValue:null;const l=this.placeholder;const d=i.editing.mapper.toViewElement(o);const u=n.writer;if(c=="reading"){vF(d,u);xF(s,l,d,u);return}if(c=="uploading"){const t=a.loaders.get(r);vF(d,u);if(!t){xF(s,l,d,u)}else{EF(d,u);DF(d,u,t,i.editing.view);PF(s,d,u,t)}return}if(c=="complete"&&a.loaders.get(r)){SF(d,u,i.editing.view)}TF(d,u);EF(d,u);yF(d,u)};this.placeholder="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw=="}init(){const t=this.editor;if(t.plugins.has("ImageBlockEditing")){t.editing.downcastDispatcher.on("attribute:uploadStatus:imageBlock",this.uploadStatusChange)}if(t.plugins.has("ImageInlineEditing")){t.editing.downcastDispatcher.on("attribute:uploadStatus:imageInline",this.uploadStatusChange)}}}function vF(t,e){if(!t.hasClass("ck-appear")){e.addClass("ck-appear",t)}}function yF(t,e){e.removeClass("ck-appear",t)}function xF(t,e,n,i){if(!n.hasClass("ck-image-upload-placeholder")){i.addClass("ck-image-upload-placeholder",n)}const o=t.findViewImgElement(n);if(o.getAttribute("src")!==e){i.setAttribute("src",e,o)}if(!MF(n,"placeholder")){i.insert(i.createPositionAfter(o),BF(i))}}function EF(t,e){if(t.hasClass("ck-image-upload-placeholder")){e.removeClass("ck-image-upload-placeholder",t)}NF(t,e,"placeholder")}function DF(t,e,n,i){const o=IF(e);e.insert(e.createPositionAt(t,"end"),o);n.on("change:uploadedPercent",((t,e,n)=>{i.change((t=>{t.setStyle("width",n+"%",o)}))}))}function TF(t,e){NF(t,e,"progressBar")}function SF(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)}function IF(t){const e=t.createUIElement("div",{class:"ck-progress-bar"});t.setCustomProperty("progressBar",true,e);return e}function BF(t){const e=t.createUIElement("div",{class:"ck-upload-placeholder-loader"});t.setCustomProperty("placeholder",true,e);return e}function MF(t,e){for(const n of t.getChildren()){if(n.getCustomProperty(e)){return n}}}function NF(t,e,n){const i=MF(t,n);if(i){e.remove(e.createRangeOn(i))}}function PF(t,e,n,i){if(i.data){const o=t.findViewImgElement(e);n.setAttribute("src",i.data,o)}}class LF extends ah{refresh(){const t=this.editor;const e=t.plugins.get("ImageUtils");const n=t.model.document.selection.getSelectedElement();this.isEnabled=e.isImageAllowed()||e.isImage(n)}execute(t){const e=il(t.file);const n=this.editor.model.document.selection;const i=this.editor.plugins.get("ImageUtils");const 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;const o=i.plugins.get(ZV);const r=o.createLoader(t);const s=i.plugins.get("ImageUtils");if(!r){return}s.insertImage({...e,uploadId:r.id},n)}}class zF extends rh{static get requires(){return[ZV,wD,_B,VR]}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;const e=t.model.document;const n=t.conversion;const i=t.plugins.get(ZV);const o=t.plugins.get("ImageUtils");const r=t.plugins.get("ClipboardPipeline");const s=iF(t.config.get("image.upload.types"));const a=new LF(t);t.commands.add("uploadImage",a);t.commands.add("imageUpload",a);n.for("upcast").attributeToAttribute({view:{name:"img",key:"uploadId"},model:"uploadId"});this.listenTo(t.editing.view.document,"clipboardInput",((e,n)=>{if(OF(n.dataTransfer)){return}const i=Array.from(n.dataTransfer.files).filter((t=>{if(!t){return false}return s.test(t.type)}));if(!i.length){return}e.stop();t.model.change((e=>{if(n.targetRanges){e.setSelection(n.targetRanges.map((e=>t.editing.mapper.toModelRange(e))))}t.execute("uploadImage",{file:i})}))}));this.listenTo(r,"inputTransformation",((e,n)=>{const r=Array.from(t.editing.view.createRangeIn(n.content)).map((t=>t.item)).filter((t=>rF(o,t)&&!t.getAttribute("uploadProcessed"))).map((t=>({promise:oF(t),imageElement:t})));if(!r.length){return}const s=new a_(t.editing.view.document);for(const t of r){s.setAttribute("uploadProcessed",true,t.imageElement);const e=i.createLoader(t.promise);if(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:true}).reverse();const o=new Set;for(const e of n){if(e.type=="insert"&&e.name!="$text"){const n=e.position.nodeAfter;const r=e.position.root.rootName=="$graveyard";for(const e of RF(t,n)){const t=e.getAttribute("uploadId");if(!t){continue}const n=i.loaders.get(t);if(!n){continue}if(r){if(!o.has(t)){n.abort()}}else{o.add(t);this._uploadImageElements.set(t,e);if(n.status=="idle"){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);o.setImageNaturalSizeAttributes(e)}))}),{priority:"low"})}afterInit(){const t=this.editor.model.schema;if(this.editor.plugins.has("ImageBlockEditing")){t.extend("imageBlock",{allowAttributes:["uploadId","uploadStatus"]})}if(this.editor.plugins.has("ImageInlineEditing")){t.extend("imageInline",{allowAttributes:["uploadId","uploadStatus"]})}}_readAndUpload(t){const e=this.editor;const n=e.model;const i=e.locale.t;const o=e.plugins.get(ZV);const r=e.plugins.get(wD);const s=e.plugins.get("ImageUtils");const a=this._uploadImageElements;n.enqueueChange({isUndoable:false},(e=>{e.setAttribute("uploadStatus","reading",a.get(t.id))}));return t.read().then((()=>{const i=t.upload();const o=a.get(t.id);if(l.isSafari){const t=e.editing.mapper.toViewElement(o);const 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}))}n.enqueueChange({isUndoable:false},(t=>{t.setAttribute("uploadStatus","uploading",o)}));return i})).then((e=>{n.enqueueChange({isUndoable:false},(n=>{const i=a.get(t.id);n.setAttribute("uploadStatus","complete",i);this.fire("uploadComplete",{data:e,imageElement:i})}));c()})).catch((e=>{if(t.status!=="error"&&t.status!=="aborted"){throw e}if(t.status=="error"&&e){r.showWarning(e,{title:i("Upload failed"),namespace:"upload"})}n.enqueueChange({isUndoable:false},(e=>{e.remove(a.get(t.id))}));c()}));function c(){n.enqueueChange({isUndoable:false},(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)){i=Math.max(i,e);return true}})).map((e=>`${t[e]} ${e}w`)).join(", ");if(o!=""){const t={srcset:o};if(!e.hasAttribute("width")&&!e.hasAttribute("height")){t.width=i}n.setAttributes(t,e)}}}function OF(t){return Array.from(t.types).includes("text/html")&&t.getData("text/html")!==""}function RF(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 VF extends rh{static get pluginName(){return"ImageUpload"}static get requires(){return[zF,lF,_F]}}class FF extends(null&&View){constructor(t){super(t);this.set("imageURLInputValue","");this.set("isImageSelected",false);this.set("isEnabled",true);this.focusTracker=new FocusTracker;this.keystrokes=new KeystrokeHandler;this._focusables=new ViewCollection;this.focusCycler=new FocusCycler({focusables:this._focusables,focusTracker:this.focusTracker,keystrokeHandler:this.keystrokes,actions:{focusPrevious:"shift + tab",focusNext:"tab"}});this.urlInputView=this._createUrlInputView();this.insertButtonView=this._createInsertButton();this.cancelButtonView=this._createCancelButton();this._focusables.addMany([this.urlInputView,this.insertButtonView,this.cancelButtonView]);this.setTemplate({tag:"div",attributes:{class:["ck","ck-image-insert-url"]},children:[this.urlInputView,{tag:"div",attributes:{class:["ck","ck-image-insert-url__action-row"]},children:[this.insertButtonView,this.cancelButtonView]}]})}render(){super.render();for(const t of this._focusables){this.focusTracker.add(t.element)}this.keystrokes.listenTo(this.element)}destroy(){super.destroy();this.focusTracker.destroy();this.keystrokes.destroy()}_createUrlInputView(){const t=this.locale;const e=t.t;const n=new LabeledFieldView(t,createLabeledInputText);n.bind("label").to(this,"isImageSelected",(t=>t?e("Update image URL"):e("Insert image via URL")));n.bind("isEnabled").to(this);n.fieldView.placeholder="https://example.com/image.png";n.fieldView.bind("value").to(this,"imageURLInputValue",(t=>t||""));n.fieldView.on("input",(()=>{this.imageURLInputValue=n.fieldView.element.value.trim()}));return n}_createInsertButton(){const t=this.locale;const e=t.t;const n=new ButtonView(t);n.set({icon:icons.check,class:"ck-button-save",type:"submit",withText:true});n.bind("label").to(this,"isImageSelected",(t=>t?e("Update"):e("Insert")));n.bind("isEnabled").to(this,"imageURLInputValue",this,"isEnabled",((...t)=>t.every((t=>t))));n.delegate("execute").to(this,"submit");return n}_createCancelButton(){const t=this.locale;const e=t.t;const n=new ButtonView(t);n.set({label:e("Cancel"),icon:icons.cancel,class:"ck-button-cancel",withText:true});n.bind("isEnabled").to(this);n.delegate("execute").to(this,"cancel");return n}focus(t){if(t===-1){this.focusCycler.focusLast()}else{this.focusCycler.focusFirst()}}}class jF extends(null&&Plugin){static get pluginName(){return"ImageInsertViaUrlUI"}static get requires(){return[ImageInsertUI]}init(){this._imageInsertUI=this.editor.plugins.get("ImageInsertUI");const t=this.editor.commands.get("insertImage");this._imageInsertUI.registerIntegration({name:"url",observable:t,requiresForm:true,buttonViewCreator:t=>this._createInsertUrlButton(t),formViewCreator:t=>this._createInsertUrlView(t)})}_createInsertUrlView(t){const e=this.editor;const n=e.locale;const i=n.t;const o=e.commands.get("replaceImageSource");const r=e.commands.get("insertImage");const s=new ImageInsertUrlView(n);const a=t?null:new CollapsibleView(n,[s]);s.bind("isImageSelected").to(this._imageInsertUI);s.bind("isEnabled").toMany([r,o],"isEnabled",((...t)=>t.some((t=>t))));s.imageURLInputValue=o.value||"";this._imageInsertUI.dropdownView.on("change:isOpen",(()=>{if(this._imageInsertUI.dropdownView.isOpen){s.imageURLInputValue=o.value||"";if(a){a.isCollapsed=true}}}),{priority:"low"});s.on("submit",(()=>{if(o.isEnabled){e.execute("replaceImageSource",{source:s.imageURLInputValue})}else{e.execute("insertImage",{source:s.imageURLInputValue})}this._closePanel()}));s.on("cancel",(()=>this._closePanel()));if(a){a.set({isCollapsed:true});a.bind("label").to(this._imageInsertUI,"isImageSelected",(t=>t?i("Update image URL"):i("Insert image via URL")));return a}return s}_createInsertUrlButton(t){const e=t?DropdownButtonView:ButtonView;const n=this.editor;const i=new e(n.locale);const o=n.locale.t;i.set({icon:icons.imageUrl,tooltip:true});i.bind("label").to(this._imageInsertUI,"isImageSelected",(t=>t?o("Update image URL"):o("Insert image via URL")));return i}_closePanel(){this.editor.editing.view.focus();this._imageInsertUI.dropdownView.isOpen=false}}class HF extends(null&&Plugin){static get pluginName(){return"ImageInsertViaUrl"}static get requires(){return[ImageInsertViaUrlUI,ImageInsertUI]}}class UF extends(null&&Plugin){static get pluginName(){return"ImageInsert"}static get requires(){return[ImageUpload,ImageInsertViaUrl,ImageInsertUI]}}class WF extends ah{refresh(){const t=this.editor;const e=t.plugins.get("ImageUtils");const n=e.getClosestSelectedImageElement(t.model.document.selection);this.isEnabled=!!n;if(!n||!n.hasAttribute("resizedWidth")){this.value=null}else{this.value={width:n.getAttribute("resizedWidth"),height:null}}}execute(t){const e=this.editor;const n=e.model;const i=e.plugins.get("ImageUtils");const o=i.getClosestSelectedImageElement(n.document.selection);this.value={width:t.width,height:null};if(o){n.change((e=>{e.setAttribute("resizedWidth",t.width,o);e.removeAttribute("resizedHeight",o);i.setImageNaturalSizeAttributes(o)}))}}}class GF extends rh{static get requires(){return[VR]}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;const e=new WF(t);this._registerSchema();this._registerConverters("imageBlock");this._registerConverters("imageInline");t.commands.add("resizeImage",e);t.commands.add("imageResize",e)}_registerSchema(){if(this.editor.plugins.has("ImageBlockEditing")){this.editor.model.schema.extend("imageBlock",{allowAttributes:["resizedWidth","resizedHeight"]})}if(this.editor.plugins.has("ImageInlineEditing")){this.editor.model.schema.extend("imageInline",{allowAttributes:["resizedWidth","resizedHeight"]})}}_registerConverters(t){const e=this.editor;const n=e.plugins.get("ImageUtils");e.conversion.for("downcast").add((e=>e.on(`attribute:resizedWidth:${t}`,((t,e,n)=>{if(!n.consumable.consume(e.item,t.name)){return}const i=n.writer;const o=n.mapper.toViewElement(e.item);if(e.attributeNewValue!==null){i.setStyle("width",e.attributeNewValue,o);i.addClass("image_resized",o)}else{i.removeStyle("width",o);i.removeClass("image_resized",o)}}))));e.conversion.for("dataDowncast").attributeToAttribute({model:{name:t,key:"resizedHeight"},view:t=>({key:"style",value:{height:t}})});e.conversion.for("editingDowncast").add((e=>e.on(`attribute:resizedHeight:${t}`,((e,i,o)=>{if(!o.consumable.consume(i.item,e.name)){return}const r=o.writer;const s=o.mapper.toViewElement(i.item);const a=t==="imageInline"?n.findViewImgElement(s):s;if(i.attributeNewValue!==null){r.setStyle("height",i.attributeNewValue,a)}else{r.removeStyle("height",a)}}))));e.conversion.for("upcast").attributeToAttribute({view:{name:t==="imageBlock"?"figure":"img",styles:{width:/.+/}},model:{key:"resizedWidth",value:t=>{if(OR(t)){return null}return t.getStyle("width")}}});e.conversion.for("upcast").attributeToAttribute({view:{name:t==="imageBlock"?"figure":"img",styles:{height:/.+/}},model:{key:"resizedHeight",value:t=>{if(OR(t)){return null}return t.getStyle("height")}}})}}const qF={small:Zv.objectSizeSmall,medium:Zv.objectSizeMedium,large:Zv.objectSizeLarge,original:Zv.objectSizeFull};class $F extends rh{static get requires(){return[GF]}static get pluginName(){return"ImageResizeButtons"}constructor(t){super(t);this._resizeUnit=t.config.get("image.resizeUnit")}init(){const t=this.editor;const e=t.config.get("image.resizeOptions");const 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;const{name:n,value:i,icon:o}=t;const r=i?i+this._resizeUnit:null;e.ui.componentFactory.add(n,(n=>{const i=new xd(n);const s=e.commands.get("resizeImage");const a=this._getOptionLabelValue(t,true);if(!qF[o]){throw new P("imageresizebuttons-missing-icon",e,t)}i.set({label:a,icon:qF[o],tooltip:a,isToggleable:true});i.bind("isEnabled").to(this);i.bind("isOn").to(s,"value",KF(r));this.listenTo(i,"execute",(()=>{e.execute("resizeImage",{width:r})}));return i}))}_registerImageResizeDropdown(t){const e=this.editor;const n=e.t;const i=t.find((t=>!t.value));const o=o=>{const r=e.commands.get("resizeImage");const s=Dy(o,Ju);const a=s.buttonView;const c=n("Resize image");a.set({tooltip:c,commandValue:i.value,icon:qF.medium,isToggleable:true,label:this._getOptionLabelValue(i),withText:true,class:"ck-resize-image-button",ariaLabel:c,ariaLabelledBy:undefined});a.bind("label").to(r,"value",(t=>{if(t&&t.width){return t.width}else{return this._getOptionLabelValue(i)}}));s.bind("isEnabled").to(this);Iy(s,(()=>this._getResizeDropdownListItemDefinitions(t,r)),{ariaLabel:n("Image resize list"),role:"menu"});this.listenTo(s,"execute",(t=>{e.execute(t.source.commandName,{width:t.source.commandValue});e.editing.view.focus()}));return s};e.ui.componentFactory.add("resizeImage",o);e.ui.componentFactory.add("imageResize",o)}_getOptionLabelValue(t,e=false){const n=this.editor.t;if(t.label){return t.label}else if(e){if(t.value){return n("Resize image to %0",t.value+this._resizeUnit)}else{return n("Resize image to the original size")}}else{if(t.value){return t.value+this._resizeUnit}else{return n("Original")}}}_getResizeDropdownListItemDefinitions(t,e){const n=new ml;t.map((t=>{const i=t.value?t.value+this._resizeUnit:null;const o={type:"button",model:new AD({commandName:"resizeImage",commandValue:i,label:this._getOptionLabelValue(t),role:"menuitemradio",withText:true,icon:null})};o.model.bind("isOn").to(e,"value",KF(i));n.add(o)}));return n}}function KF(t){return e=>{const n=e;if(t===null&&n===t){return true}return n!==null&&n.width===t}}const ZF="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";const YF="image_resized";class QF extends rh{static get requires(){return[jM,VR]}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;const e=t.editing.view;const n=t.plugins.get("ImageUtils");e.addObserver(hV);this.listenTo(e.document,"imageLoaded",((i,o)=>{if(!o.target.matches(ZF)){return}const r=t.editing.view.domConverter;const s=r.domToView(o.target);const a=n.getImageWidgetFromImageView(s);let c=this.editor.plugins.get(jM).getResizerByViewElement(a);if(c){c.redraw();return}const l=t.editing.mapper;const d=l.toModelElement(a);c=t.plugins.get(jM).attachTo({unit:t.config.get("image.resizeUnit"),modelElement:d,viewElement:a,editor:t,getHandleHost(t){return t.querySelector("img")},getResizeHost(){return r.mapViewToDom(l.toViewElement(d.parent))},isCentered(){const t=d.getAttribute("imageStyle");return!t||t=="block"||t=="alignCenter"},onCommit(n){e.change((t=>{t.removeClass(YF,a)}));t.execute("resizeImage",{width:n})}});c.on("updateSize",(()=>{if(!a.hasClass(YF)){e.change((t=>{t.addClass(YF,a)}))}const t=d.name==="imageInline"?s:a;if(t.getStyle("height")){e.change((e=>{e.removeStyle("height",t)}))}}));c.bind("isEnabled").to(this)}))}}var JF=n(2400);var XF={injectType:"singletonStyleTag",attributes:{"data-cke":true}};XF.insert="head";XF.singleton=true;var tj=Pl()(JF.Z,XF);const ej=JF.Z.locals||{};class nj extends rh{static get requires(){return[GF,QF,$F]}static get pluginName(){return"ImageResize"}}class ij extends ah{constructor(t,e){super(t);this._defaultStyles={imageBlock:false,imageInline:false};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;const e=t.plugins.get("ImageUtils");const n=e.getClosestSelectedImageElement(this.editor.model.document.selection);this.isEnabled=!!n;if(!this.isEnabled){this.value=false}else if(n.hasAttribute("imageStyle")){this.value=n.getAttribute("imageStyle")}else{this.value=this._defaultStyles[n.name]}}execute(t={}){const e=this.editor;const n=e.model;const i=e.plugins.get("ImageUtils");n.change((e=>{const o=t.value;const{setImageSizes:r=true}=t;let s=i.getClosestSelectedImageElement(n.document.selection);if(o&&this.shouldConvertImageType(o,s)){this.editor.execute(i.isBlockImage(s)?"imageTypeInline":"imageTypeBlock",{setImageSizes:r});s=i.getClosestSelectedImageElement(n.document.selection)}if(!o||this._styles.get(o).isDefault){e.removeAttribute("imageStyle",s)}else{e.setAttribute("imageStyle",o,s)}if(r){i.setImageNaturalSizeAttributes(s)}}))}shouldConvertImageType(t,e){const n=this._styles.get(t).modelElements;return!n.includes(e.name)}}const{objectFullWidth:oj,objectInline:rj,objectLeft:sj,objectRight:aj,objectCenter:cj,objectBlockLeft:lj,objectBlockRight:dj}=Zv;const uj={get inline(){return{name:"inline",title:"In line",icon:rj,modelElements:["imageInline"],isDefault:true}},get alignLeft(){return{name:"alignLeft",title:"Left aligned image",icon:sj,modelElements:["imageBlock","imageInline"],className:"image-style-align-left"}},get alignBlockLeft(){return{name:"alignBlockLeft",title:"Left aligned image",icon:lj,modelElements:["imageBlock"],className:"image-style-block-align-left"}},get alignCenter(){return{name:"alignCenter",title:"Centered image",icon:cj,modelElements:["imageBlock"],className:"image-style-align-center"}},get alignRight(){return{name:"alignRight",title:"Right aligned image",icon:aj,modelElements:["imageBlock","imageInline"],className:"image-style-align-right"}},get alignBlockRight(){return{name:"alignBlockRight",title:"Right aligned image",icon:dj,modelElements:["imageBlock"],className:"image-style-block-align-right"}},get block(){return{name:"block",title:"Centered image",icon:cj,modelElements:["imageBlock"],isDefault:true}},get side(){return{name:"side",title:"Side image",icon:aj,modelElements:["imageBlock"],className:"image-style-side"}}};const hj={full:oj,left:lj,right:dj,center:cj,inlineLeft:sj,inlineRight:aj,inline:rj};const mj=[{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 gj(t){const e=t.configuredStyles.options||[];const n=e.map((t=>bj(t))).filter((e=>kj(e,t)));return n}function fj(t,e){if(t&&e){return{options:["inline","alignLeft","alignRight","alignCenter","alignBlockLeft","alignBlockRight","block","side"]}}else if(t){return{options:["block","side"]}}else if(e){return{options:["inline","alignLeft","alignRight"]}}return{}}function pj(t){if(t.has("ImageBlockEditing")&&t.has("ImageInlineEditing")){return[...mj]}else{return[]}}function bj(t){if(typeof t==="string"){if(!uj[t]){t={name:t}}else{t={...uj[t]}}}else{t=wj(uj[t.name],t)}if(typeof t.icon==="string"){t.icon=hj[t.icon]||t.icon}return t}function kj(t,{isBlockPluginLoaded:e,isInlinePluginLoaded:n}){const{modelElements:i,name:o}=t;if(!i||!i.length||!o){Aj({style:t});return false}else{const o=[e?"imageBlock":null,n?"imageInline":null];if(!i.some((t=>o.includes(t)))){L("image-style-missing-dependency",{style:t,missingPlugins:i.map((t=>t==="imageBlock"?"ImageBlockEditing":"ImageInlineEditing"))});return false}}return true}function wj(t,e){const n={...e};for(const i in t){if(!Object.prototype.hasOwnProperty.call(e,i)){n[i]=t[i]}}return n}function Aj(t){L("image-style-configuration-definition-invalid",t)}const Cj={normalizeStyles:gj,getDefaultStylesConfiguration:fj,getDefaultDropdownDefinitions:pj,warnInvalidStyle:Aj,DEFAULT_OPTIONS:uj,DEFAULT_ICONS:hj,DEFAULT_DROPDOWN_DEFINITIONS:mj};function _j(t){return(e,n,i)=>{if(!i.consumable.consume(n.item,e.name)){return}const o=yj(n.attributeNewValue,t);const r=yj(n.attributeOldValue,t);const s=i.mapper.toViewElement(n.item);const a=i.writer;if(r){a.removeClass(r.className,s)}if(o){a.addClass(o.className,s)}}}function vj(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;const r=gl(n.modelRange.getItems());if(!r){return}if(!i.schema.checkAttribute(r,"imageStyle")){return}for(const t of e[r.name]){if(i.consumable.consume(o,{classes:t.className})){i.writer.setAttribute("imageStyle",t.name,r)}}}}function yj(t,e){for(const n of e){if(n.name===t){return n}}}class xj extends rh{static get pluginName(){return"ImageStyleEditing"}static get requires(){return[VR]}init(){const{normalizeStyles:t,getDefaultStylesConfiguration:e}=Cj;const n=this.editor;const i=n.plugins.has("ImageBlockEditing");const 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 ij(n,this.normalizedStyles))}_setupConversion(t,e){const n=this.editor;const i=n.model.schema;const o=_j(this.normalizedStyles);const r=vj(this.normalizedStyles);n.editing.downcastDispatcher.on("attribute:imageStyle",o);n.data.downcastDispatcher.on("attribute:imageStyle",o);if(t){i.extend("imageBlock",{allowAttributes:"imageStyle"});n.data.upcastDispatcher.on("element:figure",r,{priority:"low"})}if(e){i.extend("imageInline",{allowAttributes:"imageStyle"});n.data.upcastDispatcher.on("element:img",r,{priority:"low"})}}_setupPostFixer(){const t=this.editor;const e=t.model.document;const n=t.plugins.get(VR);const i=new Map(this.normalizedStyles.map((t=>[t.name,t])));e.registerPostFixer((t=>{let o=false;for(const r of e.differ.getChanges()){if(r.type=="insert"||r.type=="attribute"&&r.attributeKey=="imageStyle"){let e=r.type=="insert"?r.position.nodeAfter:r.range.start.nodeAfter;if(e&&e.is("element","paragraph")&&e.childCount>0){e=e.getChild(0)}if(!n.isImage(e)){continue}const s=e.getAttribute("imageStyle");if(!s){continue}const a=i.get(s);if(!a||!a.modelElements.includes(e.name)){t.removeAttribute("imageStyle",e);o=true}}}return o}))}}var Ej=n(3534);var Dj={injectType:"singletonStyleTag",attributes:{"data-cke":true}};Dj.insert="head";Dj.singleton=true;var Tj=Pl()(Ej.Z,Dj);const Sj=Ej.Z.locals||{};class Ij extends rh{static get requires(){return[xj]}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;const e=this.editor.config.get("image.toolbar")||[];const n=t.get("ImageStyleEditing");const i=Bj(n.normalizedStyles,this.localizedDefaultStylesTitles);for(const t of i){this._createButton(t)}const o=Bj([...e.filter(st),...Cj.getDefaultDropdownDefinitions(t)],this.localizedDefaultStylesTitles);for(const t of o){this._createDropdown(t,i)}}_createDropdown(t,e){const n=this.editor.ui.componentFactory;n.add(t.name,(i=>{let o;const{defaultItem:r,items:s,title:a}=t;const c=s.filter((t=>e.find((({name:e})=>Mj(e)===t)))).map((t=>{const e=n.create(t);if(t===r){o=e}return e}));if(s.length!==c.length){Cj.warnInvalidStyle({dropdown:t})}const l=Dy(i,ky);const d=l.buttonView;const u=d.arrowView;Ty(l,c,{enableActiveItemFocusOnDropdownOpen:true});d.set({label:Nj(a,o.label),class:null,tooltip:true});u.unbind("label");u.set({label:a});d.bind("icon").toMany(c,"isOn",((...t)=>{const e=t.findIndex(Ym);return e<0?o.icon:c[e].icon}));d.bind("label").toMany(c,"isOn",((...t)=>{const e=t.findIndex(Ym);return Nj(a,e<0?o.label:c[e].label)}));d.bind("isOn").toMany(c,"isOn",((...t)=>t.some(Ym)));d.bind("class").toMany(c,"isOn",((...t)=>t.some(Ym)?"ck-splitbutton_flatten":undefined));d.on("execute",(()=>{if(!c.some((({isOn:t})=>t))){o.fire("execute")}else{l.isOpen=!l.isOpen}}));l.bind("isEnabled").toMany(c,"isEnabled",((...t)=>t.some(Ym)));this.listenTo(l,"execute",(()=>{this.editor.editing.view.focus()}));return l}))}_createButton(t){const e=t.name;this.editor.ui.componentFactory.add(Mj(e),(n=>{const i=this.editor.commands.get("imageStyle");const o=new xd(n);o.set({label:t.title,icon:t.icon,tooltip:true,isToggleable:true});o.bind("isEnabled").to(i,"isEnabled");o.bind("isOn").to(i,"value",(t=>t===e));o.on("execute",this._executeCommand.bind(this,e));return o}))}_executeCommand(t){this.editor.execute("imageStyle",{value:t});this.editor.editing.view.focus()}}function Bj(t,e){for(const n of t){if(e[n.title]){n.title=e[n.title]}}return t}function Mj(t){return`imageStyle:${t}`}function Nj(t,e){return(t?t+": ":"")+e}class Pj extends rh{static get requires(){return[xj,Ij]}static get pluginName(){return"ImageStyle"}}class Lj extends rh{static get requires(){return[_M,VR]}static get pluginName(){return"ImageToolbar"}afterInit(){const t=this.editor;const e=t.t;const n=t.plugins.get(_M);const i=t.plugins.get("ImageUtils");n.register("image",{ariaLabel:e("Image toolbar"),items:zj(t.config.get("image.toolbar")||[]),getRelatedElement:t=>i.getClosestSelectedImageWidget(t)})}}function zj(t){return t.map((t=>st(t)?t.name:t))}class Oj extends(null&&Plugin){static get requires(){return[ImageEditing,ImageUtils]}static get pluginName(){return"PictureEditing"}afterInit(){const t=this.editor;if(t.plugins.has("ImageBlockEditing")){t.model.schema.extend("imageBlock",{allowAttributes:["sources"]})}if(t.plugins.has("ImageInlineEditing")){t.model.schema.extend("imageInline",{allowAttributes:["sources"]})}this._setupConversion();this._setupImageUploadEditingIntegration()}_setupConversion(){const t=this.editor;const e=t.conversion;const n=t.plugins.get("ImageUtils");e.for("upcast").add(upcastPicture(n));e.for("downcast").add(downcastSourcesAttribute(n))}_setupImageUploadEditingIntegration(){const t=this.editor;if(!t.plugins.has("ImageUploadEditing")){return}const e=t.plugins.get("ImageUploadEditing");this.listenTo(e,"uploadComplete",((e,{imageElement:n,data:i})=>{const o=i.sources;if(!o){return}t.model.change((t=>{t.setAttributes({sources:o},n)}))}))}}class Rj extends rh{static get pluginName(){return"IndentEditing"}init(){const t=this.editor;t.commands.add("indent",new lh(t));t.commands.add("outdent",new lh(t))}}const Vj='';const Fj='';class jj extends rh{static get pluginName(){return"IndentUI"}init(){const t=this.editor;const e=t.locale;const n=t.t;const i=e.uiLanguageDirection=="ltr"?Vj:Fj;const o=e.uiLanguageDirection=="ltr"?Fj:Vj;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);const s=new xd(o);s.set({label:e,icon:n,tooltip:true});s.bind("isEnabled").to(r,"isEnabled");this.listenTo(s,"execute",(()=>{i.execute(t);i.editing.view.focus()}));return s}))}}class Hj extends rh{static get pluginName(){return"Indent"}static get requires(){return[Rj,jj]}}class Uj extends(null&&Command){constructor(t,e){super(t);this._indentBehavior=e}refresh(){const t=this.editor;const e=t.model;const n=first(e.document.selection.getSelectedBlocks());if(!n||!this._isIndentationChangeAllowed(n)){this.isEnabled=false;return}this.isEnabled=this._indentBehavior.checkEnabled(n.getAttribute("blockIndent"))}execute(){const t=this.editor.model;const e=this._getBlocksToChange();t.change((t=>{for(const n of e){const e=n.getAttribute("blockIndent");const i=this._indentBehavior.getNextIndent(e);if(i){t.setAttribute("blockIndent",i,n)}else{t.removeAttribute("blockIndent",n)}}}))}_getBlocksToChange(){const t=this.editor.model;const e=t.document.selection;const n=Array.from(e.getSelectedBlocks());return n.filter((t=>this._isIndentationChangeAllowed(t)))}_isIndentationChangeAllowed(t){const e=this.editor;if(!e.model.schema.checkAttribute(t,"blockIndent")){return false}if(!e.plugins.has("DocumentListUtils")){return true}if(!this._indentBehavior.isForward){return true}const n=e.plugins.get("DocumentListUtils");return!n.isListItemBlock(t)}}const Wj=null&&["paragraph","heading1","heading2","heading3","heading4","heading5","heading6"];class Gj extends(null&&Plugin){constructor(t){super(t);t.config.define("indentBlock",{offset:40,unit:"px"})}static get pluginName(){return"IndentBlock"}init(){const t=this.editor;const e=t.config.get("indentBlock");if(e.classes&&e.classes.length){this._setupConversionUsingClasses(e.classes);t.commands.add("indentBlock",new IndentBlockCommand(t,new IndentUsingClasses({direction:"forward",classes:e.classes})));t.commands.add("outdentBlock",new IndentBlockCommand(t,new IndentUsingClasses({direction:"backward",classes:e.classes})))}else{t.data.addStyleProcessorRules(addMarginRules);this._setupConversionUsingOffset();t.commands.add("indentBlock",new IndentBlockCommand(t,new IndentUsingOffset({direction:"forward",offset:e.offset,unit:e.unit})));t.commands.add("outdentBlock",new IndentBlockCommand(t,new IndentUsingOffset({direction:"backward",offset:e.offset,unit:e.unit})))}}afterInit(){const t=this.editor;const e=t.model.schema;const n=t.commands.get("indent");const i=t.commands.get("outdent");const o=t.config.get("heading.options");const r=o&&o.map((t=>t.model));const s=r||Wj;s.forEach((t=>{if(e.isRegistered(t)){e.extend(t,{allowAttributes:"blockIndent"})}}));e.setAttributeProperties("blockIndent",{isFormatting:true});n.registerChildCommand(t.commands.get("indentBlock"));i.registerChildCommand(t.commands.get("outdentBlock"))}_setupConversionUsingOffset(){const t=this.editor.conversion;const e=this.editor.locale;const n=e.contentLanguageDirection==="rtl"?"margin-right":"margin-left";t.for("upcast").attributeToAttribute({view:{styles:{[n]:/[\s\S]+/}},model:{key:"blockIndent",value:t=>{if(!t.is("element","li")){return t.getStyle(n)}}}});t.for("downcast").attributeToAttribute({model:"blockIndent",view:t=>({key:"style",value:{[n]: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)}}class qj{constructor(){this._definitions=new Set}get length(){return this._definitions.size}add(t){if(Array.isArray(t)){t.forEach((t=>this._definitions.add(t)))}else{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;const o=i.document.selection;for(const t of this._definitions){const r=i.createAttributeElement("a",t.attributes,{priority:5});if(t.classes){i.addClass(t.classes,r)}for(const e in t.styles){i.setStyle(e,t.styles[e],r)}i.setCustomProperty("link",true,r);if(t.callback(e.attributeNewValue)){if(e.item.is("selection")){i.wrap(o.getFirstRange(),r)}else{i.wrap(n.mapper.toViewRange(e.range),r)}}else{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);const r=Array.from(o.getChildren()).find((t=>t.is("element","a")));for(const t of this._definitions){const i=kl(t.attributes);if(t.callback(e.attributeNewValue)){for(const[t,e]of i){if(t==="class"){n.addClass(e,r)}else{n.setAttribute(t,e,r)}}if(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){if(t==="class"){n.removeClass(e,r)}else{n.removeAttribute(t,r)}}if(t.classes){n.removeClass(t.classes,r)}for(const e in t.styles){n.removeStyle(e,r)}}}}))}}}const $j=/[\u0000-\u0020\u00A0\u1680\u180E\u2000-\u2029\u205f\u3000]/g;const Kj=/^(?:(?:https?|ftps?|mailto):|[^a-z]|[a-z+.-]+(?:[^a-z+.:-]|$))/i;const Zj=/^[\S]+@((?![-_])(?:[-\w\u00a1-\uffff]{0,63}[^-_]\.))+(?:[a-z\u00a1-\uffff]{2,})$/i;const Yj=/^((\w+:(\/{2,})?)|(\W))/i;const Qj="Ctrl+K";function Jj(t){return t.is("attributeElement")&&!!t.getCustomProperty("link")}function Xj(t,{writer:e}){const n=e.createAttributeElement("a",{href:t},{priority:5});e.setCustomProperty("link",true,n);return n}function tH(t){const e=String(t);return eH(e)?e:"#"}function eH(t){const e=t.replace($j,"");return!!e.match(Kj)}function nH(t,e){const n={"Open in a new tab":t("Open in a new tab"),Downloadable:t("Downloadable")};e.forEach((t=>{if("label"in t&&n[t.label]){t.label=n[t.label]}return t}));return e}function iH(t){const e=[];if(t){for(const[n,i]of Object.entries(t)){const t=Object.assign({},i,{id:`link${tO(n)}`});e.push(t)}}return e}function oH(t,e){if(!t){return false}return e.checkAttribute(t.name,"linkHref")}function rH(t){return Zj.test(t)}function sH(t,e){const n=rH(t)?"mailto:":e;const i=!!n&&!aH(t);return t&&i?n+t:t}function aH(t){return Yj.test(t)}function cH(t){window.open(t,"_blank","noopener")}class lH extends ah{constructor(){super(...arguments);this.manualDecorators=new ml;this.automaticDecorators=new qj}restoreManualDecoratorStates(){for(const t of this.manualDecorators){t.value=this._getDecoratorStateFromModel(t.id)}}refresh(){const t=this.editor.model;const e=t.document.selection;const n=e.getSelectedElement()||gl(e.getSelectedBlocks());if(oH(n,t.schema)){this.value=n.getAttribute("linkHref");this.isEnabled=t.schema.checkAttribute(n,"linkHref")}else{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;const i=n.document.selection;const o=[];const r=[];for(const t in e){if(e[t]){o.push(t)}else{r.push(t)}}n.change((e=>{if(i.isCollapsed){const s=i.getFirstPosition();if(i.hasAttribute("linkHref")){const a=dH(i);let c=OS(s,"linkHref",i.getAttribute("linkHref"),n);if(i.getAttribute("linkHref")===a){c=this._updateLinkContent(n,e,c,t)}e.setAttribute("linkHref",t,c);o.forEach((t=>{e.setAttribute(t,true,c)}));r.forEach((t=>{e.removeAttribute(t,c)}));e.setSelection(e.createPositionAfter(c.end.nodeBefore))}else if(t!==""){const r=kl(i.getAttributes());r.set("linkHref",t);o.forEach((t=>{r.set(t,true)}));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");const a=[];for(const t of i.getSelectedBlocks()){if(n.schema.checkAttribute(t,"linkHref")){a.push(e.createRangeOn(t))}}const c=a.slice();for(const t of s){if(this._isRangeToUpdate(t,a)){c.push(t)}}for(const s of c){let a=s;if(c.length===1){const o=dH(i);if(i.getAttribute("linkHref")===o){a=this._updateLinkContent(n,e,s,t);e.setSelection(e.createSelection(a))}}e.setAttribute("linkHref",t,a);o.forEach((t=>{e.setAttribute(t,true,a)}));r.forEach((t=>{e.removeAttribute(t,a)}))}}}))}_getDecoratorStateFromModel(t){const e=this.editor.model;const n=e.document.selection;const i=n.getSelectedElement();if(oH(i,e.schema)){return i.getAttribute(t)}return n.getAttribute(t)}_isRangeToUpdate(t,e){for(const n of e){if(n.containsRange(t)){return false}}return true}_updateLinkContent(t,e,n,i){const o=e.createText(i,{linkHref:i});return t.insertContent(o,n)}}function dH(t){if(t.isCollapsed){const e=t.getFirstPosition();return e.textNode&&e.textNode.data}else{const e=Array.from(t.getFirstRange().getItems());if(e.length>1){return null}const n=e[0];if(n.is("$text")||n.is("$textProxy")){return n.data}return null}}class uH extends ah{refresh(){const t=this.editor.model;const e=t.document.selection;const n=e.getSelectedElement();if(oH(n,t.schema)){this.isEnabled=t.schema.checkAttribute(n,"linkHref")}else{this.isEnabled=t.schema.checkAttributeInSelection(e,"linkHref")}}execute(){const t=this.editor;const e=this.editor.model;const n=e.document.selection;const i=t.commands.get("link");e.change((t=>{const o=n.isCollapsed?[OS(n.getFirstPosition(),"linkHref",n.getAttribute("linkHref"),e)]:e.schema.getValidRanges(n.getRanges(),"linkHref");for(const e of o){t.removeAttribute("linkHref",e);if(i){for(const n of i.manualDecorators){t.removeAttribute(n.id,e)}}}}))}}class hH extends(mt()){constructor({id:t,label:e,attributes:n,classes:i,styles:o,defaultValue:r}){super();this.id=t;this.set("value",undefined);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}}}var mH=n(3925);var gH={injectType:"singletonStyleTag",attributes:{"data-cke":true}};gH.insert="head";gH.singleton=true;var fH=Pl()(mH.Z,gH);const pH=mH.Z.locals||{};const bH="ck-link_selected";const kH="automatic";const wH="manual";const AH=/^(https?:)?\/\//;class CH extends rh{static get pluginName(){return"LinkEditing"}static get requires(){return[AS,iS,_B]}constructor(t){super(t);t.config.define("link",{addTargetToExternalLinks:false})}init(){const t=this.editor;t.model.schema.extend("$text",{allowAttributes:"linkHref"});t.conversion.for("dataDowncast").attributeToElement({model:"linkHref",view:Xj});t.conversion.for("editingDowncast").attributeToElement({model:"linkHref",view:(t,e)=>Xj(tH(t),e)});t.conversion.for("upcast").elementToAttribute({view:{name:"a",attributes:{href:true}},model:{key:"linkHref",value:t=>t.getAttribute("href")}});t.commands.add("link",new lH(t));t.commands.add("unlink",new uH(t));const e=nH(t.t,iH(t.config.get("link.decorators")));this._enableAutomaticDecorators(e.filter((t=>t.mode===kH)));this._enableManualDecorators(e.filter((t=>t.mode===wH)));const n=t.plugins.get(AS);n.registerAttribute("linkHref");VS(t,"linkHref","a",bH);this._enableLinkOpen();this._enableSelectionAttributesFixer();this._enableClipboardIntegration()}_enableAutomaticDecorators(t){const e=this.editor;const n=e.commands.get("link");const i=n.automaticDecorators;if(e.config.get("link.addTargetToExternalLinks")){i.add({id:"linkIsExternal",mode:kH,callback:t=>!!t&&AH.test(t),attributes:{target:"_blank",rel:"noopener noreferrer"}})}i.add(t);if(i.length){e.conversion.for("downcast").add(i.getDispatcher())}}_enableManualDecorators(t){if(!t.length){return}const e=this.editor;const n=e.commands.get("link");const i=n.manualDecorators;t.forEach((t=>{e.model.schema.extend("$text",{allowAttributes:t.id});const n=new hH(t);i.add(n);e.conversion.for("downcast").attributeToElement({model:n.id,view:(t,{writer:e,schema:i},{item:o})=>{if(!(o.is("selection")||i.isInline(o))){return}if(t){const t=e.createAttributeElement("a",n.attributes,{priority:5});if(n.classes){e.addClass(n.classes,t)}for(const i in n.styles){e.setStyle(i,n.styles[i],t)}e.setCustomProperty("link",true,t);return t}}});e.conversion.for("upcast").elementToAttribute({view:{name:"a",...n._createPattern()},model:{key:n.id}})}))}_enableLinkOpen(){const t=this.editor;const e=t.editing.view;const n=e.document;this.listenTo(n,"click",((t,e)=>{const n=l.isMac?e.domEvent.metaKey:e.domEvent.ctrlKey;if(!n){return}let i=e.domTarget;if(i.tagName.toLowerCase()!="a"){i=i.closest("a")}if(!i){return}const o=i.getAttribute("href");if(!o){return}t.stop();e.preventDefault();cH(o)}),{context:"$capture"});this.listenTo(n,"keydown",((e,n)=>{const i=t.commands.get("link");const o=i.value;const r=!!o&&n.keyCode===qc.enter&&n.altKey;if(!r){return}e.stop();cH(o)}))}_enableSelectionAttributesFixer(){const t=this.editor;const e=t.model;const n=e.document.selection;this.listenTo(n,"change:attribute",((t,{attributeKeys:i})=>{if(!i.includes("linkHref")||n.hasAttribute("linkHref")){return}e.change((t=>{_H(t,vH(e.schema))}))}))}_enableClipboardIntegration(){const t=this.editor;const e=t.model;const n=this.editor.config.get("link.defaultProtocol");if(!n){return}this.listenTo(t.plugins.get("ClipboardPipeline"),"contentInsertion",((t,i)=>{e.change((t=>{const e=t.createRangeIn(i.content);for(const i of e.getItems()){if(i.hasAttribute("linkHref")){const e=sH(i.getAttribute("linkHref"),n);t.setAttribute("linkHref",e,i)}}}))}))}}function _H(t,e){t.removeSelectionAttribute("linkHref");for(const n of e){t.removeSelectionAttribute(n)}}function vH(t){const e=t.getDefinition("$text").allowAttributes;return e.filter((t=>t.startsWith("link")))}var yH=n(4874);var xH={injectType:"singletonStyleTag",attributes:{"data-cke":true}};xH.insert="head";xH.singleton=true;var EH=Pl()(yH.Z,xH);const DH=yH.Z.locals||{};class TH extends Vl{constructor(t,e){super(t);this.focusTracker=new fl;this.keystrokes=new pl;this._focusables=new Bl;const n=t.t;this.urlInputView=this._createUrlInput();this.saveButtonView=this._createButton(n("Save"),Zv.check,"ck-button-save");this.saveButtonView.type="submit";this.cancelButtonView=this._createButton(n("Cancel"),Zv.cancel,"ck-button-cancel","cancel");this._manualDecoratorSwitches=this._createManualDecoratorSwitches(e);this.children=this._createFormChildren(e.manualDecorators);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"];if(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})}getDecoratorSwitchesState(){return Array.from(this._manualDecoratorSwitches).reduce(((t,e)=>{t[e.name]=e.isOn;return t}),{})}render(){super.render();o({view:this});const t=[this.urlInputView,...this._manualDecoratorSwitches,this.saveButtonView,this.cancelButtonView];t.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;const e=new Su(this.locale,jy);e.label=t("Link URL");return e}_createButton(t,e,n,i){const o=new xd(this.locale);o.set({label:t,icon:e,tooltip:true});o.extendTemplate({attributes:{class:n}});if(i){o.delegate("execute").to(this,i)}return o}_createManualDecoratorSwitches(t){const e=this.createCollection();for(const n of t.manualDecorators){const i=new Id(this.locale);i.set({name:n.id,label:n.label,withText:true});i.bind("isOn").toMany([n,t],"value",((t,e)=>e===undefined&&t===undefined?!!n.defaultValue:!!t));i.on("execute",(()=>{n.set("value",!i.isOn)}));e.add(i)}return e}_createFormChildren(t){const e=this.createCollection();e.add(this.urlInputView);if(t.length){const t=new Vl;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)}e.add(this.saveButtonView);e.add(this.cancelButtonView);return e}}var SH=n(7536);var IH={injectType:"singletonStyleTag",attributes:{"data-cke":true}};IH.insert="head";IH.singleton=true;var BH=Pl()(SH.Z,IH);const MH=SH.Z.locals||{};const NH='';class PH extends Vl{constructor(t){super(t);this.focusTracker=new fl;this.keystrokes=new pl;this._focusables=new Bl;const e=t.t;this.previewButtonView=this._createPreviewButton();this.unlinkButtonView=this._createButton(e("Unlink"),NH,"unlink");this.editButtonView=this._createButton(e("Edit link"),Zv.pencil,"edit");this.set("href",undefined);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();const t=[this.previewButtonView,this.editButtonView,this.unlinkButtonView];t.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 xd(this.locale);i.set({label:t,icon:e,tooltip:true});i.delegate("execute").to(this,n);return i}_createPreviewButton(){const t=new xd(this.locale);const e=this.bindTemplate;const n=this.t;t.set({withText:true,tooltip:n("Open link in new tab")});t.extendTemplate({attributes:{class:["ck","ck-link-actions__preview"],href:e.to("href",(t=>t&&tH(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={};return t}}const LH='';const zH="link-ui";class OH extends rh{constructor(){super(...arguments);this.actionsView=null;this.formView=null}static get requires(){return[MD]}static get pluginName(){return"LinkUI"}init(){const t=this.editor;t.editing.view.addObserver(r_);this._balloon=t.plugins.get(MD);this._createToolbarLinkButton();this._enableBalloonActivators();t.conversion.for("editingDowncast").markerToHighlight({model:zH,view:{classes:["ck-fake-link-selection"]}});t.conversion.for("editingDowncast").markerToElement({model:zH,view:{name:"span",classes:["ck-fake-link-selection","ck-fake-link-selection_collapsed"]}})}destroy(){super.destroy();if(this.formView){this.formView.destroy()}if(this.actionsView){this.actionsView.destroy()}}_createViews(){this.actionsView=this._createActionsView();this.formView=this._createFormView();this._enableUserBalloonInteractions()}_createActionsView(){const t=this.editor;const e=new PH(t.locale);const n=t.commands.get("link");const i=t.commands.get("unlink");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(Qj,((t,e)=>{this._addFormView();e()}));return e}_createFormView(){const t=this.editor;const n=t.commands.get("link");const i=t.config.get("link.defaultProtocol");const o=new(e(TH))(t.locale,n);o.urlInputView.fieldView.bind("value").to(n,"value");o.urlInputView.bind("isEnabled").to(n,"isEnabled");o.saveButtonView.bind("isEnabled").to(n);this.listenTo(o,"submit",(()=>{const{value:e}=o.urlInputView.fieldView.element;const n=sH(e,i);t.execute("link",n,o.getDecoratorSwitchesState());this._closeFormView()}));this.listenTo(o,"cancel",(()=>{this._closeFormView()}));o.keystrokes.set("Esc",((t,e)=>{this._closeFormView();e()}));return o}_createToolbarLinkButton(){const t=this.editor;const e=t.commands.get("link");const n=t.t;t.ui.componentFactory.add("link",(t=>{const i=new xd(t);i.isEnabled=true;i.label=n("Link");i.icon=LH;i.keystroke=Qj;i.tooltip=true;i.isToggleable=true;i.bind("isEnabled").to(e,"isEnabled");i.bind("isOn").to(e,"value",(t=>!!t));this.listenTo(i,"execute",(()=>this._showUI(true)));return i}))}_enableBalloonActivators(){const t=this.editor;const e=t.editing.view.document;this.listenTo(e,"click",(()=>{const t=this._getSelectedLinkElement();if(t){this._showUI()}}));t.keystrokes.set(Qj,((e,n)=>{n();if(t.commands.get("link").isEnabled){this._showUI(true)}}))}_enableUserBalloonInteractions(){this.editor.keystrokes.set("Tab",((t,e)=>{if(this._areActionsVisible&&!this.actionsView.focusTracker.isFocused){this.actionsView.focus();e()}}),{priority:"high"});this.editor.keystrokes.set("Esc",((t,e)=>{if(this._isUIVisible){this._hideUI();e()}}));t({emitter:this.formView,activator:()=>this._isUIInPanel,contextElements:()=>[this._balloon.view.element],callback:()=>this._hideUI()})}_addActionsView(){if(!this.actionsView){this._createViews()}if(this._areActionsInPanel){return}this._balloon.add({view:this.actionsView,position:this._getBalloonPositionData()})}_addFormView(){if(!this.formView){this._createViews()}if(this._isFormInPanel){return}const t=this.editor;const e=t.commands.get("link");this.formView.disableCssTransitions();this._balloon.add({view:this.formView,position:this._getBalloonPositionData()});if(this._balloon.visibleView===this.formView){this.formView.urlInputView.fieldView.select()}this.formView.enableCssTransitions();this.formView.urlInputView.fieldView.element.value=e.value||""}_closeFormView(){const t=this.editor.commands.get("link");t.restoreManualDecoratorStates();if(t.value!==undefined){this._removeFormView()}else{this._hideUI()}}_removeFormView(){if(this._isFormInPanel){this.formView.saveButtonView.focus();this._balloon.remove(this.formView);this.editor.editing.view.focus();this._hideFakeVisualSelection()}}_showUI(t=false){if(!this.formView){this._createViews()}if(!this._getSelectedLinkElement()){this._showFakeVisualSelection();this._addActionsView();if(t){this._balloon.showStack("main")}this._addFormView()}else{if(this._areActionsVisible){this._addFormView()}else{this._addActionsView()}if(t){this._balloon.showStack("main")}}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;const e=t.editing.view.document;let n=this._getSelectedLinkElement();let i=r();const o=()=>{const t=this._getSelectedLinkElement();const e=r();if(n&&!t||!n&&e!==i){this._hideUI()}else if(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.formView&&this._balloon.hasView(this.formView)}get _areActionsInPanel(){return!!this.actionsView&&this._balloon.hasView(this.actionsView)}get _areActionsVisible(){return!!this.actionsView&&this._balloon.visibleView===this.actionsView}get _isUIInPanel(){return this._isFormInPanel||this._areActionsInPanel}get _isUIVisible(){const t=this._balloon.visibleView;return!!this.formView&&t==this.formView||this._areActionsVisible}_getBalloonPositionData(){const t=this.editor.editing.view;const e=this.editor.model;const n=t.document;let i;if(e.markers.has(zH)){const e=Array.from(this.editor.editing.mapper.markerNameToElements(zH));const 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;const e=t.document.selection;const n=e.getSelectedElement();if(e.isCollapsed||n&&IB(n)){return RH(e.getFirstPosition())}else{const n=e.getFirstRange().getTrimmed();const i=RH(n.start);const o=RH(n.end);if(!i||i!=o){return null}if(t.createRangeIn(i).getTrimmed().isEqual(n)){return i}else{return null}}}_showFakeVisualSelection(){const t=this.editor.model;t.change((e=>{const n=t.document.selection.getFirstRange();if(t.markers.has(zH)){e.updateMarker(zH,{range:n})}else{if(n.start.isAtEnd){const i=n.start.getLastMatchingPosition((({item:e})=>!t.schema.isContent(e)),{boundaries:n});e.addMarker(zH,{usingOperation:false,affectsData:false,range:e.createRange(i,n.end)})}else{e.addMarker(zH,{usingOperation:false,affectsData:false,range:n})}}}))}_hideFakeVisualSelection(){const t=this.editor.model;if(t.markers.has(zH)){t.change((t=>{t.removeMarker(zH)}))}}}function RH(t){return t.getAncestors().find((t=>Jj(t)))||null}const VH=4;const FH=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");const jH=2;class HH extends rh{static get requires(){return[pS,CH]}static get pluginName(){return"AutoLink"}init(){const t=this.editor;const e=t.model.document.selection;e.on("change:range",(()=>{this.isEnabled=!e.anchor.parent.is("element","codeBlock")}));this._enableTypingHandling()}afterInit(){this._enableEnterHandling();this._enableShiftEnterHandling();this._enablePasteLinking()}_expandLinkRange(t,e){if(e.textNode&&e.textNode.hasAttribute("linkHref")){return OS(e,"linkHref",e.textNode.getAttribute("linkHref"),t)}else{return null}}_selectEntireLinks(t,e){const n=this.editor;const i=n.model;const o=i.document.selection;const r=o.getFirstPosition();const s=o.getLastPosition();let a=e.getJoined(this._expandLinkRange(i,r)||e);if(a){a=a.getJoined(this._expandLinkRange(i,s)||e)}if(a&&(a.start.isBefore(r)||a.end.isAfter(s))){t.setSelection(a)}}_enablePasteLinking(){const t=this.editor;const e=t.model;const n=e.document.selection;const i=t.plugins.get("ClipboardPipeline");const o=t.commands.get("link");i.on("inputTransformation",((t,i)=>{if(!this.isEnabled||!o.isEnabled||n.isCollapsed){return}if(n.rangeCount>1){return}const r=n.getFirstRange();const s=i.dataTransfer.getData("text/plain");if(!s){return}const a=s.match(FH);if(a&&a[2]===s){e.change((t=>{this._selectEntireLinks(t,r);o.execute(s)}));t.stop()}}),{priority:"high"})}_enableTypingHandling(){const t=this.editor;const e=new wS(t.model,(t=>{if(!UH(t)){return}const e=WH(t.substr(0,t.length-1));if(e){return{url:e}}}));e.on("matched:data",((e,n)=>{const{batch:i,range:o,url:r}=n;if(!i.isTyping){return}const s=o.end.getShiftedBy(-1);const a=s.getShiftedBy(-r.length);const c=t.model.createRange(a,s);this._applyAutoLink(r,c)}));e.bind("isEnabled").to(this)}_enableEnterHandling(){const t=this.editor;const e=t.model;const n=t.commands.get("enter");if(!n){return}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;const e=t.model;const n=t.commands.get("shiftEnter");if(!n){return}n.on("execute",(()=>{const t=e.document.selection.getFirstPosition();const n=e.createRange(e.createPositionAt(t.parent,0),t.getShiftedBy(-1));this._checkAndApplyAutoLinkOnRange(n)}))}_checkAndApplyAutoLinkOnRange(t){const e=this.editor.model;const{text:n,range:i}=kS(t,e);const o=WH(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;const i=this.editor.config.get("link.defaultProtocol");const o=sH(t,i);if(!this.isEnabled||!GH(e,n)||!aH(o)||qH(e)){return}this._persistAutoLink(o,e)}_persistAutoLink(t,e){const n=this.editor.model;const i=this.editor.plugins.get("Delete");n.enqueueChange((o=>{o.setAttribute("linkHref",t,e);n.enqueueChange((()=>{i.requestUndoOnBackspace()}))}))}}function UH(t){return t.length>VH&&t[t.length-1]===" "&&t[t.length-2]!==" "}function WH(t){const e=FH.exec(t);return e?e[jH]:null}function GH(t,e){return e.schema.checkAttributeInSelection(e.createSelection(t),"linkHref")}function qH(t){const e=t.start.nodeAfter;return!!e&&e.hasAttribute("linkHref")}class $H extends rh{static get requires(){return[CH,OH,HH]}static get pluginName(){return"Link"}}class KH extends(null&&Plugin){static get requires(){return["ImageEditing","ImageUtils",LinkEditing]}static get pluginName(){return"LinkImageEditing"}init(){const t=this.editor;const e=t.model.schema;if(t.plugins.has("ImageBlockEditing")){e.extend("imageBlock",{allowAttributes:["linkHref"]})}t.conversion.for("upcast").add(ZH(t));t.conversion.for("downcast").add(YH(t));this._enableAutomaticDecorators();this._enableManualDecorators()}_enableAutomaticDecorators(){const t=this.editor;const e=t.commands.get("link");const n=e.automaticDecorators;if(n.length){t.conversion.for("downcast").add(n.getDispatcherForLinkedImage())}}_enableManualDecorators(){const t=this.editor;const e=t.commands.get("link");for(const n of e.manualDecorators){if(t.plugins.has("ImageBlockEditing")){t.model.schema.extend("imageBlock",{allowAttributes:n.id})}if(t.plugins.has("ImageInlineEditing")){t.model.schema.extend("imageInline",{allowAttributes:n.id})}t.conversion.for("downcast").add(QH(n));t.conversion.for("upcast").add(JH(t,n))}}}function ZH(t){const e=t.plugins.has("ImageInlineEditing");const n=t.plugins.get("ImageUtils");return t=>{t.on("element:a",((t,i,o)=>{const r=i.viewItem;const 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}if(d&&d.is("element","imageBlock")){o.writer.setAttribute("linkHref",l,d)}}),{priority:"high"})}}function YH(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);const r=i.writer;const s=Array.from(o.getChildren()).find((t=>t.is("element","a")));const a=e.findViewImgElement(o);const c=a.parent.is("element","picture")?a.parent:a;if(s){if(n.attributeNewValue){r.setAttribute("href",n.attributeNewValue,s)}else{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"})}}function QH(t){return e=>{e.on(`attribute:${t.id}:imageBlock`,((e,n,i)=>{const o=i.mapper.toViewElement(n.item);const r=Array.from(o.getChildren()).find((t=>t.is("element","a")));if(!r){return}for(const[e,n]of toMap(t.attributes)){i.writer.setAttribute(e,n,r)}if(t.classes){i.writer.addClass(t.classes,r)}for(const e in t.styles){i.writer.setStyle(e,t.styles[e],r)}}))}}function JH(t,e){const n=t.plugins.has("ImageInlineEditing");const i=t.plugins.get("ImageUtils");return t=>{t.on("element:a",((t,o,r)=>{const s=o.viewItem;const a=i.findViewImgElement(s);if(!a){return}const c=a.findAncestor((t=>i.isBlockImageView(t)));if(n&&!c){return}const l=new Matcher(e._createPattern());const d=l.match(s);if(!d){return}if(!r.consumable.consume(s,d.match)){return}const u=o.modelCursor.nodeBefore||o.modelCursor.parent;r.writer.setAttribute(e.id,true,u)}),{priority:"high"})}}class XH extends(null&&Plugin){static get requires(){return[LinkEditing,LinkUI,"ImageBlockEditing"]}static get pluginName(){return"LinkImageUI"}init(){const t=this.editor;const e=t.editing.view.document;this.listenTo(e,"click",((e,n)=>{if(this._isSelectedLinkedImage(t.model.document.selection)){n.preventDefault();e.stop()}}),{priority:"high"});this._createToolbarLinkImageButton()}_createToolbarLinkImageButton(){const t=this.editor;const e=t.t;t.ui.componentFactory.add("linkImage",(n=>{const i=new ButtonView(n);const o=t.plugins.get("LinkUI");const r=t.commands.get("link");i.set({isEnabled:true,label:e("Link image"),icon:linkIcon,keystroke:LINK_KEYSTROKE,tooltip:true,isToggleable:true});i.bind("isEnabled").to(r,"isEnabled");i.bind("isOn").to(r,"value",(t=>!!t));this.listenTo(i,"execute",(()=>{if(this._isSelectedLinkedImage(t.model.document.selection)){o._addActionsView()}else{o._showUI(true)}}));return i}))}_isSelectedLinkedImage(t){const e=t.getSelectedElement();const n=this.editor.plugins.get("ImageUtils");return n.isImage(e)&&e.hasAttribute("linkHref")}}var tU=n(4330);var eU={injectType:"singletonStyleTag",attributes:{"data-cke":true}};eU.insert="head";eU.singleton=true;var nU=Pl()(tU.Z,eU);const iU=tU.Z.locals||{};class oU extends(null&&Plugin){static get requires(){return[LinkImageEditing,LinkImageUI]}static get pluginName(){return"LinkImage"}}class rU{constructor(t,e){this._startElement=t;this._referenceIndent=t.getAttribute("listIndent");this._isForward=e.direction=="forward";this._includeSelf=!!e.includeSelf;this._sameAttributes=il(e.sameAttributes||[]);this._sameIndent=!!e.sameIndent;this._lowerIndent=!!e.lowerIndent;this._higherIndent=!!e.higherIndent}static first(t,e){const n=new this(t,e);const i=n[Symbol.iterator]();return gl(i)}*[Symbol.iterator](){const t=[];for(const{node:e}of sU(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){if(t.length){yield*t;t.length=0}break}continue}if(this._sameAttributes.some((t=>e.getAttribute(t)!==this._startElement.getAttribute(t)))){break}}if(t.length){yield*t;t.length=0}yield e}}_getStartNode(){if(this._includeSelf){return this._startElement}return this._isForward?this._startElement.nextSibling:this._startElement.previousSibling}}function*sU(t,e="forward"){const n=e=="forward";const i=[];let o=null;while(lU(t)){let e=null;if(o){const n=t.getAttribute("listIndent");const r=o.getAttribute("listIndent");if(n>r){i[r]=o}else if(nt.getAttribute("listIndent"))));const r=new Map;for(const t of n){r.set(t,ListWalker.first(t,{lowerIndent:true}))}for(const t of n){if(i.has(t)){continue}i.add(t);const n=t.getAttribute("listIndent")-1;if(n<0){_U(t,e);continue}if(t.getAttribute("listIndent")==o){const n=TU(t,r.get(t),e);for(const t of n){i.add(t)}if(n.length){continue}}e.setAttribute("listIndent",n,t)}return xU(i)}function _U(t,e){t=toArray(t);for(const n of t){if(n.is("element","listItem")){e.rename(n,"paragraph")}}for(const n of t){for(const t of n.getAttributeKeys()){if(t.startsWith("list")){e.removeAttribute(t,n)}}}return t}function vU(t){if(!t.length){return false}const e=t[0].getAttribute("listItemId");if(!e){return false}return!t.some((t=>t.getAttribute("listItemId")!=e))}function yU(t,e){const n=[];let i=Number.POSITIVE_INFINITY;for(const{node:o}of iterateSiblingListBlocks(t.nextSibling,"forward")){const t=o.getAttribute("listIndent");if(t==0){break}if(tt.root.rootName!=="$graveyard")).sort(((t,e)=>t.index-e.index))}function EU(t){const e=t.document.selection.getSelectedElement();if(!e){return null}if(t.schema.isObject(e)&&t.schema.isBlock(e)){return e}return null}function DU(t,e){return e.checkChild(t.parent,"listItem")&&e.checkChild(t,"$text")&&!e.isObject(t)}function TU(t,e,n){const i=uU(e,{direction:"forward"});if(i.pop().index>t.index){return wU(t,e,n)}return[]}class SU extends(null&&Command){constructor(t,e){super(t);this._direction=e}refresh(){this.isEnabled=this._checkEnabled()}execute(){const t=this.editor.model;const e=IU(t.document.selection);t.change((t=>{const n=[];if(isSingleListItem(e)&&!isFirstBlockOfListItem(e[0])){if(this._direction=="forward"){n.push(...indentBlocks(e,t))}n.push(...splitListItemBefore(e[0],t))}else{if(this._direction=="forward"){n.push(...indentBlocks(e,t,{expand:true}))}else{n.push(...outdentBlocksWithMerge(e,t))}}for(const e of n){if(!e.hasAttribute("listType")){continue}const n=ListWalker.first(e,{sameIndent:true});if(n){t.setAttribute("listType",n.getAttribute("listType"),e)}}this._fireAfterExecute(n)}))}_fireAfterExecute(t){this.fire("afterExecute",sortBlocks(new Set(t)))}_checkEnabled(){let t=IU(this.editor.model.document.selection);let e=t[0];if(!e){return false}if(this._direction=="backward"){return true}if(isSingleListItem(t)&&!isFirstBlockOfListItem(t[0])){return true}t=expandListBlocksToCompleteItems(t);e=t[0];const n=ListWalker.first(e,{sameIndent:true});if(!n){return false}if(n.getAttribute("listType")==e.getAttribute("listType")){return true}return false}}function IU(t){const e=Array.from(t.getSelectedBlocks());const n=e.findIndex((t=>!isListItemBlock(t)));if(n!=-1){e.length=n}return e}class BU extends(null&&Command){constructor(t,e){super(t);this.type=e}refresh(){this.value=this._getValue();this.isEnabled=this._checkEnabled()}execute(t={}){const e=this.editor.model;const n=e.document;const i=getSelectedBlockObject(e);const o=Array.from(n.selection.getSelectedBlocks()).filter((t=>e.schema.checkAttribute(t,"listType")||canBecomeSimpleListItem(t,e.schema)));const r=t.forceValue!==undefined?!t.forceValue:this.value;e.change((t=>{if(r){const e=o[o.length-1];const n=getListItemBlocks(e,{direction:"forward"});const i=[];if(n.length>1){i.push(...splitListItemBefore(n[1],t))}i.push(...removeListAttributes(o,t));i.push(...outdentFollowingItems(e,t));this._fireAfterExecute(i)}else if((i||n.selection.isCollapsed)&&isListItemBlock(o[0])){const e=getListItems(i||o[0]);for(const n of e){t.setAttribute("listType",this.type,n)}this._fireAfterExecute(e)}else{const n=[];for(const i of o){if(!i.hasAttribute("listType")){if(!i.is("element","listItem")&&canBecomeSimpleListItem(i,e.schema)){t.rename(i,"listItem")}t.setAttributes({listIndent:0,listItemId:ListItemUid.next(),listType:this.type},i);n.push(i)}else{for(const e of expandListBlocksToCompleteItems(i,{withNested:false})){if(e.getAttribute("listType")!=this.type){t.setAttribute("listType",this.type,e);n.push(e)}}}}this._fireAfterExecute(n)}}))}_fireAfterExecute(t){this.fire("afterExecute",sortBlocks(new Set(t)))}_getValue(){const t=this.editor.model.document.selection;const e=Array.from(t.getSelectedBlocks());if(!e.length){return false}for(const t of e){if(t.getAttribute("listType")!=this.type){return false}}return true}_checkEnabled(){const t=this.editor.model;const e=t.schema;const n=t.document.selection;const i=Array.from(n.getSelectedBlocks());if(!i.length){return false}if(this.value){return true}for(const t of i){if(e.checkAttribute(t,"listType")||canBecomeSimpleListItem(t,e)){return true}}return false}}class MU extends(null&&Command){constructor(t,e){super(t);this._direction=e}refresh(){this.isEnabled=this._checkEnabled()}execute({shouldMergeOnBlocksContentLevel:t=false}={}){const e=this.editor.model;const n=e.document.selection;const i=[];e.change((o=>{const{firstElement:r,lastElement:s}=this._getMergeSubjectElements(n,t);const a=r.getAttribute("listIndent")||0;const c=s.getAttribute("listIndent");const l=s.getAttribute("listItemId");if(a!=c){const t=getNestedListBlocks(s);i.push(...indentBlocks([s,...t],o,{indentBy:a-c,expand:a{const e=splitListItemBefore(this._getStartBlock(),t);this._fireAfterExecute(e)}))}_fireAfterExecute(t){this.fire("afterExecute",sortBlocks(new Set(t)))}_checkEnabled(){const t=this.editor.model.document.selection;const e=this._getStartBlock();return t.isCollapsed&&isListItemBlock(e)&&!isFirstBlockOfListItem(e)}_getStartBlock(){const t=this.editor.model.document;const e=t.selection.getFirstPosition().parent;return this._direction=="before"?e:e.nextSibling}}class PU extends(null&&Plugin){static get pluginName(){return"DocumentListUtils"}expandListBlocksToCompleteList(t){return expandListBlocksToCompleteList(t)}isFirstBlockOfListItem(t){return isFirstBlockOfListItem(t)}isListItemBlock(t){return isListItemBlock(t)}expandListBlocksToCompleteItems(t,e={}){return expandListBlocksToCompleteItems(t,e)}}function LU(t,e){const n=t.nodeBefore;if(!isListItemBlock(n)){const n=t.nodeAfter;if(isListItemBlock(n)){e.set(n,n)}}else{let t=n;for(const{node:n}of iterateSiblingListBlocks(t,"backward")){t=n;if(e.has(t)){return}}e.set(n,t)}}function zU(t,e){let n=0;let i=-1;let o=null;let r=false;for(const{node:s}of t){const t=s.getAttribute("listIndent");if(t>n){let a;if(o===null){o=t-n;a=n}else{if(o>t){o=t}a=t-o}if(a>i+1){a=i+1}e.setAttribute("listIndent",a,s);r=true;i=a}else{o=null;n=t+1;i=t}}return r}function OU(t,e,n){const i=new Set;let o=false;for(const{node:r}of t){if(i.has(r)){continue}let t=r.getAttribute("listType");let s=r.getAttribute("listItemId");if(e.has(s)){s=ListItemUid.next()}e.add(s);if(r.is("element","listItem")){if(r.getAttribute("listItemId")!=s){n.setAttribute("listItemId",s,r);o=true}continue}for(const e of getListItemBlocks(r,{direction:"forward"})){i.add(e);if(e.getAttribute("listType")!=t){s=ListItemUid.next();t=e.getAttribute("listType")}if(e.getAttribute("listItemId")!=s){n.setAttribute("listItemId",s,e);o=true}}}return o}function RU(){return(t,e,n)=>{const{writer:i,schema:o}=n;if(!e.modelRange){return}const r=Array.from(e.modelRange.getItems({shallow:true})).filter((t=>o.checkAttribute(t,"listItemId")));if(!r.length){return}const s=ListItemUid.next();const a=getIndent(e.viewItem);let c=e.viewItem.parent&&e.viewItem.parent.is("element","ol")?"numbered":"bulleted";const l=r[0].getAttribute("listType");if(l){c=l}const d={listItemId:s,listIndent:a,listType:c};for(const t of r){if(!t.hasAttribute("listItemId")){i.setAttributes(d,t)}}if(r.length>1){if(r[1].getAttribute("listItemId")!=d.listItemId){n.keepEmptyElement(r[0])}}}}function VU(){return(t,e,n)=>{if(!n.consumable.test(e.viewItem,{name:true})){return}const i=new UpcastWriter(e.viewItem.document);for(const t of Array.from(e.viewItem.getChildren())){if(!isListItemView(t)&&!isListView(t)){i.remove(t)}}}}function FU(t,e,n,i){return()=>{const i=t.document.differ.getChanges();const s=[];const a=new Map;const c=new Set;for(const t of i){if(t.type=="insert"&&t.name!="$text"){findAndAddListHeadToMap(t.position,a);if(!t.attributes.has("listItemId")){findAndAddListHeadToMap(t.position.getShiftedBy(t.length),a)}else{c.add(t.position.nodeAfter)}}else if(t.type=="remove"&&t.attributes.has("listItemId")){findAndAddListHeadToMap(t.position,a)}else if(t.type=="attribute"){const e=t.range.start.nodeAfter;if(n.includes(t.attributeKey)){findAndAddListHeadToMap(t.range.start,a);if(t.attributeNewValue===null){findAndAddListHeadToMap(t.range.start.getShiftedBy(1),a);if(r(e)){s.push(e)}}else{c.add(e)}}else if(isListItemBlock(e)){if(r(e)){s.push(e)}}}}for(const t of a.values()){s.push(...o(t,c))}for(const t of new Set(s)){e.reconvertItem(t)}};function o(t,e){const i=[];const o=new Set;const a=[];for(const{node:c,previous:l}of iterateSiblingListBlocks(t,"forward")){if(o.has(c)){continue}const t=c.getAttribute("listIndent");if(l&&tn.includes(t))));const d=getListItemBlocks(c,{direction:"forward"});for(const t of d){o.add(t);if(r(t,d)){i.push(t)}else if(s(t,a,e)){i.push(t)}}}return i}function r(t,o){const r=e.mapper.toViewElement(t);if(!r){return false}const s=i.fire("checkElement",{modelElement:t,viewElement:r});if(s){return true}if(!t.is("element","paragraph")&&!t.is("element","listItem")){return false}const a=ZU(t,n,o);if(a&&r.is("element","p")){return true}else if(!a&&r.is("element","span")){return true}return false}function s(t,n,o){if(o.has(t)){return false}const r=e.mapper.toViewElement(t);let s=n.length-1;for(let t=r.parent;!t.is("editableElement");t=t.parent){const e=isListItemView(t);const o=isListView(t);if(!o&&!e){continue}const r=`checkAttributes:${e?"item":"list"}`;const a=i.fire(r,{viewElement:t,modelAttributes:n[s]});if(a){break}if(o){s--;if(s<0){return false}}}return true}}function jU(t,e,n,{dataPipeline:i}={}){const o=KU(t);return(r,s,a)=>{const{writer:c,mapper:l,consumable:d}=a;const u=s.item;if(!t.includes(s.attributeKey)){return}if(!o(u,d)){return}const h=UU(u,l,n);WU(h,c,l);qU(h,c);const m=GU(u,h,e,c,{dataPipeline:i});$U(u,m,e,c)}}function HU(t,{dataPipeline:e}={}){return(n,{writer:i})=>{if(!ZU(n,t)){return null}if(!e){return i.createContainerElement("span",{class:"ck-list-bogus-paragraph"})}const o=i.createContainerElement("p");i.setCustomProperty("dataPipeline:transparentRendering",true,o);return o}}function UU(t,e,n){const i=n.createRangeOn(t);const o=e.toViewRange(i).getTrimmed();return o.end.nodeBefore}function WU(t,e,n){while(t.parent.is("attributeElement")&&t.parent.getCustomProperty("listItemWrapper")){e.unwrap(e.createRangeIn(t.parent),t.parent)}const i=e.createPositionBefore(t).getWalker({direction:"backward"});const o=[];for(const{item:t}of i){if(t.is("element")&&n.toModelElement(t)){break}if(t.is("element")&&t.getCustomProperty("listItemMarker")){o.push(t)}}for(const t of o){e.remove(t)}}function GU(t,e,n,i,{dataPipeline:o}){let r=i.createRangeOn(e);if(!isFirstBlockOfListItem(t)){return r}for(const s of n){if(s.scope!="itemMarker"){continue}const n=s.createElement(i,t,{dataPipeline:o});if(!n){continue}i.setCustomProperty("listItemMarker",true,n);i.insert(r.start,n);r=i.createRange(i.createPositionBefore(n),i.createPositionAfter(e));if(!s.createWrapperElement||!s.canWrapElement){continue}const a=s.createWrapperElement(i,t,{dataPipeline:o});i.setCustomProperty("listItemWrapper",true,a);if(s.canWrapElement(t)){r=i.wrap(r,a)}else{r=i.wrap(i.createRangeOn(n),a);r=i.createRange(r.start,i.createPositionAfter(e))}}return r}function qU(t,e){let n=t.parent;while(n.is("attributeElement")&&["ul","ol","li"].includes(n.name)){const i=n.parent;e.unwrap(e.createRangeOn(t),n);n=i}}function $U(t,e,n,i){if(!t.hasAttribute("listIndent")){return}const o=t.getAttribute("listIndent");let r=t;for(let t=o;t>=0;t--){const o=createListItemElement(i,t,r.getAttribute("listItemId"));const s=createListElement(i,t,r.getAttribute("listType"));for(const t of n){if((t.scope=="list"||t.scope=="item")&&r.hasAttribute(t.attributeName)){t.setAttributeOnDowncast(i,r.getAttribute(t.attributeName),t.scope=="list"?s:o)}}e=i.wrap(e,o);e=i.wrap(e,s);if(t==0){break}r=ListWalker.first(r,{lowerIndent:true});if(!r){break}}}function KU(t){return(e,n)=>{const i=[];for(const n of t){if(e.hasAttribute(n)){i.push(`attribute:${n}`)}}if(!i.every((t=>n.test(e,t)!==false))){return false}i.forEach((t=>n.consume(e,t)));return true}}function ZU(t,e,n=getAllListItemBlocks(t)){if(!isListItemBlock(t)){return false}for(const n of t.getAttributeKeys()){if(n.startsWith("selection:")){continue}if(!e.includes(n)){return false}}return n.length<2}var YU=n(3190);var QU={injectType:"singletonStyleTag",attributes:{"data-cke":true}};QU.insert="head";QU.singleton=true;var JU=Pl()(YU.Z,QU);const XU=YU.Z.locals||{};var tW=n(4784);var eW={injectType:"singletonStyleTag",attributes:{"data-cke":true}};eW.insert="head";eW.singleton=true;var nW=Pl()(tW.Z,eW);const iW=tW.Z.locals||{};const oW=null&&["listType","listIndent","listItemId"];class rW extends(null&&Plugin){static get pluginName(){return"DocumentListEditing"}static get requires(){return[Enter,Delete,DocumentListUtils,ClipboardPipeline]}constructor(t){super(t);this._downcastStrategies=[];t.config.define("list.multiBlock",true)}init(){const t=this.editor;const e=t.model;const n=t.config.get("list.multiBlock");if(t.plugins.has("ListEditing")){throw new CKEditorError("document-list-feature-conflict",this,{conflictPlugin:"ListEditing"})}e.schema.register("$listItem",{allowAttributes:oW});if(n){e.schema.extend("$container",{allowAttributesOf:"$listItem"});e.schema.extend("$block",{allowAttributesOf:"$listItem"});e.schema.extend("$blockObject",{allowAttributesOf:"$listItem"})}else{e.schema.register("listItem",{inheritAllFrom:"$block",allowAttributesOf:"$listItem"})}for(const t of oW){e.schema.setAttributeProperties(t,{copyOnReplace:true})}t.commands.add("numberedList",new DocumentListCommand(t,"numbered"));t.commands.add("bulletedList",new DocumentListCommand(t,"bulleted"));t.commands.add("indentList",new DocumentListIndentCommand(t,"forward"));t.commands.add("outdentList",new DocumentListIndentCommand(t,"backward"));t.commands.add("splitListItemBefore",new DocumentListSplitCommand(t,"before"));t.commands.add("splitListItemAfter",new DocumentListSplitCommand(t,"after"));if(n){t.commands.add("mergeListItemBackward",new DocumentListMergeCommand(t,"backward"));t.commands.add("mergeListItemForward",new DocumentListMergeCommand(t,"forward"))}this._setupDeleteIntegration();this._setupEnterIntegration();this._setupTabIntegration();this._setupClipboardIntegration()}afterInit(){const t=this.editor;const e=t.commands;const n=e.get("indent");const i=e.get("outdent");if(n){n.registerChildCommand(e.get("indentList"),{priority:"high"})}if(i){i.registerChildCommand(e.get("outdentList"),{priority:"lowest"})}this._setupModelPostFixing();this._setupConversion()}registerDowncastStrategy(t){this._downcastStrategies.push(t)}getListAttributeNames(){return[...oW,...this._downcastStrategies.map((t=>t.attributeName))]}_setupDeleteIntegration(){const t=this.editor;const e=t.commands.get("mergeListItemBackward");const n=t.commands.get("mergeListItemForward");this.listenTo(t.editing.view.document,"delete",((i,o)=>{const r=t.model.document.selection;if(getSelectedBlockObject(t.model)){return}t.model.change((()=>{const s=r.getFirstPosition();if(r.isCollapsed&&o.direction=="backward"){if(!s.isAtStart){return}const n=s.parent;if(!isListItemBlock(n)){return}const r=ListWalker.first(n,{sameAttributes:"listType",sameIndent:true});if(!r&&n.getAttribute("listIndent")===0){if(!isLastBlockOfListItem(n)){t.execute("splitListItemAfter")}t.execute("outdentList")}else{if(!e||!e.isEnabled){return}e.execute({shouldMergeOnBlocksContentLevel:cW(t.model,"backward")})}o.preventDefault();i.stop()}else{if(r.isCollapsed&&!r.getLastPosition().isAtEnd){return}if(!n||!n.isEnabled){return}n.execute({shouldMergeOnBlocksContentLevel:cW(t.model,"forward")});o.preventDefault();i.stop()}}))}),{context:"li"})}_setupEnterIntegration(){const t=this.editor;const e=t.model;const n=t.commands;const i=n.get("enter");this.listenTo(t.editing.view.document,"enter",((n,i)=>{const o=e.document;const r=o.selection.getFirstPosition().parent;if(o.selection.isCollapsed&&isListItemBlock(r)&&r.isEmpty&&!i.isSoft){const e=isFirstBlockOfListItem(r);const o=isLastBlockOfListItem(r);if(e&&o){t.execute("outdentList");i.preventDefault();n.stop()}else if(e&&!o){t.execute("splitListItemAfter");i.preventDefault();n.stop()}else if(o){t.execute("splitListItemBefore");i.preventDefault();n.stop()}}}),{context:"li"});this.listenTo(i,"afterExecute",(()=>{const e=n.get("splitListItemBefore");e.refresh();if(!e.isEnabled){return}const i=t.model.document;const o=i.selection.getLastPosition().parent;const r=getAllListItemBlocks(o);if(r.length===2){e.execute()}}))}_setupTabIntegration(){const t=this.editor;this.listenTo(t.editing.view.document,"tab",((e,n)=>{const i=n.shiftKey?"outdentList":"indentList";const o=this.editor.commands.get(i);if(o.isEnabled){t.execute(i);n.stopPropagation();n.preventDefault();e.stop()}}),{context:"li"})}_setupConversion(){const t=this.editor;const e=t.model;const n=this.getListAttributeNames();const i=t.config.get("list.multiBlock");const o=i?"paragraph":"listItem";t.conversion.for("upcast").elementToElement({view:"li",model:(t,{writer:e})=>e.createElement(o,{listType:""})}).elementToElement({view:"p",model:(t,{writer:e})=>{if(t.parent&&t.parent.is("element","li")){return e.createElement(o,{listType:""})}return null},converterPriority:"high"}).add((t=>{t.on("element:li",listItemUpcastConverter());t.on("element:ul",listUpcastCleanList(),{priority:"high"});t.on("element:ol",listUpcastCleanList(),{priority:"high"})}));if(!i){t.conversion.for("downcast").elementToElement({model:"listItem",view:"p"})}t.conversion.for("editingDowncast").elementToElement({model:o,view:bogusParagraphCreator(n),converterPriority:"high"}).add((t=>{t.on("attribute",listItemDowncastConverter(n,this._downcastStrategies,e))}));t.conversion.for("dataDowncast").elementToElement({model:o,view:bogusParagraphCreator(n,{dataPipeline:true}),converterPriority:"high"}).add((t=>{t.on("attribute",listItemDowncastConverter(n,this._downcastStrategies,e,{dataPipeline:true}))}));this.listenTo(e.document,"change:data",reconvertItemsOnDataChange(e,t.editing,n,this),{priority:"high"});this.on("checkAttributes:item",((t,{viewElement:e,modelAttributes:n})=>{if(e.id!=n.listItemId){t.return=true;t.stop()}}));this.on("checkAttributes:list",((t,{viewElement:e,modelAttributes:n})=>{if(e.name!=getViewElementNameForListType(n.listType)||e.id!=getViewElementIdForListType(n.listType,n.listIndent)){t.return=true;t.stop()}}))}_setupModelPostFixing(){const t=this.editor.model;const e=this.getListAttributeNames();t.document.registerPostFixer((n=>sW(t,n,e,this)));this.on("postFixer",((t,{listNodes:e,writer:n})=>{t.return=fixListIndents(e,n)||t.return}),{priority:"high"});this.on("postFixer",((t,{listNodes:e,writer:n,seenIds:i})=>{t.return=fixListItemIds(e,i,n)||t.return}),{priority:"high"})}_setupClipboardIntegration(){const t=this.editor.model;const e=this.editor.plugins.get("ClipboardPipeline");this.listenTo(t,"insertContent",aW(t),{priority:"high"});this.listenTo(e,"outputTransformation",((e,n)=>{t.change((t=>{const e=Array.from(n.content.getChildren());const i=e[e.length-1];if(e.length>1&&i.is("element")&&i.isEmpty){const n=e.slice(0,-1);if(n.every(isListItemBlock)){t.remove(i)}}if(n.method=="copy"||n.method=="cut"){const e=Array.from(n.content.getChildren());const i=isSingleListItem(e);if(i){removeListAttributes(e,t)}}}))}))}}function sW(t,e,n,i){const o=t.document.differ.getChanges();const r=new Map;const s=i.editor.config.get("list.multiBlock");let a=false;for(const i of o){if(i.type=="insert"&&i.name!="$text"){const o=i.position.nodeAfter;if(!t.schema.checkAttribute(o,"listItemId")){for(const t of Array.from(o.getAttributeKeys())){if(n.includes(t)){e.removeAttribute(t,o);a=true}}}findAndAddListHeadToMap(i.position,r);if(!i.attributes.has("listItemId")){findAndAddListHeadToMap(i.position.getShiftedBy(i.length),r)}for(const{item:e,previousPosition:n}of t.createRangeIn(o)){if(isListItemBlock(e)){findAndAddListHeadToMap(n,r)}}}else if(i.type=="remove"){findAndAddListHeadToMap(i.position,r)}else if(i.type=="attribute"&&n.includes(i.attributeKey)){findAndAddListHeadToMap(i.range.start,r);if(i.attributeNewValue===null){findAndAddListHeadToMap(i.range.start.getShiftedBy(1),r)}}if(!s&&i.type=="attribute"&&oW.includes(i.attributeKey)){const t=i.range.start.nodeAfter;if(i.attributeNewValue===null&&t&&t.is("element","listItem")){e.rename(t,"paragraph");a=true}else if(i.attributeOldValue===null&&t&&t.is("element")&&t.name!="listItem"){e.rename(t,"listItem");a=true}}}const c=new Set;for(const t of r.values()){a=i.fire("postFixer",{listNodes:new ListBlocksIterable(t),listHead:t,writer:e,seenIds:c})||a}return a}function aW(t){return(e,[n,i])=>{const o=n.is("documentFragment")?Array.from(n.getChildren()):[n];if(!o.length){return}const r=i?t.createSelection(i):t.document.selection;const s=r.getFirstPosition();let a;if(isListItemBlock(s.parent)){a=s.parent}else if(isListItemBlock(s.nodeBefore)){a=s.nodeBefore}else{return}t.change((t=>{const e=a.getAttribute("listType");const n=a.getAttribute("listIndent");const i=o[0].getAttribute("listIndent")||0;const r=Math.max(n-i,0);for(const n of o){const i=isListItemBlock(n);if(a.is("element","listItem")&&n.is("element","paragraph")){t.rename(n,"listItem")}t.setAttributes({listIndent:(i?n.getAttribute("listIndent"):0)+r,listItemId:i?n.getAttribute("listItemId"):ListItemUid.next(),listType:e},n)}}))}}function cW(t,e){const n=t.document.selection;if(!n.isCollapsed){return!getSelectedBlockObject(t)}if(e==="forward"){return true}const i=n.getFirstPosition();const o=i.parent;const r=o.previousSibling;if(t.schema.isObject(r)){return false}if(r.isEmpty){return true}return isSingleListItem([o,r])}function lW(t){const e=t.createContainerElement("li");e.getFillerOffset=_W;return e}function dW(t,e){const n=e.mapper;const i=e.writer;const o=t.getAttribute("listType")=="numbered"?"ol":"ul";const r=lW(i);const s=i.createContainerElement(o,null);i.insert(i.createPositionAt(s,0),r);n.bindElements(t,r);return r}function uW(t,e,n,i){const o=e.parent;const r=n.mapper;const s=n.writer;let a=r.toViewPosition(i.createPositionBefore(t));const c=gW(t.previousSibling,{sameIndent:true,smallerIndent:true,listIndent:t.getAttribute("listIndent")});const 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&&l.name=="listItem"){a=r.toViewPosition(i.createPositionAt(l,"end"));const t=r.findMappedViewAncestor(a);const e=pW(t);if(e){a=s.createPositionBefore(e)}else{a=s.createPositionAt(t,"end")}}else{a=r.toViewPosition(i.createPositionBefore(t))}}a=mW(a);s.insert(a,o);if(l&&l.name=="listItem"){const t=r.toViewElement(l);const n=s.createRange(s.createPositionAt(t,0),a);const i=n.getWalker({ignoreElementEnd:true});for(const t of i){if(t.item.is("element","li")){const n=s.breakContainer(s.createPositionBefore(t.item));const o=t.item.parent;const r=s.createPositionAt(e,"end");hW(s,r.nodeBefore,r.nodeAfter);s.move(s.createRangeOn(o),r);i._position=n}}}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")){i=e}else{break}}if(i){s.breakContainer(s.createPositionAfter(i));s.move(s.createRangeOn(i.parent),s.createPositionAt(e,"end"))}}}hW(s,o,o.nextSibling);hW(s,o.previousSibling,o)}function hW(t,e,n){if(!e||!n||e.name!="ul"&&e.name!="ol"){return null}if(e.name!=n.name||e.getAttribute("class")!==n.getAttribute("class")){return null}return t.mergeContainers(t.createPositionAfter(e))}function mW(t){return t.getLastMatchingPosition((t=>t.item.is("uiElement")))}function gW(t,e){const n=!!e.sameIndent;const i=!!e.smallerIndent;const o=e.listIndent;let r=t;while(r&&r.name=="listItem"){const t=r.getAttribute("listIndent");if(n&&o==t||i&&o>t){return r}if(e.direction==="forward"){r=r.nextSibling}else{r=r.previousSibling}}return null}function fW(t,e,n,i){t.ui.componentFactory.add(e,(o=>{const r=t.commands.get(e);const s=new xd(o);s.set({label:n,icon:i,tooltip:true,isToggleable:true});s.bind("isOn","isEnabled").to(r,"value","isEnabled");s.on("execute",(()=>{t.execute(e);t.editing.view.focus()}));return s}))}function pW(t){for(const e of t.getChildren()){if(e.name=="ul"||e.name=="ol"){return e}}return null}function bW(t,e){const n=[];const i=t.parent;const o={ignoreElementEnd:false,startPosition:t,shallow:true,direction:e};const r=i.getAttribute("listIndent");const s=[...new Ob(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){continue}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}if(e==="backward"){n.unshift(t)}else{n.push(t)}}return n}function kW(t){const e=t.document;let n=[...e.selection.getSelectedBlocks()].filter((t=>t.is("element","listItem"))).map((e=>{const n=t.change((t=>t.createPositionAt(e,0)));return[...bW(n,"backward"),...bW(n,"forward")]})).flat();n=[...new Set(n)];return n}const wW=["disc","circle","square"];const AW=["decimal","decimal-leading-zero","lower-roman","upper-roman","lower-latin","upper-latin"];function CW(t){if(wW.includes(t)){return"bulleted"}if(AW.includes(t)){return"numbered"}return null}function _W(){const t=!this.isEmpty&&(this.getChild(0).name=="ul"||this.getChild(0).name=="ol");if(this.isEmpty||t){return 0}return Lg.call(this)}const vW='';const yW='';class xW extends rh{static get pluginName(){return"ListUI"}init(){const t=this.editor.t;fW(this.editor,"numberedList",t("Numbered List"),vW);fW(this.editor,"bulletedList",t("Bulleted List"),yW)}}class EW extends(null&&Plugin){static get requires(){return[DocumentListEditing,ListUI]}static get pluginName(){return"DocumentList"}}class DW extends(null&&Plugin){static get pluginName(){return"AdjacentListsSupport"}init(){const t=this.editor;const e=t.model;e.schema.register("listSeparator",{allowWhere:"$block",isBlock:true});t.conversion.for("upcast").add((t=>{t.on("element:ol",TW());t.on("element:ul",TW())})).elementToElement({model:"listSeparator",view:"ck-list-separator"});t.conversion.for("editingDowncast").elementToElement({model:"listSeparator",view:{name:"div",classes:["ck-list-separator","ck-hidden"]}});t.conversion.for("dataDowncast").elementToElement({model:"listSeparator",view:(t,e)=>{const n=e.writer.createContainerElement("ck-list-separator");e.writer.setCustomProperty("dataPipeline:transparentRendering",true,n);n.getFillerOffset=()=>null;return n}})}}function TW(){return(t,e,n)=>{const i=e.viewItem;const o=i.nextSibling;if(!o){return}if(i.name!==o.name){return}if(!e.modelRange){Object.assign(e,n.convertChildren(e.viewItem,e.modelCursor))}const r=n.writer;const s=r.createElement("listSeparator");if(!n.safeInsert(s,e.modelCursor)){return}const a=n.getSplitParts(s);e.modelRange=r.createRange(e.modelRange.start,r.createPositionAfter(a[a.length-1]));n.updateConversionResult(s,e)}}class SW extends(null&&Command){refresh(){const t=this._getValue();this.value=t;this.isEnabled=t!=null}execute({startIndex:t=1}={}){const e=this.editor.model;const n=e.document;let i=Array.from(n.selection.getSelectedBlocks()).filter((t=>isListItemBlock(t)&&t.getAttribute("listType")=="numbered"));i=expandListBlocksToCompleteList(i);e.change((e=>{for(const n of i){e.setAttribute("listStart",t>=0?t:1,n)}}))}_getValue(){const t=this.editor.model;const e=t.document;const n=first(e.selection.getSelectedBlocks());if(n&&isListItemBlock(n)&&n.getAttribute("listType")=="numbered"){return n.getAttribute("listStart")}return null}}const IW={};const BW={};const MW={};const NW=[{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 NW){IW[t]=n;BW[t]=e;if(e){MW[e]=t}}function PW(){return NW.map((t=>t.listStyle))}function LW(t){return IW[t]||null}function zW(t){return MW[t]||null}function OW(t){return BW[t]||null}class RW extends(null&&Command){constructor(t,e,n){super(t);this.defaultType=e;this._supportedTypes=n}refresh(){this.value=this._getValue();this.isEnabled=this._checkEnabled()}execute(t={}){const e=this.editor.model;const n=e.document;e.change((e=>{this._tryToConvertItemsToList(t);let i=Array.from(n.selection.getSelectedBlocks()).filter((t=>t.hasAttribute("listType")));if(!i.length){return}i=expandListBlocksToCompleteList(i);for(const n of i){e.setAttribute("listStyle",t.type||this.defaultType,n)}}))}isStyleTypeSupported(t){if(!this._supportedTypes){return true}return this._supportedTypes.includes(t)}_getValue(){const t=first(this.editor.model.document.selection.getSelectedBlocks());if(isListItemBlock(t)){return t.getAttribute("listStyle")}return null}_checkEnabled(){const t=this.editor;const e=t.commands.get("numberedList");const n=t.commands.get("bulletedList");return e.isEnabled||n.isEnabled}_tryToConvertItemsToList(t){if(!t.type){return}const e=getListTypeFromListStyleType(t.type);if(!e){return}const n=this.editor;const i=`${e}List`;const o=n.commands.get(i);if(!o.value){n.execute(i)}}}class VW extends(null&&Command){refresh(){const t=this._getValue();this.value=t;this.isEnabled=t!=null}execute(t={}){const e=this.editor.model;const n=e.document;let i=Array.from(n.selection.getSelectedBlocks()).filter((t=>isListItemBlock(t)&&t.getAttribute("listType")=="numbered"));i=expandListBlocksToCompleteList(i);e.change((e=>{for(const n of i){e.setAttribute("listReversed",!!t.reversed,n)}}))}_getValue(){const t=this.editor.model;const e=t.document;const n=first(e.selection.getSelectedBlocks());if(isListItemBlock(n)&&n.getAttribute("listType")=="numbered"){return n.getAttribute("listReversed")}return null}}class FW extends(null&&Plugin){static get pluginName(){return"DocumentListPropertiesUtils"}getAllSupportedStyleTypes(){return getAllSupportedStyleTypes()}getListTypeFromListStyleType(t){return getListTypeFromListStyleType(t)}getListStyleTypeFromTypeAttribute(t){return getListStyleTypeFromTypeAttribute(t)}getTypeAttributeFromListStyleType(t){return getTypeAttributeFromListStyleType(t)}}const jW="default";class HW extends(null&&Plugin){static get requires(){return[DocumentListEditing,DocumentListPropertiesUtils]}static get pluginName(){return"DocumentListPropertiesEditing"}constructor(t){super(t);t.config.define("list.properties",{styles:true,startIndex:false,reversed:false})}init(){const t=this.editor;const e=t.model;const n=t.plugins.get(DocumentListEditing);const i=t.config.get("list.properties");const o=UW(i);for(const i of o){i.addCommand(t);e.schema.extend("$listItem",{allowAttributes:i.attributeName});n.registerDowncastStrategy({scope:"list",attributeName:i.attributeName,setAttributeOnDowncast(t,e,n){i.setAttributeOnDowncast(t,e,n)}})}t.conversion.for("upcast").add((t=>{for(const e of o){t.on("element:ol",listPropertiesUpcastConverter(e));t.on("element:ul",listPropertiesUpcastConverter(e))}}));n.on("checkAttributes:list",((t,{viewElement:e,modelAttributes:n})=>{for(const i of o){if(i.getAttributeOnUpcast(e)!=n[i.attributeName]){t.return=true;t.stop()}}}));this.listenTo(t.commands.get("indentList"),"afterExecute",((t,n)=>{e.change((t=>{for(const e of n){for(const n of o){if(n.appliesToListItem(e)){t.setAttribute(n.attributeName,n.defaultValue,e)}}}}))}));n.on("postFixer",((t,{listNodes:e,writer:n})=>{for(const{node:i}of e){for(const e of o){if(e.hasValidAttribute(i)){continue}if(e.appliesToListItem(i)){n.setAttribute(e.attributeName,e.defaultValue,i)}else{n.removeAttribute(e.attributeName,i)}t.return=true}}}));n.on("postFixer",((t,{listNodes:e,writer:n})=>{for(const{node:i,previousNodeInList:r}of e){if(!r){continue}if(r.getAttribute("listType")!=i.getAttribute("listType")){continue}for(const e of o){const{attributeName:o}=e;if(!e.appliesToListItem(i)){continue}const s=r.getAttribute(o);if(i.getAttribute(o)!=s){n.setAttribute(o,s,i);t.return=true}}}}))}}function UW(t){const e=[];if(t.styles){const n=typeof t.styles=="object"&&t.styles.useAttribute;e.push({attributeName:"listStyle",defaultValue:jW,viewConsumables:{styles:"list-style-type"},addCommand(t){let e=getAllSupportedStyleTypes();if(n){e=e.filter((t=>!!getTypeAttributeFromListStyleType(t)))}t.commands.add("listStyle",new DocumentListStyleCommand(t,jW,e))},appliesToListItem(t){return t.getAttribute("listType")=="numbered"||t.getAttribute("listType")=="bulleted"},hasValidAttribute(t){if(!this.appliesToListItem(t)){return!t.hasAttribute("listStyle")}if(!t.hasAttribute("listStyle")){return false}const e=t.getAttribute("listStyle");if(e==jW){return true}return getListTypeFromListStyleType(e)==t.getAttribute("listType")},setAttributeOnDowncast(t,e,i){if(e&&e!==jW){if(n){const n=getTypeAttributeFromListStyleType(e);if(n){t.setAttribute("type",n,i);return}}else{t.setStyle("list-style-type",e,i);return}}t.removeStyle("list-style-type",i);t.removeAttribute("type",i)},getAttributeOnUpcast(t){const e=t.getStyle("list-style-type");if(e){return e}const n=t.getAttribute("type");if(n){return getListStyleTypeFromTypeAttribute(n)}return jW}})}if(t.reversed){e.push({attributeName:"listReversed",defaultValue:false,viewConsumables:{attributes:"reversed"},addCommand(t){t.commands.add("listReversed",new DocumentListReversedCommand(t))},appliesToListItem(t){return t.getAttribute("listType")=="numbered"},hasValidAttribute(t){return this.appliesToListItem(t)==t.hasAttribute("listReversed")},setAttributeOnDowncast(t,e,n){if(e){t.setAttribute("reversed","reversed",n)}else{t.removeAttribute("reversed",n)}},getAttributeOnUpcast(t){return t.hasAttribute("reversed")}})}if(t.startIndex){e.push({attributeName:"listStart",defaultValue:1,viewConsumables:{attributes:"start"},addCommand(t){t.commands.add("listStart",new DocumentListStartCommand(t))},appliesToListItem(t){return t.getAttribute("listType")=="numbered"},hasValidAttribute(t){return this.appliesToListItem(t)==t.hasAttribute("listStart")},setAttributeOnDowncast(t,e,n){if(e==0||e>1){t.setAttribute("start",e,n)}else{t.removeAttribute("start",n)}},getAttributeOnUpcast(t){const e=t.getAttribute("start");return e>=0?e:1}})}return e}var WW=n(9938);var GW={injectType:"singletonStyleTag",attributes:{"data-cke":true}};GW.insert="head";GW.singleton=true;var qW=Pl()(WW.Z,GW);const $W=WW.Z.locals||{};class KW extends(null&&View){constructor(t,{enabledProperties:e,styleButtonViews:n,styleGridAriaLabel:i}){super(t);this.stylesView=null;this.additionalPropertiesCollapsibleView=null;this.startIndexFieldView=null;this.reversedSwitchButtonView=null;this.focusTracker=new FocusTracker;this.keystrokes=new KeystrokeHandler;this.focusables=new ViewCollection;const o=["ck","ck-list-properties"];this.children=this.createCollection();this.focusCycler=new FocusCycler({focusables:this.focusables,focusTracker:this.focusTracker,keystrokeHandler:this.keystrokes,actions:{focusPrevious:"shift + tab",focusNext:"tab"}});if(e.styles){this.stylesView=this._createStylesView(n,i);this.children.add(this.stylesView)}else{o.push("ck-list-properties_without-styles")}if(e.startIndex||e.reversed){this._addNumberedListPropertyViews(e);o.push("ck-list-properties_with-numbered-properties")}this.setTemplate({tag:"div",attributes:{class:o},children:this.children})}render(){super.render();if(this.stylesView){this.focusables.add(this.stylesView);this.focusTracker.add(this.stylesView.element);if(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)}addKeyboardHandlingForGrid({keystrokeHandler:this.stylesView.keystrokes,focusTracker:this.stylesView.focusTracker,gridItems:this.stylesView.children,numberOfColumns:()=>global.window.getComputedStyle(this.stylesView.element).getPropertyValue("grid-template-columns").split(" ").length,uiLanguageDirection:this.locale&&this.locale.uiLanguageDirection})}if(this.startIndexFieldView){this.focusables.add(this.startIndexFieldView);this.focusTracker.add(this.startIndexFieldView.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)}if(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 View(this.locale);n.children=n.createCollection();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 FocusTracker;n.keystrokes=new KeystrokeHandler;n.render();n.keystrokes.listenTo(n.element);return n}_addNumberedListPropertyViews(t){const e=this.locale.t;const n=[];if(t.startIndex){this.startIndexFieldView=this._createStartIndexField();n.push(this.startIndexFieldView)}if(t.reversed){this.reversedSwitchButtonView=this._createReversedSwitchButton();n.push(this.reversedSwitchButtonView)}if(t.styles){this.additionalPropertiesCollapsibleView=new CollapsibleView(this.locale,n);this.additionalPropertiesCollapsibleView.set({label:e("List properties"),isCollapsed:true});this.additionalPropertiesCollapsibleView.buttonView.bind("isEnabled").toMany(n,"isEnabled",((...t)=>t.some((t=>t))));this.additionalPropertiesCollapsibleView.buttonView.on("change:isEnabled",((t,e,n)=>{if(!n){this.additionalPropertiesCollapsibleView.isCollapsed=true}}));this.children.add(this.additionalPropertiesCollapsibleView)}else{this.children.addMany(n)}}_createStartIndexField(){const t=this.locale.t;const e=new LabeledFieldView(this.locale,createLabeledInputNumber);e.set({label:t("Start at"),class:"ck-numbered-list-properties__start-index"});e.fieldView.set({min:0,step:1,value:1,inputMode:"numeric"});e.fieldView.on("input",(()=>{const n=e.fieldView.element;const i=n.valueAsNumber;if(Number.isNaN(i)){return}if(!n.checkValidity()){e.errorText=t("Start index must be greater than 0.")}else{this.fire("listStart",{startIndex:i})}}));return e}_createReversedSwitchButton(){const t=this.locale.t;const e=new SwitchButtonView(this.locale);e.set({withText:true,label:t("Reversed order"),class:"ck-numbered-list-properties__reversed-order"});e.delegate("execute").to(this,"listReversed");return e}}var ZW=n(2591);var YW={injectType:"singletonStyleTag",attributes:{"data-cke":true}};YW.insert="head";YW.singleton=true;var QW=Pl()(ZW.Z,YW);const JW=ZW.Z.locals||{};class XW extends(null&&Plugin){static get pluginName(){return"ListPropertiesUI"}init(){const t=this.editor;const e=t.locale.t;const n=t.config.get("list.properties");if(n.styles){t.ui.componentFactory.add("bulletedList",tG({editor:t,parentCommandName:"bulletedList",buttonLabel:e("Bulleted List"),buttonIcon:bulletedListIcon,styleGridAriaLabel:e("Bulleted list styles toolbar"),styleDefinitions:[{label:e("Toggle the disc list style"),tooltip:e("Disc"),type:"disc",icon:listStyleDiscIcon},{label:e("Toggle the circle list style"),tooltip:e("Circle"),type:"circle",icon:listStyleCircleIcon},{label:e("Toggle the square list style"),tooltip:e("Square"),type:"square",icon:listStyleSquareIcon}]}))}if(n.styles||n.startIndex||n.reversed){t.ui.componentFactory.add("numberedList",tG({editor:t,parentCommandName:"numberedList",buttonLabel:e("Numbered List"),buttonIcon:numberedListIcon,styleGridAriaLabel:e("Numbered list styles toolbar"),styleDefinitions:[{label:e("Toggle the decimal list style"),tooltip:e("Decimal"),type:"decimal",icon:listStyleDecimalIcon},{label:e("Toggle the decimal with leading zero list style"),tooltip:e("Decimal with leading zero"),type:"decimal-leading-zero",icon:listStyleDecimalWithLeadingZeroIcon},{label:e("Toggle the lower–roman list style"),tooltip:e("Lower–roman"),type:"lower-roman",icon:listStyleLowerRomanIcon},{label:e("Toggle the upper–roman list style"),tooltip:e("Upper-roman"),type:"upper-roman",icon:listStyleUpperRomanIcon},{label:e("Toggle the lower–latin list style"),tooltip:e("Lower-latin"),type:"lower-latin",icon:listStyleLowerLatinIcon},{label:e("Toggle the upper–latin list style"),tooltip:e("Upper-latin"),type:"upper-latin",icon:listStyleUpperLatinIcon}]}))}}}function tG({editor:t,parentCommandName:e,buttonLabel:n,buttonIcon:i,styleGridAriaLabel:o,styleDefinitions:r}){const s=t.commands.get(e);return a=>{const c=createDropdown(a,SplitButtonView);const 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:true,isToggleable:true});l.bind("isOn").to(s,"value",(t=>!!t));c.once("change:isOpen",(()=>{const n=nG({editor:t,dropdownView:c,parentCommandName:e,styleGridAriaLabel:o,styleDefinitions:r});c.panelView.children.add(n)}));c.on("execute",(()=>{t.editing.view.focus()}));return c}}function eG({editor:t,listStyleCommand:e,parentCommandName:n}){const i=t.locale;const o=t.commands.get(n);return({label:n,type:r,icon:s,tooltip:a})=>{const c=new ButtonView(i);c.set({label:n,icon:s,tooltip:a});e.on("change:value",(()=>{c.isOn=e.value===r}));c.on("execute",(()=>{if(o.value){if(e.value!==r){t.execute("listStyle",{type:r})}else{t.execute("listStyle",{type:e.defaultType})}}else{t.model.change((()=>{t.execute("listStyle",{type:r})}))}}));return c}}function nG({editor:t,dropdownView:e,parentCommandName:n,styleDefinitions:i,styleGridAriaLabel:o}){const r=t.locale;const s=t.config.get("list.properties");let a=null;if(n!="numberedList"){s.startIndex=false;s.reversed=false}if(s.styles){const e=t.commands.get("listStyle");const o=eG({editor:t,parentCommandName:n,listStyleCommand:e});const r=typeof e.isStyleTypeSupported=="function"?t=>e.isStyleTypeSupported(t.type):()=>true;a=i.filter(r).map(o)}const c=new ListPropertiesView(r,{styleGridAriaLabel:o,enabledProperties:s,styleButtonViews:a});if(s.styles){focusChildOnDropdownOpen(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",(t=>!!t));c.on("listReversed",(()=>{const n=e.value;t.execute("listReversed",{reversed:!n})}))}c.delegate("execute").to(e);return c}class iG extends(null&&Plugin){static get requires(){return[DocumentListPropertiesEditing,ListPropertiesUI]}static get pluginName(){return"DocumentListProperties"}}class oG extends ah{constructor(t,e){super(t);this._indentBy=e=="forward"?1:-1}refresh(){this.isEnabled=this._checkEnabled()}execute(){const t=this.editor.model;const e=t.document;let n=Array.from(e.selection.getSelectedBlocks());t.change((t=>{const e=n[n.length-1];let i=e.nextSibling;while(i&&i.name=="listItem"&&i.getAttribute("listIndent")>e.getAttribute("listIndent")){n.push(i);i=i.nextSibling}if(this._indentBy<0){n=n.reverse()}for(const e of n){const n=e.getAttribute("listIndent")+this._indentBy;if(n<0){t.rename(e,"paragraph")}else{t.setAttribute("listIndent",n,e)}}this.fire("_executeCleanup",n)}))}_checkEnabled(){const t=gl(this.editor.model.document.selection.getSelectedBlocks());if(!t||!t.is("element","listItem")){return false}if(this._indentBy>0){const e=t.getAttribute("listIndent");const n=t.getAttribute("listType");let i=t.previousSibling;while(i&&i.is("element","listItem")&&i.getAttribute("listIndent")>=e){if(i.getAttribute("listIndent")==e){return i.getAttribute("listType")==n}i=i.previousSibling}return false}return true}}class rG extends ah{constructor(t,e){super(t);this.type=e}refresh(){this.value=this._getValue();this.isEnabled=this._checkEnabled()}execute(t={}){const e=this.editor.model;const n=e.document;const i=Array.from(n.selection.getSelectedBlocks()).filter((t=>aG(t,e.schema)));const o=t.forceValue!==undefined?!t.forceValue:this.value;e.change((t=>{if(o){let e=i[i.length-1].nextSibling;let n=Number.POSITIVE_INFINITY;let o=[];while(e&&e.name=="listItem"&&e.getAttribute("listIndent")!==0){const t=e.getAttribute("listIndent");if(t=n){if(r>o.getAttribute("listIndent")){r=o.getAttribute("listIndent")}if(o.getAttribute("listIndent")==r){t[e?"unshift":"push"](o)}o=o[e?"previousSibling":"nextSibling"]}}}function aG(t,e){return e.checkChild(t.parent,"listItem")&&!e.isObject(t)}class cG extends rh{static get pluginName(){return"ListUtils"}getListTypeFromListStyleType(t){return CW(t)}getSelectedListItems(t){return kW(t)}getSiblingNodes(t,e){return bW(t,e)}}function lG(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;const s=dW(r,i);uW(r,s,i,t)}}function dG(t){return(e,n,i)=>{const o=i.mapper.toViewPosition(n.position);const r=o.getLastMatchingPosition((t=>!t.item.is("element","li")));const s=r.nodeAfter;const a=i.writer;a.breakContainer(a.createPositionBefore(s));a.breakContainer(a.createPositionAfter(s));const c=s.parent;const l=c.previousSibling;const d=a.createRangeOn(c);const u=a.remove(d);if(l&&l.nextSibling){hW(a,l,l.nextSibling)}const h=i.mapper.toModelElement(s);xG(h.getAttribute("listIndent")+1,n.position,d.start,s,i,t);for(const t of a.createRangeIn(u).getItems()){i.mapper.unbindViewElement(t)}e.stop()}}const uG=(t,e,n)=>{if(!n.consumable.test(e.item,t.name)){return}const i=n.mapper.toViewElement(e.item);const o=n.writer;o.breakContainer(o.createPositionBefore(i));o.breakContainer(o.createPositionAfter(i));const r=i.parent;const s=e.attributeNewValue=="numbered"?"ol":"ul";o.rename(s,r)};const hG=(t,e,n)=>{n.consumable.consume(e.item,t.name);const i=n.mapper.toViewElement(e.item);const o=i.parent;const r=n.writer;hW(r,o,o.nextSibling);hW(r,o.previousSibling,o)};function mG(t){return(e,n,i)=>{if(!i.consumable.consume(n.item,"attribute:listIndent")){return}const o=i.mapper.toViewElement(n.item);const r=i.writer;r.breakContainer(r.createPositionBefore(o));r.breakContainer(r.createPositionAfter(o));const s=o.parent;const a=s.previousSibling;const c=r.createRangeOn(s);r.remove(c);if(a&&a.nextSibling){hW(r,a,a.nextSibling)}xG(n.attributeOldValue+1,n.range.start,c.start,o,i,t);uW(n.item,o,i,t);for(const t of n.item.getChildren()){i.consumable.consume(t,"insert")}}}const gG=(t,e,n)=>{if(!n.consumable.test(e.item,t.name)){return}if(e.item.name!="listItem"){let t=n.mapper.toViewPosition(e.range.start);const i=n.writer;const o=[];while(t.parent.name=="ul"||t.parent.name=="ol"){t=i.breakContainer(t);if(t.parent.name!="li"){break}const e=t;const 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=hW(i,n,n.nextSibling);if(e&&e.parent==n){t.offset--}}}hW(i,t.nodeBefore,t.nodeAfter)}}};const fG=(t,e,n)=>{const i=n.mapper.toViewPosition(e.position);const o=i.nodeBefore;const r=i.nodeAfter;hW(n.writer,o,r)};const pG=(t,e,n)=>{if(n.consumable.consume(e.viewItem,{name:true})){const t=n.writer;const i=t.createElement("listItem");const o=DG(e.viewItem);t.setAttribute("listIndent",o,i);const r=e.viewItem.parent&&e.viewItem.parent.name=="ol"?"numbered":"bulleted";t.setAttribute("listType",r,i);if(!n.safeInsert(i,e.modelCursor)){return}const s=vG(i,e.viewItem.getChildren(),n);e.modelRange=t.createRange(e.modelCursor,s);n.updateConversionResult(i,e)}};const bG=(t,e,n)=>{if(n.consumable.test(e.viewItem,{name:true})){const t=Array.from(e.viewItem.getChildren());for(const e of t){const t=!(e.is("element","li")||EG(e));if(t){e._remove()}}}};const kG=(t,e,n)=>{if(n.consumable.test(e.viewItem,{name:true})){if(e.viewItem.childCount===0){return}const t=[...e.viewItem.getChildren()];let n=false;for(const e of t){if(n&&!EG(e)){e._remove()}if(EG(e)){n=true}}}};function wG(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);const o=e.getAncestors().find(EG);const r=t.createPositionAt(e,0).getWalker();for(const t of r){if(t.type=="elementStart"&&t.item.is("element","li")){n.viewPosition=t.previousPosition;break}else if(t.type=="elementEnd"&&t.item==o){n.viewPosition=t.nextPosition;break}}}}}function AG(t){return(e,n)=>{const i=n.viewPosition;const o=i.parent;const r=n.mapper;if(o.name=="ul"||o.name=="ol"){if(!i.isAtEnd){const e=r.toModelElement(i.nodeAfter);n.modelPosition=t.createPositionBefore(e)}else{const e=r.toModelElement(i.nodeBefore);const o=r.getModelLength(i.nodeBefore);n.modelPosition=t.createPositionBefore(e).getShiftedBy(o)}e.stop()}else if(o.name=="li"&&i.nodeBefore&&(i.nodeBefore.name=="ul"||i.nodeBefore.name=="ol")){const s=r.toModelElement(o);let a=1;let c=i.nodeBefore;while(c&&EG(c)){a+=r.getModelLength(c);c=c.previousSibling}n.modelPosition=t.createPositionBefore(s).getShiftedBy(a);e.stop()}}}function CG(t,e){const n=t.document.differ.getChanges();const i=new Map;let o=false;for(const i of n){if(i.type=="insert"&&i.name=="listItem"){r(i.position)}else if(i.type=="insert"&&i.name!="listItem"){if(i.name!="$text"){const n=i.position.nodeAfter;if(n.hasAttribute("listIndent")){e.removeAttribute("listIndent",n);o=true}if(n.hasAttribute("listType")){e.removeAttribute("listType",n);o=true}if(n.hasAttribute("listStyle")){e.removeAttribute("listStyle",n);o=true}if(n.hasAttribute("listReversed")){e.removeAttribute("listReversed",n);o=true}if(n.hasAttribute("listStart")){e.removeAttribute("listStart",n);o=true}for(const e of Array.from(t.createRangeIn(n)).filter((t=>t.item.is("element","listItem")))){r(e.previousPosition)}}const n=i.position.getShiftedBy(i.length);r(n)}else if(i.type=="remove"&&i.name=="listItem"){r(i.position)}else if(i.type=="attribute"&&i.attributeKey=="listIndent"){r(i.range.start)}else if(i.type=="attribute"&&i.attributeKey=="listType"){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")){const e=t.nodeAfter;if(e&&e.is("element","listItem")){i.set(e,e)}}else{let t=e;if(i.has(t)){return}for(let e=t.previousSibling;e&&e.is("element","listItem");e=t.previousSibling){t=e;if(i.has(t)){return}}i.set(e,t)}}function s(t){let n=0;let i=null;while(t&&t.is("element","listItem")){const r=t.getAttribute("listIndent");if(r>n){let s;if(i===null){i=r-n;s=n}else{if(i>r){i=r}s=r-i}e.setAttribute("listIndent",s,t);o=true}else{i=null;n=t.getAttribute("listIndent")+1}t=t.nextSibling}}function a(t){let n=[];let i=null;while(t&&t.is("element","listItem")){const r=t.getAttribute("listIndent");if(i&&i.getAttribute("listIndent")>r){n=n.slice(0,r+1)}if(r!=0){if(n[r]){const i=n[r];if(t.getAttribute("listType")!=i){e.setAttribute("listType",i,t);o=true}}else{n[r]=t.getAttribute("listType")}}i=t;t=t.nextSibling}}}const _G=function(t,[e,n]){const i=this;let o=e.is("documentFragment")?e.getChild(0):e;let r;if(!n){r=i.document.selection}else{r=i.createSelection(n)}if(o&&o.is("element","listItem")){const t=r.getFirstPosition();let e=null;if(t.parent.is("element","listItem")){e=t.parent}else if(t.nodeBefore&&t.nodeBefore.is("element","listItem")){e=t.nodeBefore}if(e){const t=e.getAttribute("listIndent");if(t>0){while(o&&o.is("element","listItem")){o._setAttribute("listIndent",o.getAttribute("listIndent")+t);o=o.nextSibling}}}}};function vG(t,e,n){const{writer:i,schema:o}=n;let r=i.createPositionAfter(t);for(const s of e){if(s.name=="ul"||s.name=="ol"){r=n.convertItem(s,r).modelCursor}else{const e=n.convertItem(s,i.createPositionAt(t,"end"));const a=e.modelRange.start.nodeAfter;const c=a&&a.is("element")&&!o.checkChild(t,a.name);if(c){if(e.modelCursor.parent.is("element","listItem")){t=e.modelCursor.parent}else{t=yG(e.modelCursor)}r=i.createPositionAfter(t)}}}return r}function yG(t){const e=new Ob({startPosition:t});let n;do{n=e.next()}while(!n.value.item.is("element","listItem"));return n.value.item}function xG(t,e,n,i,o,r){const s=gW(e.nodeBefore,{sameIndent:true,smallerIndent:true,listIndent:t});const a=o.mapper;const c=o.writer;const l=s?s.getAttribute("listIndent"):null;let d;if(!s){d=n}else if(l==t){const t=a.toViewElement(s).parent;d=c.createPositionAfter(t)}else{const t=r.createPositionAt(s,"end");d=a.toViewPosition(t)}d=mW(d);for(const t of[...i.getChildren()]){if(EG(t)){d=c.move(c.createRangeOn(t),d).end;hW(c,t,t.nextSibling);hW(c,t.previousSibling,t)}}}function EG(t){return t.is("element","ol")||t.is("element","ul")}function DG(t){let e=0;let n=t.parent;while(n){if(n.is("element","li")){e++}else{const t=n.previousSibling;if(t&&t.is("element","li")){e++}}n=n.parent}return e}class TG extends rh{static get pluginName(){return"ListEditing"}static get requires(){return[VI,pS,cG]}init(){const t=this.editor;t.model.schema.register("listItem",{inheritAllFrom:"$block",allowAttributes:["listType","listIndent"]});const e=t.data;const n=t.editing;t.model.document.registerPostFixer((e=>CG(t.model,e)));n.mapper.registerViewToModelLength("li",SG);e.mapper.registerViewToModelLength("li",SG);n.mapper.on("modelToViewPosition",wG(n.view));n.mapper.on("viewToModelPosition",AG(t.model));e.mapper.on("modelToViewPosition",wG(n.view));t.conversion.for("editingDowncast").add((e=>{e.on("insert",gG,{priority:"high"});e.on("insert:listItem",lG(t.model));e.on("attribute:listType:listItem",uG,{priority:"high"});e.on("attribute:listType:listItem",hG,{priority:"low"});e.on("attribute:listIndent:listItem",mG(t.model));e.on("remove:listItem",dG(t.model));e.on("remove",fG,{priority:"low"})}));t.conversion.for("dataDowncast").add((e=>{e.on("insert",gG,{priority:"high"});e.on("insert:listItem",lG(t.model))}));t.conversion.for("upcast").add((t=>{t.on("element:ul",bG,{priority:"high"});t.on("element:ol",bG,{priority:"high"});t.on("element:li",kG,{priority:"high"});t.on("element:li",pG)}));t.model.on("insertContent",_G,{priority:"high"});t.commands.add("numberedList",new rG(t,"numbered"));t.commands.add("bulletedList",new rG(t,"bulleted"));t.commands.add("indentList",new oG(t,"forward"));t.commands.add("outdentList",new oG(t,"backward"));const i=n.view.document;this.listenTo(i,"enter",((t,e)=>{const n=this.editor.model.document;const i=n.selection.getLastPosition().parent;if(n.selection.isCollapsed&&i.name=="listItem"&&i.isEmpty){this.editor.execute("outdentList");e.preventDefault();t.stop()}}),{context:"li"});this.listenTo(i,"delete",((t,e)=>{if(e.direction!=="backward"){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(o.name!=="listItem"){return}const r=o.previousSibling&&o.previousSibling.name==="listItem";if(r){return}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";const o=this.editor.commands.get(i);if(o.isEnabled){t.execute(i);n.stopPropagation();n.preventDefault();e.stop()}}),{context:"li"})}afterInit(){const t=this.editor.commands;const e=t.get("indent");const n=t.get("outdent");if(e){e.registerChildCommand(t.get("indentList"))}if(n){n.registerChildCommand(t.get("outdentList"))}}}function SG(t){let e=1;for(const n of t.getChildren()){if(n.name=="ul"||n.name=="ol"){for(const t of n.getChildren()){e+=SG(t)}}}return e}class IG extends rh{static get requires(){return[TG,xW]}static get pluginName(){return"List"}}class BG extends(null&&Command){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;const n=getSelectedListItems(e);if(!n.length){return}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;if(t&&t.is("element","listItem")){return t.getAttribute("listStyle")}return null}_checkEnabled(){const t=this.editor;const e=t.commands.get("numberedList");const n=t.commands.get("bulletedList");return e.isEnabled||n.isEnabled}_tryToConvertItemsToList(t){if(!t.type){return}const e=getListTypeFromListStyleType(t.type);if(!e){return}const n=this.editor;const i=`${e}List`;const o=n.commands.get(i);if(!o.value){n.execute(i)}}}class MG extends(null&&Command){refresh(){const t=this._getValue();this.value=t;this.isEnabled=t!=null}execute(t={}){const e=this.editor.model;const n=getSelectedListItems(e).filter((t=>t.getAttribute("listType")=="numbered"));e.change((e=>{for(const i of n){e.setAttribute("listReversed",!!t.reversed,i)}}))}_getValue(){const t=this.editor.model.document.selection.getFirstPosition().parent;if(t&&t.is("element","listItem")&&t.getAttribute("listType")=="numbered"){return t.getAttribute("listReversed")}return null}}class NG extends(null&&Command){refresh(){const t=this._getValue();this.value=t;this.isEnabled=t!=null}execute({startIndex:t=1}={}){const e=this.editor.model;const n=getSelectedListItems(e).filter((t=>t.getAttribute("listType")=="numbered"));e.change((e=>{for(const i of n){e.setAttribute("listStart",t>=0?t:1,i)}}))}_getValue(){const t=this.editor.model.document.selection.getFirstPosition().parent;if(t&&t.is("element","listItem")&&t.getAttribute("listType")=="numbered"){return t.getAttribute("listStart")}return null}}const PG="default";class LG extends(null&&Plugin){static get requires(){return[ListEditing]}static get pluginName(){return"ListPropertiesEditing"}constructor(t){super(t);t.config.define("list",{properties:{styles:true,startIndex:false,reversed:false}})}init(){const t=this.editor;const e=t.model;const n=t.config.get("list.properties");const i=zG(n);e.schema.extend("listItem",{allowAttributes:i.map((t=>t.attributeName))});for(const e of i){e.addCommand(t)}this.listenTo(t.commands.get("indentList"),"_executeCleanup",VG(t,i));this.listenTo(t.commands.get("outdentList"),"_executeCleanup",FG(t,i));this.listenTo(t.commands.get("bulletedList"),"_executeCleanup",GG(t));this.listenTo(t.commands.get("numberedList"),"_executeCleanup",GG(t));e.document.registerPostFixer(jG(t,i));t.conversion.for("upcast").add(OG(i));t.conversion.for("downcast").add(RG(i));this._mergeListAttributesWhileMergingLists(i)}afterInit(){const t=this.editor;if(t.commands.get("todoList")){t.model.document.registerPostFixer(WG(t))}}_mergeListAttributesWhileMergingLists(t){const e=this.editor;const n=e.model;let i;this.listenTo(n,"deleteContent",((t,[e])=>{const n=e.getFirstPosition();const o=e.getLastPosition();if(n.parent===o.parent){return}if(!n.parent.is("element","listItem")){return}const r=o.parent.nextSibling;if(!r||!r.is("element","listItem")){return}const s=getSiblingListItem(n.parent,{sameIndent:true,listIndent:r.getAttribute("listIndent")});if(!s){return}if(s.getAttribute("listType")===r.getAttribute("listType")){i=s}}),{priority:"high"});this.listenTo(n,"deleteContent",(()=>{if(!i){return}n.change((e=>{const n=getSiblingListItem(i.nextSibling,{sameIndent:true,listIndent:i.getAttribute("listIndent"),direction:"forward"});if(!n){i=null;return}const o=[n,...getSiblingNodes(e.createPositionAt(n,0),"forward")];for(const n of o){for(const o of t){if(o.appliesToListItem(n)){const t=o.attributeName;const r=i.getAttribute(t);e.setAttribute(t,r,n)}}}}));i=null}),{priority:"low"})}}function zG(t){const e=[];if(t.styles){e.push({attributeName:"listStyle",defaultValue:PG,addCommand(t){t.commands.add("listStyle",new ListStyleCommand(t,PG))},appliesToListItem(){return true},setAttributeOnDowncast(t,e,n){if(e&&e!==PG){t.setStyle("list-style-type",e,n)}else{t.removeStyle("list-style-type",n)}},getAttributeOnUpcast(t){return t.getStyle("list-style-type")||PG}})}if(t.reversed){e.push({attributeName:"listReversed",defaultValue:false,addCommand(t){t.commands.add("listReversed",new ListReversedCommand(t))},appliesToListItem(t){return t.getAttribute("listType")=="numbered"},setAttributeOnDowncast(t,e,n){if(e){t.setAttribute("reversed","reversed",n)}else{t.removeAttribute("reversed",n)}},getAttributeOnUpcast(t){return t.hasAttribute("reversed")}})}if(t.startIndex){e.push({attributeName:"listStart",defaultValue:1,addCommand(t){t.commands.add("listStart",new ListStartCommand(t))},appliesToListItem(t){return t.getAttribute("listType")=="numbered"},setAttributeOnDowncast(t,e,n){if(e==0||e>1){t.setAttribute("start",e,n)}else{t.removeAttribute("start",n)}},getAttributeOnUpcast(t){const e=t.getAttribute("start");return e>=0?e:1}})}return e}function OG(t){return e=>{e.on("element:li",((e,n,i)=>{if(!n.modelRange){return}const o=n.viewItem.parent;const r=n.modelRange.start.nodeAfter||n.modelRange.end.nodeBefore;for(const e of t){if(e.appliesToListItem(r)){const t=e.getAttributeOnUpcast(o);i.writer.setAttribute(e.attributeName,t,r)}}}),{priority:"low"})}}function RG(t){return n=>{for(const i of t){n.on(`attribute:${i.attributeName}:listItem`,((t,n,o)=>{const r=o.writer;const s=n.item;const a=getSiblingListItem(s.previousSibling,{sameIndent:true,listIndent:s.getAttribute("listIndent"),direction:"backward"});const c=o.mapper.toViewElement(s);if(!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")}}function VG(t,e){return(n,i)=>{const o=i[0];const r=o.getAttribute("listIndent");const s=i.filter((t=>t.getAttribute("listIndent")===r));let a=null;if(o.previousSibling.getAttribute("listIndent")+1!==r){a=getSiblingListItem(o.previousSibling,{sameIndent:true,direction:"backward",listIndent:r})}t.model.change((t=>{for(const n of s){for(const i of e){if(i.appliesToListItem(n)){const e=a==null?i.defaultValue:a.getAttribute(i.attributeName);t.setAttribute(i.attributeName,e,n)}}}}))}}function FG(t,e){return(n,i)=>{i=i.reverse().filter((t=>t.is("element","listItem")));if(!i.length){return}const o=i[0].getAttribute("listIndent");const r=i[0].getAttribute("listType");let s=i[0].previousSibling;if(s.is("element","listItem")){while(s.getAttribute("listIndent")!==o){s=s.previousSibling}}else{s=null}if(!s){s=i[i.length-1].nextSibling}if(!s||!s.is("element","listItem")){return}if(s.getAttribute("listType")!==r){return}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;const o=s.getAttribute(e);t.setAttribute(e,o,i)}}}}))}}function jG(t,e){return n=>{let i=false;const o=qG(t.model.document.differ.getChanges()).filter((t=>t.getAttribute("listType")!=="todo"));if(!o.length){return i}let r=o[o.length-1].nextSibling;if(!r||!r.is("element","listItem")){r=o[0].previousSibling;if(r){const t=o[0].getAttribute("listIndent");while(r.is("element","listItem")&&r.getAttribute("listIndent")!==t){r=r.previousSibling;if(!r){break}}}}for(const t of e){const e=t.attributeName;for(const s of o){if(!t.appliesToListItem(s)){n.removeAttribute(e,s);continue}if(!s.hasAttribute(e)){if(HG(r,s,t)){n.setAttribute(e,r.getAttribute(e),s)}else{n.setAttribute(e,t.defaultValue,s)}i=true}else{const o=s.previousSibling;if(UG(o,s,t.attributeName)){n.setAttribute(e,o.getAttribute(e),s);i=true}}}}return i}}function HG(t,e,n){if(!t){return false}const i=t.getAttribute(n.attributeName);if(!i){return false}if(i==n.defaultValue){return false}if(t.getAttribute("listType")!==e.getAttribute("listType")){return false}return true}function UG(t,e,n){if(!t||!t.is("element","listItem")){return false}if(e.getAttribute("listType")!==t.getAttribute("listType")){return false}const i=t.getAttribute("listIndent");if(i<1||i!==e.getAttribute("listIndent")){return false}const o=t.getAttribute(n);if(!o||o===e.getAttribute(n)){return false}return true}function WG(t){return e=>{const n=qG(t.model.document.differ.getChanges()).filter((t=>t.getAttribute("listType")==="todo"&&(t.hasAttribute("listStyle")||t.hasAttribute("listReversed")||t.hasAttribute("listStart"))));if(!n.length){return false}for(const t of n){e.removeAttribute("listStyle",t);e.removeAttribute("listReversed",t);e.removeAttribute("listStart",t)}return true}}function GG(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 qG(t){const e=[];for(const n of t){const t=$G(n);if(t&&t.is("element","listItem")){e.push(t)}}return e}function $G(t){if(t.type==="attribute"){return t.range.start.nodeAfter}if(t.type==="insert"){return t.position.nodeAfter}return null}class KG extends(null&&Plugin){static get requires(){return[ListPropertiesEditing,ListPropertiesUI]}static get pluginName(){return"ListProperties"}}const ZG="todoListChecked";class YG extends(null&&Command){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(ZG)));this.isEnabled=!!this._selectedElements.length}_getSelectedItems(){const t=this.editor.model;const e=t.schema;const n=t.document.selection.getFirstRange();const i=n.start.parent;const o=[];if(e.checkAttribute(i,ZG)){o.push(i)}for(const t of n.getItems()){if(e.checkAttribute(t,ZG)&&!o.includes(t)){o.push(t)}}return o}execute(t={}){this.editor.model.change((e=>{for(const n of this._selectedElements){const i=t.forceValue===undefined?!this.value:t.forceValue;if(i){e.setAttribute(ZG,true,n)}else{e.removeAttribute(ZG,n)}}}))}}function QG(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(i.item.getAttribute("listType")!="todo"){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;const c=generateLiInUl(s,o);const l=!!s.getAttribute("todoListChecked");const d=iq(s,a,l,e);const 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);injectViewList(s,c,o,t)}}function JG(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(n.item.getAttribute("listType")!="todo"){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;const a=generateLiInUl(r,i);s.addClass("todo-list",a.parent);const c=s.createContainerElement("label",{class:"todo-list__label"});const l=s.createEmptyElement("input",{type:"checkbox",disabled:"disabled"});const d=s.createContainerElement("span",{class:"todo-list__label__description"});if(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);injectViewList(r,a,i,t)}}const XG=(t,e,n)=>{const i=e.modelCursor;const o=i.parent;const r=e.viewItem;if(r.getAttribute("type")!="checkbox"||o.name!="listItem"||!i.isAtStart){return}if(!n.consumable.consume(r,{name:true})){return}const s=n.writer;s.setAttribute("listType","todo",o);if(e.viewItem.hasAttribute("checked")){s.setAttribute("todoListChecked",true,o)}e.modelRange=s.createRange(i)};function tq(t,e){return(n,i,o)=>{if(!o.consumable.consume(i.item,n.name)){return}const r=o.mapper.toViewElement(i.item);const s=o.writer;const a=oq(r,e);if(i.attributeNewValue=="todo"){const e=!!i.item.getAttribute("todoListChecked");const n=iq(i.item,s,e,t);const o=s.createContainerElement("span",{class:"todo-list__label__description"});const a=s.createRangeIn(r);const c=findNestedList(r);const l=positionAfterUiElements(a.start);const d=c?s.createPositionBefore(c):a.end;const u=s.createRange(l,d);s.addClass("todo-list",r.parent);s.move(u,s.createPositionAt(o,0));s.insert(s.createPositionAt(r,0),n);s.insert(s.createPositionAfter(n),o)}else if(i.attributeOldValue=="todo"){const t=rq(r,e);s.removeClass("todo-list",r.parent);s.remove(a);s.move(s.createRangeIn(t),s.createPositionBefore(t));s.remove(t)}}}function eq(t){return(e,n,i)=>{if(n.item.getAttribute("listType")!="todo"){return}if(!i.consumable.consume(n.item,"attribute:todoListChecked")){return}const{mapper:o,writer:r}=i;const s=!!n.item.getAttribute("todoListChecked");const a=o.toViewElement(n.item);const c=a.getChild(0);const l=iq(n.item,r,s,t);r.insert(r.createPositionAfter(c),l);r.remove(c)}}function nq(t){return(e,n)=>{const i=n.modelPosition;const o=i.parent;if(!o.is("element","listItem")||o.getAttribute("listType")!="todo"){return}const r=n.mapper.toViewElement(o);const s=rq(r,t);if(s){n.viewPosition=n.mapper.findPositionIn(s,i.offset)}}}function iq(t,e,n,i){const o=e.createUIElement("label",{class:"todo-list__label",contenteditable:false},(function(e){const o=createElement(document,"input",{type:"checkbox",tabindex:"-1"});if(n){o.setAttribute("checked","checked")}o.addEventListener("change",(()=>i(t)));const r=this.toDomElement(e);r.appendChild(o);return r}));return o}function oq(t,e){const n=e.createRangeIn(t);for(const t of n){if(t.item.is("uiElement","label")){return t.item}}}function rq(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 sq=Zc("Ctrl+Enter");class aq extends(null&&Plugin){static get pluginName(){return"TodoListEditing"}static get requires(){return[ListEditing]}init(){const t=this.editor;const{editing:e,data:n,model:i}=t;i.schema.extend("listItem",{allowAttributes:["todoListChecked"]});i.schema.addAttributeCheck(((t,e)=>{const n=t.last;if(e=="todoListChecked"&&n.name=="listItem"&&n.getAttribute("listType")!="todo"){return false}}));t.commands.add("todoList",new ListCommand(t,"todo"));const o=new CheckTodoListCommand(t);t.commands.add("checkTodoList",o);t.commands.add("todoListCheck",o);n.downcastDispatcher.on("insert:listItem",dataModelViewInsertion(i),{priority:"high"});n.upcastDispatcher.on("element:input",dataViewModelCheckmarkInsertion,{priority:"high"});e.downcastDispatcher.on("insert:listItem",modelViewInsertion(i,(t=>this._handleCheckmarkChange(t))),{priority:"high"});e.downcastDispatcher.on("attribute:listType:listItem",modelViewChangeType((t=>this._handleCheckmarkChange(t)),e.view));e.downcastDispatcher.on("attribute:todoListChecked:listItem",modelViewChangeChecked((t=>this._handleCheckmarkChange(t))));e.mapper.on("modelToViewPosition",mapModelToViewPosition(e.view));n.mapper.on("modelToViewPosition",mapModelToViewPosition(e.view));this.listenTo(e.view.document,"arrowKey",cq(i,t.locale),{context:"li"});this.listenTo(e.view.document,"keydown",((e,n)=>{if(getCode(n)===sq){t.execute("checkTodoList");e.stop()}}),{priority:"high"});const r=new Set;this.listenTo(i,"applyOperation",((t,e)=>{const n=e[0];if(n.type=="rename"&&n.oldName=="listItem"){const t=n.position.nodeAfter;if(t.hasAttribute("todoListChecked")){r.add(t)}}else if(n.type=="changeAttribute"&&n.key=="listType"&&n.oldValue==="todo"){for(const t of n.range.getItems()){if(t.hasAttribute("todoListChecked")&&t.getAttribute("listType")!=="todo"){r.add(t)}}}}));i.document.registerPostFixer((t=>{let e=false;for(const n of r){t.removeAttribute("todoListChecked",n);e=true}r.clear();return e}))}_handleCheckmarkChange(t){const e=this.editor;const n=e.model;const i=Array.from(n.document.selection.getRanges());n.change((n=>{n.setSelection(t,"end");e.execute("checkTodoList");n.setSelection(i)}))}}function cq(t,e){return(n,i)=>{const o=getLocalizedArrowKeyCodeDirection(i.keyCode,e.contentLanguageDirection);if(o!="left"){return}const r=t.schema;const s=t.document.selection;if(!s.isCollapsed){return}const a=s.getFirstPosition();const c=a.parent;if(c.name==="listItem"&&c.getAttribute("listType")=="todo"&&a.isAtStart){const e=r.getNearestSelectionRange(t.createPositionBefore(c),"backward");if(e){t.change((t=>t.setSelection(e)))}i.preventDefault();i.stopPropagation();n.stop()}}}class lq extends(null&&Plugin){static get pluginName(){return"TodoListUI"}init(){const t=this.editor.t;createUIComponent(this.editor,"todoList",t("To-do List"),todoListIcon)}}var dq=n(9292);var uq={injectType:"singletonStyleTag",attributes:{"data-cke":true}};uq.insert="head";uq.singleton=true;var hq=Pl()(dq.Z,uq);const mq=dq.Z.locals||{};class gq extends(null&&Plugin){static get requires(){return[TodoListEditing,TodoListUI]}static get pluginName(){return"TodoList"}}class fq extends(null&&Command){constructor(t){super(t);this.on("execute",(()=>{this.refresh()}),{priority:"highest"})}refresh(){const t=this._getSelectedItems();this.value=this._getValue(t);this.isEnabled=!!t.length}execute(t={}){this.editor.model.change((e=>{const n=this._getSelectedItems();const i=t.forceValue===undefined?!this._getValue(n):t.forceValue;for(const t of n){if(i){e.setAttribute("todoListChecked",true,t)}else{e.removeAttribute("todoListChecked",t)}}}))}_getValue(t){return t.every((t=>t.getAttribute("todoListChecked")))}_getSelectedItems(){const t=this.editor.model;const e=t.schema;const n=t.document.selection.getFirstRange();const i=n.start.parent;const o=[];if(e.checkAttribute(i,"todoListChecked")){o.push(...getAllListItemBlocks(i))}for(const t of n.getItems({shallow:true})){if(e.checkAttribute(t,"todoListChecked")&&!o.includes(t)){o.push(...getAllListItemBlocks(t))}}return o}}class pq extends(null&&DomEventObserver){constructor(){super(...arguments);this.domEventType=["change"]}onDomEvent(t){if(t.target){const e=this.view.domConverter.mapDomToView(t.target);if(e&&e.is("element","input")&&e.getAttribute("type")=="checkbox"&&e.findAncestor({classes:"todo-list__label"})){this.fire("todoCheckboxChange",t)}}}}const bq=Zc("Ctrl+Enter");class kq extends(null&&Plugin){static get pluginName(){return"TodoDocumentListEditing"}static get requires(){return[DocumentListEditing]}init(){const t=this.editor;const e=t.model;const n=t.editing;const i=t.plugins.get(DocumentListEditing);const o=t.config.get("list.multiBlock");const r=o?"paragraph":"listItem";t.commands.add("todoList",new DocumentListCommand(t,"todo"));t.commands.add("checkTodoList",new CheckTodoDocumentListCommand(t));n.view.addObserver(TodoCheckboxChangeObserver);e.schema.extend("$listItem",{allowAttributes:"todoListChecked"});e.schema.addAttributeCheck(((t,e)=>{const n=t.last;if(e!="todoListChecked"){return}if(!n.getAttribute("listItemId")||n.getAttribute("listType")!="todo"){return false}}));t.conversion.for("upcast").add((t=>{t.on("element:input",wq());t.on("element:label",Aq({name:"label",classes:"todo-list__label"}));t.on("element:label",Aq({name:"label",classes:["todo-list__label","todo-list__label_without-description"]}));t.on("element:span",Aq({name:"span",classes:"todo-list__label__description"}));t.on("element:ul",Cq({name:"ul",classes:"todo-list"}))}));t.conversion.for("downcast").elementToElement({model:r,view:(t,{writer:e})=>{if(_q(t,i.getListAttributeNames())){return e.createContainerElement("span",{class:"todo-list__label__description"})}},converterPriority:"highest"});i.registerDowncastStrategy({scope:"list",attributeName:"listType",setAttributeOnDowncast(t,e,n){if(e=="todo"){t.addClass("todo-list",n)}else{t.removeClass("todo-list",n)}}});i.registerDowncastStrategy({scope:"itemMarker",attributeName:"todoListChecked",createElement(t,e,{dataPipeline:n}){if(e.getAttribute("listType")!="todo"){return null}const i=t.createEmptyElement("input",{type:"checkbox",...e.getAttribute("todoListChecked")?{checked:"checked"}:null,...n?{disabled:"disabled"}:{tabindex:"-1"}});if(n){return i}return t.createContainerElement("span",{contenteditable:"false"},i)},canWrapElement(t){return _q(t,i.getListAttributeNames())},createWrapperElement(t,e,{dataPipeline:n}){const o=["todo-list__label"];if(!_q(e,i.getListAttributeNames())){o.push("todo-list__label_without-description")}return t.createAttributeElement(n?"label":"span",{class:o.join(" ")})}});n.mapper.registerViewToModelLength("input",(t=>{if(t.getAttribute("type")=="checkbox"&&t.findAncestor({classes:"todo-list__label"})){return 0}return n.mapper.toModelElement(t)?1:0}));i.on("checkElement",((t,{modelElement:e,viewElement:n})=>{const o=_q(e,i.getListAttributeNames());const r=n.hasClass("todo-list__label__description");if(r!=o){t.return=true;t.stop()}}));i.on("checkElement",((e,{modelElement:n,viewElement:i})=>{const o=n.getAttribute("listType")=="todo"&&isFirstBlockOfListItem(n);let r=false;const s=t.editing.view.createPositionBefore(i).getWalker({direction:"backward"});for(const{item:e}of s){if(e.is("element")&&t.editing.mapper.toModelElement(e)){break}if(e.is("element","input")&&e.getAttribute("type")=="checkbox"){r=true}}if(r!=o){e.return=true;e.stop()}}));i.on("postFixer",((t,{listNodes:e,writer:n})=>{for(const{node:i,previousNodeInList:o}of e){if(!o){continue}if(o.getAttribute("listItemId")!=i.getAttribute("listItemId")){continue}const e=o.hasAttribute("todoListChecked");const r=i.hasAttribute("todoListChecked");if(r&&!e){n.removeAttribute("todoListChecked",i);t.return=true}else if(!r&&e){n.setAttribute("todoListChecked",true,i);t.return=true}}}));e.document.registerPostFixer((t=>{const n=e.document.differ.getChanges();let i=false;for(const e of n){if(e.type=="attribute"&&e.attributeKey=="listType"){const n=e.range.start.nodeAfter;if(e.attributeOldValue=="todo"&&n.hasAttribute("todoListChecked")){t.removeAttribute("todoListChecked",n);i=true}}else if(e.type=="insert"&&e.name!="$text"){for(const{item:n}of t.createRangeOn(e.position.nodeAfter)){if(n.is("element")&&n.getAttribute("listType")!="todo"&&n.hasAttribute("todoListChecked")){t.removeAttribute("todoListChecked",n);i=true}}}}return i}));this.listenTo(n.view.document,"keydown",((e,n)=>{if(getCode(n)===bq){t.execute("checkTodoList");e.stop()}}),{priority:"high"});this.listenTo(n.view.document,"todoCheckboxChange",((t,e)=>{const i=e.target;if(!i||!i.is("element","input")){return}const o=n.view.createPositionAfter(i);const r=n.mapper.toModelPosition(o);const s=r.parent;if(s&&isListItemBlock(s)&&s.getAttribute("listType")=="todo"){this._handleCheckmarkChange(s)}}));this.listenTo(n.view.document,"arrowKey",yq(e,t.locale),{context:"$text"});this.listenTo(n.mapper,"viewToModelPosition",((t,n)=>{const i=n.viewPosition.parent;const o=i.is("attributeElement","li")&&n.viewPosition.offset==0;const r=xq(i)&&n.viewPosition.offset<=1;const s=i.is("element","span")&&i.getAttribute("contenteditable")=="false"&&xq(i.parent);if(!o&&!r&&!s){return}const a=n.modelPosition.nodeAfter;if(a&&a.getAttribute("listType")=="todo"){n.modelPosition=e.createPositionAt(a,0)}}),{priority:"low"})}_handleCheckmarkChange(t){const e=this.editor;const n=e.model;const i=Array.from(n.document.selection.getRanges());n.change((n=>{n.setSelection(t,"end");e.execute("checkTodoList");n.setSelection(i)}))}}function wq(){return(t,e,n)=>{const i=e.modelCursor;const o=i.parent;const r=e.viewItem;if(!n.consumable.test(r,{name:true})){return}if(r.getAttribute("type")!="checkbox"||!i.isAtStart||!o.hasAttribute("listType")){return}n.consumable.consume(r,{name:true});const s=n.writer;s.setAttribute("listType","todo",o);if(e.viewItem.hasAttribute("checked")){s.setAttribute("todoListChecked",true,o)}e.modelRange=s.createRange(i)}}function Aq(t){const e=new Matcher(t);return(t,n,i)=>{const o=e.match(n.viewItem);if(!o){return}if(!i.consumable.consume(n.viewItem,o.match)){return}Object.assign(n,i.convertChildren(n.viewItem,n.modelCursor))}}function Cq(t){const e=new Matcher(t);return(t,n,i)=>{const o=e.match(n.viewItem);if(!o){return}const r=o.match;r.name=false;i.consumable.consume(n.viewItem,r)}}function _q(t,e){return(t.is("element","paragraph")||t.is("element","listItem"))&&t.getAttribute("listType")=="todo"&&isFirstBlockOfListItem(t)&&vq(t,e)}function vq(t,e){for(const n of t.getAttributeKeys()){if(n.startsWith("selection:")){continue}if(!e.includes(n)){return false}}return true}function yq(t,e){return(n,i)=>{const o=getLocalizedArrowKeyCodeDirection(i.keyCode,e.contentLanguageDirection);const r=t.schema;const s=t.document.selection;if(!s.isCollapsed){return}const a=s.getFirstPosition();const c=a.parent;if(o=="right"&&a.isAtEnd){const e=r.getNearestSelectionRange(t.createPositionAfter(c),"forward");if(!e){return}const o=e.start.parent;if(o&&isListItemBlock(o)&&o.getAttribute("listType")=="todo"){t.change((t=>t.setSelection(e)));i.preventDefault();i.stopPropagation();n.stop()}}else if(o=="left"&&a.isAtStart&&isListItemBlock(c)&&c.getAttribute("listType")=="todo"){const e=r.getNearestSelectionRange(t.createPositionBefore(c),"backward");if(!e){return}t.change((t=>t.setSelection(e)));i.preventDefault();i.stopPropagation();n.stop()}}}function xq(t){return!!t&&t.is("attributeElement")&&t.hasClass("todo-list__label")}class Eq extends(null&&Plugin){static get requires(){return[TodoDocumentListEditing,TodoListUI]}static get pluginName(){return"TodoDocumentList"}}function Dq(t,e){const n=(n,i,o)=>{if(!o.consumable.consume(i.item,n.name)){return}const r=i.attributeNewValue;const s=o.writer;const a=o.mapper.toViewElement(i.item);const 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)};return t=>{t.on("attribute:url:media",n)}}function Tq(t,e,n){e.setCustomProperty("media",true,t);return BB(t,e,{label:n})}function Sq(t){const e=t.getSelectedElement();if(e&&Iq(e)){return e}return null}function Iq(t){return!!t.getCustomProperty("media")&&isWidget(t)}function Bq(t,e,n,i){return t.createContainerElement("figure",{class:"media"},[e.getMediaViewElement(t,n,i),t.createSlot()])}function Mq(t){const e=t.getSelectedElement();if(e&&e.is("element","media")){return e}return null}function Nq(t,e,n,i){t.change((o=>{const r=o.createElement("media",{url:e});t.insertObject(r,n,null,{setSelection:"on",findOptimalPosition:i?"auto":undefined})}))}class Pq extends ah{refresh(){const t=this.editor.model;const e=t.document.selection;const n=Mq(e);this.value=n?n.getAttribute("url"):undefined;this.isEnabled=zq(e)||Lq(e,t)}execute(t){const e=this.editor.model;const n=e.document.selection;const i=Mq(n);if(i){e.change((e=>{e.setAttribute("url",t,i)}))}else{Nq(e,t,n,true)}}}function Lq(t,e){const n=RB(t,e);let i=n.start.parent;if(i.isEmpty&&!e.schema.isLimit(i)){i=i.parent}return e.schema.checkChild(i,"media")}function zq(t){const e=t.getSelectedElement();return!!e&&e.name==="media"}const Oq='';const Rq="0 0 64 42";class Vq{constructor(t,e){const n=e.providers;const i=e.extraProviders||[];const o=new Set(e.removeProviders);const r=n.concat(i).filter((t=>{const e=t.name;if(!e){L("media-embed-no-provider-name",{provider:t});return false}return!o.has(e)}));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 Fq(this.locale)}t=t.trim();for(const e of this.providerDefinitions){const n=e.html;const i=il(e.url);for(const e of i){const i=this._getUrlMatches(t,e);if(i){return new Fq(this.locale,t,i,n)}}}return null}_getUrlMatches(t,e){let n=t.match(e);if(n){return n}let i=t.replace(/^https?:\/\//,"");n=i.match(e);if(n){return n}i=i.replace(/^www\./,"");n=i.match(e);if(n){return n}return null}}class Fq{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){if(this.url){n["data-oembed-url"]=this.url}if(e.renderForEditingView){n.class="ck-media__wrapper"}const o=this._getPreviewHtml(e);i=t.createRawElement("div",n,((t,e)=>{e.setContentOf(t,o)}))}else{if(this.url){n.url=this.url}i=t.createEmptyElement(e.elementName,n)}t.setCustomProperty("media-content",true,i);return i}_getPreviewHtml(t){if(this._previewRenderer){return this._previewRenderer(this._match)}else{if(this.url&&t.renderForEditingView){return this._getPlaceholderHtml()}return""}}_getPlaceholderHtml(){const t=new wd;const e=this._locale.t;t.content=Oq;t.viewBox=Rq;const n=new jl({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();return n.outerHTML}_getValidUrl(t){if(!t){return null}if(t.match(/^https?/)){return t}return"https://"+t}}var jq=n(1922);var Hq={injectType:"singletonStyleTag",attributes:{"data-cke":true}};Hq.insert="head";Hq.singleton=true;var Uq=Pl()(jq.Z,Hq);const Wq=jq.Z.locals||{};class Gq extends rh{static get pluginName(){return"MediaEmbedEditing"}constructor(t){super(t);t.config.define("mediaEmbed",{elementName:"oembed",providers:[{name:"dailymotion",url:[/^dailymotion\.com\/video\/(\w+)/,/^dai.ly\/(\w+)/],html:t=>{const e=t[1];return'
'+`"+"
"}},{name:"spotify",url:[/^open\.spotify\.com\/(artist\/\w+)/,/^open\.spotify\.com\/(album\/\w+)/,/^open\.spotify\.com\/(track\/\w+)/],html:t=>{const e=t[1];return'
'+`"+"
"}},{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];const 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=>{const e=t[1];return'
'+`"+"
"}},{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 Vq(t.locale,t.config.get("mediaEmbed"))}init(){const t=this.editor;const e=t.model.schema;const n=t.t;const i=t.conversion;const o=t.config.get("mediaEmbed.previewsInData");const r=t.config.get("mediaEmbed.elementName");const s=this.registry;t.commands.add("mediaEmbed",new Pq(t));e.register("media",{inheritAllFrom:"$blockObject",allowAttributes:["url"]});i.for("dataDowncast").elementToStructure({model:"media",view:(t,{writer:e})=>{const n=t.getAttribute("url");return Bq(e,s,n,{elementName:r,renderMediaPreview:!!n&&o})}});i.for("dataDowncast").add(Dq(s,{elementName:r,renderMediaPreview:o}));i.for("editingDowncast").elementToStructure({model:"media",view:(t,{writer:e})=>{const i=t.getAttribute("url");const o=Bq(e,s,i,{elementName:r,renderForEditingView:true});return Tq(o,e,n("media widget"))}});i.for("editingDowncast").add(Dq(s,{elementName:r,renderForEditingView:true}));i.for("upcast").elementToElement({view:t=>["oembed",r].includes(t.name)&&t.getAttribute("url")?{name:true}:null,model:(t,{writer:e})=>{const n=t.getAttribute("url");if(s.hasMedia(n)){return e.createElement("media",{url:n})}return null}}).elementToElement({view:{name:"div",attributes:{"data-oembed-url":true}},model:(t,{writer:e})=>{const n=t.getAttribute("data-oembed-url");if(s.hasMedia(n)){return e.createElement("media",{url:n})}return null}}).add((t=>{const e=(t,e,n)=>{if(!n.consumable.consume(e.viewItem,{name:true,classes:"media"})){return}const{modelRange:i,modelCursor:o}=n.convertChildren(e.viewItem,e.modelCursor);e.modelRange=i;e.modelCursor=o;const r=gl(i.getItems());if(!r){n.consumable.revert(e.viewItem,{name:true,classes:"media"})}};t.on("element:figure",e)}))}}const qq=/^(?:http(s)?:\/\/)?[\w-]+\.[\w-.~:/?#[\]@!$&'()*+,;=%]+$/;class $q extends rh{static get requires(){return[cN,pS,xN]}static get pluginName(){return"AutoMediaEmbed"}constructor(t){super(t);this._timeoutId=null;this._positionToInsert=null}init(){const t=this.editor;const e=t.model.document;const n=t.plugins.get("ClipboardPipeline");this.listenTo(n,"inputTransformation",(()=>{const t=e.selection.getFirstRange();const n=iC.fromPosition(t.start);n.stickiness="toPrevious";const i=iC.fromPosition(t.end);i.stickiness="toNext";e.once("change:data",(()=>{this._embedMediaBetweenPositions(n,i);n.detach();i.detach()}),{priority:"high"})}));const i=t.commands.get("undo");i.on("execute",(()=>{if(this._timeoutId){nc.window.clearTimeout(this._timeoutId);this._positionToInsert.detach();this._timeoutId=null;this._positionToInsert=null}}),{priority:"high"})}_embedMediaBetweenPositions(t,e){const n=this.editor;const i=n.plugins.get(Gq).registry;const o=new ck(t,e);const r=o.getWalker({ignoreElementEnd:true});let s="";for(const t of r){if(t.item.is("$textProxy")){s+=t.item.data}}s=s.trim();if(!s.match(qq)){o.detach();return}if(!i.hasMedia(s)){o.detach();return}const a=n.commands.get("mediaEmbed");if(!a.isEnabled){o.detach();return}this._positionToInsert=iC.fromPosition(t);this._timeoutId=nc.window.setTimeout((()=>{n.model.change((t=>{this._timeoutId=null;t.remove(o);o.detach();let e=null;if(this._positionToInsert.root.rootName!=="$graveyard"){e=this._positionToInsert}Nq(n.model,s,e,false);this._positionToInsert.detach();this._positionToInsert=null}));n.plugins.get(pS).requestUndoOnBackspace()}),100)}}var Kq=n(7138);var Zq={injectType:"singletonStyleTag",attributes:{"data-cke":true}};Zq.insert="head";Zq.singleton=true;var Yq=Pl()(Kq.Z,Zq);const Qq=Kq.Z.locals||{};class Jq extends Vl{constructor(t,e){super(e);const n=e.t;this.focusTracker=new fl;this.keystrokes=new pl;this.set("mediaURLInputValue","");this.urlInputView=this._createUrlInput();this.saveButtonView=this._createButton(n("Save"),Zv.check,"ck-button-save");this.saveButtonView.type="submit";this.saveButtonView.bind("isEnabled").to(this,"mediaURLInputValue",(t=>!!t));this.cancelButtonView=this._createButton(n("Cancel"),Zv.cancel,"ck-button-cancel","cancel");this._focusables=new Bl;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]})}render(){super.render();o({view:this});const t=[this.urlInputView,this.saveButtonView,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)}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){this.urlInputView.errorText=e;return false}}return true}resetFormStatus(){this.urlInputView.errorText=null;this.urlInputView.infoText=this._urlInputViewInfoDefault}_createUrlInput(){const t=this.locale.t;const e=new Su(this.locale,jy);const n=e.fieldView;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()}));return e}_createButton(t,e,n,i){const o=new xd(this.locale);o.set({label:t,icon:e,tooltip:true});o.extendTemplate({attributes:{class:n}});if(i){o.delegate("execute").to(this,i)}return o}}const Xq='';class t$ extends rh{static get requires(){return[Gq]}static get pluginName(){return"MediaEmbedUI"}init(){const t=this.editor;const e=t.commands.get("mediaEmbed");t.ui.componentFactory.add("mediaEmbed",(t=>{const n=Dy(t);this._setUpDropdown(n,e);return n}))}_setUpDropdown(t,n){const i=this.editor;const o=i.t;const r=t.buttonView;const s=i.plugins.get(Gq).registry;t.once("change:isOpen",(()=>{const o=new(e(Jq))(e$(i.t,s),i.locale);t.panelView.children.add(o);r.on("open",(()=>{o.disableCssTransitions();o.url=n.value||"";o.urlInputView.fieldView.select();o.enableCssTransitions()}),{priority:"low"});t.on("submit",(()=>{if(o.isValid()){i.execute("mediaEmbed",o.url);i.editing.view.focus()}}));t.on("change:isOpen",(()=>o.resetFormStatus()));t.on("cancel",(()=>{i.editing.view.focus()}));o.delegate("submit","cancel").to(t);o.urlInputView.fieldView.bind("value").to(n,"value");o.urlInputView.bind("isEnabled").to(n,"isEnabled")}));t.bind("isEnabled").to(n);r.set({label:o("Insert media"),icon:Xq,tooltip:true})}}function e$(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.")}}]}var n$=n(8705);var i$={injectType:"singletonStyleTag",attributes:{"data-cke":true}};i$.insert="head";i$.singleton=true;var o$=Pl()(n$.Z,i$);const r$=n$.Z.locals||{};class s$ extends rh{static get requires(){return[Gq,t$,$q,bM]}static get pluginName(){return"MediaEmbed"}}class a$ extends(null&&Plugin){static get requires(){return[WidgetToolbarRepository]}static get pluginName(){return"MediaEmbedToolbar"}afterInit(){const t=this.editor;const e=t.t;const n=t.plugins.get(WidgetToolbarRepository);n.register("mediaEmbed",{ariaLabel:e("Media toolbar"),items:t.config.get("mediaEmbed.toolbar")||[],getRelatedElement:getSelectedMediaViewWidget})}}function c$(t,e){if(!t.childCount){return}const n=new a_(t.document);const i=d$(t,n);if(!i.length){return}let o=null;let r=1;i.forEach(((t,s)=>{const a=w$(i[s-1],t);const c=a?null:i[s-1];const l=C$(c,t);if(a){o=null;r=1}if(!o||l!==0){const i=u$(t,e);if(!o){o=f$(i,t.element,n)}else if(t.indent>r){const t=o.getChild(o.childCount-1);const e=t.getChild(t.childCount-1);o=f$(i,e,n);r+=1}else if(t.indent1){n.setAttribute("start",t.startIndex,o)}return o}function p$(t,e){k$(t,e);e.removeStyle("text-indent",t);return e.rename("li",t)}function b$(t){const e={};const n=t.getStyle("mso-list");if(n){const t=n.match(/(^|\s{1,100})l(\d+)/i);const i=n.match(/\s{0,100}lfo(\d+)/i);const o=n.match(/\s{0,100}level(\d+)/i);if(t&&i&&o){e.id=t[2];e.order=i[1];e.indent=parseInt(o[1])}}return e}function k$(t,e){const n=new Lh({name:"span",styles:{"mso-list":"Ignore"}});const i=e.createRangeIn(t);for(const t of i){if(t.type==="elementStart"&&n.match(t.item)){e.remove(t.item)}}}function w$(t,e){if(!t){return true}if(t.id!==e.id){if(e.indent-t.indent===1){return false}return true}const n=e.element.previousSibling;if(!n){return true}return!A$(n)}function A$(t){return t.is("element","ol")||t.is("element","ul")}function C$(t,e){return t?e.indent-t.indent:e.indent-1}function _$(t,e){const n=t.getAncestors({parentFirst:true});let i=null;let o=0;for(const t of n){if(t.is("element","ul")||t.is("element","ol")){o++}if(o===e){i=t;break}}return i}function v$(t,e){if(!t.childCount){return}const n=new a_(t.document);const i=x$(t,n);E$(i,t,n);T$(i,t,n);D$(t,n);const o=S$(t,n);if(o.length){B$(o,I$(e),n)}}function y$(t){return btoa(t.match(/\w{2}/g).map((t=>String.fromCharCode(parseInt(t,16)))).join(""))}function x$(t,e){const n=e.createRangeIn(t);const i=new Lh({name:/v:(.+)/});const o=[];for(const t of n){if(t.type!="elementStart"){continue}const e=t.item;const n=e.previousSibling;const r=n&&n.is("element")?n.name:null;if(i.match(e)&&e.getAttribute("o:gfxdata")&&r!=="v:shapetype"){o.push(t.item.getAttribute("id"))}}return o}function E$(t,e,n){const i=n.createRangeIn(e);const o=new Lh({name:"img"});const r=[];for(const e of i){if(e.item.is("element")&&o.match(e.item)){const n=e.item;const i=n.getAttribute("v:shapes")?n.getAttribute("v:shapes").split(" "):[];if(i.length&&i.every((e=>t.indexOf(e)>-1))){r.push(n)}else if(!n.getAttribute("src")){r.push(n)}}}for(const t of r){n.remove(t)}}function D$(t,e){const n=e.createRangeIn(t);const i=new Lh({name:/v:(.+)/});const o=[];for(const t of n){if(t.type=="elementStart"&&i.match(t.item)){o.push(t.item)}}for(const t of o){e.remove(t)}}function T$(t,e,n){const i=n.createRangeIn(e);const o=[];for(const e of i){if(e.type=="elementStart"&&e.item.is("element","v:shape")){const n=e.item.getAttribute("id");if(t.includes(n)){continue}if(!r(e.item.parent.getChildren(),n)){o.push(e.item)}}}for(const t of o){const e={src:s(t)};if(t.hasAttribute("alt")){e.alt=t.getAttribute("alt")}const i=n.createElement("img",e);n.insertChild(t.index+1,i,t.parent)}function r(t,e){for(const n of t){if(n.is("element")){if(n.name=="img"&&n.getAttribute("v:shapes")==e){return true}if(r(n.getChildren(),e)){return true}}}return false}function s(t){for(const e of t.getChildren()){if(e.is("element")&&e.getAttribute("src")){return e.getAttribute("src")}}}}function S$(t,e){const n=e.createRangeIn(t);const i=new Lh({name:"img"});const o=[];for(const t of n){if(t.item.is("element")&&i.match(t.item)){if(t.item.getAttribute("src").startsWith("file://")){o.push(t.item)}}}return o}function I$(t){if(!t){return[]}const e=/{\\pict[\s\S]+?\\bliptag-?\d+(\\blipupi-?\d+)?({\\\*\\blipuid\s?[\da-fA-F]+)?[\s}]*?/;const n=new RegExp("(?:("+e.source+"))([\\da-fA-F\\s]+)\\}","g");const i=t.match(n);const o=[];if(i){for(const t of i){let n=false;if(t.includes("\\pngblip")){n="image/png"}else if(t.includes("\\jpegblip")){n="image/jpeg"}if(n){o.push({hex:t.replace(e,"").replace(/[^\da-fA-F]/g,""),type:n})}}}return o}function B$(t,e,n){if(t.length===e.length){for(let i=0;i/i;const P$=/xmlns:o="urn:schemas-microsoft-com/i;class L${constructor(t){this.document=t}isActive(t){return N$.test(t)||P$.test(t)}execute(t){const{body:e,stylesString:n}=t._parsedData;c$(e,n);v$(e,t.dataTransfer.getData("text/rtf"));M$(e);t.content=e}}function z$(t,e){for(const n of t.getChildren()){if(n.is("element","b")&&n.getStyle("font-weight")==="normal"){const i=t.getChildIndex(n);e.remove(n);e.insertChild(i,n.getChildren(),t)}}}function O$(t,e){const n=new Xg(e.document.stylesProcessor);const i=new np(n,{renderingMode:"data"});const o=i.blockElements;const r=i.inlineObjectElements;const s=[];for(const n of e.createRangeIn(t)){const t=n.item;if(t.is("element","br")){const n=R$(t,"forward",e,{blockElements:o,inlineObjectElements:r});const i=R$(t,"backward",e,{blockElements:o,inlineObjectElements:r});const a=V$(n,o);const c=V$(i,o);if(c||a){s.push(t)}}}for(const t of s){if(t.hasClass("Apple-interchange-newline")){e.remove(t)}else{e.replace(t,e.createElement("p"))}}}function R$(t,e,n,{blockElements:i,inlineObjectElements:o}){let r=n.createPositionAt(t,e=="forward"?"after":"before");r=r.getLastMatchingPosition((({item:t})=>t.is("element")&&!i.includes(t.name)&&!o.includes(t.name)),{direction:e});return e=="forward"?r.nodeAfter:r.nodeBefore}function V$(t,e){return!!t&&t.is("element")&&e.includes(t.name)}const F$=/id=("|')docs-internal-guid-[-0-9a-f]+("|')/i;class j${constructor(t){this.document=t}isActive(t){return F$.test(t)}execute(t){const e=new a_(this.document);const{body:n}=t._parsedData;z$(n,e);l$(n,e);O$(n,e);t.content=n}}function H$(t,e){for(const n of t.getChildren()){if(n.is("element","table")&&n.hasAttribute("xmlns")){e.removeAttribute("xmlns",n)}}}function U$(t,e){for(const n of t.getChildren()){if(n.is("element","google-sheets-html-origin")){const i=t.getChildIndex(n);e.remove(n);e.insertChild(i,n.getChildren(),t)}}}function W$(t,e){for(const n of t.getChildren()){if(n.is("element","table")&&n.getStyle("width")==="0px"){e.removeStyle("width",n)}}}function G$(t,e){for(const n of Array.from(t.getChildren())){if(n.is("element","style")){e.remove(n)}}}const q$=/[^\S\r\n]*?)[\r\n]+([^\S\r\n]*<\/span>)/g,"$1$2").replace(/<\/span>/g,"").replace(/()[\r\n]+(<\/span>)/g,"$1 $2").replace(/ <\//g," <\/o:p>/g," ").replace(/( |\u00A0)<\/o:p>/g,"").replace(/>([^\S\r\n]*[\r\n]\s*)<")}function Z$(t){t.querySelectorAll("span[style*=spacerun]").forEach((t=>{const e=t;const n=e.innerText.length||0;e.innerText=Array(n+1).join("  ").substr(0,n)}))}function Y$(t){return t.replace(/(\s+)<\/span>/g,((t,e)=>e.length===1?" ":Array(e.length+1).join("  ").substr(0,e.length)))}function Q$(t,e){const n=new DOMParser;t=t.replace(/ + + + + CKEditor 5 ClassicEditor build + + + + + + +
+
+

CKEditor 5 logoCKEditor 5

+ +
+
+
+
+

CKEditor 5 online builder demo - ClassicEditor build

+
+
+
+
+
+
+

Bilingual Personality Disorder

+
+
One language, one person.
+
+

+ This may be the first time you hear about this made-up disorder but + it actually isn’t so far from the truth. Even the studies that were conducted almost half a century show that + the language you speak has more effects on you than you realize. +

+

+ One of the very first experiments conducted on this topic dates back to 1964. + In the experiment + designed by linguist Ervin-Tripp who is an authority expert in psycholinguistic and sociolinguistic studies, + adults who are bilingual in English in French were showed series of pictures and were asked to create 3-minute stories. + In the end participants emphasized drastically different dynamics for stories in English and French. +

+

+ Another ground-breaking experiment which included bilingual Japanese women married to American men in San Francisco were + asked to complete sentences. The goal of the experiment was to investigate whether or not human feelings and thoughts + are expressed differently in different language mindsets. + Here is a sample from the the experiment: +

+ + + + + + + + + + + + + + + + + + + + + + + + + +
EnglishJapanese
Real friends shouldBe very frankHelp each other
I will probably becomeA teacherA housewife
When there is a conflict with familyI do what I wantIt's a time of great unhappiness
+

+ More recent studies show, the language a person speaks affects + their cognition, behaviour, emotions and hence their personality. + This shouldn’t come as a surprise + since we already know that different regions + of the brain become more active depending on the person’s activity at hand. Since structure, information and especially + the culture of languages varies substantially and the language a person speaks is an essential element of daily life. +

+
+
+
+
+
+

CKEditor 5 + – Rich text editor of tomorrow, available today +

+

Copyright © 2003-2024, + CKSource + Holding sp. z o.o. All rights reserved. +

+
+ + + + \ No newline at end of file diff --git a/admin/ckeditor5/sample/script.js b/admin/ckeditor5/sample/script.js new file mode 100644 index 0000000..fe98e8b --- /dev/null +++ b/admin/ckeditor5/sample/script.js @@ -0,0 +1,20 @@ +ClassicEditor + .create( document.querySelector( '.editor' ), { + // Editor configuration. + } ) + .then( editor => { + window.editor = editor; + } ) + .catch( handleSampleError ); + +function handleSampleError( error ) { + const issueUrl = 'https://github.com/ckeditor/ckeditor5/issues'; + + const message = [ + 'Oops, something went wrong!', + `Please, report the following error on ${ issueUrl } with the build id "jqm6bng4zmtr-n2qr6fdzw2rs" and the error stack trace:` + ].join( '\n' ); + + console.error( message ); + console.error( error ); +} diff --git a/admin/ckeditor5/sample/styles.css b/admin/ckeditor5/sample/styles.css new file mode 100644 index 0000000..d370016 --- /dev/null +++ b/admin/ckeditor5/sample/styles.css @@ -0,0 +1,514 @@ +/** + * @license Copyright (c) 2014-2024, CKSource Holding sp. z o.o. All rights reserved. + * This file is licensed under the terms of the MIT License (see LICENSE.md). + */ + +:root { + --ck-sample-base-spacing: 2em; + --ck-sample-color-white: #fff; + --ck-sample-color-green: #279863; + --ck-sample-color-blue: #1a9aef; + --ck-sample-container-width: 1285px; + --ck-sample-sidebar-width: 350px; + --ck-sample-editor-min-height: 400px; + --ck-sample-editor-z-index: 10; +} + +/* --------- EDITOR STYLES ---------------------------------------------------------------------------------------- */ + +.editor__editable, +/* Classic build. */ +main .ck-editor[role='application'] .ck.ck-content, +/* Decoupled document build. */ +.ck.editor__editable[role='textbox'], +.ck.ck-editor__editable[role='textbox'], +/* Inline & Balloon build. */ +.ck.editor[role='textbox'] { + width: 100%; + background: #fff; + font-size: 1em; + line-height: 1.6em; + min-height: var(--ck-sample-editor-min-height); + padding: 1.5em 2em; +} + +.ck.ck-editor__editable { + background: #fff; + border: 1px solid hsl(0, 0%, 70%); + width: 100%; +} + +/* Because of sidebar `position: relative`, Edge is overriding the outline of a focused editor. */ +.ck.ck-editor__editable { + position: relative; + z-index: var(--ck-sample-editor-z-index); +} + +.editor-container { + display: flex; + flex-direction: row; + flex-wrap: nowrap; + position: relative; + width: 100%; + justify-content: center; +} + +.editor-container--with-sidebar > .ck.ck-editor { + width: calc( 100% - var(--ck-sample-sidebar-width) ); +} + +/* --------- DECOUPLED (DOCUMENT) BUILD. ---------------------------------------------*/ +body[data-editor='DecoupledEditor'] .document-editor__toolbar { + width: 100%; +} + +body[data-editor='DecoupledEditor'] .collaboration-demo__editable, +body[data-editor='DecoupledEditor'] .row-editor .editor { + /* A pixel is added for each of the border. */ + width: calc(21cm + 2px); + min-height: calc(29.7cm + 2px); + /* To avoid having extra scrolls inside the editor container. */ + height: fit-content; + padding: 2cm 1.2cm; + margin: 2.5rem; + border: 1px hsl( 0, 0%, 82.7% ) solid; + background-color: var(--ck-sample-color-white); + box-shadow: 0 0 5px hsla( 0, 0%, 0%, .1 ); + box-sizing: border-box; +} + +body[data-editor='DecoupledEditor'] .row-editor { + display: flex; + position: relative; + justify-content: center; + overflow-y: auto; + background-color: #f2f2f2; + border: 1px solid hsl(0, 0%, 77%); + /* Limit the max-height of the editor to avoid scrolling from bottom to top to see the toolbar. */ + max-height: 700px; +} + +body[data-editor='DecoupledEditor'] .sidebar { + background: transparent; + border: 0; + box-shadow: none; +} + +/* --------- COMMENTS & TRACK CHANGES FEATURE ---------------------------------------------------------------------- */ +.sidebar { + padding: 0 15px; + position: relative; + min-width: var(--ck-sample-sidebar-width); + max-width: var(--ck-sample-sidebar-width); + font-size: 20px; + border: 1px solid hsl(0, 0%, 77%); + background: hsl(0, 0%, 98%); + border-left: 0; + overflow: hidden; + min-height: 100%; + flex-grow: 1; +} + +/* Do not inherit styles related to the editable editor content. See line 25.*/ +.sidebar .ck-content[role='textbox'], +.ck.ck-annotation-wrapper .ck-content[role='textbox'] { + min-height: unset; + width: unset; + padding: 0; + background: transparent; +} + +.sidebar.narrow { + min-width: 60px; + flex-grow: 0; +} + +.sidebar.hidden { + display: none !important; +} + +#sidebar-display-toggle { + position: absolute; + z-index: 1; + width: 30px; + height: 30px; + text-align: center; + left: 15px; + top: 30px; + border: 0; + padding: 0; + color: hsl( 0, 0%, 50% ); + transition: 250ms ease color; + background-color: transparent; +} + +#sidebar-display-toggle:hover { + color: hsl( 0, 0%, 30% ); + cursor: pointer; +} + +#sidebar-display-toggle:focus, +#sidebar-display-toggle:active { + outline: none; + border: 1px solid #a9d29d; +} + +#sidebar-display-toggle svg { + fill: currentColor; +} + +/* --------- COLLABORATION FEATURES (USERS) ------------------------------------------------------------------------ */ +.row-presence { + width: 100%; + border: 1px solid hsl(0, 0%, 77%); + border-bottom: 0; + background: hsl(0, 0%, 98%); + padding: var(--ck-spacing-small); + + /* Make `border-bottom` as `box-shadow` to not overlap with the editor border. */ + box-shadow: 0 1px 0 0 hsl(0, 0%, 77%); + + /* Make `z-index` bigger than `.editor` to properly display tooltips. */ + z-index: 20; +} + +.ck.ck-presence-list { + flex: 1; + padding: 1.25rem .75rem; +} + +.presence .ck.ck-presence-list__counter { + order: 2; + margin-left: var(--ck-spacing-large) +} + +/* --------- REAL TIME COLLABORATION FEATURES (SHARE TOPBAR CONTAINER) --------------------------------------------- */ +.collaboration-demo__row { + display: flex; + position: relative; + justify-content: center; + overflow-y: auto; + background-color: #f2f2f2; + border: 1px solid hsl(0, 0%, 77%); +} + +body[data-editor='InlineEditor'] .collaboration-demo__row { + border: 0; +} + +.collaboration-demo__container { + max-width: var(--ck-sample-container-width); + margin: 0 auto; + padding: 1.25rem; +} + +.presence, .collaboration-demo__row { + transition: .2s opacity; +} + +.collaboration-demo__topbar { + background: #fff; + border: 1px solid var(--ck-color-toolbar-border); + display: flex; + justify-content: space-between; + align-items: center; + border-bottom: 0; + border-radius: 4px 4px 0 0; +} + +.collaboration-demo__topbar .btn { + margin-right: 1em; + outline-offset: 2px; + outline-width: 2px; + background-color: var( --ck-sample-color-blue ); +} + +.collaboration-demo__topbar .btn:focus, +.collaboration-demo__topbar .btn:hover { + border-color: var( --ck-sample-color-blue ); +} + +.collaboration-demo__share { + display: flex; + align-items: center; + padding: 1.25rem .75rem +} + +.collaboration-demo__share-description p { + margin: 0; + font-weight: bold; + font-size: 0.9em; +} + +.collaboration-demo__share input { + height: auto; + font-size: 0.9em; + min-width: 220px; + margin: 0 10px; + border-radius: 4px; + border: 1px solid var(--ck-color-toolbar-border) +} + +.collaboration-demo__share button, +.collaboration-demo__share input { + height: 40px; + padding: 5px 10px; +} + +.collaboration-demo__share button { + position: relative; +} + +.collaboration-demo__share button:focus { + outline: none; +} + +.collaboration-demo__share button[data-tooltip]::before, +.collaboration-demo__share button[data-tooltip]::after { + position: absolute; + visibility: hidden; + opacity: 0; + pointer-events: none; + transition: all .15s cubic-bezier(.5,1,.25,1); + z-index: 1; +} + +.collaboration-demo__share button[data-tooltip]::before { + content: attr(data-tooltip); + padding: 5px 15px; + border-radius: 3px; + background: #111; + color: #fff; + text-align: center; + font-size: 11px; + top: 100%; + left: 50%; + margin-top: 5px; + transform: translateX(-50%); +} + +.collaboration-demo__share button[data-tooltip]::after { + content: ''; + border: 5px solid transparent; + width: 0; + font-size: 0; + line-height: 0; + top: 100%; + left: 50%; + transform: translateX(-50%); + border-bottom: 5px solid #111; + border-top: none; +} + +.collaboration-demo__share button[data-tooltip]:hover:before, +.collaboration-demo__share button[data-tooltip]:hover:after { + visibility: visible; + opacity: 1; +} + +.collaboration-demo--ready { + overflow: visible; + height: auto; +} + +.collaboration-demo--ready .presence, +.collaboration-demo--ready .collaboration-demo__row { + opacity: 1; +} + +/* --------- PAGINATION FEATURE ------------------------------------------------------------------------------------ */ + +/* Pagination view line must be stacked at least at the same level as the editor, + otherwise it will be hidden underneath. */ +.ck.ck-pagination-view-line { + z-index: var(--ck-sample-editor-z-index); +} + +/* --------- REVISION HISTORY FEATURE ------------------------------------------------------------------------------ */ + +.revision-viewer-container { + display: none; + max-width: 100%; + word-wrap: break-word; +} + +.revision-viewer-sidebar { + position: relative; + min-width: 310px; + overflow: hidden; + background: var(--ck-color-toolbar-background); + border: 1px solid var(--ck-color-toolbar-border); + margin-left: -1px; +} + +/* A case when Pagination and Revision History features are enabled in the editor. */ +/* Move the square with page number from the Pagination plugin to the left side, so that it does not cover the RH sidebar. */ +body[data-revision-history='true'] .ck.ck-pagination-view-line::after { + transform: translateX(-100%) !important; + left: -1px !important; + right: unset !important; +} + +/* --------- DOCUMENT OUTLINE FEATURE ------------------------------------------------------------------------------ */ + +.document-outline-container { + max-height: 80vh; + overflow-y: auto; + margin-bottom: 1em; +} + +.document-outline-container .ck.ck-document-outline { + min-height: 100%; + border: 1px solid var(--ck-color-base-border); + background-color: hsl(0, 0%, 96%); +} + +/* --------- SAMPLE GENERIC STYLES (not related to CKEditor) ------------------------------------------------------- */ +body, html { + padding: 0; + margin: 0; + + font-family: sans-serif, Arial, Verdana, "Trebuchet MS", "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; + font-size: 16px; + line-height: 1.5; +} + +body { + height: 100%; + color: #2D3A4A; +} + +body * { + box-sizing: border-box; +} + +a { + color: #38A5EE; +} + +header .centered { + display: flex; + flex-flow: row nowrap; + justify-content: space-between; + align-items: center; + min-height: 8em; +} + +header h1 a { + font-size: 20px; + display: flex; + align-items: center; + color: #2D3A4A; + text-decoration: none; +} + +header h1 img { + display: block; + height: 64px; +} + +header nav ul { + margin: 0; + padding: 0; + list-style-type: none; +} + +header nav ul li { + display: inline-block; +} + +header nav ul li + li { + margin-left: 1em; +} + +header nav ul li a { + font-weight: bold; + text-decoration: none; + color: #2D3A4A; +} + +header nav ul li a:hover { + text-decoration: underline; +} + +main .message { + padding: 0 0 var(--ck-sample-base-spacing); + background: var(--ck-sample-color-green); + color: var(--ck-sample-color-white); +} + +main .message::after { + content: ""; + z-index: -1; + display: block; + height: 10em; + width: 100%; + background: var(--ck-sample-color-green); + position: absolute; + left: 0; +} + +main .message h2 { + position: relative; + padding-top: 1em; + font-size: 2em; +} + +.centered { + max-width: var(--ck-sample-container-width); + margin: 0 auto; + padding: 0 var(--ck-sample-base-spacing); +} + +.row { + display: flex; + position: relative; +} + +.btn { + cursor: pointer; + padding: 8px 16px; + font-size: 1rem; + user-select: none; + border-radius: 4px; + transition: color .2s ease-in-out,background-color .2s ease-in-out,border-color .2s ease-in-out,opacity .2s ease-in-out; + background-color: var(--ck-sample-color-button-blue); + border-color: var(--ck-sample-color-button-blue); + color: var(--ck-sample-color-white); + display: inline-block; +} + +.btn--tiny { + padding: 6px 12px; + font-size: .8rem; +} + +footer { + margin: calc(2*var(--ck-sample-base-spacing)) var(--ck-sample-base-spacing); + font-size: .8em; + text-align: center; + color: rgba(0,0,0,.4); +} + +/* --------- RWD --------------------------------------------------------------------------------------------------- */ +@media screen and ( max-width: 800px ) { + :root { + --ck-sample-base-spacing: 1em; + } + + header h1 { + width: 100%; + } + + header h1 img { + height: 40px; + } + + header nav ul { + text-align: right; + } + + main .message h2 { + font-size: 1.5em; + } +} diff --git a/admin/ckeditor5/src/ckeditor.ts b/admin/ckeditor5/src/ckeditor.ts new file mode 100644 index 0000000..b505058 --- /dev/null +++ b/admin/ckeditor5/src/ckeditor.ts @@ -0,0 +1,118 @@ +/** + * @license Copyright (c) 2014-2024, CKSource Holding sp. z o.o. All rights reserved. + * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license + */ + +import { ClassicEditor } from '@ckeditor/ckeditor5-editor-classic'; + +import { Autoformat } from '@ckeditor/ckeditor5-autoformat'; +import { Bold, Italic } from '@ckeditor/ckeditor5-basic-styles'; +import { BlockQuote } from '@ckeditor/ckeditor5-block-quote'; +import { CloudServices } from '@ckeditor/ckeditor5-cloud-services'; +import type { EditorConfig } from '@ckeditor/ckeditor5-core'; +import { Essentials } from '@ckeditor/ckeditor5-essentials'; +import { FontColor } from '@ckeditor/ckeditor5-font'; +import { Heading } from '@ckeditor/ckeditor5-heading'; +import { GeneralHtmlSupport } from '@ckeditor/ckeditor5-html-support'; +import { + AutoImage, + Image, + ImageCaption, + ImageResize, + ImageStyle, + ImageToolbar, + ImageUpload +} from '@ckeditor/ckeditor5-image'; +import { Indent } from '@ckeditor/ckeditor5-indent'; +import { Link } from '@ckeditor/ckeditor5-link'; +import { List } from '@ckeditor/ckeditor5-list'; +import { MediaEmbed } from '@ckeditor/ckeditor5-media-embed'; +import { Paragraph } from '@ckeditor/ckeditor5-paragraph'; +import { PasteFromOffice } from '@ckeditor/ckeditor5-paste-from-office'; +import { SourceEditing } from '@ckeditor/ckeditor5-source-editing'; +import { Style } from '@ckeditor/ckeditor5-style'; +import { Table, TableToolbar } from '@ckeditor/ckeditor5-table'; +import { TextTransformation } from '@ckeditor/ckeditor5-typing'; +import { Undo } from '@ckeditor/ckeditor5-undo'; +import { SimpleUploadAdapter } from '@ckeditor/ckeditor5-upload'; + +// You can read more about extending the build with additional plugins in the "Installing plugins" guide. +// See https://ckeditor.com/docs/ckeditor5/latest/installation/plugins/installing-plugins.html for details. + +class Editor extends ClassicEditor { + public static override builtinPlugins = [ + AutoImage, + Autoformat, + BlockQuote, + Bold, + CloudServices, + Essentials, + FontColor, + GeneralHtmlSupport, + Heading, + Image, + ImageCaption, + ImageResize, + ImageStyle, + ImageToolbar, + ImageUpload, + Indent, + Italic, + Link, + List, + MediaEmbed, + Paragraph, + PasteFromOffice, + SimpleUploadAdapter, + SourceEditing, + Style, + Table, + TableToolbar, + TextTransformation, + Undo + ]; + + public static override defaultConfig: EditorConfig = { + toolbar: { + items: [ + 'sourceEditing', + '|', + 'heading', + '|', + 'fontColor', + 'bold', + 'italic', + 'link', + '|', + 'outdent', + 'indent', + '|', + 'imageUpload', + 'blockQuote', + 'insertTable', + 'mediaEmbed', + 'undo', + 'redo' + ] + }, + language: 'zh', + image: { + toolbar: [ + 'imageTextAlternative', + 'toggleImageCaption', + 'imageStyle:inline', + 'imageStyle:block', + 'imageStyle:side' + ] + }, + table: { + contentToolbar: [ + 'tableColumn', + 'tableRow', + 'mergeTableCells' + ] + } + }; +} + +export default Editor; diff --git a/admin/ckeditor5/tsconfig.json b/admin/ckeditor5/tsconfig.json new file mode 100644 index 0000000..4cbebfd --- /dev/null +++ b/admin/ckeditor5/tsconfig.json @@ -0,0 +1,23 @@ +{ + "compilerOptions": { + "types": [], + "lib": [ + "ES2019", + "ES2020.String", + "DOM", + "DOM.Iterable" + ], + "noImplicitAny": true, + "noImplicitOverride": true, + "strict": true, + "module": "es6", + "target": "es2019", + "sourceMap": true, + "allowJs": true, + "moduleResolution": "node", + "skipLibCheck": true + }, + "include": [ + "./src" + ] +} diff --git a/admin/ckeditor5/webpack.config.js b/admin/ckeditor5/webpack.config.js new file mode 100644 index 0000000..0d4bce1 --- /dev/null +++ b/admin/ckeditor5/webpack.config.js @@ -0,0 +1,96 @@ +/** + * @license Copyright (c) 2014-2024, CKSource Holding sp. z o.o. All rights reserved. + * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license + */ + +'use strict'; + +/* eslint-env node */ + +const path = require( 'path' ); +const webpack = require( 'webpack' ); +const { bundler, styles } = require( '@ckeditor/ckeditor5-dev-utils' ); +const { CKEditorTranslationsPlugin } = require( '@ckeditor/ckeditor5-dev-translations' ); +const TerserWebpackPlugin = require( 'terser-webpack-plugin' ); + +module.exports = { + devtool: 'source-map', + performance: { hints: false }, + + entry: path.resolve( __dirname, 'src', 'ckeditor.ts' ), + + output: { + // The name under which the editor will be exported. + library: 'ClassicEditor', + + path: path.resolve( __dirname, 'build' ), + filename: 'ckeditor.js', + libraryTarget: 'umd', + libraryExport: 'default' + }, + + optimization: { + minimizer: [ + new TerserWebpackPlugin( { + sourceMap: true, + terserOptions: { + output: { + // Preserve CKEditor 5 license comments. + comments: /^!/ + } + }, + extractComments: false + } ) + ] + }, + + plugins: [ + new CKEditorTranslationsPlugin( { + // UI language. Language codes follow the https://en.wikipedia.org/wiki/ISO_639-1 format. + // When changing the built-in language, remember to also change it in the editor's configuration (src/ckeditor.ts). + language: 'zh', + additionalLanguages: 'all' + } ), + new webpack.BannerPlugin( { + banner: bundler.getLicenseBanner(), + raw: true + } ) + ], + + resolve: { + extensions: [ '.ts', '.js', '.json' ] + }, + + module: { + rules: [ { + test: /\.svg$/, + use: [ 'raw-loader' ] + }, { + test: /\.ts$/, + use: 'ts-loader' + }, { + test: /\.css$/, + use: [ { + loader: 'style-loader', + options: { + injectType: 'singletonStyleTag', + attributes: { + 'data-cke': true + } + } + }, { + loader: 'css-loader' + }, { + loader: 'postcss-loader', + options: { + postcssOptions: styles.getPostCssConfig( { + themeImporter: { + themePath: require.resolve( '@ckeditor/ckeditor5-theme-lark' ) + }, + minify: true + } ) + } + } ] + } ] + } +}; diff --git a/admin/index.html b/admin/index.html new file mode 100644 index 0000000..558de20 --- /dev/null +++ b/admin/index.html @@ -0,0 +1,13 @@ + + + + + + + 後台管理系統 + + +
+ + + diff --git a/admin/package-lock.json b/admin/package-lock.json new file mode 100644 index 0000000..8dbb179 --- /dev/null +++ b/admin/package-lock.json @@ -0,0 +1,2900 @@ +{ + "name": "asc_admin", + "version": "0.0.0", + "lockfileVersion": 3, + "requires": true, + "packages": { + "": { + "name": "asc_admin", + "version": "0.0.0", + "dependencies": { + "axios": "^1.5.1", + "deepmerge": "^4.3.1", + "echarts": "^5.4.3", + "element-plus": "^2.3.14", + "enquire.js": "^2.1.6", + "js-cookie": "^3.0.5", + "pinia": "^2.1.6", + "pinia-plugin-persistedstate": "^3.2.0", + "vue": "^3.3.4", + "vue-router": "^4.2.5" + }, + "devDependencies": { + "@vitejs/plugin-vue": "^4.2.3", + "less": "^4.2.0", + "less-loader": "^11.1.3", + "unplugin-auto-import": "^0.16.6", + "unplugin-vue-components": "^0.25.2", + "vite": "^4.4.5" + } + }, + "node_modules/@antfu/utils": { + "version": "0.7.6", + "resolved": "https://registry.npmjs.org/@antfu/utils/-/utils-0.7.6.tgz", + "integrity": "sha512-pvFiLP2BeOKA/ZOS6jxx4XhKzdVLHDhGlFEaZ2flWWYf2xOqVniqpk38I04DFRyz+L0ASggl7SkItTc+ZLju4w==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/antfu" + } + }, + "node_modules/@babel/parser": { + "version": "7.23.0", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.23.0.tgz", + "integrity": "sha512-vvPKKdMemU85V9WE/l5wZEmImpCtLqbnTvqDS2U1fJ96KrxoW7KrXhNsNCblQlg8Ck4b85yxdTyelsMUgFUXiw==", + "bin": { + "parser": "bin/babel-parser.js" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@ctrl/tinycolor": { + "version": "3.6.1", + "resolved": "https://registry.npmjs.org/@ctrl/tinycolor/-/tinycolor-3.6.1.tgz", + "integrity": "sha512-SITSV6aIXsuVNV3f3O0f2n/cgyEDWoSqtZMYiAmcsYHydcKrOz3gUxB/iXd/Qf08+IZX4KpgNbvUdMBmWz+kcA==", + "engines": { + "node": ">=10" + } + }, + "node_modules/@element-plus/icons-vue": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@element-plus/icons-vue/-/icons-vue-2.1.0.tgz", + "integrity": "sha512-PSBn3elNoanENc1vnCfh+3WA9fimRC7n+fWkf3rE5jvv+aBohNHABC/KAR5KWPecxWxDTVT1ERpRbOMRcOV/vA==", + "peerDependencies": { + "vue": "^3.2.0" + } + }, + "node_modules/@esbuild/android-arm": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.18.20.tgz", + "integrity": "sha512-fyi7TDI/ijKKNZTUJAQqiG5T7YjJXgnzkURqmGj13C6dCqckZBLdl4h7bkhHt/t0WP+zO9/zwroDvANaOqO5Sw==", + "cpu": [ + "arm" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/android-arm64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.18.20.tgz", + "integrity": "sha512-Nz4rJcchGDtENV0eMKUNa6L12zz2zBDXuhj/Vjh18zGqB44Bi7MBMSXjgunJgjRhCmKOjnPuZp4Mb6OKqtMHLQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/android-x64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.18.20.tgz", + "integrity": "sha512-8GDdlePJA8D6zlZYJV/jnrRAi6rOiNaCC/JclcXpB+KIuvfBN4owLtgzY2bsxnx666XjJx2kDPUmnTtR8qKQUg==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/darwin-arm64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.18.20.tgz", + "integrity": "sha512-bxRHW5kHU38zS2lPTPOyuyTm+S+eobPUnTNkdJEfAddYgEcll4xkT8DB9d2008DtTbl7uJag2HuE5NZAZgnNEA==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/darwin-x64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.18.20.tgz", + "integrity": "sha512-pc5gxlMDxzm513qPGbCbDukOdsGtKhfxD1zJKXjCCcU7ju50O7MeAZ8c4krSJcOIJGFR+qx21yMMVYwiQvyTyQ==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/freebsd-arm64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.18.20.tgz", + "integrity": "sha512-yqDQHy4QHevpMAaxhhIwYPMv1NECwOvIpGCZkECn8w2WFHXjEwrBn3CeNIYsibZ/iZEUemj++M26W3cNR5h+Tw==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/freebsd-x64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.18.20.tgz", + "integrity": "sha512-tgWRPPuQsd3RmBZwarGVHZQvtzfEBOreNuxEMKFcd5DaDn2PbBxfwLcj4+aenoh7ctXcbXmOQIn8HI6mCSw5MQ==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-arm": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.18.20.tgz", + "integrity": "sha512-/5bHkMWnq1EgKr1V+Ybz3s1hWXok7mDFUMQ4cG10AfW3wL02PSZi5kFpYKrptDsgb2WAJIvRcDm+qIvXf/apvg==", + "cpu": [ + "arm" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-arm64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.18.20.tgz", + "integrity": "sha512-2YbscF+UL7SQAVIpnWvYwM+3LskyDmPhe31pE7/aoTMFKKzIc9lLbyGUpmmb8a8AixOL61sQ/mFh3jEjHYFvdA==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-ia32": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.18.20.tgz", + "integrity": "sha512-P4etWwq6IsReT0E1KHU40bOnzMHoH73aXp96Fs8TIT6z9Hu8G6+0SHSw9i2isWrD2nbx2qo5yUqACgdfVGx7TA==", + "cpu": [ + "ia32" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-loong64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.18.20.tgz", + "integrity": "sha512-nXW8nqBTrOpDLPgPY9uV+/1DjxoQ7DoB2N8eocyq8I9XuqJ7BiAMDMf9n1xZM9TgW0J8zrquIb/A7s3BJv7rjg==", + "cpu": [ + "loong64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-mips64el": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.18.20.tgz", + "integrity": "sha512-d5NeaXZcHp8PzYy5VnXV3VSd2D328Zb+9dEq5HE6bw6+N86JVPExrA6O68OPwobntbNJ0pzCpUFZTo3w0GyetQ==", + "cpu": [ + "mips64el" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-ppc64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.18.20.tgz", + "integrity": "sha512-WHPyeScRNcmANnLQkq6AfyXRFr5D6N2sKgkFo2FqguP44Nw2eyDlbTdZwd9GYk98DZG9QItIiTlFLHJHjxP3FA==", + "cpu": [ + "ppc64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-riscv64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.18.20.tgz", + "integrity": "sha512-WSxo6h5ecI5XH34KC7w5veNnKkju3zBRLEQNY7mv5mtBmrP/MjNBCAlsM2u5hDBlS3NGcTQpoBvRzqBcRtpq1A==", + "cpu": [ + "riscv64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-s390x": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.18.20.tgz", + "integrity": "sha512-+8231GMs3mAEth6Ja1iK0a1sQ3ohfcpzpRLH8uuc5/KVDFneH6jtAJLFGafpzpMRO6DzJ6AvXKze9LfFMrIHVQ==", + "cpu": [ + "s390x" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-x64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.18.20.tgz", + "integrity": "sha512-UYqiqemphJcNsFEskc73jQ7B9jgwjWrSayxawS6UVFZGWrAAtkzjxSqnoclCXxWtfwLdzU+vTpcNYhpn43uP1w==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/netbsd-x64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.18.20.tgz", + "integrity": "sha512-iO1c++VP6xUBUmltHZoMtCUdPlnPGdBom6IrO4gyKPFFVBKioIImVooR5I83nTew5UOYrk3gIJhbZh8X44y06A==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/openbsd-x64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.18.20.tgz", + "integrity": "sha512-e5e4YSsuQfX4cxcygw/UCPIEP6wbIL+se3sxPdCiMbFLBWu0eiZOJ7WoD+ptCLrmjZBK1Wk7I6D/I3NglUGOxg==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/sunos-x64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.18.20.tgz", + "integrity": "sha512-kDbFRFp0YpTQVVrqUd5FTYmWo45zGaXe0X8E1G/LKFC0v8x0vWrhOWSLITcCn63lmZIxfOMXtCfti/RxN/0wnQ==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "sunos" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/win32-arm64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.18.20.tgz", + "integrity": "sha512-ddYFR6ItYgoaq4v4JmQQaAI5s7npztfV4Ag6NrhiaW0RrnOXqBkgwZLofVTlq1daVTQNhtI5oieTvkRPfZrePg==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/win32-ia32": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.18.20.tgz", + "integrity": "sha512-Wv7QBi3ID/rROT08SABTS7eV4hX26sVduqDOTe1MvGMjNd3EjOz4b7zeexIR62GTIEKrfJXKL9LFxTYgkyeu7g==", + "cpu": [ + "ia32" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/win32-x64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.18.20.tgz", + "integrity": "sha512-kTdfRcSiDfQca/y9QIkng02avJ+NCaQvrMejlsB3RRv5sE9rRoeBPISaZpKxHELzRxZyLvNts1P27W3wV+8geQ==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@floating-ui/core": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/@floating-ui/core/-/core-1.5.0.tgz", + "integrity": "sha512-kK1h4m36DQ0UHGj5Ah4db7R0rHemTqqO0QLvUqi1/mUUp3LuAWbWxdxSIf/XsnH9VS6rRVPLJCncjRzUvyCLXg==", + "dependencies": { + "@floating-ui/utils": "^0.1.3" + } + }, + "node_modules/@floating-ui/dom": { + "version": "1.5.3", + "resolved": "https://registry.npmjs.org/@floating-ui/dom/-/dom-1.5.3.tgz", + "integrity": "sha512-ClAbQnEqJAKCJOEbbLo5IUlZHkNszqhuxS4fHAVxRPXPya6Ysf2G8KypnYcOTpx6I8xcgF9bbHb6g/2KpbV8qA==", + "dependencies": { + "@floating-ui/core": "^1.4.2", + "@floating-ui/utils": "^0.1.3" + } + }, + "node_modules/@floating-ui/utils": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/@floating-ui/utils/-/utils-0.1.4.tgz", + "integrity": "sha512-qprfWkn82Iw821mcKofJ5Pk9wgioHicxcQMxx+5zt5GSKoqdWvgG5AxVmpmUUjzTLPVSH5auBrhI93Deayn/DA==" + }, + "node_modules/@jridgewell/gen-mapping": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.3.tgz", + "integrity": "sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==", + "dev": true, + "peer": true, + "dependencies": { + "@jridgewell/set-array": "^1.0.1", + "@jridgewell/sourcemap-codec": "^1.4.10", + "@jridgewell/trace-mapping": "^0.3.9" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/resolve-uri": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.1.tgz", + "integrity": "sha512-dSYZh7HhCDtCKm4QakX0xFpsRDqjjtZf/kjI/v3T3Nwt5r8/qz/M19F9ySyOqU94SXBmeG9ttTul+YnR4LOxFA==", + "dev": true, + "peer": true, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/set-array": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz", + "integrity": "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==", + "dev": true, + "peer": true, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/source-map": { + "version": "0.3.5", + "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.5.tgz", + "integrity": "sha512-UTYAUj/wviwdsMfzoSJspJxbkH5o1snzwX0//0ENX1u/55kkZZkcTZP6u9bwKGkv+dkk9at4m1Cpt0uY80kcpQ==", + "dev": true, + "peer": true, + "dependencies": { + "@jridgewell/gen-mapping": "^0.3.0", + "@jridgewell/trace-mapping": "^0.3.9" + } + }, + "node_modules/@jridgewell/sourcemap-codec": { + "version": "1.4.15", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz", + "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==" + }, + "node_modules/@jridgewell/trace-mapping": { + "version": "0.3.20", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.20.tgz", + "integrity": "sha512-R8LcPeWZol2zR8mmH3JeKQ6QRCFb7XgUhV9ZlGhHLGyg4wpPiPZNQOOWhFZhxKw8u//yTbNGI42Bx/3paXEQ+Q==", + "dev": true, + "peer": true, + "dependencies": { + "@jridgewell/resolve-uri": "^3.1.0", + "@jridgewell/sourcemap-codec": "^1.4.14" + } + }, + "node_modules/@nodelib/fs.scandir": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", + "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", + "dev": true, + "dependencies": { + "@nodelib/fs.stat": "2.0.5", + "run-parallel": "^1.1.9" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.stat": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", + "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", + "dev": true, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.walk": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", + "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", + "dev": true, + "dependencies": { + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@popperjs/core": { + "name": "@sxzz/popperjs-es", + "version": "2.11.7", + "resolved": "https://registry.npmjs.org/@sxzz/popperjs-es/-/popperjs-es-2.11.7.tgz", + "integrity": "sha512-Ccy0NlLkzr0Ex2FKvh2X+OyERHXJ88XJ1MXtsI9y9fGexlaXaVTPzBCRBwIxFkORuOb+uBqeu+RqnpgYTEZRUQ==", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/popperjs" + } + }, + "node_modules/@rollup/pluginutils": { + "version": "5.0.4", + "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-5.0.4.tgz", + "integrity": "sha512-0KJnIoRI8A+a1dqOYLxH8vBf8bphDmty5QvIm2hqm7oFCFYKCAZWWd2hXgMibaPsNDhI0AtpYfQZJG47pt/k4g==", + "dev": true, + "dependencies": { + "@types/estree": "^1.0.0", + "estree-walker": "^2.0.2", + "picomatch": "^2.3.1" + }, + "engines": { + "node": ">=14.0.0" + }, + "peerDependencies": { + "rollup": "^1.20.0||^2.0.0||^3.0.0" + }, + "peerDependenciesMeta": { + "rollup": { + "optional": true + } + } + }, + "node_modules/@types/eslint": { + "version": "8.56.0", + "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-8.56.0.tgz", + "integrity": "sha512-FlsN0p4FhuYRjIxpbdXovvHQhtlG05O1GG/RNWvdAxTboR438IOTwmrY/vLA+Xfgg06BTkP045M3vpFwTMv1dg==", + "dev": true, + "peer": true, + "dependencies": { + "@types/estree": "*", + "@types/json-schema": "*" + } + }, + "node_modules/@types/eslint-scope": { + "version": "3.7.7", + "resolved": "https://registry.npmjs.org/@types/eslint-scope/-/eslint-scope-3.7.7.tgz", + "integrity": "sha512-MzMFlSLBqNF2gcHWO0G1vP/YQyfvrxZ0bF+u7mzUdZ1/xK4A4sru+nraZz5i3iEIk1l1uyicaDVTB4QbbEkAYg==", + "dev": true, + "peer": true, + "dependencies": { + "@types/eslint": "*", + "@types/estree": "*" + } + }, + "node_modules/@types/estree": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.2.tgz", + "integrity": "sha512-VeiPZ9MMwXjO32/Xu7+OwflfmeoRwkE/qzndw42gGtgJwZopBnzy2gD//NN1+go1mADzkDcqf/KnFRSjTJ8xJA==", + "dev": true + }, + "node_modules/@types/json-schema": { + "version": "7.0.15", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz", + "integrity": "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==", + "dev": true, + "peer": true + }, + "node_modules/@types/lodash": { + "version": "4.14.199", + "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.14.199.tgz", + "integrity": "sha512-Vrjz5N5Ia4SEzWWgIVwnHNEnb1UE1XMkvY5DGXrAeOGE9imk0hgTHh5GyDjLDJi9OTCn9oo9dXH1uToK1VRfrg==" + }, + "node_modules/@types/lodash-es": { + "version": "4.17.9", + "resolved": "https://registry.npmjs.org/@types/lodash-es/-/lodash-es-4.17.9.tgz", + "integrity": "sha512-ZTcmhiI3NNU7dEvWLZJkzG6ao49zOIjEgIE0RgV7wbPxU0f2xT3VSAHw2gmst8swH6V0YkLRGp4qPlX/6I90MQ==", + "dependencies": { + "@types/lodash": "*" + } + }, + "node_modules/@types/node": { + "version": "20.10.5", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.10.5.tgz", + "integrity": "sha512-nNPsNE65wjMxEKI93yOP+NPGGBJz/PoN3kZsVLee0XMiJolxSekEVD8wRwBUBqkwc7UWop0edW50yrCQW4CyRw==", + "dev": true, + "peer": true, + "dependencies": { + "undici-types": "~5.26.4" + } + }, + "node_modules/@types/web-bluetooth": { + "version": "0.0.16", + "resolved": "https://registry.npmjs.org/@types/web-bluetooth/-/web-bluetooth-0.0.16.tgz", + "integrity": "sha512-oh8q2Zc32S6gd/j50GowEjKLoOVOwHP/bWVjKJInBwQqdOYMdPrf1oVlelTlyfFK3CKxL1uahMDAr+vy8T7yMQ==" + }, + "node_modules/@vitejs/plugin-vue": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/@vitejs/plugin-vue/-/plugin-vue-4.3.4.tgz", + "integrity": "sha512-ciXNIHKPriERBisHFBvnTbfKa6r9SAesOYXeGDzgegcvy9Q4xdScSHAmKbNT0M3O0S9LKhIf5/G+UYG4NnnzYw==", + "dev": true, + "engines": { + "node": "^14.18.0 || >=16.0.0" + }, + "peerDependencies": { + "vite": "^4.0.0", + "vue": "^3.2.25" + } + }, + "node_modules/@vue/compiler-core": { + "version": "3.3.4", + "resolved": "https://registry.npmjs.org/@vue/compiler-core/-/compiler-core-3.3.4.tgz", + "integrity": "sha512-cquyDNvZ6jTbf/+x+AgM2Arrp6G4Dzbb0R64jiG804HRMfRiFXWI6kqUVqZ6ZR0bQhIoQjB4+2bhNtVwndW15g==", + "dependencies": { + "@babel/parser": "^7.21.3", + "@vue/shared": "3.3.4", + "estree-walker": "^2.0.2", + "source-map-js": "^1.0.2" + } + }, + "node_modules/@vue/compiler-dom": { + "version": "3.3.4", + "resolved": "https://registry.npmjs.org/@vue/compiler-dom/-/compiler-dom-3.3.4.tgz", + "integrity": "sha512-wyM+OjOVpuUukIq6p5+nwHYtj9cFroz9cwkfmP9O1nzH68BenTTv0u7/ndggT8cIQlnBeOo6sUT/gvHcIkLA5w==", + "dependencies": { + "@vue/compiler-core": "3.3.4", + "@vue/shared": "3.3.4" + } + }, + "node_modules/@vue/compiler-sfc": { + "version": "3.3.4", + "resolved": "https://registry.npmjs.org/@vue/compiler-sfc/-/compiler-sfc-3.3.4.tgz", + "integrity": "sha512-6y/d8uw+5TkCuzBkgLS0v3lSM3hJDntFEiUORM11pQ/hKvkhSKZrXW6i69UyXlJQisJxuUEJKAWEqWbWsLeNKQ==", + "dependencies": { + "@babel/parser": "^7.20.15", + "@vue/compiler-core": "3.3.4", + "@vue/compiler-dom": "3.3.4", + "@vue/compiler-ssr": "3.3.4", + "@vue/reactivity-transform": "3.3.4", + "@vue/shared": "3.3.4", + "estree-walker": "^2.0.2", + "magic-string": "^0.30.0", + "postcss": "^8.1.10", + "source-map-js": "^1.0.2" + } + }, + "node_modules/@vue/compiler-ssr": { + "version": "3.3.4", + "resolved": "https://registry.npmjs.org/@vue/compiler-ssr/-/compiler-ssr-3.3.4.tgz", + "integrity": "sha512-m0v6oKpup2nMSehwA6Uuu+j+wEwcy7QmwMkVNVfrV9P2qE5KshC6RwOCq8fjGS/Eak/uNb8AaWekfiXxbBB6gQ==", + "dependencies": { + "@vue/compiler-dom": "3.3.4", + "@vue/shared": "3.3.4" + } + }, + "node_modules/@vue/devtools-api": { + "version": "6.5.0", + "resolved": "https://registry.npmjs.org/@vue/devtools-api/-/devtools-api-6.5.0.tgz", + "integrity": "sha512-o9KfBeaBmCKl10usN4crU53fYtC1r7jJwdGKjPT24t348rHxgfpZ0xL3Xm/gLUYnc0oTp8LAmrxOeLyu6tbk2Q==" + }, + "node_modules/@vue/reactivity": { + "version": "3.3.4", + "resolved": "https://registry.npmjs.org/@vue/reactivity/-/reactivity-3.3.4.tgz", + "integrity": "sha512-kLTDLwd0B1jG08NBF3R5rqULtv/f8x3rOFByTDz4J53ttIQEDmALqKqXY0J+XQeN0aV2FBxY8nJDf88yvOPAqQ==", + "dependencies": { + "@vue/shared": "3.3.4" + } + }, + "node_modules/@vue/reactivity-transform": { + "version": "3.3.4", + "resolved": "https://registry.npmjs.org/@vue/reactivity-transform/-/reactivity-transform-3.3.4.tgz", + "integrity": "sha512-MXgwjako4nu5WFLAjpBnCj/ieqcjE2aJBINUNQzkZQfzIZA4xn+0fV1tIYBJvvva3N3OvKGofRLvQIwEQPpaXw==", + "dependencies": { + "@babel/parser": "^7.20.15", + "@vue/compiler-core": "3.3.4", + "@vue/shared": "3.3.4", + "estree-walker": "^2.0.2", + "magic-string": "^0.30.0" + } + }, + "node_modules/@vue/runtime-core": { + "version": "3.3.4", + "resolved": "https://registry.npmjs.org/@vue/runtime-core/-/runtime-core-3.3.4.tgz", + "integrity": "sha512-R+bqxMN6pWO7zGI4OMlmvePOdP2c93GsHFM/siJI7O2nxFRzj55pLwkpCedEY+bTMgp5miZ8CxfIZo3S+gFqvA==", + "dependencies": { + "@vue/reactivity": "3.3.4", + "@vue/shared": "3.3.4" + } + }, + "node_modules/@vue/runtime-dom": { + "version": "3.3.4", + "resolved": "https://registry.npmjs.org/@vue/runtime-dom/-/runtime-dom-3.3.4.tgz", + "integrity": "sha512-Aj5bTJ3u5sFsUckRghsNjVTtxZQ1OyMWCr5dZRAPijF/0Vy4xEoRCwLyHXcj4D0UFbJ4lbx3gPTgg06K/GnPnQ==", + "dependencies": { + "@vue/runtime-core": "3.3.4", + "@vue/shared": "3.3.4", + "csstype": "^3.1.1" + } + }, + "node_modules/@vue/server-renderer": { + "version": "3.3.4", + "resolved": "https://registry.npmjs.org/@vue/server-renderer/-/server-renderer-3.3.4.tgz", + "integrity": "sha512-Q6jDDzR23ViIb67v+vM1Dqntu+HUexQcsWKhhQa4ARVzxOY2HbC7QRW/ggkDBd5BU+uM1sV6XOAP0b216o34JQ==", + "dependencies": { + "@vue/compiler-ssr": "3.3.4", + "@vue/shared": "3.3.4" + }, + "peerDependencies": { + "vue": "3.3.4" + } + }, + "node_modules/@vue/shared": { + "version": "3.3.4", + "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.3.4.tgz", + "integrity": "sha512-7OjdcV8vQ74eiz1TZLzZP4JwqM5fA94K6yntPS5Z25r9HDuGNzaGdgvwKYq6S+MxwF0TFRwe50fIR/MYnakdkQ==" + }, + "node_modules/@vueuse/core": { + "version": "9.13.0", + "resolved": "https://registry.npmjs.org/@vueuse/core/-/core-9.13.0.tgz", + "integrity": "sha512-pujnclbeHWxxPRqXWmdkKV5OX4Wk4YeK7wusHqRwU0Q7EFusHoqNA/aPhB6KCh9hEqJkLAJo7bb0Lh9b+OIVzw==", + "dependencies": { + "@types/web-bluetooth": "^0.0.16", + "@vueuse/metadata": "9.13.0", + "@vueuse/shared": "9.13.0", + "vue-demi": "*" + }, + "funding": { + "url": "https://github.com/sponsors/antfu" + } + }, + "node_modules/@vueuse/core/node_modules/vue-demi": { + "version": "0.14.6", + "resolved": "https://registry.npmjs.org/vue-demi/-/vue-demi-0.14.6.tgz", + "integrity": "sha512-8QA7wrYSHKaYgUxDA5ZC24w+eHm3sYCbp0EzcDwKqN3p6HqtTCGR/GVsPyZW92unff4UlcSh++lmqDWN3ZIq4w==", + "hasInstallScript": true, + "bin": { + "vue-demi-fix": "bin/vue-demi-fix.js", + "vue-demi-switch": "bin/vue-demi-switch.js" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/antfu" + }, + "peerDependencies": { + "@vue/composition-api": "^1.0.0-rc.1", + "vue": "^3.0.0-0 || ^2.6.0" + }, + "peerDependenciesMeta": { + "@vue/composition-api": { + "optional": true + } + } + }, + "node_modules/@vueuse/metadata": { + "version": "9.13.0", + "resolved": "https://registry.npmjs.org/@vueuse/metadata/-/metadata-9.13.0.tgz", + "integrity": "sha512-gdU7TKNAUVlXXLbaF+ZCfte8BjRJQWPCa2J55+7/h+yDtzw3vOoGQDRXzI6pyKyo6bXFT5/QoPE4hAknExjRLQ==", + "funding": { + "url": "https://github.com/sponsors/antfu" + } + }, + "node_modules/@vueuse/shared": { + "version": "9.13.0", + "resolved": "https://registry.npmjs.org/@vueuse/shared/-/shared-9.13.0.tgz", + "integrity": "sha512-UrnhU+Cnufu4S6JLCPZnkWh0WwZGUp72ktOF2DFptMlOs3TOdVv8xJN53zhHGARmVOsz5KqOls09+J1NR6sBKw==", + "dependencies": { + "vue-demi": "*" + }, + "funding": { + "url": "https://github.com/sponsors/antfu" + } + }, + "node_modules/@vueuse/shared/node_modules/vue-demi": { + "version": "0.14.6", + "resolved": "https://registry.npmjs.org/vue-demi/-/vue-demi-0.14.6.tgz", + "integrity": "sha512-8QA7wrYSHKaYgUxDA5ZC24w+eHm3sYCbp0EzcDwKqN3p6HqtTCGR/GVsPyZW92unff4UlcSh++lmqDWN3ZIq4w==", + "hasInstallScript": true, + "bin": { + "vue-demi-fix": "bin/vue-demi-fix.js", + "vue-demi-switch": "bin/vue-demi-switch.js" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/antfu" + }, + "peerDependencies": { + "@vue/composition-api": "^1.0.0-rc.1", + "vue": "^3.0.0-0 || ^2.6.0" + }, + "peerDependenciesMeta": { + "@vue/composition-api": { + "optional": true + } + } + }, + "node_modules/@webassemblyjs/ast": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.11.6.tgz", + "integrity": "sha512-IN1xI7PwOvLPgjcf180gC1bqn3q/QaOCwYUahIOhbYUu8KA/3tw2RT/T0Gidi1l7Hhj5D/INhJxiICObqpMu4Q==", + "dev": true, + "peer": true, + "dependencies": { + "@webassemblyjs/helper-numbers": "1.11.6", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6" + } + }, + "node_modules/@webassemblyjs/floating-point-hex-parser": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.6.tgz", + "integrity": "sha512-ejAj9hfRJ2XMsNHk/v6Fu2dGS+i4UaXBXGemOfQ/JfQ6mdQg/WXtwleQRLLS4OvfDhv8rYnVwH27YJLMyYsxhw==", + "dev": true, + "peer": true + }, + "node_modules/@webassemblyjs/helper-api-error": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.6.tgz", + "integrity": "sha512-o0YkoP4pVu4rN8aTJgAyj9hC2Sv5UlkzCHhxqWj8butaLvnpdc2jOwh4ewE6CX0txSfLn/UYaV/pheS2Txg//Q==", + "dev": true, + "peer": true + }, + "node_modules/@webassemblyjs/helper-buffer": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.11.6.tgz", + "integrity": "sha512-z3nFzdcp1mb8nEOFFk8DrYLpHvhKC3grJD2ardfKOzmbmJvEf/tPIqCY+sNcwZIY8ZD7IkB2l7/pqhUhqm7hLA==", + "dev": true, + "peer": true + }, + "node_modules/@webassemblyjs/helper-numbers": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.6.tgz", + "integrity": "sha512-vUIhZ8LZoIWHBohiEObxVm6hwP034jwmc9kuq5GdHZH0wiLVLIPcMCdpJzG4C11cHoQ25TFIQj9kaVADVX7N3g==", + "dev": true, + "peer": true, + "dependencies": { + "@webassemblyjs/floating-point-hex-parser": "1.11.6", + "@webassemblyjs/helper-api-error": "1.11.6", + "@xtuc/long": "4.2.2" + } + }, + "node_modules/@webassemblyjs/helper-wasm-bytecode": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.6.tgz", + "integrity": "sha512-sFFHKwcmBprO9e7Icf0+gddyWYDViL8bpPjJJl0WHxCdETktXdmtWLGVzoHbqUcY4Be1LkNfwTmXOJUFZYSJdA==", + "dev": true, + "peer": true + }, + "node_modules/@webassemblyjs/helper-wasm-section": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.11.6.tgz", + "integrity": "sha512-LPpZbSOwTpEC2cgn4hTydySy1Ke+XEu+ETXuoyvuyezHO3Kjdu90KK95Sh9xTbmjrCsUwvWwCOQQNta37VrS9g==", + "dev": true, + "peer": true, + "dependencies": { + "@webassemblyjs/ast": "1.11.6", + "@webassemblyjs/helper-buffer": "1.11.6", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6", + "@webassemblyjs/wasm-gen": "1.11.6" + } + }, + "node_modules/@webassemblyjs/ieee754": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.11.6.tgz", + "integrity": "sha512-LM4p2csPNvbij6U1f19v6WR56QZ8JcHg3QIJTlSwzFcmx6WSORicYj6I63f9yU1kEUtrpG+kjkiIAkevHpDXrg==", + "dev": true, + "peer": true, + "dependencies": { + "@xtuc/ieee754": "^1.2.0" + } + }, + "node_modules/@webassemblyjs/leb128": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.11.6.tgz", + "integrity": "sha512-m7a0FhE67DQXgouf1tbN5XQcdWoNgaAuoULHIfGFIEVKA6tu/edls6XnIlkmS6FrXAquJRPni3ZZKjw6FSPjPQ==", + "dev": true, + "peer": true, + "dependencies": { + "@xtuc/long": "4.2.2" + } + }, + "node_modules/@webassemblyjs/utf8": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.11.6.tgz", + "integrity": "sha512-vtXf2wTQ3+up9Zsg8sa2yWiQpzSsMyXj0qViVP6xKGCUT8p8YJ6HqI7l5eCnWx1T/FYdsv07HQs2wTFbbof/RA==", + "dev": true, + "peer": true + }, + "node_modules/@webassemblyjs/wasm-edit": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.11.6.tgz", + "integrity": "sha512-Ybn2I6fnfIGuCR+Faaz7YcvtBKxvoLV3Lebn1tM4o/IAJzmi9AWYIPWpyBfU8cC+JxAO57bk4+zdsTjJR+VTOw==", + "dev": true, + "peer": true, + "dependencies": { + "@webassemblyjs/ast": "1.11.6", + "@webassemblyjs/helper-buffer": "1.11.6", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6", + "@webassemblyjs/helper-wasm-section": "1.11.6", + "@webassemblyjs/wasm-gen": "1.11.6", + "@webassemblyjs/wasm-opt": "1.11.6", + "@webassemblyjs/wasm-parser": "1.11.6", + "@webassemblyjs/wast-printer": "1.11.6" + } + }, + "node_modules/@webassemblyjs/wasm-gen": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.11.6.tgz", + "integrity": "sha512-3XOqkZP/y6B4F0PBAXvI1/bky7GryoogUtfwExeP/v7Nzwo1QLcq5oQmpKlftZLbT+ERUOAZVQjuNVak6UXjPA==", + "dev": true, + "peer": true, + "dependencies": { + "@webassemblyjs/ast": "1.11.6", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6", + "@webassemblyjs/ieee754": "1.11.6", + "@webassemblyjs/leb128": "1.11.6", + "@webassemblyjs/utf8": "1.11.6" + } + }, + "node_modules/@webassemblyjs/wasm-opt": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.11.6.tgz", + "integrity": "sha512-cOrKuLRE7PCe6AsOVl7WasYf3wbSo4CeOk6PkrjS7g57MFfVUF9u6ysQBBODX0LdgSvQqRiGz3CXvIDKcPNy4g==", + "dev": true, + "peer": true, + "dependencies": { + "@webassemblyjs/ast": "1.11.6", + "@webassemblyjs/helper-buffer": "1.11.6", + "@webassemblyjs/wasm-gen": "1.11.6", + "@webassemblyjs/wasm-parser": "1.11.6" + } + }, + "node_modules/@webassemblyjs/wasm-parser": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.11.6.tgz", + "integrity": "sha512-6ZwPeGzMJM3Dqp3hCsLgESxBGtT/OeCvCZ4TA1JUPYgmhAx38tTPR9JaKy0S5H3evQpO/h2uWs2j6Yc/fjkpTQ==", + "dev": true, + "peer": true, + "dependencies": { + "@webassemblyjs/ast": "1.11.6", + "@webassemblyjs/helper-api-error": "1.11.6", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6", + "@webassemblyjs/ieee754": "1.11.6", + "@webassemblyjs/leb128": "1.11.6", + "@webassemblyjs/utf8": "1.11.6" + } + }, + "node_modules/@webassemblyjs/wast-printer": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.11.6.tgz", + "integrity": "sha512-JM7AhRcE+yW2GWYaKeHL5vt4xqee5N2WcezptmgyhNS+ScggqcT1OtXykhAb13Sn5Yas0j2uv9tHgrjwvzAP4A==", + "dev": true, + "peer": true, + "dependencies": { + "@webassemblyjs/ast": "1.11.6", + "@xtuc/long": "4.2.2" + } + }, + "node_modules/@xtuc/ieee754": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz", + "integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==", + "dev": true, + "peer": true + }, + "node_modules/@xtuc/long": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz", + "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==", + "dev": true, + "peer": true + }, + "node_modules/acorn": { + "version": "8.10.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.10.0.tgz", + "integrity": "sha512-F0SAmZ8iUtS//m8DmCTA0jlh6TDKkHQyK6xc6V4KDTyZKA9dnvX9/3sRTVQrWm79glUAZbnmmNcdYwUIHWVybw==", + "dev": true, + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/acorn-import-assertions": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/acorn-import-assertions/-/acorn-import-assertions-1.9.0.tgz", + "integrity": "sha512-cmMwop9x+8KFhxvKrKfPYmN6/pKTYYHBqLa0DfvVZcKMJWNyWLnaqND7dx/qn66R7ewM1UX5XMaDVP5wlVTaVA==", + "dev": true, + "peer": true, + "peerDependencies": { + "acorn": "^8" + } + }, + "node_modules/ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "dev": true, + "peer": true, + "dependencies": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/ajv-keywords": { + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", + "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", + "dev": true, + "peer": true, + "peerDependencies": { + "ajv": "^6.9.1" + } + }, + "node_modules/anymatch": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", + "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", + "dev": true, + "dependencies": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/async-validator": { + "version": "4.2.5", + "resolved": "https://registry.npmjs.org/async-validator/-/async-validator-4.2.5.tgz", + "integrity": "sha512-7HhHjtERjqlNbZtqNqy2rckN/SpOOlmDliet+lP7k+eKZEjPk3DgyeU9lIXLdeLz0uBbbVp+9Qdow9wJWgwwfg==" + }, + "node_modules/asynckit": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==" + }, + "node_modules/axios": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/axios/-/axios-1.5.1.tgz", + "integrity": "sha512-Q28iYCWzNHjAm+yEAot5QaAMxhMghWLFVf7rRdwhUI+c2jix2DUXjAHXVi+s1ibs3mjPO/cCgbA++3BjD0vP/A==", + "dependencies": { + "follow-redirects": "^1.15.0", + "form-data": "^4.0.0", + "proxy-from-env": "^1.1.0" + } + }, + "node_modules/balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", + "dev": true + }, + "node_modules/binary-extensions": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", + "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "dev": true, + "dependencies": { + "fill-range": "^7.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/browserslist": { + "version": "4.22.2", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.22.2.tgz", + "integrity": "sha512-0UgcrvQmBDvZHFGdYUehrCNIazki7/lUP3kkoi/r3YB2amZbFM9J43ZRkJTXBUZK4gmx56+Sqk9+Vs9mwZx9+A==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "peer": true, + "dependencies": { + "caniuse-lite": "^1.0.30001565", + "electron-to-chromium": "^1.4.601", + "node-releases": "^2.0.14", + "update-browserslist-db": "^1.0.13" + }, + "bin": { + "browserslist": "cli.js" + }, + "engines": { + "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" + } + }, + "node_modules/buffer-from": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", + "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", + "dev": true, + "peer": true + }, + "node_modules/caniuse-lite": { + "version": "1.0.30001571", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001571.tgz", + "integrity": "sha512-tYq/6MoXhdezDLFZuCO/TKboTzuQ/xR5cFdgXPfDtM7/kchBO3b4VWghE/OAi/DV7tTdhmLjZiZBZi1fA/GheQ==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/caniuse-lite" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "peer": true + }, + "node_modules/chokidar": { + "version": "3.5.3", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", + "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", + "dev": true, + "funding": [ + { + "type": "individual", + "url": "https://paulmillr.com/funding/" + } + ], + "dependencies": { + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "glob-parent": "~5.1.2", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.6.0" + }, + "engines": { + "node": ">= 8.10.0" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + } + }, + "node_modules/chrome-trace-event": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.3.tgz", + "integrity": "sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg==", + "dev": true, + "peer": true, + "engines": { + "node": ">=6.0" + } + }, + "node_modules/combined-stream": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", + "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", + "dependencies": { + "delayed-stream": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/commander": { + "version": "2.20.3", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", + "dev": true, + "peer": true + }, + "node_modules/copy-anything": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/copy-anything/-/copy-anything-2.0.6.tgz", + "integrity": "sha512-1j20GZTsvKNkc4BY3NpMOM8tt///wY3FpIzozTOFO2ffuZcV61nojHXVKIy3WM+7ADCy5FVhdZYHYDdgTU0yJw==", + "dev": true, + "dependencies": { + "is-what": "^3.14.1" + }, + "funding": { + "url": "https://github.com/sponsors/mesqueeb" + } + }, + "node_modules/csstype": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.2.tgz", + "integrity": "sha512-I7K1Uu0MBPzaFKg4nI5Q7Vs2t+3gWWW648spaF+Rg7pI9ds18Ugn+lvg4SHczUdKlHI5LWBXyqfS8+DufyBsgQ==" + }, + "node_modules/dayjs": { + "version": "1.11.10", + "resolved": "https://registry.npmjs.org/dayjs/-/dayjs-1.11.10.tgz", + "integrity": "sha512-vjAczensTgRcqDERK0SR2XMwsF/tSvnvlv6VcF2GIhg6Sx4yOIt/irsr1RDJsKiIyBzJDpCoXiWWq28MqH2cnQ==" + }, + "node_modules/debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "dev": true, + "optional": true, + "dependencies": { + "ms": "^2.1.1" + } + }, + "node_modules/deepmerge": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.3.1.tgz", + "integrity": "sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/delayed-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==", + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/echarts": { + "version": "5.4.3", + "resolved": "https://registry.npmjs.org/echarts/-/echarts-5.4.3.tgz", + "integrity": "sha512-mYKxLxhzy6zyTi/FaEbJMOZU1ULGEQHaeIeuMR5L+JnJTpz+YR03mnnpBhbR4+UYJAgiXgpyTVLffPAjOTLkZA==", + "dependencies": { + "tslib": "2.3.0", + "zrender": "5.4.4" + } + }, + "node_modules/electron-to-chromium": { + "version": "1.4.616", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.616.tgz", + "integrity": "sha512-1n7zWYh8eS0L9Uy+GskE0lkBUNK83cXTVJI0pU3mGprFsbfSdAc15VTFbo+A+Bq4pwstmL30AVcEU3Fo463lNg==", + "dev": true, + "peer": true + }, + "node_modules/element-plus": { + "version": "2.3.14", + "resolved": "https://registry.npmjs.org/element-plus/-/element-plus-2.3.14.tgz", + "integrity": "sha512-9yvxUaU4jXf2ZNPdmIxoj/f8BG8CDcGM6oHa9JIqxLjQlfY4bpzR1E5CjNimnOX3rxO93w1TQ0jTVt0RSxh9kA==", + "dependencies": { + "@ctrl/tinycolor": "^3.4.1", + "@element-plus/icons-vue": "^2.0.6", + "@floating-ui/dom": "^1.0.1", + "@popperjs/core": "npm:@sxzz/popperjs-es@^2.11.7", + "@types/lodash": "^4.14.182", + "@types/lodash-es": "^4.17.6", + "@vueuse/core": "^9.1.0", + "async-validator": "^4.2.5", + "dayjs": "^1.11.3", + "escape-html": "^1.0.3", + "lodash": "^4.17.21", + "lodash-es": "^4.17.21", + "lodash-unified": "^1.0.2", + "memoize-one": "^6.0.0", + "normalize-wheel-es": "^1.2.0" + }, + "peerDependencies": { + "vue": "^3.2.0" + } + }, + "node_modules/enhanced-resolve": { + "version": "5.15.0", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.15.0.tgz", + "integrity": "sha512-LXYT42KJ7lpIKECr2mAXIaMldcNCh/7E0KBKOu4KSfkHmP+mZmSs+8V5gBAqisWBy0OO4W5Oyys0GO1Y8KtdKg==", + "dev": true, + "peer": true, + "dependencies": { + "graceful-fs": "^4.2.4", + "tapable": "^2.2.0" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/enquire.js": { + "version": "2.1.6", + "resolved": "https://registry.npmjs.org/enquire.js/-/enquire.js-2.1.6.tgz", + "integrity": "sha512-/KujNpO+PT63F7Hlpu4h3pE3TokKRHN26JYmQpPyjkRD/N57R7bPDNojMXdi7uveAKjYB7yQnartCxZnFWr0Xw==" + }, + "node_modules/errno": { + "version": "0.1.8", + "resolved": "https://registry.npmjs.org/errno/-/errno-0.1.8.tgz", + "integrity": "sha512-dJ6oBr5SQ1VSd9qkk7ByRgb/1SH4JZjCHSW/mr63/QcXO9zLVxvJ6Oy13nio03rxpSnVDDjFor75SjVeZWPW/A==", + "dev": true, + "optional": true, + "dependencies": { + "prr": "~1.0.1" + }, + "bin": { + "errno": "cli.js" + } + }, + "node_modules/es-module-lexer": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.4.1.tgz", + "integrity": "sha512-cXLGjP0c4T3flZJKQSuziYoq7MlT+rnvfZjfp7h+I7K9BNX54kP9nyWvdbwjQ4u1iWbOL4u96fgeZLToQlZC7w==", + "dev": true, + "peer": true + }, + "node_modules/esbuild": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.18.20.tgz", + "integrity": "sha512-ceqxoedUrcayh7Y7ZX6NdbbDzGROiyVBgC4PriJThBKSVPWnnFHZAkfI1lJT8QFkOwH4qOS2SJkS4wvpGl8BpA==", + "dev": true, + "hasInstallScript": true, + "bin": { + "esbuild": "bin/esbuild" + }, + "engines": { + "node": ">=12" + }, + "optionalDependencies": { + "@esbuild/android-arm": "0.18.20", + "@esbuild/android-arm64": "0.18.20", + "@esbuild/android-x64": "0.18.20", + "@esbuild/darwin-arm64": "0.18.20", + "@esbuild/darwin-x64": "0.18.20", + "@esbuild/freebsd-arm64": "0.18.20", + "@esbuild/freebsd-x64": "0.18.20", + "@esbuild/linux-arm": "0.18.20", + "@esbuild/linux-arm64": "0.18.20", + "@esbuild/linux-ia32": "0.18.20", + "@esbuild/linux-loong64": "0.18.20", + "@esbuild/linux-mips64el": "0.18.20", + "@esbuild/linux-ppc64": "0.18.20", + "@esbuild/linux-riscv64": "0.18.20", + "@esbuild/linux-s390x": "0.18.20", + "@esbuild/linux-x64": "0.18.20", + "@esbuild/netbsd-x64": "0.18.20", + "@esbuild/openbsd-x64": "0.18.20", + "@esbuild/sunos-x64": "0.18.20", + "@esbuild/win32-arm64": "0.18.20", + "@esbuild/win32-ia32": "0.18.20", + "@esbuild/win32-x64": "0.18.20" + } + }, + "node_modules/escalade": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", + "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", + "dev": true, + "peer": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/escape-html": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", + "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==" + }, + "node_modules/escape-string-regexp": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-5.0.0.tgz", + "integrity": "sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==", + "dev": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/eslint-scope": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", + "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", + "dev": true, + "peer": true, + "dependencies": { + "esrecurse": "^4.3.0", + "estraverse": "^4.1.1" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/esrecurse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", + "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", + "dev": true, + "peer": true, + "dependencies": { + "estraverse": "^5.2.0" + }, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/esrecurse/node_modules/estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "dev": true, + "peer": true, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/estraverse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", + "dev": true, + "peer": true, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/estree-walker": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz", + "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==" + }, + "node_modules/events": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz", + "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==", + "dev": true, + "peer": true, + "engines": { + "node": ">=0.8.x" + } + }, + "node_modules/fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", + "dev": true, + "peer": true + }, + "node_modules/fast-glob": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.1.tgz", + "integrity": "sha512-kNFPyjhh5cKjrUltxs+wFx+ZkbRaxxmZ+X0ZU31SOsxCEtP9VPgtq2teZw1DebupL5GmDaNQ6yKMMVcM41iqDg==", + "dev": true, + "dependencies": { + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.2", + "merge2": "^1.3.0", + "micromatch": "^4.0.4" + }, + "engines": { + "node": ">=8.6.0" + } + }, + "node_modules/fast-json-stable-stringify": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", + "dev": true, + "peer": true + }, + "node_modules/fastq": { + "version": "1.15.0", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.15.0.tgz", + "integrity": "sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==", + "dev": true, + "dependencies": { + "reusify": "^1.0.4" + } + }, + "node_modules/fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "dev": true, + "dependencies": { + "to-regex-range": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/follow-redirects": { + "version": "1.15.3", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.3.tgz", + "integrity": "sha512-1VzOtuEM8pC9SFU1E+8KfTjZyMztRsgEfwQl44z8A25uy13jSzTj6dyK2Df52iV0vgHCfBwLhDWevLn95w5v6Q==", + "funding": [ + { + "type": "individual", + "url": "https://github.com/sponsors/RubenVerborgh" + } + ], + "engines": { + "node": ">=4.0" + }, + "peerDependenciesMeta": { + "debug": { + "optional": true + } + } + }, + "node_modules/form-data": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz", + "integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==", + "dependencies": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.8", + "mime-types": "^2.1.12" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/fsevents": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", + "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", + "dev": true, + "hasInstallScript": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } + }, + "node_modules/function-bind": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", + "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", + "dev": true + }, + "node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/glob-to-regexp": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz", + "integrity": "sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==", + "dev": true, + "peer": true + }, + "node_modules/graceful-fs": { + "version": "4.2.11", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", + "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", + "dev": true + }, + "node_modules/has": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", + "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", + "dev": true, + "dependencies": { + "function-bind": "^1.1.1" + }, + "engines": { + "node": ">= 0.4.0" + } + }, + "node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "peer": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/iconv-lite": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", + "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", + "dev": true, + "optional": true, + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/image-size": { + "version": "0.5.5", + "resolved": "https://registry.npmjs.org/image-size/-/image-size-0.5.5.tgz", + "integrity": "sha512-6TDAlDPZxUFCv+fuOkIoXT/V/f3Qbq8e37p+YOiYrUv3v9cc3/6x78VdfPgFVaB9dZYeLUfKgHRebpkm/oP2VQ==", + "dev": true, + "optional": true, + "bin": { + "image-size": "bin/image-size.js" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-binary-path": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", + "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", + "dev": true, + "dependencies": { + "binary-extensions": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-core-module": { + "version": "2.13.0", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.13.0.tgz", + "integrity": "sha512-Z7dk6Qo8pOCp3l4tsX2C5ZVas4V+UxwQodwZhLopL91TX8UyyHEXafPcyoeeWuLrwzHcr3igO78wNLwHJHsMCQ==", + "dev": true, + "dependencies": { + "has": "^1.0.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-glob": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "dev": true, + "dependencies": { + "is-extglob": "^2.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "dev": true, + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/is-what": { + "version": "3.14.1", + "resolved": "https://registry.npmjs.org/is-what/-/is-what-3.14.1.tgz", + "integrity": "sha512-sNxgpk9793nzSs7bA6JQJGeIuRBQhAaNGG77kzYQgMkrID+lS6SlK07K5LaptscDlSaIgH+GPFzf+d75FVxozA==", + "dev": true + }, + "node_modules/jest-worker": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.5.1.tgz", + "integrity": "sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==", + "dev": true, + "peer": true, + "dependencies": { + "@types/node": "*", + "merge-stream": "^2.0.0", + "supports-color": "^8.0.0" + }, + "engines": { + "node": ">= 10.13.0" + } + }, + "node_modules/js-cookie": { + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/js-cookie/-/js-cookie-3.0.5.tgz", + "integrity": "sha512-cEiJEAEoIbWfCZYKWhVwFuvPX1gETRYPw6LlaTKoxD3s2AkXzkCjnp6h0V77ozyqj0jakteJ4YqDJT830+lVGw==", + "engines": { + "node": ">=14" + } + }, + "node_modules/json-parse-even-better-errors": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", + "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==", + "dev": true, + "peer": true + }, + "node_modules/json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "dev": true, + "peer": true + }, + "node_modules/jsonc-parser": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-3.2.0.tgz", + "integrity": "sha512-gfFQZrcTc8CnKXp6Y4/CBT3fTc0OVuDofpre4aEeEpSBPV5X5v4+Vmx+8snU7RLPrNHPKSgLxGo9YuQzz20o+w==", + "dev": true + }, + "node_modules/less": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/less/-/less-4.2.0.tgz", + "integrity": "sha512-P3b3HJDBtSzsXUl0im2L7gTO5Ubg8mEN6G8qoTS77iXxXX4Hvu4Qj540PZDvQ8V6DmX6iXo98k7Md0Cm1PrLaA==", + "dev": true, + "dependencies": { + "copy-anything": "^2.0.1", + "parse-node-version": "^1.0.1", + "tslib": "^2.3.0" + }, + "bin": { + "lessc": "bin/lessc" + }, + "engines": { + "node": ">=6" + }, + "optionalDependencies": { + "errno": "^0.1.1", + "graceful-fs": "^4.1.2", + "image-size": "~0.5.0", + "make-dir": "^2.1.0", + "mime": "^1.4.1", + "needle": "^3.1.0", + "source-map": "~0.6.0" + } + }, + "node_modules/less-loader": { + "version": "11.1.3", + "resolved": "https://registry.npmjs.org/less-loader/-/less-loader-11.1.3.tgz", + "integrity": "sha512-A5b7O8dH9xpxvkosNrP0dFp2i/dISOJa9WwGF3WJflfqIERE2ybxh1BFDj5CovC2+jCE4M354mk90hN6ziXlVw==", + "dev": true, + "engines": { + "node": ">= 14.15.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "less": "^3.5.0 || ^4.0.0", + "webpack": "^5.0.0" + } + }, + "node_modules/loader-runner": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-4.3.0.tgz", + "integrity": "sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg==", + "dev": true, + "peer": true, + "engines": { + "node": ">=6.11.5" + } + }, + "node_modules/local-pkg": { + "version": "0.4.3", + "resolved": "https://registry.npmjs.org/local-pkg/-/local-pkg-0.4.3.tgz", + "integrity": "sha512-SFppqq5p42fe2qcZQqqEOiVRXl+WCP1MdT6k7BDEW1j++sp5fIY+/fdRQitvKgB5BrBcmrs5m/L0v2FrU5MY1g==", + "dev": true, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/antfu" + } + }, + "node_modules/lodash": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" + }, + "node_modules/lodash-es": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash-es/-/lodash-es-4.17.21.tgz", + "integrity": "sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw==" + }, + "node_modules/lodash-unified": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/lodash-unified/-/lodash-unified-1.0.3.tgz", + "integrity": "sha512-WK9qSozxXOD7ZJQlpSqOT+om2ZfcT4yO+03FuzAHD0wF6S0l0090LRPDx3vhTTLZ8cFKpBn+IOcVXK6qOcIlfQ==", + "peerDependencies": { + "@types/lodash-es": "*", + "lodash": "*", + "lodash-es": "*" + } + }, + "node_modules/magic-string": { + "version": "0.30.3", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.3.tgz", + "integrity": "sha512-B7xGbll2fG/VjP+SWg4sX3JynwIU0mjoTc6MPpKNuIvftk6u6vqhDnk1R80b8C2GBR6ywqy+1DcKBrevBg+bmw==", + "dependencies": { + "@jridgewell/sourcemap-codec": "^1.4.15" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/make-dir": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz", + "integrity": "sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==", + "dev": true, + "optional": true, + "dependencies": { + "pify": "^4.0.1", + "semver": "^5.6.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/memoize-one": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/memoize-one/-/memoize-one-6.0.0.tgz", + "integrity": "sha512-rkpe71W0N0c0Xz6QD0eJETuWAJGnJ9afsl1srmwPrI+yBCkge5EycXXbYRyvL29zZVUWQCY7InPRCv3GDXuZNw==" + }, + "node_modules/merge-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", + "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", + "dev": true, + "peer": true + }, + "node_modules/merge2": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", + "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", + "dev": true, + "engines": { + "node": ">= 8" + } + }, + "node_modules/micromatch": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", + "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", + "dev": true, + "dependencies": { + "braces": "^3.0.2", + "picomatch": "^2.3.1" + }, + "engines": { + "node": ">=8.6" + } + }, + "node_modules/mime": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", + "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", + "dev": true, + "optional": true, + "bin": { + "mime": "cli.js" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/mime-db": { + "version": "1.52.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mime-types": { + "version": "2.1.35", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", + "dependencies": { + "mime-db": "1.52.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/minimatch": { + "version": "9.0.3", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.3.tgz", + "integrity": "sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==", + "dev": true, + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/mlly": { + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/mlly/-/mlly-1.4.2.tgz", + "integrity": "sha512-i/Ykufi2t1EZ6NaPLdfnZk2AX8cs0d+mTzVKuPfqPKPatxLApaBoxJQ9x1/uckXtrS/U5oisPMDkNs0yQTaBRg==", + "dev": true, + "dependencies": { + "acorn": "^8.10.0", + "pathe": "^1.1.1", + "pkg-types": "^1.0.3", + "ufo": "^1.3.0" + } + }, + "node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "dev": true, + "optional": true + }, + "node_modules/nanoid": { + "version": "3.3.6", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.6.tgz", + "integrity": "sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "bin": { + "nanoid": "bin/nanoid.cjs" + }, + "engines": { + "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" + } + }, + "node_modules/needle": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/needle/-/needle-3.2.0.tgz", + "integrity": "sha512-oUvzXnyLiVyVGoianLijF9O/RecZUf7TkBfimjGrLM4eQhXyeJwM6GeAWccwfQ9aa4gMCZKqhAOuLaMIcQxajQ==", + "dev": true, + "optional": true, + "dependencies": { + "debug": "^3.2.6", + "iconv-lite": "^0.6.3", + "sax": "^1.2.4" + }, + "bin": { + "needle": "bin/needle" + }, + "engines": { + "node": ">= 4.4.x" + } + }, + "node_modules/neo-async": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz", + "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==", + "dev": true, + "peer": true + }, + "node_modules/node-releases": { + "version": "2.0.14", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.14.tgz", + "integrity": "sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw==", + "dev": true, + "peer": true + }, + "node_modules/normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/normalize-wheel-es": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/normalize-wheel-es/-/normalize-wheel-es-1.2.0.tgz", + "integrity": "sha512-Wj7+EJQ8mSuXr2iWfnujrimU35R2W4FAErEyTmJoJ7ucwTn2hOUSsRehMb5RSYkxXGTM7Y9QpvPmp++w5ftoJw==" + }, + "node_modules/parse-node-version": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/parse-node-version/-/parse-node-version-1.0.1.tgz", + "integrity": "sha512-3YHlOa/JgH6Mnpr05jP9eDG254US9ek25LyIxZlDItp2iJtwyaXQb57lBYLdT3MowkUFYEV2XXNAYIPlESvJlA==", + "dev": true, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/path-parse": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", + "dev": true + }, + "node_modules/pathe": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/pathe/-/pathe-1.1.1.tgz", + "integrity": "sha512-d+RQGp0MAYTIaDBIMmOfMwz3E+LOZnxx1HZd5R18mmCZY0QBlK0LDZfPc8FW8Ed2DlvsuE6PRjroDY+wg4+j/Q==", + "dev": true + }, + "node_modules/picocolors": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", + "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==" + }, + "node_modules/picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "dev": true, + "engines": { + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/pify": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", + "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", + "dev": true, + "optional": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/pinia": { + "version": "2.1.6", + "resolved": "https://registry.npmjs.org/pinia/-/pinia-2.1.6.tgz", + "integrity": "sha512-bIU6QuE5qZviMmct5XwCesXelb5VavdOWKWaB17ggk++NUwQWWbP5YnsONTk3b752QkW9sACiR81rorpeOMSvQ==", + "dependencies": { + "@vue/devtools-api": "^6.5.0", + "vue-demi": ">=0.14.5" + }, + "funding": { + "url": "https://github.com/sponsors/posva" + }, + "peerDependencies": { + "@vue/composition-api": "^1.4.0", + "typescript": ">=4.4.4", + "vue": "^2.6.14 || ^3.3.0" + }, + "peerDependenciesMeta": { + "@vue/composition-api": { + "optional": true + }, + "typescript": { + "optional": true + } + } + }, + "node_modules/pinia-plugin-persistedstate": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/pinia-plugin-persistedstate/-/pinia-plugin-persistedstate-3.2.0.tgz", + "integrity": "sha512-tZbNGf2vjAQcIm7alK40sE51Qu/m9oWr+rEgNm/2AWr1huFxj72CjvpQcIQzMknDBJEkQznCLAGtJTIcLKrKdw==", + "peerDependencies": { + "pinia": "^2.0.0" + } + }, + "node_modules/pinia/node_modules/vue-demi": { + "version": "0.14.6", + "resolved": "https://registry.npmjs.org/vue-demi/-/vue-demi-0.14.6.tgz", + "integrity": "sha512-8QA7wrYSHKaYgUxDA5ZC24w+eHm3sYCbp0EzcDwKqN3p6HqtTCGR/GVsPyZW92unff4UlcSh++lmqDWN3ZIq4w==", + "hasInstallScript": true, + "bin": { + "vue-demi-fix": "bin/vue-demi-fix.js", + "vue-demi-switch": "bin/vue-demi-switch.js" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/antfu" + }, + "peerDependencies": { + "@vue/composition-api": "^1.0.0-rc.1", + "vue": "^3.0.0-0 || ^2.6.0" + }, + "peerDependenciesMeta": { + "@vue/composition-api": { + "optional": true + } + } + }, + "node_modules/pkg-types": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/pkg-types/-/pkg-types-1.0.3.tgz", + "integrity": "sha512-nN7pYi0AQqJnoLPC9eHFQ8AcyaixBUOwvqc5TDnIKCMEE6I0y8P7OKA7fPexsXGCGxQDl/cmrLAp26LhcwxZ4A==", + "dev": true, + "dependencies": { + "jsonc-parser": "^3.2.0", + "mlly": "^1.2.0", + "pathe": "^1.1.0" + } + }, + "node_modules/postcss": { + "version": "8.4.31", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.31.tgz", + "integrity": "sha512-PS08Iboia9mts/2ygV3eLpY5ghnUcfLV/EXTOW1E2qYxJKGGBUtNjN76FYHnMs36RmARn41bC0AZmn+rR0OVpQ==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/postcss" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "dependencies": { + "nanoid": "^3.3.6", + "picocolors": "^1.0.0", + "source-map-js": "^1.0.2" + }, + "engines": { + "node": "^10 || ^12 || >=14" + } + }, + "node_modules/proxy-from-env": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz", + "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==" + }, + "node_modules/prr": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/prr/-/prr-1.0.1.tgz", + "integrity": "sha512-yPw4Sng1gWghHQWj0B3ZggWUm4qVbPwPFcRG8KyxiU7J2OHFSoEHKS+EZ3fv5l1t9CyCiop6l/ZYeWbrgoQejw==", + "dev": true, + "optional": true + }, + "node_modules/punycode": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", + "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", + "dev": true, + "peer": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/queue-microtask": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", + "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/randombytes": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", + "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", + "dev": true, + "peer": true, + "dependencies": { + "safe-buffer": "^5.1.0" + } + }, + "node_modules/readdirp": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", + "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", + "dev": true, + "dependencies": { + "picomatch": "^2.2.1" + }, + "engines": { + "node": ">=8.10.0" + } + }, + "node_modules/resolve": { + "version": "1.22.6", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.6.tgz", + "integrity": "sha512-njhxM7mV12JfufShqGy3Rz8j11RPdLy4xi15UurGJeoHLfJpVXKdh3ueuOqbYUcDZnffr6X739JBo5LzyahEsw==", + "dev": true, + "dependencies": { + "is-core-module": "^2.13.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + }, + "bin": { + "resolve": "bin/resolve" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/reusify": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", + "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", + "dev": true, + "engines": { + "iojs": ">=1.0.0", + "node": ">=0.10.0" + } + }, + "node_modules/rollup": { + "version": "3.29.4", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-3.29.4.tgz", + "integrity": "sha512-oWzmBZwvYrU0iJHtDmhsm662rC15FRXmcjCk1xD771dFDx5jJ02ufAQQTn0etB2emNk4J9EZg/yWKpsn9BWGRw==", + "dev": true, + "bin": { + "rollup": "dist/bin/rollup" + }, + "engines": { + "node": ">=14.18.0", + "npm": ">=8.0.0" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + } + }, + "node_modules/run-parallel": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", + "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "dependencies": { + "queue-microtask": "^1.2.2" + } + }, + "node_modules/safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "peer": true + }, + "node_modules/safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", + "dev": true, + "optional": true + }, + "node_modules/sax": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/sax/-/sax-1.3.0.tgz", + "integrity": "sha512-0s+oAmw9zLl1V1cS9BtZN7JAd0cW5e0QH4W3LWEK6a4LaLEA2OTpGYWDY+6XasBLtz6wkm3u1xRw95mRuJ59WA==", + "dev": true, + "optional": true + }, + "node_modules/schema-utils": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.3.0.tgz", + "integrity": "sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==", + "dev": true, + "peer": true, + "dependencies": { + "@types/json-schema": "^7.0.8", + "ajv": "^6.12.5", + "ajv-keywords": "^3.5.2" + }, + "engines": { + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, + "node_modules/scule": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/scule/-/scule-1.0.0.tgz", + "integrity": "sha512-4AsO/FrViE/iDNEPaAQlb77tf0csuq27EsVpy6ett584EcRTp6pTDLoGWVxCD77y5iU5FauOvhsI4o1APwPoSQ==", + "dev": true + }, + "node_modules/semver": { + "version": "5.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", + "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", + "dev": true, + "optional": true, + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/serialize-javascript": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.1.tgz", + "integrity": "sha512-owoXEFjWRllis8/M1Q+Cw5k8ZH40e3zhp/ovX+Xr/vi1qj6QesbyXXViFbpNvWvPNAD62SutwEXavefrLJWj7w==", + "dev": true, + "peer": true, + "dependencies": { + "randombytes": "^2.1.0" + } + }, + "node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/source-map-js": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz", + "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/source-map-support": { + "version": "0.5.21", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", + "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", + "dev": true, + "peer": true, + "dependencies": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + } + }, + "node_modules/strip-literal": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/strip-literal/-/strip-literal-1.3.0.tgz", + "integrity": "sha512-PugKzOsyXpArk0yWmUwqOZecSO0GH0bPoctLcqNDH9J04pVW3lflYE0ujElBGTloevcxF5MofAOZ7C5l2b+wLg==", + "dev": true, + "dependencies": { + "acorn": "^8.10.0" + }, + "funding": { + "url": "https://github.com/sponsors/antfu" + } + }, + "node_modules/supports-color": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", + "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", + "dev": true, + "peer": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/supports-color?sponsor=1" + } + }, + "node_modules/supports-preserve-symlinks-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", + "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/tapable": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz", + "integrity": "sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==", + "dev": true, + "peer": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/terser": { + "version": "5.26.0", + "resolved": "https://registry.npmjs.org/terser/-/terser-5.26.0.tgz", + "integrity": "sha512-dytTGoE2oHgbNV9nTzgBEPaqAWvcJNl66VZ0BkJqlvp71IjO8CxdBx/ykCNb47cLnCmCvRZ6ZR0tLkqvZCdVBQ==", + "dev": true, + "peer": true, + "dependencies": { + "@jridgewell/source-map": "^0.3.3", + "acorn": "^8.8.2", + "commander": "^2.20.0", + "source-map-support": "~0.5.20" + }, + "bin": { + "terser": "bin/terser" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/terser-webpack-plugin": { + "version": "5.3.9", + "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.9.tgz", + "integrity": "sha512-ZuXsqE07EcggTWQjXUj+Aot/OMcD0bMKGgF63f7UxYcu5/AJF53aIpK1YoP5xR9l6s/Hy2b+t1AM0bLNPRuhwA==", + "dev": true, + "peer": true, + "dependencies": { + "@jridgewell/trace-mapping": "^0.3.17", + "jest-worker": "^27.4.5", + "schema-utils": "^3.1.1", + "serialize-javascript": "^6.0.1", + "terser": "^5.16.8" + }, + "engines": { + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^5.1.0" + }, + "peerDependenciesMeta": { + "@swc/core": { + "optional": true + }, + "esbuild": { + "optional": true + }, + "uglify-js": { + "optional": true + } + } + }, + "node_modules/to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "dev": true, + "dependencies": { + "is-number": "^7.0.0" + }, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/tslib": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.3.0.tgz", + "integrity": "sha512-N82ooyxVNm6h1riLCoyS9e3fuJ3AMG2zIZs2Gd1ATcSFjSA23Q0fzjjZeh0jbJvWVDZ0cJT8yaNNaaXHzueNjg==" + }, + "node_modules/ufo": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/ufo/-/ufo-1.3.1.tgz", + "integrity": "sha512-uY/99gMLIOlJPwATcMVYfqDSxUR9//AUcgZMzwfSTJPDKzA1S8mX4VLqa+fiAtveraQUBCz4FFcwVZBGbwBXIw==", + "dev": true + }, + "node_modules/undici-types": { + "version": "5.26.5", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-5.26.5.tgz", + "integrity": "sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==", + "dev": true, + "peer": true + }, + "node_modules/unimport": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/unimport/-/unimport-3.4.0.tgz", + "integrity": "sha512-M/lfFEgufIT156QAr/jWHLUn55kEmxBBiQsMxvRSIbquwmeJEyQYgshHDEvQDWlSJrVOOTAgnJ3FvlsrpGkanA==", + "dev": true, + "dependencies": { + "@rollup/pluginutils": "^5.0.4", + "escape-string-regexp": "^5.0.0", + "fast-glob": "^3.3.1", + "local-pkg": "^0.4.3", + "magic-string": "^0.30.3", + "mlly": "^1.4.2", + "pathe": "^1.1.1", + "pkg-types": "^1.0.3", + "scule": "^1.0.0", + "strip-literal": "^1.3.0", + "unplugin": "^1.5.0" + } + }, + "node_modules/unplugin": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/unplugin/-/unplugin-1.5.0.tgz", + "integrity": "sha512-9ZdRwbh/4gcm1JTOkp9lAkIDrtOyOxgHmY7cjuwI8L/2RTikMcVG25GsZwNAgRuap3iDw2jeq7eoqtAsz5rW3A==", + "dev": true, + "dependencies": { + "acorn": "^8.10.0", + "chokidar": "^3.5.3", + "webpack-sources": "^3.2.3", + "webpack-virtual-modules": "^0.5.0" + } + }, + "node_modules/unplugin-auto-import": { + "version": "0.16.6", + "resolved": "https://registry.npmjs.org/unplugin-auto-import/-/unplugin-auto-import-0.16.6.tgz", + "integrity": "sha512-M+YIITkx3C/Hg38hp8HmswP5mShUUyJOzpifv7RTlAbeFlO2Tyw0pwrogSSxnipHDPTtI8VHFBpkYkNKzYSuyA==", + "dev": true, + "dependencies": { + "@antfu/utils": "^0.7.5", + "@rollup/pluginutils": "^5.0.2", + "fast-glob": "^3.3.0", + "local-pkg": "^0.4.3", + "magic-string": "^0.30.1", + "minimatch": "^9.0.2", + "unimport": "^3.0.14", + "unplugin": "^1.3.2" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/antfu" + }, + "peerDependencies": { + "@nuxt/kit": "^3.2.2", + "@vueuse/core": "*" + }, + "peerDependenciesMeta": { + "@nuxt/kit": { + "optional": true + }, + "@vueuse/core": { + "optional": true + } + } + }, + "node_modules/unplugin-vue-components": { + "version": "0.25.2", + "resolved": "https://registry.npmjs.org/unplugin-vue-components/-/unplugin-vue-components-0.25.2.tgz", + "integrity": "sha512-OVmLFqILH6w+eM8fyt/d/eoJT9A6WO51NZLf1vC5c1FZ4rmq2bbGxTy8WP2Jm7xwFdukaIdv819+UI7RClPyCA==", + "dev": true, + "dependencies": { + "@antfu/utils": "^0.7.5", + "@rollup/pluginutils": "^5.0.2", + "chokidar": "^3.5.3", + "debug": "^4.3.4", + "fast-glob": "^3.3.0", + "local-pkg": "^0.4.3", + "magic-string": "^0.30.1", + "minimatch": "^9.0.3", + "resolve": "^1.22.2", + "unplugin": "^1.4.0" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/antfu" + }, + "peerDependencies": { + "@babel/parser": "^7.15.8", + "@nuxt/kit": "^3.2.2", + "vue": "2 || 3" + }, + "peerDependenciesMeta": { + "@babel/parser": { + "optional": true + }, + "@nuxt/kit": { + "optional": true + } + } + }, + "node_modules/unplugin-vue-components/node_modules/debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "dev": true, + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/unplugin-vue-components/node_modules/ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true + }, + "node_modules/update-browserslist-db": { + "version": "1.0.13", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.13.tgz", + "integrity": "sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "peer": true, + "dependencies": { + "escalade": "^3.1.1", + "picocolors": "^1.0.0" + }, + "bin": { + "update-browserslist-db": "cli.js" + }, + "peerDependencies": { + "browserslist": ">= 4.21.0" + } + }, + "node_modules/uri-js": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", + "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", + "dev": true, + "peer": true, + "dependencies": { + "punycode": "^2.1.0" + } + }, + "node_modules/vite": { + "version": "4.4.9", + "resolved": "https://registry.npmjs.org/vite/-/vite-4.4.9.tgz", + "integrity": "sha512-2mbUn2LlUmNASWwSCNSJ/EG2HuSRTnVNaydp6vMCm5VIqJsjMfbIWtbH2kDuwUVW5mMUKKZvGPX/rqeqVvv1XA==", + "dev": true, + "dependencies": { + "esbuild": "^0.18.10", + "postcss": "^8.4.27", + "rollup": "^3.27.1" + }, + "bin": { + "vite": "bin/vite.js" + }, + "engines": { + "node": "^14.18.0 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/vitejs/vite?sponsor=1" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + }, + "peerDependencies": { + "@types/node": ">= 14", + "less": "*", + "lightningcss": "^1.21.0", + "sass": "*", + "stylus": "*", + "sugarss": "*", + "terser": "^5.4.0" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + }, + "less": { + "optional": true + }, + "lightningcss": { + "optional": true + }, + "sass": { + "optional": true + }, + "stylus": { + "optional": true + }, + "sugarss": { + "optional": true + }, + "terser": { + "optional": true + } + } + }, + "node_modules/vue": { + "version": "3.3.4", + "resolved": "https://registry.npmjs.org/vue/-/vue-3.3.4.tgz", + "integrity": "sha512-VTyEYn3yvIeY1Py0WaYGZsXnz3y5UnGi62GjVEqvEGPl6nxbOrCXbVOTQWBEJUqAyTUk2uJ5JLVnYJ6ZzGbrSw==", + "dependencies": { + "@vue/compiler-dom": "3.3.4", + "@vue/compiler-sfc": "3.3.4", + "@vue/runtime-dom": "3.3.4", + "@vue/server-renderer": "3.3.4", + "@vue/shared": "3.3.4" + } + }, + "node_modules/vue-router": { + "version": "4.2.5", + "resolved": "https://registry.npmjs.org/vue-router/-/vue-router-4.2.5.tgz", + "integrity": "sha512-DIUpKcyg4+PTQKfFPX88UWhlagBEBEfJ5A8XDXRJLUnZOvcpMF8o/dnL90vpVkGaPbjvXazV/rC1qBKrZlFugw==", + "dependencies": { + "@vue/devtools-api": "^6.5.0" + }, + "funding": { + "url": "https://github.com/sponsors/posva" + }, + "peerDependencies": { + "vue": "^3.2.0" + } + }, + "node_modules/watchpack": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.4.0.tgz", + "integrity": "sha512-Lcvm7MGST/4fup+ifyKi2hjyIAwcdI4HRgtvTpIUxBRhB+RFtUh8XtDOxUfctVCnhVi+QQj49i91OyvzkJl6cg==", + "dev": true, + "peer": true, + "dependencies": { + "glob-to-regexp": "^0.4.1", + "graceful-fs": "^4.1.2" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/webpack": { + "version": "5.89.0", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.89.0.tgz", + "integrity": "sha512-qyfIC10pOr70V+jkmud8tMfajraGCZMBWJtrmuBymQKCrLTRejBI8STDp1MCyZu/QTdZSeacCQYpYNQVOzX5kw==", + "dev": true, + "peer": true, + "dependencies": { + "@types/eslint-scope": "^3.7.3", + "@types/estree": "^1.0.0", + "@webassemblyjs/ast": "^1.11.5", + "@webassemblyjs/wasm-edit": "^1.11.5", + "@webassemblyjs/wasm-parser": "^1.11.5", + "acorn": "^8.7.1", + "acorn-import-assertions": "^1.9.0", + "browserslist": "^4.14.5", + "chrome-trace-event": "^1.0.2", + "enhanced-resolve": "^5.15.0", + "es-module-lexer": "^1.2.1", + "eslint-scope": "5.1.1", + "events": "^3.2.0", + "glob-to-regexp": "^0.4.1", + "graceful-fs": "^4.2.9", + "json-parse-even-better-errors": "^2.3.1", + "loader-runner": "^4.2.0", + "mime-types": "^2.1.27", + "neo-async": "^2.6.2", + "schema-utils": "^3.2.0", + "tapable": "^2.1.1", + "terser-webpack-plugin": "^5.3.7", + "watchpack": "^2.4.0", + "webpack-sources": "^3.2.3" + }, + "bin": { + "webpack": "bin/webpack.js" + }, + "engines": { + "node": ">=10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependenciesMeta": { + "webpack-cli": { + "optional": true + } + } + }, + "node_modules/webpack-sources": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.2.3.tgz", + "integrity": "sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==", + "dev": true, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/webpack-virtual-modules": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/webpack-virtual-modules/-/webpack-virtual-modules-0.5.0.tgz", + "integrity": "sha512-kyDivFZ7ZM0BVOUteVbDFhlRt7Ah/CSPwJdi8hBpkK7QLumUqdLtVfm/PX/hkcnrvr0i77fO5+TjZ94Pe+C9iw==", + "dev": true + }, + "node_modules/zrender": { + "version": "5.4.4", + "resolved": "https://registry.npmjs.org/zrender/-/zrender-5.4.4.tgz", + "integrity": "sha512-0VxCNJ7AGOMCWeHVyTrGzUgrK4asT4ml9PEkeGirAkKNYXYzoPJCLvmyfdoOXcjTHPs10OZVMfD1Rwg16AZyYw==", + "dependencies": { + "tslib": "2.3.0" + } + } + } +} diff --git a/admin/package.json b/admin/package.json new file mode 100644 index 0000000..67accf3 --- /dev/null +++ b/admin/package.json @@ -0,0 +1,34 @@ +{ + "name": "asc_admin", + "private": true, + "version": "0.0.0", + "type": "module", + "scripts": { + "dev": "vite", + "build": "vite build", + "preview": "vite preview" + }, + "dependencies": { + "@ckeditor/ckeditor5-vue": "^5.1.0", + "axios": "^1.5.1", + "ckeditor5-custom-build": "file:./ckeditor5", + "deepmerge": "^4.3.1", + "echarts": "^5.4.3", + "element-plus": "^2.3.14", + "enquire.js": "^2.1.6", + "js-cookie": "^3.0.5", + "nprogress": "^0.2.0", + "pinia": "^2.1.7", + "pinia-plugin-persistedstate": "^3.2.0", + "vue": "^3.3.4", + "vue-advanced-cropper": "^2.8.8", + "vue-router": "^4.2.5" + }, + "devDependencies": { + "@vitejs/plugin-vue": "^4.2.3", + "less": "^4.2.0", + "unplugin-auto-import": "^0.16.6", + "unplugin-vue-components": "^0.25.2", + "vite": "^4.4.5" + } +} diff --git a/admin/public/favicon.ico b/admin/public/favicon.ico new file mode 100644 index 0000000..91de154 Binary files /dev/null and b/admin/public/favicon.ico differ diff --git a/admin/public/vite.svg b/admin/public/vite.svg new file mode 100644 index 0000000..e7b8dfb --- /dev/null +++ b/admin/public/vite.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/admin/src/App.vue b/admin/src/App.vue new file mode 100644 index 0000000..0e662d6 --- /dev/null +++ b/admin/src/App.vue @@ -0,0 +1,25 @@ + + + + + diff --git a/admin/src/api/activity.js b/admin/src/api/activity.js new file mode 100644 index 0000000..9fe9003 --- /dev/null +++ b/admin/src/api/activity.js @@ -0,0 +1,16 @@ +import ajax from "@/utils/request"; + +export const getActivityList = async (params) => + ajax(`/activity/getActivityList`, "POST", params); + +export const getActivity = async (id) => + ajax(`/activity/getActivity`, "GET", { id }); + +export const deleteActivity = async (id) => + ajax(`/activity/deleteActivity`, "GET", { id }); + +export const updateActivity = async (params) => + ajax(`/activity/updateActivity`, "POST", params); + +export const addActivity = async (params) => + ajax(`/activity/addActivity`, "POST", params); diff --git a/admin/src/api/adminuser.js b/admin/src/api/adminuser.js new file mode 100644 index 0000000..13abbf4 --- /dev/null +++ b/admin/src/api/adminuser.js @@ -0,0 +1,23 @@ +import ajax from "@/utils/request"; + +export const getAdminUserList = async (params) => + ajax(`/adminUser/getAdminUserList`, "POST", params); + +export const addAdminUser = async (params) => + ajax(`/adminUser/addAdminUser`, "POST", params); + +export const deleteAdminUser = async (id) => + ajax(`/adminUser/deleteAdminUser`, "GET", { id }); + +export const getAminUser = async (id) => + ajax(`/adminUser/getAdminUser`, "GET", { id }); + +export const updateAdminUser = async (params) => + ajax(`/adminUser/updateAdminUser`, "POST", params); + +export const getAdminLog = async (params) => + ajax(`/adminUser/getAdminLog`, "POST", params); + +export const getCurrentAdminUser = async () => + ajax(`/adminUser/getCurrentAdminUser`, "GET"); + diff --git a/admin/src/api/article.js b/admin/src/api/article.js new file mode 100644 index 0000000..3e99832 --- /dev/null +++ b/admin/src/api/article.js @@ -0,0 +1,7 @@ +import ajax from "@/utils/request"; + +export const getArticle = async (id) => + ajax(`/article/getArticle`, "GET", { id }); + +export const updateArticle = async (params) => + ajax(`/article/updateArticle`, "POST", params); diff --git a/admin/src/api/auth.js b/admin/src/api/auth.js new file mode 100644 index 0000000..f7235be --- /dev/null +++ b/admin/src/api/auth.js @@ -0,0 +1,4 @@ +import ajax from "@/utils/request"; + +export const login = async (params) => + ajax(`/auth/login`, "POST", params); diff --git a/admin/src/api/branch.js b/admin/src/api/branch.js new file mode 100644 index 0000000..3f4739c --- /dev/null +++ b/admin/src/api/branch.js @@ -0,0 +1,16 @@ +import ajax from "@/utils/request"; + +export const getBranchList = async () => + ajax(`/branch/getBranchList`, "GET"); + +export const getBranch = async (id) => + ajax(`/branch/getBranch`, "GET", { id }); + +export const deleteBranch = async (id) => + ajax(`/branch/deleteBranch`, "GET", { id }); + +export const updateBranch = async (params) => + ajax(`/branch/updateBranch`, "POST", params); + +export const addBranch = async (params) => + ajax(`/branch/addBranch`, "POST", params); diff --git a/admin/src/api/category.js b/admin/src/api/category.js new file mode 100644 index 0000000..e379805 --- /dev/null +++ b/admin/src/api/category.js @@ -0,0 +1,19 @@ +import ajax from "@/utils/request"; + +export const getParentCateList = async () => + ajax(`/cate/getParentCateList`, "GET"); + +export const getCateList = async () => + ajax(`/cate/getCateList`, "GET"); + +export const getCategory = async (id) => + ajax(`/cate/getCategory`, "GET" , { id }); + +export const addCategory = async (params) => + ajax(`/cate/addCategory`, "POST", params); + +export const updateCategory = async (params) => + ajax(`/cate/updateCategory`, "POST", params); + +export const deleteCategory = async (id) => + ajax(`/cate/deleteCategory`, "GET", { id }); diff --git a/admin/src/api/contact.js b/admin/src/api/contact.js new file mode 100644 index 0000000..24823ed --- /dev/null +++ b/admin/src/api/contact.js @@ -0,0 +1,11 @@ +import ajax from "@/utils/request"; + +export const getContactList = async () => + ajax(`/contact/getContactList`, "GET"); + +export const getContact = async (id) => + ajax(`/contact/getContact`, "GET", { id }); + +export const deleteContact = async (id) => + ajax(`/contact/deleteContact`, "GET", { id }); + diff --git a/admin/src/api/home.js b/admin/src/api/home.js new file mode 100644 index 0000000..36865d0 --- /dev/null +++ b/admin/src/api/home.js @@ -0,0 +1,16 @@ +import ajax from "@/utils/request"; + +export const getBannerList = async () => + ajax(`/index/getBannerList`, "GET"); + +export const getBanner = async (id) => + ajax(`/index/getBanner`, "GET", { id }); + +export const deleteBanner = async (id) => + ajax(`/index/deleteBanner`, "GET", { id }); + +export const updateBanner = async (params) => + ajax(`/index/updateBanner`, "POST", params); + +export const addBanner = async (params) => + ajax(`/index/addBanner`, "POST", params); diff --git a/admin/src/api/news.js b/admin/src/api/news.js new file mode 100644 index 0000000..c7bc0e7 --- /dev/null +++ b/admin/src/api/news.js @@ -0,0 +1,16 @@ +import ajax from "@/utils/request"; + +export const getNewsList = async (params) => + ajax(`/news/getNewsList`, "POST", params); + +export const getNews = async (id) => + ajax(`/news/getNews`, "GET", { id }); + +export const deleteNews = async (id) => + ajax(`/news/deleteNews`, "GET", { id }); + +export const updateNews = async (params) => + ajax(`/news/updateNews`, "POST", params); + +export const addNews = async (params) => + ajax(`/news/addNews`, "POST", params); diff --git a/admin/src/api/product.js b/admin/src/api/product.js new file mode 100644 index 0000000..18f0a88 --- /dev/null +++ b/admin/src/api/product.js @@ -0,0 +1,16 @@ +import ajax from "@/utils/request"; + +export const getProductList = async () => + ajax(`/product/getProductList`, "GET"); + +export const getProduct = async (id) => + ajax(`/product/getProduct`, "GET" , { id }); + +export const addProduct = async (params) => + ajax(`/product/addProduct`, "POST", params); + +export const updateProduct = async (params) => + ajax(`/product/updateProduct`, "POST", params); + +export const deleteProduct = async (id) => + ajax(`/product/deleteProduct`, "GET", { id }); diff --git a/admin/src/api/supplier.js b/admin/src/api/supplier.js new file mode 100644 index 0000000..a7f67f0 --- /dev/null +++ b/admin/src/api/supplier.js @@ -0,0 +1,16 @@ +import ajax from "@/utils/request"; + +export const getSupplierList = async () => + ajax(`/supplier/getSupplierList`, "GET"); + +export const getSupplier = async (id) => + ajax(`/supplier/getSupplier`, "GET", { id }); + +export const deleteSupplier = async (id) => + ajax(`/supplier/deleteSupplier`, "GET", { id }); + +export const updateSupplier = async (params) => + ajax(`/supplier/updateSupplier`, "POST", params); + +export const addSupplier = async (params) => + ajax(`/supplier/addSupplier`, "POST", params); diff --git a/admin/src/assets/css/color.less b/admin/src/assets/css/color.less new file mode 100644 index 0000000..9cd1777 --- /dev/null +++ b/admin/src/assets/css/color.less @@ -0,0 +1,43 @@ + +@gray-1: #ffffff; +@gray-2: #fafafa; +@gray-3: #f5f5f5; +@gray-4: #f0f0f0; +@gray-5: #d9d9d9; +@gray-6: #bfbfbf; +@gray-7: #8c8c8c; +@gray-8: #595959; +@gray-9: #434343; +@gray-10: #262626; +@gray-11: #1f1f1f; +@gray-12: #141414; +@gray-13: #000000; + +@primary-color: rgba(0,0,0,.85); +@success-color: rgba(0,0,0,.85); +@warning-color: rgba(0,0,0,.85); +@error-color: rgba(0,0,0,.85); + +@title-color: rgba(0,0,0,.85); +@text-color: rgba(0,0,0,.85); +@text-color-second: rgba(0,0,0,.85); + +@layout-body-background: #f0f2f5; +@layout-bg-color: rgba(0,0,0,.85); +@base-bg-color: rgba(0,0,0,.85); +@hover-bg-color: rgba(0, 0, 0, 0.025); +@border-color: rgba(0,0,0,.85); +@shadow-color: rgba(0,0,0,.85); + +@text-color-inverse: rgba(0,0,0,.85); +@hover-bg-color-light: rgba(0,0,0,.85); +@hover-bg-color-dark: rgba(0,0,0,.85); +@hover-bg-color-night: rgba(255, 255, 255, 0.025); +@header-bg-color-dark: rgba(0,0,0,.85); + +@shadow-down: rgba(0,0,0,.85); +@shadow-up: rgba(0,0,0,.85); +@shadow-left: rgba(0,0,0,.85); +@shadow-right: rgba(0,0,0,.85); + +@theme-list: light, dark, night; diff --git a/admin/src/assets/css/common.less b/admin/src/assets/css/common.less new file mode 100644 index 0000000..ca645ff --- /dev/null +++ b/admin/src/assets/css/common.less @@ -0,0 +1,423 @@ +// 去除ul li的默认样式 +ul, +li { + list-style: none; + margin: 0; + padding: 0; +} + +::-webkit-scrollbar { + width: 3px; + height: 4px; +} + +::-webkit-scrollbar-track { + -webkit-box-shadow: inset 0 0 1px rgba(0, 0, 0, 0); + border-radius: 3px; + background: #918783; +} + +::-webkit-scrollbar-thumb{ + border-radius: 3px; + background: @color-master; +} + +@color-master: #44667c; +@color-second: #383A3F; +@color-third:#ebe2db; +@color-fourth:#a5a5a5; + +#app{ + font-family: 'Noto Sans TC', "微軟正黑體"; + + --el-color-primary: #37455a; + --el-color-primary-light-3: #3c506c; + --el-color-primary-light-5: #44667c; + --el-color-primary-light-7: #3b6e84; + --el-color-primary-light-8: #397697; + --el-color-primary-light-9: #1f77a7; + + //leftMmenu start ========= + .el-menu{ + background-color: @color-third; + box-shadow: -4px 0 4px rgba(#5f554d, .1) inset; + .logo{ + background-color: @color-second; + } + .el-menu-item{ + color: #5f554d; + font-weight: bold; + border-top: 1px #dfd8d0 solid; + .el-icon{ + color: #d39982; + } + &:hover{ + background-color: #faf7f5; + } + &.is-active{ + color: #5f554d; + border-right: 6px @color-master solid; + background-color: #faf7f5; + .el-icon{ + color: @color-master; + } + } + } + + .el-sub-menu{ + color: #5f554d; + font-weight: bold; + border-top: 1px #dfd8d0 solid; + &:last-child{ + border-bottom: 1px #dfd8d0 solid; + } + .el-sub-menu__title{ + color: #5f554d !important; + background-color: transparent !important; + .el-icon{ + color: #d39982; + } + } + .el-menu-item{ + font-weight: bold; + background-color: #d9d1ca; + border-top: 1px #bfb8b0 solid; + &.is-active{ + color: #5f554d; + background-color: #f2f0ee; + } + } + &.is-active{ + border-right: 2px @color-master solid; + } + } + + + } + //leftMmenu end ========= + + + .el-container { + height: 100%; + .admin-header{ + background-color: @color-second; + border-left: 1px #333 solid; + } + .el-main { + padding: 0; + background-color: #faf7f5; + color: #333; + height: calc(100vh - 80px); + .tabs-block{ + width: 100%; + // overflow: hidden; + // overflow-x: auto; + .el-tabs{ + background-color: #505050; + .el-tabs__nav-prev,.el-tabs__nav-next{ + background-color: #faf7f5; + } + .el-tabs__nav{ + border-bottom: 1px transparent solid; + border-radius: 0; + background-color: transparent; + .el-tabs__item{ + display: flex; + justify-content: space-between; + align-items: center; + // width:150px; + padding: 0 35px 0 35px; + color: @color-second; + border-bottom: 1px #dfd8d0 solid; + background-color: #faf7f5; + transition: all .3s; + opacity: .9; + &:nth-child(1){ + width:auto; + padding: 0 17px; + .el-icon{ + position: relative; + top:initial; + right:initial; + color: @color-second !important; + } + } + &.is-active{ + border-bottom: none; + background: linear-gradient(#faf7f5, #faf7f5 ); + opacity: 1; + } + &:hover{ + .el-icon{ + color: #97989c; + } + } + .el-icon:nth-child(1){ + position: absolute; + left:10px; + top:12px; + color: #dfd8d0; + } + .el-icon:nth-child(2){ + position: absolute; + right:10px; + top:12px; + color: #dfd8d0; + } + } + } + } + .el-dropdown{ + padding: 0 15px; + // display: none; + .el-dropdown-link{ + color: @color-second; + outline: none; + } + } + } + + .main { + padding: 10px; + .el-page-header{ + padding: 10px; + } + .breadcrumb-section { + display: flex; + align-items: center; + margin: 0 0 10px; + line-height: 1.2; + font-weight: 500; + >div:nth-child(1){ + padding: 10px 0 10px 5px; + flex: 1; + } + .el-breadcrumb { + font-size: 14px; + color: #606266; + min-width: 180px; + .el-breadcrumb__inner { + display: inline-block; + vertical-align: middle; + .el-breadcrumb__separator { + color: #c0c4cc; + } + } + } + } + } + } + + .el-header { + --el-header-height: auto; + --el-header-padding: 0; + background-color: #ffffff; + height: 50px; + } + + .el-footer{ + height: 30px; + font-size: 12px; + line-height: 30px; + text-align: center; + color: #666; + background-color: #faf7f5; + } + + .el-card{ + margin-bottom: 15px; + border: 1px @color-master solid; + .el-card__header{ + position: relative; + font-size: 16px; + font-weight: bold; + padding: 12px 20px; + // background-color: rgb(255, 206, 122); + box-shadow: 0 4px 4px #f0ebe9; + z-index: 10; + } + } + + .el-collapse{ + border: none; + padding: 0 15px; + margin-bottom: 20px; + .el-collapse-item{ + &.is-active .el-collapse-item__header{ + color: @color-master; + } + + } + } + } + + .pagination-block{ + display: flex; + justify-content: flex-end; + padding: 6px 5px; + background-color: #f3f3f3; + } + + .el-aside { + background-color: #545c64; + color: #fff; + } + + .el-table{ + .el-table__cell.el-table__expanded-cell{ + padding-left: 50px; + background-color: #edeff1; + } + thead th{ + color: #333; + font-weight: bold; + } + } + + + + // 隱藏滾動條, 但是滾動條還是可以使用 + .side-scroll { + scrollbar-width: none; + &::-webkit-scrollbar { + display: none; + } + } + + .el-drawer,.el-dialog{ + // width:600px; + // max-width: 90%; + background-color: #faf7f5; + .el-drawer__header,.el-dialog__header{ + background-color: @color-master; + margin: 0; + padding: 10px 20px; + *{ + color: #faf7f5; + } + .el-drawer__title{ + font-size: 18px; + } + .el-dialog__headerbtn{ + width: 50px; + height: 50px; + top: 0; + } + } + .el-tabs__content{ + padding-top: 10px; + .el-tabs{ + background-color: #505050; + .el-tabs__nav{ + border-bottom: 1px transparent solid; + border-radius: 0; + background-color: transparent; + .el-tabs__item{ + display: flex; + justify-content: space-between; + align-items: center; + // width:150px; + padding: 0 45px 0 15px; + color: @color-second; + border-bottom: 1px #dfd8d0 solid; + background-color: #faf7f5; + transition: all .3s; + opacity: .9; + &:nth-child(1){ + width:auto; + padding: 0 15px; + .el-icon{ + position: relative; + top:initial; + right:initial; + color: @color-second !important; + } + } + &.is-active{ + border-bottom: none; + background: linear-gradient(#faf7f5, #faf7f5 ); + opacity: 1; + } + &:hover{ + .el-icon{ + color: #97989c; + } + } + .el-icon{ + position: absolute; + right:10px; + top:12px; + color: #dfd8d0; + } + } + } + } + + + } + } +} + + + +.el-menu--popup{ + padding: 0 !important; + background-color: #ebe2db !important; + .el-menu-item{ + color: #5f554d; + font-weight: bold; + border-top: 1px #dfd8d0 solid; + .el-icon{ + color: #d39982; + } + &:hover{ + background-color: #faf7f5; + } + &.is-active{ + color: #5f554d; + border-right: 6px @color-master solid; + background-color: #faf7f5 !important; + .el-icon{ + color: @color-master; + } + } + } +} + +@media only screen and (max-width: 768px) { + .el-drawer { + width: 100% !important; + } + + .el-input,.el-button{ + margin-bottom: 10px; + } +} + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/admin/src/assets/css/normalize.css b/admin/src/assets/css/normalize.css new file mode 100644 index 0000000..c45a85f --- /dev/null +++ b/admin/src/assets/css/normalize.css @@ -0,0 +1,349 @@ +/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */ + +/* Document + ========================================================================== */ + +/** + * 1. Correct the line height in all browsers. + * 2. Prevent adjustments of font size after orientation changes in iOS. + */ + + html { + line-height: 1.15; /* 1 */ + -webkit-text-size-adjust: 100%; /* 2 */ + } + + /* Sections + ========================================================================== */ + + /** + * Remove the margin in all browsers. + */ + + body { + margin: 0; + } + + /** + * Render the `main` element consistently in IE. + */ + + main { + display: block; + } + + /** + * Correct the font size and margin on `h1` elements within `section` and + * `article` contexts in Chrome, Firefox, and Safari. + */ + + h1 { + font-size: 2em; + margin: 0.67em 0; + } + + /* Grouping content + ========================================================================== */ + + /** + * 1. Add the correct box sizing in Firefox. + * 2. Show the overflow in Edge and IE. + */ + + hr { + box-sizing: content-box; /* 1 */ + height: 0; /* 1 */ + overflow: visible; /* 2 */ + } + + /** + * 1. Correct the inheritance and scaling of font size in all browsers. + * 2. Correct the odd `em` font sizing in all browsers. + */ + + pre { + font-family: monospace, monospace; /* 1 */ + font-size: 1em; /* 2 */ + } + + /* Text-level semantics + ========================================================================== */ + + /** + * Remove the gray background on active links in IE 10. + */ + + a { + background-color: transparent; + } + + /** + * 1. Remove the bottom border in Chrome 57- + * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari. + */ + + abbr[title] { + border-bottom: none; /* 1 */ + text-decoration: underline; /* 2 */ + text-decoration: underline dotted; /* 2 */ + } + + /** + * Add the correct font weight in Chrome, Edge, and Safari. + */ + + b, + strong { + font-weight: bolder; + } + + /** + * 1. Correct the inheritance and scaling of font size in all browsers. + * 2. Correct the odd `em` font sizing in all browsers. + */ + + code, + kbd, + samp { + font-family: monospace, monospace; /* 1 */ + font-size: 1em; /* 2 */ + } + + /** + * Add the correct font size in all browsers. + */ + + small { + font-size: 80%; + } + + /** + * Prevent `sub` and `sup` elements from affecting the line height in + * all browsers. + */ + + sub, + sup { + font-size: 75%; + line-height: 0; + position: relative; + vertical-align: baseline; + } + + sub { + bottom: -0.25em; + } + + sup { + top: -0.5em; + } + + /* Embedded content + ========================================================================== */ + + /** + * Remove the border on images inside links in IE 10. + */ + + img { + border-style: none; + } + + /* Forms + ========================================================================== */ + + /** + * 1. Change the font styles in all browsers. + * 2. Remove the margin in Firefox and Safari. + */ + + button, + input, + optgroup, + select, + textarea { + font-family: inherit; /* 1 */ + font-size: 100%; /* 1 */ + line-height: 1.15; /* 1 */ + margin: 0; /* 2 */ + } + + /** + * Show the overflow in IE. + * 1. Show the overflow in Edge. + */ + + button, + input { /* 1 */ + overflow: visible; + } + + /** + * Remove the inheritance of text transform in Edge, Firefox, and IE. + * 1. Remove the inheritance of text transform in Firefox. + */ + + button, + select { /* 1 */ + text-transform: none; + } + + /** + * Correct the inability to style clickable types in iOS and Safari. + */ + + button, + [type="button"], + [type="reset"], + [type="submit"] { + -webkit-appearance: button; + } + + /** + * Remove the inner border and padding in Firefox. + */ + + button::-moz-focus-inner, + [type="button"]::-moz-focus-inner, + [type="reset"]::-moz-focus-inner, + [type="submit"]::-moz-focus-inner { + border-style: none; + padding: 0; + } + + /** + * Restore the focus styles unset by the previous rule. + */ + + button:-moz-focusring, + [type="button"]:-moz-focusring, + [type="reset"]:-moz-focusring, + [type="submit"]:-moz-focusring { + outline: 1px dotted ButtonText; + } + + /** + * Correct the padding in Firefox. + */ + + fieldset { + padding: 0.35em 0.75em 0.625em; + } + + /** + * 1. Correct the text wrapping in Edge and IE. + * 2. Correct the color inheritance from `fieldset` elements in IE. + * 3. Remove the padding so developers are not caught out when they zero out + * `fieldset` elements in all browsers. + */ + + legend { + box-sizing: border-box; /* 1 */ + color: inherit; /* 2 */ + display: table; /* 1 */ + max-width: 100%; /* 1 */ + padding: 0; /* 3 */ + white-space: normal; /* 1 */ + } + + /** + * Add the correct vertical alignment in Chrome, Firefox, and Opera. + */ + + progress { + vertical-align: baseline; + } + + /** + * Remove the default vertical scrollbar in IE 10+. + */ + + textarea { + overflow: auto; + } + + /** + * 1. Add the correct box sizing in IE 10. + * 2. Remove the padding in IE 10. + */ + + [type="checkbox"], + [type="radio"] { + box-sizing: border-box; /* 1 */ + padding: 0; /* 2 */ + } + + /** + * Correct the cursor style of increment and decrement buttons in Chrome. + */ + + [type="number"]::-webkit-inner-spin-button, + [type="number"]::-webkit-outer-spin-button { + height: auto; + } + + /** + * 1. Correct the odd appearance in Chrome and Safari. + * 2. Correct the outline style in Safari. + */ + + [type="search"] { + -webkit-appearance: textfield; /* 1 */ + outline-offset: -2px; /* 2 */ + } + + /** + * Remove the inner padding in Chrome and Safari on macOS. + */ + + [type="search"]::-webkit-search-decoration { + -webkit-appearance: none; + } + + /** + * 1. Correct the inability to style clickable types in iOS and Safari. + * 2. Change font properties to `inherit` in Safari. + */ + + ::-webkit-file-upload-button { + -webkit-appearance: button; /* 1 */ + font: inherit; /* 2 */ + } + + /* Interactive + ========================================================================== */ + + /* + * Add the correct display in Edge, IE 10+, and Firefox. + */ + + details { + display: block; + } + + /* + * Add the correct display in all browsers. + */ + + summary { + display: list-item; + } + + /* Misc + ========================================================================== */ + + /** + * Add the correct display in IE 10+. + */ + + template { + display: none; + } + + /** + * Add the correct display in IE 10. + */ + + [hidden] { + display: none; + } \ No newline at end of file diff --git a/admin/src/assets/images/favi.ico b/admin/src/assets/images/favi.ico new file mode 100644 index 0000000..91de154 Binary files /dev/null and b/admin/src/assets/images/favi.ico differ diff --git a/admin/src/assets/images/image1.png b/admin/src/assets/images/image1.png new file mode 100644 index 0000000..92d9814 Binary files /dev/null and b/admin/src/assets/images/image1.png differ diff --git a/admin/src/assets/images/logo.png b/admin/src/assets/images/logo.png new file mode 100644 index 0000000..05ea4eb Binary files /dev/null and b/admin/src/assets/images/logo.png differ diff --git a/admin/src/config/config.js b/admin/src/config/config.js new file mode 100644 index 0000000..d811456 --- /dev/null +++ b/admin/src/config/config.js @@ -0,0 +1,17 @@ +let config = { + systemName: "普達後台管理系統", + theme: { + color: "#13c2c2", + mode: "dark", + }, + multiPage: true, + asyncRoutes: false, + layout: "side", + hideSetting: true, + animate: { + name: "lightSpeed", + direction: "left", + }, +}; + +export default config; diff --git a/admin/src/config/default/index.js b/admin/src/config/default/index.js new file mode 100644 index 0000000..181aa5a --- /dev/null +++ b/admin/src/config/default/index.js @@ -0,0 +1,5 @@ +import setting from './setting.config.js' + +export { + setting +} \ No newline at end of file diff --git a/admin/src/config/default/setting.config.js b/admin/src/config/default/setting.config.js new file mode 100644 index 0000000..b89ad1f --- /dev/null +++ b/admin/src/config/default/setting.config.js @@ -0,0 +1,34 @@ +export default { + // lang: 'tw', //語言,可選 CN(簡體)、TW(繁體)、US(英語),也可擴充套件其它語言 + theme: { //主題 + color: '#1890ff', //主題色 + mode: 'dark', //主題模式 可選 dark、 light 和 night + success: '#52c41a', //成功色 + warning: '#faad14', //警告色 + error: '#f5222f', //錯誤色 + }, + layout: 'side', //導航佈局,可選 side 和 head,分別為側邊導航和頂部導航 + fixedHeader: false, //固定頭部狀態列,true:固定,false:不固定 + fixedSideBar: true, //固定側邊欄,true:固定,false:不固定 + fixedTabs: false, //固定頁籤頭,true:固定,false:不固定 + pageWidth: 'fixed', //內容區域寬度,fixed:固定寬度,fluid:流式寬度 + weekMode: false, //色弱模式,true:開啟,false:不開啟 + multiPage: false, //多頁籤模式,true:開啟,false:不開啟 + cachePage: true, //是否快取頁面資料,僅多頁籤模式下生效,true 快取, false 不快取 + hideSetting: true, //隱藏設定抽屜,true:隱藏,false:不隱藏 + systemName: '管理系統', //系統名稱 + copyright: '2023 ZL corp.', //copyright + asyncRoutes: false, //非同步載入路由,true:開啟,false:不開啟 + showPageTitle: true, //是否顯示頁面標題(PageLayout 佈局中的頁面標題),true:顯示,false:不顯示 + filterMenu: true, //根據許可權過濾選單,true:過濾,false:不過濾 + animate: { //動畫設定 + disabled: false, //禁用動畫,true:禁用,false:啟用 + name: 'bounce', //動畫效果,支援的動畫效果可參考 ./animate.config.js + direction: 'left' //動畫方向,切換頁面時動畫的方向,參考 ./animate.config.js + }, + footerLinks: [ //頁面底部連結,{link: '連結地址', name: '名稱/顯示文字', icon: '圖示,支援 ant design vue 圖示庫'} + // {link: 'https://pro.ant.design', name: 'Pro首頁'}, + // {link: 'https://github.com/iczer/vue-antd-admin', icon: 'github'}, + // {link: 'https://ant.design', name: 'Ant Design'} + ], +} diff --git a/admin/src/config/index.js b/admin/src/config/index.js new file mode 100644 index 0000000..9c92c47 --- /dev/null +++ b/admin/src/config/index.js @@ -0,0 +1,7 @@ +import deepMerge from 'deepmerge' +import _config from './config.js' +import { setting } from './default/index.js' + +const config = deepMerge(setting, _config) + +export default config \ No newline at end of file diff --git a/admin/src/layouts/AdminLayout.vue b/admin/src/layouts/AdminLayout.vue new file mode 100644 index 0000000..12cb0e7 --- /dev/null +++ b/admin/src/layouts/AdminLayout.vue @@ -0,0 +1,82 @@ + + + + + diff --git a/admin/src/layouts/header/index.vue b/admin/src/layouts/header/index.vue new file mode 100644 index 0000000..a2e554d --- /dev/null +++ b/admin/src/layouts/header/index.vue @@ -0,0 +1,149 @@ + + + + + diff --git a/admin/src/layouts/menu/index.vue b/admin/src/layouts/menu/index.vue new file mode 100644 index 0000000..cbccd3d --- /dev/null +++ b/admin/src/layouts/menu/index.vue @@ -0,0 +1,191 @@ + + + + + diff --git a/admin/src/layouts/tabs/index.vue b/admin/src/layouts/tabs/index.vue new file mode 100644 index 0000000..06a58ad --- /dev/null +++ b/admin/src/layouts/tabs/index.vue @@ -0,0 +1,157 @@ + + + + + diff --git a/admin/src/main.js b/admin/src/main.js new file mode 100644 index 0000000..3374841 --- /dev/null +++ b/admin/src/main.js @@ -0,0 +1,16 @@ +import { createApp } from "vue"; +import App from "./App.vue"; +import router from "./router"; +import store from "./store"; +import CKEditor from '@ckeditor/ckeditor5-vue'; + +import "./assets/css/normalize.css"; +import "./assets/css/common.less"; + +const app = createApp(App); + +app.use(router); +app.use(store); +app.use(CKEditor); + +app.mount("#app"); diff --git a/admin/src/pages/About/company/Index.vue b/admin/src/pages/About/company/Index.vue new file mode 100644 index 0000000..d0b86c6 --- /dev/null +++ b/admin/src/pages/About/company/Index.vue @@ -0,0 +1,105 @@ + + + + + \ No newline at end of file diff --git a/admin/src/pages/About/concept/Index.vue b/admin/src/pages/About/concept/Index.vue new file mode 100644 index 0000000..f1a0b63 --- /dev/null +++ b/admin/src/pages/About/concept/Index.vue @@ -0,0 +1,104 @@ + + + + + diff --git a/admin/src/pages/Contact/email/Index.vue b/admin/src/pages/Contact/email/Index.vue new file mode 100644 index 0000000..af94ec0 --- /dev/null +++ b/admin/src/pages/Contact/email/Index.vue @@ -0,0 +1,148 @@ + + + diff --git a/admin/src/pages/Contact/email/components/content.vue b/admin/src/pages/Contact/email/components/content.vue new file mode 100644 index 0000000..121c95e --- /dev/null +++ b/admin/src/pages/Contact/email/components/content.vue @@ -0,0 +1,45 @@ + + + + + \ No newline at end of file diff --git a/admin/src/pages/Contact/email/components/precardList.vue b/admin/src/pages/Contact/email/components/precardList.vue new file mode 100644 index 0000000..c25bc85 --- /dev/null +++ b/admin/src/pages/Contact/email/components/precardList.vue @@ -0,0 +1,53 @@ + + + + + \ No newline at end of file diff --git a/admin/src/pages/Contact/map/Index.vue b/admin/src/pages/Contact/map/Index.vue new file mode 100644 index 0000000..46dec46 --- /dev/null +++ b/admin/src/pages/Contact/map/Index.vue @@ -0,0 +1,171 @@ + + + + + diff --git a/admin/src/pages/Contact/map/components/Form.vue b/admin/src/pages/Contact/map/components/Form.vue new file mode 100644 index 0000000..f99e1f2 --- /dev/null +++ b/admin/src/pages/Contact/map/components/Form.vue @@ -0,0 +1,246 @@ + + + + + \ No newline at end of file diff --git a/admin/src/pages/Home/Index.vue b/admin/src/pages/Home/Index.vue new file mode 100644 index 0000000..37289cd --- /dev/null +++ b/admin/src/pages/Home/Index.vue @@ -0,0 +1,73 @@ + + + + + diff --git a/admin/src/pages/Index/banner/Index.vue b/admin/src/pages/Index/banner/Index.vue new file mode 100644 index 0000000..ffb754d --- /dev/null +++ b/admin/src/pages/Index/banner/Index.vue @@ -0,0 +1,178 @@ + + + + + diff --git a/admin/src/pages/Index/banner/components/Form.vue b/admin/src/pages/Index/banner/components/Form.vue new file mode 100644 index 0000000..9338cd4 --- /dev/null +++ b/admin/src/pages/Index/banner/components/Form.vue @@ -0,0 +1,291 @@ + + + + + \ No newline at end of file diff --git a/admin/src/pages/Index/banner/index.vue.aaa b/admin/src/pages/Index/banner/index.vue.aaa new file mode 100644 index 0000000..f44c20c --- /dev/null +++ b/admin/src/pages/Index/banner/index.vue.aaa @@ -0,0 +1,162 @@ + + + diff --git a/admin/src/pages/Index/concept/Index.vue b/admin/src/pages/Index/concept/Index.vue new file mode 100644 index 0000000..19566c4 --- /dev/null +++ b/admin/src/pages/Index/concept/Index.vue @@ -0,0 +1,225 @@ + + + + + diff --git a/admin/src/pages/Index/product/Index.vue b/admin/src/pages/Index/product/Index.vue new file mode 100644 index 0000000..d5cb266 --- /dev/null +++ b/admin/src/pages/Index/product/Index.vue @@ -0,0 +1,206 @@ + + + + + diff --git a/admin/src/pages/Index/supplier/Index.vue b/admin/src/pages/Index/supplier/Index.vue new file mode 100644 index 0000000..60b70cf --- /dev/null +++ b/admin/src/pages/Index/supplier/Index.vue @@ -0,0 +1,172 @@ + + + + + diff --git a/admin/src/pages/Index/supplier/components/Form.vue b/admin/src/pages/Index/supplier/components/Form.vue new file mode 100644 index 0000000..5f7064d --- /dev/null +++ b/admin/src/pages/Index/supplier/components/Form.vue @@ -0,0 +1,231 @@ + + + + + \ No newline at end of file diff --git a/admin/src/pages/Login/index.vue b/admin/src/pages/Login/index.vue new file mode 100644 index 0000000..7041d02 --- /dev/null +++ b/admin/src/pages/Login/index.vue @@ -0,0 +1,204 @@ + + + + + diff --git a/admin/src/pages/News/activity/Index.vue b/admin/src/pages/News/activity/Index.vue new file mode 100644 index 0000000..ea31523 --- /dev/null +++ b/admin/src/pages/News/activity/Index.vue @@ -0,0 +1,223 @@ + + + + + diff --git a/admin/src/pages/News/activity/components/Form.vue b/admin/src/pages/News/activity/components/Form.vue new file mode 100644 index 0000000..11a1fb0 --- /dev/null +++ b/admin/src/pages/News/activity/components/Form.vue @@ -0,0 +1,164 @@ + + + + + \ No newline at end of file diff --git a/admin/src/pages/News/list/components/Form.vue b/admin/src/pages/News/list/components/Form.vue new file mode 100644 index 0000000..c35cde1 --- /dev/null +++ b/admin/src/pages/News/list/components/Form.vue @@ -0,0 +1,137 @@ + + + + + \ No newline at end of file diff --git a/admin/src/pages/News/list/form.vue b/admin/src/pages/News/list/form.vue new file mode 100644 index 0000000..1554bf0 --- /dev/null +++ b/admin/src/pages/News/list/form.vue @@ -0,0 +1,151 @@ + + + + + \ No newline at end of file diff --git a/admin/src/pages/News/list/index.vue b/admin/src/pages/News/list/index.vue new file mode 100644 index 0000000..d0167e7 --- /dev/null +++ b/admin/src/pages/News/list/index.vue @@ -0,0 +1,174 @@ + + + + + \ No newline at end of file diff --git a/admin/src/pages/NotFound/index.vue b/admin/src/pages/NotFound/index.vue new file mode 100644 index 0000000..2b6ee35 --- /dev/null +++ b/admin/src/pages/NotFound/index.vue @@ -0,0 +1,3 @@ + \ No newline at end of file diff --git a/admin/src/pages/Priv/admin/components/Form.vue b/admin/src/pages/Priv/admin/components/Form.vue new file mode 100644 index 0000000..9dad6c8 --- /dev/null +++ b/admin/src/pages/Priv/admin/components/Form.vue @@ -0,0 +1,135 @@ + + + diff --git a/admin/src/pages/Priv/admin/index.vue b/admin/src/pages/Priv/admin/index.vue new file mode 100644 index 0000000..fb44a85 --- /dev/null +++ b/admin/src/pages/Priv/admin/index.vue @@ -0,0 +1,162 @@ + + + diff --git a/admin/src/pages/Priv/adminLog/index.vue b/admin/src/pages/Priv/adminLog/index.vue new file mode 100644 index 0000000..738d9fd --- /dev/null +++ b/admin/src/pages/Priv/adminLog/index.vue @@ -0,0 +1,112 @@ + + + diff --git a/admin/src/pages/Priv/role/index.vue b/admin/src/pages/Priv/role/index.vue new file mode 100644 index 0000000..cda3e86 --- /dev/null +++ b/admin/src/pages/Priv/role/index.vue @@ -0,0 +1,8 @@ + + + \ No newline at end of file diff --git a/admin/src/pages/Product/group/Index.vue b/admin/src/pages/Product/group/Index.vue new file mode 100644 index 0000000..812df53 --- /dev/null +++ b/admin/src/pages/Product/group/Index.vue @@ -0,0 +1,126 @@ + + + + + diff --git a/admin/src/pages/Product/group/components/Form.vue b/admin/src/pages/Product/group/components/Form.vue new file mode 100644 index 0000000..e36ea8d --- /dev/null +++ b/admin/src/pages/Product/group/components/Form.vue @@ -0,0 +1,251 @@ + + + + + \ No newline at end of file diff --git a/admin/src/pages/Product/list/components/Form.vue b/admin/src/pages/Product/list/components/Form.vue new file mode 100644 index 0000000..e36ea8d --- /dev/null +++ b/admin/src/pages/Product/list/components/Form.vue @@ -0,0 +1,251 @@ + + + + + \ No newline at end of file diff --git a/admin/src/pages/Product/list/form.vue b/admin/src/pages/Product/list/form.vue new file mode 100644 index 0000000..56615a7 --- /dev/null +++ b/admin/src/pages/Product/list/form.vue @@ -0,0 +1,282 @@ + + + + + \ No newline at end of file diff --git a/admin/src/pages/Product/list/index.vue b/admin/src/pages/Product/list/index.vue new file mode 100644 index 0000000..2f2b2e5 --- /dev/null +++ b/admin/src/pages/Product/list/index.vue @@ -0,0 +1,176 @@ + + + + + \ No newline at end of file diff --git a/admin/src/router/index.js b/admin/src/router/index.js new file mode 100644 index 0000000..a64dfe9 --- /dev/null +++ b/admin/src/router/index.js @@ -0,0 +1,195 @@ +import { createRouter, createWebHashHistory } from "vue-router"; +import Cookies from "js-cookie"; +import NProgress from "nprogress"; +import "nprogress/nprogress.css"; + +let history = createWebHashHistory("/admin"); + +let routes = [ + { + path: "/", + name: "Common", + component: () => import("../layouts/AdminLayout.vue"), + redirect: "/home", + children: [ + { + path: "/home", + name: "Home", + meta: { + title: "首頁輪播", + }, + component: () => import("../pages/Index/banner/Index.vue"), + }, + { + path: "/index/banner", + name: "IndexBanner", + meta: { + title: "首頁輪播", + }, + component: () => import("../pages/Index/banner/Index.vue"), + }, + { + path: "/index/supplier", + name: "IndexSupplier", + meta: { + title: "供應商", + }, + component: () => import("../pages/Index/supplier/Index.vue"), + }, + { + path: "/priv/admin", + name: "PrivAdmin", + meta: { + title: "管理員列表", + }, + component: () => import("../pages/Priv/admin/index.vue"), + }, + { + path: "/priv/adminlog", + name: "PrivAdminlog", + meta: { + title: "操作紀錄", + }, + component: () => import("../pages/Priv/adminLog/index.vue"), + }, + { + path: "/about/company", + name: "AboutCompany", + meta: { + title: "公司簡介", + }, + component: () => import("../pages/About/company/Index.vue"), + }, + { + path: "/about/concept", + name: "AboutConcept", + meta: { + title: "經營理念", + }, + component: () => import("../pages/About/concept/Index.vue"), + }, + { + path: "/news/list", + name: "News", + meta: { + title: "產業動態", + }, + component: () => import("../pages/News/list/index.vue"), + }, + { + path: "/news/list/form", + name: "NewsForm", + meta: { + title: "新增產業動態", + }, + component: () => import("../pages/News/list/form.vue"), + }, + { + path: "/news/activity", + name: "newsActivity", + meta: { + title: "公司活動", + }, + component: () => import("../pages/News/activity/Index.vue"), + }, + { + path: "/product/list", + name: "ProductList", + meta: { + title: "產品列表", + }, + component: () => import("../pages/Product/list/index.vue"), + }, + { + path: "/product/list/form", + name: "ProductForm", + meta: { + title: "產品表單", + }, + component: () => import("../pages/Product/list/form.vue"), + }, + { + path: "/product/group", + name: "ProductGroup", + meta: { + title: "產品群組", + }, + component: () => import("../pages/Product/group/Index.vue"), + }, + { + path: "/contact/email", + name: "ContactEmail", + meta: { + title: "表單信件", + }, + component: () => import("../pages/Contact/email/Index.vue"), + }, + { + path: "/Contact/map", + name: "ContactMap", + meta: { + title: "公司據點", + }, + component: () => import("../pages/Contact/map/Index.vue"), + }, + ], + }, + { + path: "/login", + name: "Login", + meta: { + title: "登入", + }, + component: () => import("../pages/Login/index.vue"), + }, + { + path: "/:pathMatch(.*)*", + name: "NotFound", + meta: { + title: "404", + }, + component: () => import("../pages/NotFound/index.vue"), + }, +]; + +const router = createRouter({ + history, + routes, + scrollBehavior(to, from, savedPosition) { + return { top: 0 }; + }, +}); + +const whiteList = ["/login","/error","/404"]; + +router.beforeEach((to, from, next) => { + NProgress.start(); + const path = to.path; + //判斷是否在whiteList中 + if (!whiteList.includes(path)) { + if (!sessionStorage.getItem("token")) { + return next("/login"); + } + + //檢查是否有語系,沒有則設定為繁體中文 + if (!Cookies.get("lang")) { + Cookies.set("lang", "tw"); + } + + // }else{ + // // 檢查account store是否有資料 + // const accountStore = useAccountStore(); + // if (!accountStore.user) { + // accountStore.getAgentUserInfo(); + // } + // } + } + + return next(); +}); + +router.afterEach(() => { + NProgress.done(); +}); + +export default router; diff --git a/admin/src/store/account.js b/admin/src/store/account.js new file mode 100644 index 0000000..65ec0db --- /dev/null +++ b/admin/src/store/account.js @@ -0,0 +1,13 @@ +import { defineStore } from 'pinia' + +export const useAccountStore = defineStore('account', { + state: () => { + return { + user: undefined, + permissions: null, + roles: null, + routesConfig: null + } + }, + actions: {} +}) \ No newline at end of file diff --git a/admin/src/store/index.js b/admin/src/store/index.js new file mode 100644 index 0000000..609dfdb --- /dev/null +++ b/admin/src/store/index.js @@ -0,0 +1,5 @@ +import { createPinia } from 'pinia'; + +const pinia = createPinia(); + +export default pinia; diff --git a/admin/src/store/setting.js b/admin/src/store/setting.js new file mode 100644 index 0000000..ae10127 --- /dev/null +++ b/admin/src/store/setting.js @@ -0,0 +1,31 @@ +import { defineStore } from 'pinia' + +import config from '@/config' +import Cookies from 'js-cookie' + +export const useSettingStore = defineStore('setting', { + state: () => { + return { + isMobile: false, + // animates: ADMIN.animates, + // palettes: ADMIN.palettes, + pageMinHeight: 0, + menuData: [], + activatedFirst: undefined, + customTitles: '', + theme: 'dark', + lang: Cookies.get('lang') || 'tw', + ...config, + // ...localSetting + } + }, + actions: { + setDevice(isMobile) { + this.isMobile = isMobile + }, + setLang(lang) { + this.lang = lang + Cookies.set('lang', lang) + } + } +}) diff --git a/admin/src/store/tabs.js b/admin/src/store/tabs.js new file mode 100644 index 0000000..1a07736 --- /dev/null +++ b/admin/src/store/tabs.js @@ -0,0 +1,36 @@ +import { defineStore } from 'pinia' +import { reactive, toRefs } from 'vue' + +export const useTabsStore = defineStore('tabs', { + state: () => { + return { + activeTab: '/', + visitedViews: [], + } + }, + actions: { + setActiveTab(path) { + this.activeTab = path + }, + addTab(tab) { + this.setActiveTab(tab.path) + if (tab.path === '/home') return + if (this.visitedViews.some((v) => v.path === tab.path)) return + this.visitedViews.push(tab) + }, + removeTab(tab) { + //取得tab在visitedViews的index + const index = this.visitedViews.indexOf(tab) + this.visitedViews.splice(index, 1) + + }, + closeOtherTabs() { + this.visitedViews = this.visitedViews.filter((v) => { + return v.path === this.activeTab + }) + }, + closeAllTabs() { + this.visitedViews = []; + }, + } +}) diff --git a/admin/src/style.css b/admin/src/style.css new file mode 100644 index 0000000..84a0050 --- /dev/null +++ b/admin/src/style.css @@ -0,0 +1,89 @@ +:root { + font-family: Inter, system-ui, Avenir, Helvetica, Arial, sans-serif; + line-height: 1.5; + font-weight: 400; + + color-scheme: light dark; + color: rgba(255, 255, 255, 0.87); + background-color: #242424; + + font-synthesis: none; + text-rendering: optimizeLegibility; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; + -webkit-text-size-adjust: 100%; +} + +a { + font-weight: 500; + color: #646cff; + text-decoration: inherit; +} +a:hover { + color: #535bf2; +} + +a { + font-weight: 500; + color: #646cff; + text-decoration: inherit; +} +a:hover { + color: #535bf2; +} + +body { + margin: 0; + display: flex; + place-items: center; + min-width: 320px; + min-height: 100vh; +} + +h1 { + font-size: 3.2em; + line-height: 1.1; +} + +button { + border-radius: 8px; + border: 1px solid transparent; + padding: 0.6em 1.2em; + font-size: 1em; + font-weight: 500; + font-family: inherit; + background-color: #1a1a1a; + cursor: pointer; + transition: border-color 0.25s; +} +button:hover { + border-color: #646cff; +} +button:focus, +button:focus-visible { + outline: 4px auto -webkit-focus-ring-color; +} + +.card { + padding: 2em; +} + +#app { + max-width: 1280px; + margin: 0 auto; + padding: 2rem; + text-align: center; +} + +@media (prefers-color-scheme: light) { + :root { + color: #213547; + background-color: #ffffff; + } + a:hover { + color: #747bff; + } + button { + background-color: #f9f9f9; + } +} diff --git a/admin/src/utils/request.js b/admin/src/utils/request.js new file mode 100644 index 0000000..d7fc1b5 --- /dev/null +++ b/admin/src/utils/request.js @@ -0,0 +1,130 @@ +import axios from 'axios' +import Cookies from 'js-cookie'; + +export const instance = axios.create({ + baseURL: import.meta.env.VITE_APP_API_URL, + timeout: 5000, + withCredentials: true +}) + +instance.interceptors.request.use( + config => { + // if(config.data.showloading || config.params.showloading){ + // console.log('showloading') + // } + if (sessionStorage.getItem('token')) { + config.headers.Authorization = `${sessionStorage.getItem('token')}`; + } + + if (config.method === 'post') { + // if (sessionStorage.getItem('uid')) { + config.data = { + lang: Cookies.get('lang'), + ...config.data + } + // } + + // if(config.data.showloading){ + // console.log('showloading') + // delete config.data.showloading + // } + + } else if (config.method === 'get') { + // if (sessionStorage.getItem('uid')) { + config.params = { + lang: Cookies.get('lang'), + ...config.params + } + // } + + // if(config.params.showloading){ + // console.log('showloading') + // delete config.params.showloading + // } + + } + + return config; + }, + err => { + return Promise.reject(err); + } +); + +instance.interceptors.response.use( + response => { + refreshToken(response) + return response + }, + error => { + if (error.response) { + switch (error.response.status) { + case 401: + // 返回 401 清除token資訊並跳轉到登入頁面 + store.commit(types.LOGOUT); + router.replace({ + path: 'login', + query: { redirect: router.currentRoute.fullPath } + }) + } + } + + return Promise.reject(error.response.data) // 返回介面返回的錯誤資訊 + }); + +function refreshToken(response) { + let token = response.headers.authorization + if (token) { + console.log('change token') + sessionStorage.setItem('AgentToken', token); + } +} + +export default async function ajax(url, type = 'GET', data = {}, headers = {}) { + + let result + if (type.toUpperCase() === 'GET') { + let queryStr = '' + + Object.keys(data).forEach(key => { + queryStr += key + '=' + data[key] + '&' + }) + + if (queryStr !== '') { + queryStr = queryStr.substring(0, queryStr.lastIndexOf('&')) + url += '?' + queryStr + } + + result = await instance.get(url, { headers }) + } else { + + result = await instance.post(url, data, { headers }) + } + return result.data +} + +export async function uploadFile(url, data) { + let res = await axios({ + method: 'post', + url: import.meta.env.VITE_APP_API_URL + url, + data: data, + headers: { + 'Content-Type': 'multipart/form-data', + 'Authorization': sessionStorage.getItem('token') + } + }) + + return res.data +} + + +/*生成指定長度的隨機數*/ +function randomCode(length) { + let chars = ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9']; + let result = ""; + for (let i = 0; i < length; i++) { + let index = Math.ceil(Math.random() * 9); + result += chars[index]; + } + return result; +} diff --git a/admin/src/utils/util.js b/admin/src/utils/util.js new file mode 100644 index 0000000..4fb219e --- /dev/null +++ b/admin/src/utils/util.js @@ -0,0 +1,35 @@ +import enquireJs from 'enquire.js' + +export function isDef (v){ + return v !== undefined && v !== null +} + +/** + * Remove an item from an array. + */ +export function remove (arr, item) { + if (arr.length) { + const index = arr.indexOf(item) + if (index > -1) { + return arr.splice(index, 1) + } + } +} + +export function isRegExp (v) { + return _toString.call(v) === '[object RegExp]' +} + +export function enquireScreen(call) { + const handler = { + match: function () { + call && call(true) + }, + unmatch: function () { + call && call(false) + } + } + enquireJs.register('only screen and (max-width: 767.99px)', handler) +} + +const _toString = Object.prototype.toString diff --git a/admin/vite.config.js b/admin/vite.config.js new file mode 100644 index 0000000..178f464 --- /dev/null +++ b/admin/vite.config.js @@ -0,0 +1,32 @@ +import { defineConfig } from "vite"; +import vue from "@vitejs/plugin-vue"; +import AutoImport from "unplugin-auto-import/vite"; +import Components from "unplugin-vue-components/vite"; +import { ElementPlusResolver } from "unplugin-vue-components/resolvers"; +import path from "path"; + +// https://vitejs.dev/config/ +export default defineConfig({ + base: "./", + plugins: [ + vue(), + AutoImport({ + resolvers: [ElementPlusResolver()], + }), + Components({ + resolvers: [ElementPlusResolver()], + }), + ], + resolve: { + alias: { + "@": path.resolve("./src"), + }, + }, + css: { + preprocessorOptions: { + less: { + additionalData: '@import "./src/assets/css/color.less";', + }, + } + } +}); diff --git a/admin/yarn.lock b/admin/yarn.lock new file mode 100644 index 0000000..1f6b5eb --- /dev/null +++ b/admin/yarn.lock @@ -0,0 +1,1454 @@ +# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. +# yarn lockfile v1 + + +"@antfu/utils@^0.7.5", "@antfu/utils@^0.7.6": + version "0.7.7" + resolved "https://registry.yarnpkg.com/@antfu/utils/-/utils-0.7.7.tgz#26ea493a831b4f3a85475e7157be02fb4eab51fb" + integrity sha512-gFPqTG7otEJ8uP6wrhDv6mqwGWYZKNvAcCq6u9hOj0c+IKCEsY4L1oC9trPq2SaWIzAfHvqfBDxF591JkMf+kg== + +"@babel/parser@^7.23.6": + version "7.23.6" + resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.23.6.tgz#ba1c9e512bda72a47e285ae42aff9d2a635a9e3b" + integrity sha512-Z2uID7YJ7oNvAI20O9X0bblw7Qqs8Q2hFy0R9tAfnfLkp5MW0UH9eUvnDSnFwKZ0AvgS1ucqR4KzvVHgnke1VQ== + +"@ckeditor/ckeditor5-autoformat@40.2.0": + version "40.2.0" + resolved "https://registry.yarnpkg.com/@ckeditor/ckeditor5-autoformat/-/ckeditor5-autoformat-40.2.0.tgz#ee858ccb2bdfa975d13f1ecb013be9c06cbd0a5f" + integrity sha512-F3w5k7ti5l6V8U07eSQ3gup3ivltRZQXdtvstBXMmTzDb2ceazNcUDLb6TKSHp5y30ETN0dRGgbhx9xiDL0TXg== + dependencies: + ckeditor5 "40.2.0" + +"@ckeditor/ckeditor5-basic-styles@40.2.0": + version "40.2.0" + resolved "https://registry.yarnpkg.com/@ckeditor/ckeditor5-basic-styles/-/ckeditor5-basic-styles-40.2.0.tgz#06e618a7c1e8dd3cd67f6249c5e27335dfa2f2c6" + integrity sha512-P7jYddLnRpaR4zVCqDa8InsZ6YNRHdF0RrX6+Uz81+A1IfyfmSd+5IaiLxxdnFWQ4JlEhJutjy9vMwSmOhZocQ== + dependencies: + ckeditor5 "40.2.0" + +"@ckeditor/ckeditor5-block-quote@40.2.0": + version "40.2.0" + resolved "https://registry.yarnpkg.com/@ckeditor/ckeditor5-block-quote/-/ckeditor5-block-quote-40.2.0.tgz#9d2fa194376146d749e089c5661e5ac4965b05de" + integrity sha512-t03Yp+MeAyQhwdGZqUlkJEx25VSiigpzkIGGOhccSaTIIZ9XcWDkrTevDhwA4Pq4Q9IRQ8Loj3KCVSBuAqkBgw== + dependencies: + ckeditor5 "40.2.0" + +"@ckeditor/ckeditor5-clipboard@40.2.0": + version "40.2.0" + resolved "https://registry.yarnpkg.com/@ckeditor/ckeditor5-clipboard/-/ckeditor5-clipboard-40.2.0.tgz#74daa4c9d1ae664338e9d14da6052febc3b933c4" + integrity sha512-8/xPH9/i86ukcEiHdmTgNuPVJeYTrivbx5ZYqycPO4Eem7VM99gIbOe7pIYpuV+klr9ymVxIHbGyTJDJ3oUO8A== + dependencies: + "@ckeditor/ckeditor5-core" "40.2.0" + "@ckeditor/ckeditor5-engine" "40.2.0" + "@ckeditor/ckeditor5-ui" "40.2.0" + "@ckeditor/ckeditor5-utils" "40.2.0" + "@ckeditor/ckeditor5-widget" "40.2.0" + lodash-es "4.17.21" + +"@ckeditor/ckeditor5-cloud-services@40.2.0": + version "40.2.0" + resolved "https://registry.yarnpkg.com/@ckeditor/ckeditor5-cloud-services/-/ckeditor5-cloud-services-40.2.0.tgz#7c7fc4d2ba6a6b8bb85111e2626dd627a8ca6089" + integrity sha512-xrPQjFGGy1ZfXyKIMw0uzn7OIriSv13YMw0M2ZTh+V1jRN1HW9KzzNb2DlQc+6wQfRk0bq69XGLp3M296/cVTQ== + dependencies: + ckeditor5 "40.2.0" + +"@ckeditor/ckeditor5-core@40.2.0": + version "40.2.0" + resolved "https://registry.yarnpkg.com/@ckeditor/ckeditor5-core/-/ckeditor5-core-40.2.0.tgz#fa666d863d03b003ac8667482120f9616b07ce42" + integrity sha512-0fqIaN+ZhkXXA3mpBN+alycBzPMc8ruO8VrP0OnvCjowqZVS2HXC2AaXNBdxc75xGI3ScXIor7FsgFHxVJIYYQ== + dependencies: + "@ckeditor/ckeditor5-engine" "40.2.0" + "@ckeditor/ckeditor5-utils" "40.2.0" + lodash-es "4.17.21" + +"@ckeditor/ckeditor5-editor-classic@40.2.0": + version "40.2.0" + resolved "https://registry.yarnpkg.com/@ckeditor/ckeditor5-editor-classic/-/ckeditor5-editor-classic-40.2.0.tgz#c1bad26afe542b501cc21371f14d30bd1a83f6f2" + integrity sha512-dftfDBxANOgqgQZ4SB3YTsEV/XX1u0g9jopbOBwqIABnVVa8zoGcktgFdGnLUFk51sL65baSx2z8Z1NNYdZcFQ== + dependencies: + ckeditor5 "40.2.0" + lodash-es "4.17.21" + +"@ckeditor/ckeditor5-engine@40.2.0": + version "40.2.0" + resolved "https://registry.yarnpkg.com/@ckeditor/ckeditor5-engine/-/ckeditor5-engine-40.2.0.tgz#0d982dfbc6e13855f1f6b04204d9a5c4b5079f89" + integrity sha512-sgboUX8Ps+LcEgywyT3BeK1nzLHjNVIiZU1qvRxR3ixzIw4w2xRNXCGfESWLW5Y5rv9+ypUCrX61oLnZU64PQQ== + dependencies: + "@ckeditor/ckeditor5-utils" "40.2.0" + lodash-es "4.17.21" + +"@ckeditor/ckeditor5-enter@40.2.0": + version "40.2.0" + resolved "https://registry.yarnpkg.com/@ckeditor/ckeditor5-enter/-/ckeditor5-enter-40.2.0.tgz#6f2dbca2aeb314a0c1cdb6bbe75f924941fb9c31" + integrity sha512-GjTRaKNX8QEDJ3YYKG3GfPZfGHrcigGBxbo+1WDT7NaOsR2DA/CIZfHlAPfgJDAMV17bhWsT3gy3+oQZsExtnQ== + dependencies: + "@ckeditor/ckeditor5-core" "40.2.0" + "@ckeditor/ckeditor5-engine" "40.2.0" + "@ckeditor/ckeditor5-utils" "40.2.0" + +"@ckeditor/ckeditor5-essentials@40.2.0": + version "40.2.0" + resolved "https://registry.yarnpkg.com/@ckeditor/ckeditor5-essentials/-/ckeditor5-essentials-40.2.0.tgz#f0c14a57a1c256391b713401c6f817de68029e45" + integrity sha512-7iUUy0Uwiei4yLrn145SOcyzriMeVFVc5ontQkxQE5b9alFdAc/6ZoDPZqwD7V0zi5RQ/2YsoVMRLFa4hbPfNA== + dependencies: + ckeditor5 "40.2.0" + +"@ckeditor/ckeditor5-font@40.2.0": + version "40.2.0" + resolved "https://registry.yarnpkg.com/@ckeditor/ckeditor5-font/-/ckeditor5-font-40.2.0.tgz#ac7640436fc54ba948a0ec7ac0923ec90e5576cc" + integrity sha512-k38+eQQF+zfiauVDxcMBHGG1ShRwCNibaJipu5FKzvGY5PJELUsIfor1dsSPsTADWxWMpBi5qEaSO4S4+Lu/JA== + dependencies: + ckeditor5 "40.2.0" + +"@ckeditor/ckeditor5-heading@40.2.0": + version "40.2.0" + resolved "https://registry.yarnpkg.com/@ckeditor/ckeditor5-heading/-/ckeditor5-heading-40.2.0.tgz#072989200e8b35840b86fbe17d7962555749f997" + integrity sha512-uDT1sttMy+KrKi90jnqEI43886o1wfKrROWqaMbmKOerTbIi58GNH9LvX04sf1RyHV3+3566RRmB248fsLkYjA== + dependencies: + ckeditor5 "40.2.0" + +"@ckeditor/ckeditor5-html-support@40.2.0": + version "40.2.0" + resolved "https://registry.yarnpkg.com/@ckeditor/ckeditor5-html-support/-/ckeditor5-html-support-40.2.0.tgz#b576ebfeef7a5a0155360f098a68e9d8fd340e90" + integrity sha512-NbUjSir3aaVxk8y0oPWLaPGB4kDeH2XuSZXVRAvwiYP8c8ICh7gAq2L3KVLmveXW/FIHHYdR+wNu0qNa34V0rw== + dependencies: + ckeditor5 "40.2.0" + lodash-es "4.17.21" + +"@ckeditor/ckeditor5-image@40.2.0": + version "40.2.0" + resolved "https://registry.yarnpkg.com/@ckeditor/ckeditor5-image/-/ckeditor5-image-40.2.0.tgz#790b23af7d2e86faee848df273eaab735a8a9240" + integrity sha512-0Dunw1o5k2+5Q5XiWLDG1r8k9awosfIFuDZwqKJGWtDaNE4QQbJ9+iJSwiiRw2QjcGr7D3JdH7xwJZFra7kYmA== + dependencies: + "@ckeditor/ckeditor5-ui" "40.2.0" + ckeditor5 "40.2.0" + lodash-es "4.17.21" + +"@ckeditor/ckeditor5-indent@40.2.0": + version "40.2.0" + resolved "https://registry.yarnpkg.com/@ckeditor/ckeditor5-indent/-/ckeditor5-indent-40.2.0.tgz#a66a1740badd34843a966f51a21316821fe80a5f" + integrity sha512-gSlRGoyAslB2OpqghimIY6Oiflf3Z2/MdLBzvFipU5N4X66cL29HuWZc/bOkcFzWwNeDK5LgzfLdvXNzkdv5Xw== + dependencies: + ckeditor5 "40.2.0" + +"@ckeditor/ckeditor5-link@40.2.0": + version "40.2.0" + resolved "https://registry.yarnpkg.com/@ckeditor/ckeditor5-link/-/ckeditor5-link-40.2.0.tgz#81068e860bc00f5d9d94b6df344136a872d6481c" + integrity sha512-/r4Ti9USdrURBX+qutvyDGOb75sNuSgtXdI8xK503EVfx5yBIi6qsYIYWoFvnGJKkLYkVo+940ilduhwzq0M7g== + dependencies: + "@ckeditor/ckeditor5-ui" "40.2.0" + ckeditor5 "40.2.0" + lodash-es "4.17.21" + +"@ckeditor/ckeditor5-list@40.2.0": + version "40.2.0" + resolved "https://registry.yarnpkg.com/@ckeditor/ckeditor5-list/-/ckeditor5-list-40.2.0.tgz#8d8d32c283b8fefe6f92e9ae55a370aa6b12d484" + integrity sha512-lsQWSLSFRHRQ2AxA6vgTib9YELjF2J5jpR6H4RDW1gM//dL3FjvLxKPPN/V7rMcp15rrpSiOya+qB99l24DEpQ== + dependencies: + ckeditor5 "40.2.0" + +"@ckeditor/ckeditor5-media-embed@40.2.0": + version "40.2.0" + resolved "https://registry.yarnpkg.com/@ckeditor/ckeditor5-media-embed/-/ckeditor5-media-embed-40.2.0.tgz#b22fd221801cfe606a8f4706903b431b87d1dd1a" + integrity sha512-ORY7VebL7UTuBG/4++UxzqEKjnlZZKAFqUrIom7xXpQNfo6oJFtZLnKYwESZ6iNk7NBOAeiHEecP2tKWyFQd1g== + dependencies: + "@ckeditor/ckeditor5-ui" "40.2.0" + ckeditor5 "40.2.0" + +"@ckeditor/ckeditor5-paragraph@40.2.0": + version "40.2.0" + resolved "https://registry.yarnpkg.com/@ckeditor/ckeditor5-paragraph/-/ckeditor5-paragraph-40.2.0.tgz#a152449874ea1597fd64174744f63974ef348aa7" + integrity sha512-NotxWP1cKvbJSY1UwdTe/Oy1NnAj9Etsi4Z7XA908EvCsNSnFtzdMhYzLhFZJ18avrQFDa7PpSKSyN3M64CbSA== + dependencies: + "@ckeditor/ckeditor5-core" "40.2.0" + "@ckeditor/ckeditor5-ui" "40.2.0" + "@ckeditor/ckeditor5-utils" "40.2.0" + +"@ckeditor/ckeditor5-paste-from-office@40.2.0": + version "40.2.0" + resolved "https://registry.yarnpkg.com/@ckeditor/ckeditor5-paste-from-office/-/ckeditor5-paste-from-office-40.2.0.tgz#2f98027c150622da7634bd76bc4b62604eb12012" + integrity sha512-kdk7uJlSa9mvyuNAwmIfV6Kc1tfWI6DbCs19jyseA/F0vySKibb0DsBVSZ7xa5ihcjphfJvwpypWYL0BYdYKLQ== + dependencies: + ckeditor5 "40.2.0" + +"@ckeditor/ckeditor5-select-all@40.2.0": + version "40.2.0" + resolved "https://registry.yarnpkg.com/@ckeditor/ckeditor5-select-all/-/ckeditor5-select-all-40.2.0.tgz#c1b68ac4225306ea9250599abf284574e10a1421" + integrity sha512-yaYCqhdMcoEH3BsilhweNdbOfuO/cexQ1r1/mYoBoW4CypIuAeq8J/3qLpvFaThmCRPzJBn1J7v2Yjs/0UnamA== + dependencies: + "@ckeditor/ckeditor5-core" "40.2.0" + "@ckeditor/ckeditor5-ui" "40.2.0" + "@ckeditor/ckeditor5-utils" "40.2.0" + +"@ckeditor/ckeditor5-source-editing@40.2.0": + version "40.2.0" + resolved "https://registry.yarnpkg.com/@ckeditor/ckeditor5-source-editing/-/ckeditor5-source-editing-40.2.0.tgz#0a5e6bff75406e07fcdabed96879f699d3394593" + integrity sha512-Kh0HXxtOs1jNQAUYzxY1IG7JyUG88AJnM9cNATI9+zo55XwPqBrs6w3hesDDF83Vp87Kjtw9lViHUwwcPRl59Q== + dependencies: + "@ckeditor/ckeditor5-theme-lark" "40.2.0" + ckeditor5 "40.2.0" + +"@ckeditor/ckeditor5-style@40.2.0": + version "40.2.0" + resolved "https://registry.yarnpkg.com/@ckeditor/ckeditor5-style/-/ckeditor5-style-40.2.0.tgz#382860ab0c73784fbdbbe1134bcd21c270210033" + integrity sha512-a4NmUKJM/svRhDI5n/+Vlp5jfeULNerEOo1kaSfhG2jx2hihmZuF2Ke7vP20bzt8SnP0Qq72WNjSpMK9CZlzjw== + dependencies: + ckeditor5 "40.2.0" + lodash-es "4.17.21" + +"@ckeditor/ckeditor5-table@40.2.0": + version "40.2.0" + resolved "https://registry.yarnpkg.com/@ckeditor/ckeditor5-table/-/ckeditor5-table-40.2.0.tgz#e2a77495a6c6c5c7fdd3194e452a3b04446e0f5d" + integrity sha512-yODne7az/aJ9lsuI7w476pgGV2QBoH2tOKp3JFh/e2DdHC20637LCVd0cx8sUe3zk61X/eYPY+wOiRJx/mIUqg== + dependencies: + ckeditor5 "40.2.0" + lodash-es "4.17.21" + +"@ckeditor/ckeditor5-theme-lark@40.2.0": + version "40.2.0" + resolved "https://registry.yarnpkg.com/@ckeditor/ckeditor5-theme-lark/-/ckeditor5-theme-lark-40.2.0.tgz#85ced805d71b707b1308eb2991d6ca29aec84af6" + integrity sha512-Oxz/tfca4YosjyRHn1wX5pBgm8GMZSRuuNOu/OcLdRHN40sPWkb8Ilz6bY0SGgrYIgtXmXLGj+NVLSKPSab3EA== + dependencies: + "@ckeditor/ckeditor5-ui" "40.2.0" + +"@ckeditor/ckeditor5-typing@40.2.0": + version "40.2.0" + resolved "https://registry.yarnpkg.com/@ckeditor/ckeditor5-typing/-/ckeditor5-typing-40.2.0.tgz#fd2af10379f7e0bfed17f477bd246deca2161966" + integrity sha512-2E7LkmC4RHdenMUwow0EZDKxlbX00c5UHysUVT51EBGrXiJcN++0cqxQaeJzQ262oTDpk94qE5IZdGXt3ntzrw== + dependencies: + "@ckeditor/ckeditor5-core" "40.2.0" + "@ckeditor/ckeditor5-engine" "40.2.0" + "@ckeditor/ckeditor5-utils" "40.2.0" + lodash-es "4.17.21" + +"@ckeditor/ckeditor5-ui@40.2.0": + version "40.2.0" + resolved "https://registry.yarnpkg.com/@ckeditor/ckeditor5-ui/-/ckeditor5-ui-40.2.0.tgz#cccb8d7d7b70171f79336914ea55aeebe733d85c" + integrity sha512-K8oC9zrJokZD5Nl4uQjJMo8Couds0eHmfNI/go6iU4A4OAdDzph+W50QnyMed4etKnMdhvUSbnuZnPtQjnsvFA== + dependencies: + "@ckeditor/ckeditor5-core" "40.2.0" + "@ckeditor/ckeditor5-utils" "40.2.0" + color-convert "2.0.1" + color-parse "1.4.2" + lodash-es "4.17.21" + vanilla-colorful "0.7.2" + +"@ckeditor/ckeditor5-undo@40.2.0": + version "40.2.0" + resolved "https://registry.yarnpkg.com/@ckeditor/ckeditor5-undo/-/ckeditor5-undo-40.2.0.tgz#66c181ecea6783b0f0d67b7f8d6766b5d5389877" + integrity sha512-k2VZS5x4SJtYk3zhdwHYg+D00DgD0iWR0H4qQgcWmQMFRipYvXJRixP3hSLZGJciQanPFeYcjZgxNQ+rU1s8ug== + dependencies: + "@ckeditor/ckeditor5-core" "40.2.0" + "@ckeditor/ckeditor5-engine" "40.2.0" + "@ckeditor/ckeditor5-ui" "40.2.0" + +"@ckeditor/ckeditor5-upload@40.2.0": + version "40.2.0" + resolved "https://registry.yarnpkg.com/@ckeditor/ckeditor5-upload/-/ckeditor5-upload-40.2.0.tgz#8d67cf93bc78bcbb3686e6757ae8ece2127d7a0d" + integrity sha512-AdJSKvWEQbSSyA/DfxbCHRhFN6S4ew4kuYETO57e6AS3aOuYGLBRdu9Mub7IAQcOyy1LL6ktr9u5WEOoWS2h0w== + dependencies: + "@ckeditor/ckeditor5-core" "40.2.0" + "@ckeditor/ckeditor5-ui" "40.2.0" + "@ckeditor/ckeditor5-utils" "40.2.0" + +"@ckeditor/ckeditor5-utils@40.2.0": + version "40.2.0" + resolved "https://registry.yarnpkg.com/@ckeditor/ckeditor5-utils/-/ckeditor5-utils-40.2.0.tgz#2c603d1f96869639e5b79ef29f459bd4cd46bbe0" + integrity sha512-f+kTJBwwk7Y/LXm8pEPxBTXVlJwQrH7Levzye9zxEDB0Jtj7+brGr87o666fPmL/ATQc5M+VPhbvnk2sOv7WKg== + dependencies: + lodash-es "4.17.21" + +"@ckeditor/ckeditor5-vue@^5.1.0": + version "5.1.0" + resolved "https://registry.yarnpkg.com/@ckeditor/ckeditor5-vue/-/ckeditor5-vue-5.1.0.tgz#1fb371f8d1e66746c63714c779644686e138ccf7" + integrity sha512-KEx4Tj2Irr4ZbLG8LnaKpb0Dgd8qmLmKFWeiKkQwM3RAAeYRYOCcBVB2Y168I9KA8wRosPxgOO9jbQ92yopYHA== + +"@ckeditor/ckeditor5-watchdog@40.2.0": + version "40.2.0" + resolved "https://registry.yarnpkg.com/@ckeditor/ckeditor5-watchdog/-/ckeditor5-watchdog-40.2.0.tgz#f5c72f0a3feb775be22bbaf595af3edbe8576f5c" + integrity sha512-ets7o2dUR7l23G9o/RAbu+gJzUkc2Ul269E3TEhZnbQXFjshvEGK2kzuay7I+/waL3ADuYe4zuoBqsqdPoAhfg== + dependencies: + lodash-es "4.17.21" + +"@ckeditor/ckeditor5-widget@40.2.0": + version "40.2.0" + resolved "https://registry.yarnpkg.com/@ckeditor/ckeditor5-widget/-/ckeditor5-widget-40.2.0.tgz#fb54ff8fd4fc31393d492c331f305afdcba338ee" + integrity sha512-okeUSwbnu6TUKvwBOl0YdED6Me0/vvs1ybfKZPNEJNwGl989iG0LQO4oYUye8BTCZvzCZ2cBTb1Cvnwr8KRcbg== + dependencies: + "@ckeditor/ckeditor5-core" "40.2.0" + "@ckeditor/ckeditor5-engine" "40.2.0" + "@ckeditor/ckeditor5-enter" "40.2.0" + "@ckeditor/ckeditor5-typing" "40.2.0" + "@ckeditor/ckeditor5-ui" "40.2.0" + "@ckeditor/ckeditor5-utils" "40.2.0" + lodash-es "4.17.21" + +"@ctrl/tinycolor@^3.4.1": + version "3.6.1" + resolved "https://registry.yarnpkg.com/@ctrl/tinycolor/-/tinycolor-3.6.1.tgz#b6c75a56a1947cc916ea058772d666a2c8932f31" + integrity sha512-SITSV6aIXsuVNV3f3O0f2n/cgyEDWoSqtZMYiAmcsYHydcKrOz3gUxB/iXd/Qf08+IZX4KpgNbvUdMBmWz+kcA== + +"@element-plus/icons-vue@^2.3.1": + version "2.3.1" + resolved "https://registry.yarnpkg.com/@element-plus/icons-vue/-/icons-vue-2.3.1.tgz#1f635ad5fdd5c85ed936481525570e82b5a8307a" + integrity sha512-XxVUZv48RZAd87ucGS48jPf6pKu0yV5UCg9f4FFwtrYxXOwWuVJo6wOvSLKEoMQKjv8GsX/mhP6UsC1lRwbUWg== + +"@esbuild/android-arm64@0.18.20": + version "0.18.20" + resolved "https://registry.yarnpkg.com/@esbuild/android-arm64/-/android-arm64-0.18.20.tgz#984b4f9c8d0377443cc2dfcef266d02244593622" + integrity sha512-Nz4rJcchGDtENV0eMKUNa6L12zz2zBDXuhj/Vjh18zGqB44Bi7MBMSXjgunJgjRhCmKOjnPuZp4Mb6OKqtMHLQ== + +"@esbuild/android-arm@0.18.20": + version "0.18.20" + resolved "https://registry.yarnpkg.com/@esbuild/android-arm/-/android-arm-0.18.20.tgz#fedb265bc3a589c84cc11f810804f234947c3682" + integrity sha512-fyi7TDI/ijKKNZTUJAQqiG5T7YjJXgnzkURqmGj13C6dCqckZBLdl4h7bkhHt/t0WP+zO9/zwroDvANaOqO5Sw== + +"@esbuild/android-x64@0.18.20": + version "0.18.20" + resolved "https://registry.yarnpkg.com/@esbuild/android-x64/-/android-x64-0.18.20.tgz#35cf419c4cfc8babe8893d296cd990e9e9f756f2" + integrity sha512-8GDdlePJA8D6zlZYJV/jnrRAi6rOiNaCC/JclcXpB+KIuvfBN4owLtgzY2bsxnx666XjJx2kDPUmnTtR8qKQUg== + +"@esbuild/darwin-arm64@0.18.20": + version "0.18.20" + resolved "https://registry.yarnpkg.com/@esbuild/darwin-arm64/-/darwin-arm64-0.18.20.tgz#08172cbeccf95fbc383399a7f39cfbddaeb0d7c1" + integrity sha512-bxRHW5kHU38zS2lPTPOyuyTm+S+eobPUnTNkdJEfAddYgEcll4xkT8DB9d2008DtTbl7uJag2HuE5NZAZgnNEA== + +"@esbuild/darwin-x64@0.18.20": + version "0.18.20" + resolved "https://registry.yarnpkg.com/@esbuild/darwin-x64/-/darwin-x64-0.18.20.tgz#d70d5790d8bf475556b67d0f8b7c5bdff053d85d" + integrity sha512-pc5gxlMDxzm513qPGbCbDukOdsGtKhfxD1zJKXjCCcU7ju50O7MeAZ8c4krSJcOIJGFR+qx21yMMVYwiQvyTyQ== + +"@esbuild/freebsd-arm64@0.18.20": + version "0.18.20" + resolved "https://registry.yarnpkg.com/@esbuild/freebsd-arm64/-/freebsd-arm64-0.18.20.tgz#98755cd12707f93f210e2494d6a4b51b96977f54" + integrity sha512-yqDQHy4QHevpMAaxhhIwYPMv1NECwOvIpGCZkECn8w2WFHXjEwrBn3CeNIYsibZ/iZEUemj++M26W3cNR5h+Tw== + +"@esbuild/freebsd-x64@0.18.20": + version "0.18.20" + resolved "https://registry.yarnpkg.com/@esbuild/freebsd-x64/-/freebsd-x64-0.18.20.tgz#c1eb2bff03915f87c29cece4c1a7fa1f423b066e" + integrity sha512-tgWRPPuQsd3RmBZwarGVHZQvtzfEBOreNuxEMKFcd5DaDn2PbBxfwLcj4+aenoh7ctXcbXmOQIn8HI6mCSw5MQ== + +"@esbuild/linux-arm64@0.18.20": + version "0.18.20" + resolved "https://registry.yarnpkg.com/@esbuild/linux-arm64/-/linux-arm64-0.18.20.tgz#bad4238bd8f4fc25b5a021280c770ab5fc3a02a0" + integrity sha512-2YbscF+UL7SQAVIpnWvYwM+3LskyDmPhe31pE7/aoTMFKKzIc9lLbyGUpmmb8a8AixOL61sQ/mFh3jEjHYFvdA== + +"@esbuild/linux-arm@0.18.20": + version "0.18.20" + resolved "https://registry.yarnpkg.com/@esbuild/linux-arm/-/linux-arm-0.18.20.tgz#3e617c61f33508a27150ee417543c8ab5acc73b0" + integrity sha512-/5bHkMWnq1EgKr1V+Ybz3s1hWXok7mDFUMQ4cG10AfW3wL02PSZi5kFpYKrptDsgb2WAJIvRcDm+qIvXf/apvg== + +"@esbuild/linux-ia32@0.18.20": + version "0.18.20" + resolved "https://registry.yarnpkg.com/@esbuild/linux-ia32/-/linux-ia32-0.18.20.tgz#699391cccba9aee6019b7f9892eb99219f1570a7" + integrity sha512-P4etWwq6IsReT0E1KHU40bOnzMHoH73aXp96Fs8TIT6z9Hu8G6+0SHSw9i2isWrD2nbx2qo5yUqACgdfVGx7TA== + +"@esbuild/linux-loong64@0.18.20": + version "0.18.20" + resolved "https://registry.yarnpkg.com/@esbuild/linux-loong64/-/linux-loong64-0.18.20.tgz#e6fccb7aac178dd2ffb9860465ac89d7f23b977d" + integrity sha512-nXW8nqBTrOpDLPgPY9uV+/1DjxoQ7DoB2N8eocyq8I9XuqJ7BiAMDMf9n1xZM9TgW0J8zrquIb/A7s3BJv7rjg== + +"@esbuild/linux-mips64el@0.18.20": + version "0.18.20" + resolved "https://registry.yarnpkg.com/@esbuild/linux-mips64el/-/linux-mips64el-0.18.20.tgz#eeff3a937de9c2310de30622a957ad1bd9183231" + integrity sha512-d5NeaXZcHp8PzYy5VnXV3VSd2D328Zb+9dEq5HE6bw6+N86JVPExrA6O68OPwobntbNJ0pzCpUFZTo3w0GyetQ== + +"@esbuild/linux-ppc64@0.18.20": + version "0.18.20" + resolved "https://registry.yarnpkg.com/@esbuild/linux-ppc64/-/linux-ppc64-0.18.20.tgz#2f7156bde20b01527993e6881435ad79ba9599fb" + integrity sha512-WHPyeScRNcmANnLQkq6AfyXRFr5D6N2sKgkFo2FqguP44Nw2eyDlbTdZwd9GYk98DZG9QItIiTlFLHJHjxP3FA== + +"@esbuild/linux-riscv64@0.18.20": + version "0.18.20" + resolved "https://registry.yarnpkg.com/@esbuild/linux-riscv64/-/linux-riscv64-0.18.20.tgz#6628389f210123d8b4743045af8caa7d4ddfc7a6" + integrity sha512-WSxo6h5ecI5XH34KC7w5veNnKkju3zBRLEQNY7mv5mtBmrP/MjNBCAlsM2u5hDBlS3NGcTQpoBvRzqBcRtpq1A== + +"@esbuild/linux-s390x@0.18.20": + version "0.18.20" + resolved "https://registry.yarnpkg.com/@esbuild/linux-s390x/-/linux-s390x-0.18.20.tgz#255e81fb289b101026131858ab99fba63dcf0071" + integrity sha512-+8231GMs3mAEth6Ja1iK0a1sQ3ohfcpzpRLH8uuc5/KVDFneH6jtAJLFGafpzpMRO6DzJ6AvXKze9LfFMrIHVQ== + +"@esbuild/linux-x64@0.18.20": + version "0.18.20" + resolved "https://registry.yarnpkg.com/@esbuild/linux-x64/-/linux-x64-0.18.20.tgz#c7690b3417af318a9b6f96df3031a8865176d338" + integrity sha512-UYqiqemphJcNsFEskc73jQ7B9jgwjWrSayxawS6UVFZGWrAAtkzjxSqnoclCXxWtfwLdzU+vTpcNYhpn43uP1w== + +"@esbuild/netbsd-x64@0.18.20": + version "0.18.20" + resolved "https://registry.yarnpkg.com/@esbuild/netbsd-x64/-/netbsd-x64-0.18.20.tgz#30e8cd8a3dded63975e2df2438ca109601ebe0d1" + integrity sha512-iO1c++VP6xUBUmltHZoMtCUdPlnPGdBom6IrO4gyKPFFVBKioIImVooR5I83nTew5UOYrk3gIJhbZh8X44y06A== + +"@esbuild/openbsd-x64@0.18.20": + version "0.18.20" + resolved "https://registry.yarnpkg.com/@esbuild/openbsd-x64/-/openbsd-x64-0.18.20.tgz#7812af31b205055874c8082ea9cf9ab0da6217ae" + integrity sha512-e5e4YSsuQfX4cxcygw/UCPIEP6wbIL+se3sxPdCiMbFLBWu0eiZOJ7WoD+ptCLrmjZBK1Wk7I6D/I3NglUGOxg== + +"@esbuild/sunos-x64@0.18.20": + version "0.18.20" + resolved "https://registry.yarnpkg.com/@esbuild/sunos-x64/-/sunos-x64-0.18.20.tgz#d5c275c3b4e73c9b0ecd38d1ca62c020f887ab9d" + integrity sha512-kDbFRFp0YpTQVVrqUd5FTYmWo45zGaXe0X8E1G/LKFC0v8x0vWrhOWSLITcCn63lmZIxfOMXtCfti/RxN/0wnQ== + +"@esbuild/win32-arm64@0.18.20": + version "0.18.20" + resolved "https://registry.yarnpkg.com/@esbuild/win32-arm64/-/win32-arm64-0.18.20.tgz#73bc7f5a9f8a77805f357fab97f290d0e4820ac9" + integrity sha512-ddYFR6ItYgoaq4v4JmQQaAI5s7npztfV4Ag6NrhiaW0RrnOXqBkgwZLofVTlq1daVTQNhtI5oieTvkRPfZrePg== + +"@esbuild/win32-ia32@0.18.20": + version "0.18.20" + resolved "https://registry.yarnpkg.com/@esbuild/win32-ia32/-/win32-ia32-0.18.20.tgz#ec93cbf0ef1085cc12e71e0d661d20569ff42102" + integrity sha512-Wv7QBi3ID/rROT08SABTS7eV4hX26sVduqDOTe1MvGMjNd3EjOz4b7zeexIR62GTIEKrfJXKL9LFxTYgkyeu7g== + +"@esbuild/win32-x64@0.18.20": + version "0.18.20" + resolved "https://registry.yarnpkg.com/@esbuild/win32-x64/-/win32-x64-0.18.20.tgz#786c5f41f043b07afb1af37683d7c33668858f6d" + integrity sha512-kTdfRcSiDfQca/y9QIkng02avJ+NCaQvrMejlsB3RRv5sE9rRoeBPISaZpKxHELzRxZyLvNts1P27W3wV+8geQ== + +"@floating-ui/core@^1.5.3": + version "1.5.3" + resolved "https://registry.yarnpkg.com/@floating-ui/core/-/core-1.5.3.tgz#b6aa0827708d70971c8679a16cf680a515b8a52a" + integrity sha512-O0WKDOo0yhJuugCx6trZQj5jVJ9yR0ystG2JaNAemYUWce+pmM6WUEFIibnWyEJKdrDxhm75NoSRME35FNaM/Q== + dependencies: + "@floating-ui/utils" "^0.2.0" + +"@floating-ui/dom@^1.0.1": + version "1.5.4" + resolved "https://registry.yarnpkg.com/@floating-ui/dom/-/dom-1.5.4.tgz#28df1e1cb373884224a463235c218dcbd81a16bb" + integrity sha512-jByEsHIY+eEdCjnTVu+E3ephzTOzkQ8hgUfGwos+bg7NlH33Zc5uO+QHz1mrQUOgIKKDD1RtS201P9NvAfq3XQ== + dependencies: + "@floating-ui/core" "^1.5.3" + "@floating-ui/utils" "^0.2.0" + +"@floating-ui/utils@^0.2.0": + version "0.2.1" + resolved "https://registry.yarnpkg.com/@floating-ui/utils/-/utils-0.2.1.tgz#16308cea045f0fc777b6ff20a9f25474dd8293d2" + integrity sha512-9TANp6GPoMtYzQdt54kfAyMmz1+osLlXdg2ENroU7zzrtflTLrrC/lgrIfaSe+Wu0b89GKccT7vxXA0MoAIO+Q== + +"@jridgewell/sourcemap-codec@^1.4.15": + version "1.4.15" + resolved "https://registry.yarnpkg.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz#d7c6e6755c78567a951e04ab52ef0fd26de59f32" + integrity sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg== + +"@nodelib/fs.scandir@2.1.5": + version "2.1.5" + resolved "https://registry.yarnpkg.com/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz#7619c2eb21b25483f6d167548b4cfd5a7488c3d5" + integrity sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g== + dependencies: + "@nodelib/fs.stat" "2.0.5" + run-parallel "^1.1.9" + +"@nodelib/fs.stat@2.0.5", "@nodelib/fs.stat@^2.0.2": + version "2.0.5" + resolved "https://registry.yarnpkg.com/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz#5bd262af94e9d25bd1e71b05deed44876a222e8b" + integrity sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A== + +"@nodelib/fs.walk@^1.2.3": + version "1.2.8" + resolved "https://registry.yarnpkg.com/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz#e95737e8bb6746ddedf69c556953494f196fe69a" + integrity sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg== + dependencies: + "@nodelib/fs.scandir" "2.1.5" + fastq "^1.6.0" + +"@popperjs/core@npm:@sxzz/popperjs-es@^2.11.7": + version "2.11.7" + resolved "https://registry.yarnpkg.com/@sxzz/popperjs-es/-/popperjs-es-2.11.7.tgz#a7f69e3665d3da9b115f9e71671dae1b97e13671" + integrity sha512-Ccy0NlLkzr0Ex2FKvh2X+OyERHXJ88XJ1MXtsI9y9fGexlaXaVTPzBCRBwIxFkORuOb+uBqeu+RqnpgYTEZRUQ== + +"@rollup/pluginutils@^5.0.2", "@rollup/pluginutils@^5.0.5", "@rollup/pluginutils@^5.1.0": + version "5.1.0" + resolved "https://registry.yarnpkg.com/@rollup/pluginutils/-/pluginutils-5.1.0.tgz#7e53eddc8c7f483a4ad0b94afb1f7f5fd3c771e0" + integrity sha512-XTIWOPPcpvyKI6L1NHo0lFlCyznUEyPmPY1mc3KpPVDYulHSTvyeLNVW00QTLIAFNhR3kYnJTQHeGqU4M3n09g== + dependencies: + "@types/estree" "^1.0.0" + estree-walker "^2.0.2" + picomatch "^2.3.1" + +"@types/estree@^1.0.0": + version "1.0.5" + resolved "https://registry.yarnpkg.com/@types/estree/-/estree-1.0.5.tgz#a6ce3e556e00fd9895dd872dd172ad0d4bd687f4" + integrity sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw== + +"@types/lodash-es@^4.17.6": + version "4.17.12" + resolved "https://registry.yarnpkg.com/@types/lodash-es/-/lodash-es-4.17.12.tgz#65f6d1e5f80539aa7cfbfc962de5def0cf4f341b" + integrity sha512-0NgftHUcV4v34VhXm8QBSftKVXtbkBG3ViCjs6+eJ5a6y6Mi/jiFGPc1sC7QK+9BFhWrURE3EOggmWaSxL9OzQ== + dependencies: + "@types/lodash" "*" + +"@types/lodash@*", "@types/lodash@^4.14.182": + version "4.14.202" + resolved "https://registry.yarnpkg.com/@types/lodash/-/lodash-4.14.202.tgz#f09dbd2fb082d507178b2f2a5c7e74bd72ff98f8" + integrity sha512-OvlIYQK9tNneDlS0VN54LLd5uiPCBOp7gS5Z0f1mjoJYBrtStzgmJBxONW3U6OZqdtNzZPmn9BS/7WI7BFFcFQ== + +"@types/web-bluetooth@^0.0.16": + version "0.0.16" + resolved "https://registry.yarnpkg.com/@types/web-bluetooth/-/web-bluetooth-0.0.16.tgz#1d12873a8e49567371f2a75fe3e7f7edca6662d8" + integrity sha512-oh8q2Zc32S6gd/j50GowEjKLoOVOwHP/bWVjKJInBwQqdOYMdPrf1oVlelTlyfFK3CKxL1uahMDAr+vy8T7yMQ== + +"@vitejs/plugin-vue@^4.2.3": + version "4.6.2" + resolved "https://registry.yarnpkg.com/@vitejs/plugin-vue/-/plugin-vue-4.6.2.tgz#057d2ded94c4e71b94e9814f92dcd9306317aa46" + integrity sha512-kqf7SGFoG+80aZG6Pf+gsZIVvGSCKE98JbiWqcCV9cThtg91Jav0yvYFC9Zb+jKetNGF6ZKeoaxgZfND21fWKw== + +"@vue/compiler-core@3.4.7": + version "3.4.7" + resolved "https://registry.yarnpkg.com/@vue/compiler-core/-/compiler-core-3.4.7.tgz#7c4d0f23a21e2e0e76ef9806b702712f23015e04" + integrity sha512-hhCaE3pTMrlIJK7M/o3Xf7HV8+JoNTGOQ/coWS+V+pH6QFFyqtoXqQzpqsNp7UK17xYKua/MBiKj4e1vgZOBYw== + dependencies: + "@babel/parser" "^7.23.6" + "@vue/shared" "3.4.7" + entities "^4.5.0" + estree-walker "^2.0.2" + source-map-js "^1.0.2" + +"@vue/compiler-dom@3.4.7": + version "3.4.7" + resolved "https://registry.yarnpkg.com/@vue/compiler-dom/-/compiler-dom-3.4.7.tgz#19c41236b56f2d4b777521587aea129636c52417" + integrity sha512-qDKBAIurCTub4n/6jDYkXwgsFuriqqmmLrIq1N2QDfYJA/mwiwvxi09OGn28g+uDdERX9NaKDLji0oTjE3sScg== + dependencies: + "@vue/compiler-core" "3.4.7" + "@vue/shared" "3.4.7" + +"@vue/compiler-sfc@3.4.7": + version "3.4.7" + resolved "https://registry.yarnpkg.com/@vue/compiler-sfc/-/compiler-sfc-3.4.7.tgz#2a50c25f163695a45ed7a085c82ee2b22f68f78d" + integrity sha512-Gec6CLkReVswDYjQFq79O5rktri4R7TsD/VPCiUoJw40JhNNxaNJJa8mrQrWoJluW4ETy6QN0NUyC/JO77OCOw== + dependencies: + "@babel/parser" "^7.23.6" + "@vue/compiler-core" "3.4.7" + "@vue/compiler-dom" "3.4.7" + "@vue/compiler-ssr" "3.4.7" + "@vue/shared" "3.4.7" + estree-walker "^2.0.2" + magic-string "^0.30.5" + postcss "^8.4.32" + source-map-js "^1.0.2" + +"@vue/compiler-ssr@3.4.7": + version "3.4.7" + resolved "https://registry.yarnpkg.com/@vue/compiler-ssr/-/compiler-ssr-3.4.7.tgz#76020fad73d0beef0953946d2c5aacb3faafff84" + integrity sha512-PvYeSOvnCkST5mGS0TLwEn5w+4GavtEn6adcq8AspbHaIr+mId5hp7cG3ASy3iy8b+LuXEG2/QaV/nj5BQ/Aww== + dependencies: + "@vue/compiler-dom" "3.4.7" + "@vue/shared" "3.4.7" + +"@vue/devtools-api@^6.5.0": + version "6.5.1" + resolved "https://registry.yarnpkg.com/@vue/devtools-api/-/devtools-api-6.5.1.tgz#7f71f31e40973eeee65b9a64382b13593fdbd697" + integrity sha512-+KpckaAQyfbvshdDW5xQylLni1asvNSGme1JFs8I1+/H5pHEhqUKMEQD/qn3Nx5+/nycBq11qAEi8lk+LXI2dA== + +"@vue/reactivity@3.4.7": + version "3.4.7" + resolved "https://registry.yarnpkg.com/@vue/reactivity/-/reactivity-3.4.7.tgz#034064c673fe22718c79ab95bb05dd72ce17d709" + integrity sha512-F539DO0ogH0+L8F9Pnw7cjqibcmSOh5UTk16u5f4MKQ8fraqepI9zdh+sozPX6VmEHOcjo8qw3Or9ZcFFw4SZA== + dependencies: + "@vue/shared" "3.4.7" + +"@vue/runtime-core@3.4.7": + version "3.4.7" + resolved "https://registry.yarnpkg.com/@vue/runtime-core/-/runtime-core-3.4.7.tgz#c1e59a2c190d36b23589545dd3a471ce9f63f784" + integrity sha512-QMMsWRQaD3BpGyjjChthpl4Mji4Fjx1qfdufsXlDkKU3HV+hWNor2z+29F+E1MmVcP0ZfRZUfqYgtsQoL7IGwQ== + dependencies: + "@vue/reactivity" "3.4.7" + "@vue/shared" "3.4.7" + +"@vue/runtime-dom@3.4.7": + version "3.4.7" + resolved "https://registry.yarnpkg.com/@vue/runtime-dom/-/runtime-dom-3.4.7.tgz#b16c8be22a345dc5b63338b0d2bc3240a58ca6ac" + integrity sha512-XwegyUY1rw8zxsX1Z36vwYcqo+uOgih5ti7y9vx+pPFhNdSQmN4LqK2RmSeAJG1oKV8NqSUmjpv92f/x6h0SeQ== + dependencies: + "@vue/runtime-core" "3.4.7" + "@vue/shared" "3.4.7" + csstype "^3.1.3" + +"@vue/server-renderer@3.4.7": + version "3.4.7" + resolved "https://registry.yarnpkg.com/@vue/server-renderer/-/server-renderer-3.4.7.tgz#97efcfeebd299d96ebd1817372f5a75ec3f3af96" + integrity sha512-3bWnYLEkLLhkDWqvNk7IvbQD4UcxvFKxELBiOO2iG3m6AniFIsBWfHOO5tLVQnjdWkODu4rq0GipmfEenVAK5Q== + dependencies: + "@vue/compiler-ssr" "3.4.7" + "@vue/shared" "3.4.7" + +"@vue/shared@3.4.7": + version "3.4.7" + resolved "https://registry.yarnpkg.com/@vue/shared/-/shared-3.4.7.tgz#14fce32833f9f4811a2997c072f19e4adfed19d2" + integrity sha512-G+i4glX1dMJk88sbJEcQEGWRQnVm9eIY7CcQbO5dpdsD9SF8jka3Mr5OqZYGjczGN1+D6EUwdu6phcmcx9iuPA== + +"@vueuse/core@^9.1.0": + version "9.13.0" + resolved "https://registry.yarnpkg.com/@vueuse/core/-/core-9.13.0.tgz#2f69e66d1905c1e4eebc249a01759cf88ea00cf4" + integrity sha512-pujnclbeHWxxPRqXWmdkKV5OX4Wk4YeK7wusHqRwU0Q7EFusHoqNA/aPhB6KCh9hEqJkLAJo7bb0Lh9b+OIVzw== + dependencies: + "@types/web-bluetooth" "^0.0.16" + "@vueuse/metadata" "9.13.0" + "@vueuse/shared" "9.13.0" + vue-demi "*" + +"@vueuse/metadata@9.13.0": + version "9.13.0" + resolved "https://registry.yarnpkg.com/@vueuse/metadata/-/metadata-9.13.0.tgz#bc25a6cdad1b1a93c36ce30191124da6520539ff" + integrity sha512-gdU7TKNAUVlXXLbaF+ZCfte8BjRJQWPCa2J55+7/h+yDtzw3vOoGQDRXzI6pyKyo6bXFT5/QoPE4hAknExjRLQ== + +"@vueuse/shared@9.13.0": + version "9.13.0" + resolved "https://registry.yarnpkg.com/@vueuse/shared/-/shared-9.13.0.tgz#089ff4cc4e2e7a4015e57a8f32e4b39d096353b9" + integrity sha512-UrnhU+Cnufu4S6JLCPZnkWh0WwZGUp72ktOF2DFptMlOs3TOdVv8xJN53zhHGARmVOsz5KqOls09+J1NR6sBKw== + dependencies: + vue-demi "*" + +acorn@^8.10.0, acorn@^8.11.2: + version "8.11.3" + resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.11.3.tgz#71e0b14e13a4ec160724b38fb7b0f233b1b81d7a" + integrity sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg== + +anymatch@~3.1.2: + version "3.1.3" + resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-3.1.3.tgz#790c58b19ba1720a84205b57c618d5ad8524973e" + integrity sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw== + dependencies: + normalize-path "^3.0.0" + picomatch "^2.0.4" + +async-validator@^4.2.5: + version "4.2.5" + resolved "https://registry.yarnpkg.com/async-validator/-/async-validator-4.2.5.tgz#c96ea3332a521699d0afaaceed510a54656c6339" + integrity sha512-7HhHjtERjqlNbZtqNqy2rckN/SpOOlmDliet+lP7k+eKZEjPk3DgyeU9lIXLdeLz0uBbbVp+9Qdow9wJWgwwfg== + +asynckit@^0.4.0: + version "0.4.0" + resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79" + integrity sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q== + +axios@^1.5.1: + version "1.6.5" + resolved "https://registry.yarnpkg.com/axios/-/axios-1.6.5.tgz#2c090da14aeeab3770ad30c3a1461bc970fb0cd8" + integrity sha512-Ii012v05KEVuUoFWmMW/UQv9aRIc3ZwkWDcM+h5Il8izZCtRVpDUfwpoFf7eOtajT3QiGR4yDUx7lPqHJULgbg== + dependencies: + follow-redirects "^1.15.4" + form-data "^4.0.0" + proxy-from-env "^1.1.0" + +balanced-match@^1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.2.tgz#e83e3a7e3f300b34cb9d87f615fa0cbf357690ee" + integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw== + +binary-extensions@^2.0.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-2.2.0.tgz#75f502eeaf9ffde42fc98829645be4ea76bd9e2d" + integrity sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA== + +brace-expansion@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-2.0.1.tgz#1edc459e0f0c548486ecf9fc99f2221364b9a0ae" + integrity sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA== + dependencies: + balanced-match "^1.0.0" + +braces@^3.0.2, braces@~3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/braces/-/braces-3.0.2.tgz#3454e1a462ee8d599e236df336cd9ea4f8afe107" + integrity sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A== + dependencies: + fill-range "^7.0.1" + +chokidar@^3.5.3: + version "3.5.3" + resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.5.3.tgz#1cf37c8707b932bd1af1ae22c0432e2acd1903bd" + integrity sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw== + dependencies: + anymatch "~3.1.2" + braces "~3.0.2" + glob-parent "~5.1.2" + is-binary-path "~2.1.0" + is-glob "~4.0.1" + normalize-path "~3.0.0" + readdirp "~3.6.0" + optionalDependencies: + fsevents "~2.3.2" + +"ckeditor5-custom-build@file:./ckeditor5": + version "0.0.1" + dependencies: + "@ckeditor/ckeditor5-autoformat" "40.2.0" + "@ckeditor/ckeditor5-basic-styles" "40.2.0" + "@ckeditor/ckeditor5-block-quote" "40.2.0" + "@ckeditor/ckeditor5-cloud-services" "40.2.0" + "@ckeditor/ckeditor5-editor-classic" "40.2.0" + "@ckeditor/ckeditor5-essentials" "40.2.0" + "@ckeditor/ckeditor5-font" "40.2.0" + "@ckeditor/ckeditor5-heading" "40.2.0" + "@ckeditor/ckeditor5-html-support" "40.2.0" + "@ckeditor/ckeditor5-image" "40.2.0" + "@ckeditor/ckeditor5-indent" "40.2.0" + "@ckeditor/ckeditor5-link" "40.2.0" + "@ckeditor/ckeditor5-list" "40.2.0" + "@ckeditor/ckeditor5-media-embed" "40.2.0" + "@ckeditor/ckeditor5-paragraph" "40.2.0" + "@ckeditor/ckeditor5-paste-from-office" "40.2.0" + "@ckeditor/ckeditor5-source-editing" "40.2.0" + "@ckeditor/ckeditor5-style" "40.2.0" + "@ckeditor/ckeditor5-table" "40.2.0" + "@ckeditor/ckeditor5-typing" "40.2.0" + "@ckeditor/ckeditor5-undo" "40.2.0" + "@ckeditor/ckeditor5-upload" "40.2.0" + +ckeditor5@40.2.0: + version "40.2.0" + resolved "https://registry.yarnpkg.com/ckeditor5/-/ckeditor5-40.2.0.tgz#9dfc6fbdbbff1ce8c4b9498a5f204460feea5e46" + integrity sha512-JaFuY/6DX1wbA6yRB2xQVMr+9W1C3HvSX4AT10ccoKBKe9OctIatekDt2ztV+cMaVHLF1wocskS/Ql9XFRy2Eg== + dependencies: + "@ckeditor/ckeditor5-clipboard" "40.2.0" + "@ckeditor/ckeditor5-core" "40.2.0" + "@ckeditor/ckeditor5-engine" "40.2.0" + "@ckeditor/ckeditor5-enter" "40.2.0" + "@ckeditor/ckeditor5-paragraph" "40.2.0" + "@ckeditor/ckeditor5-select-all" "40.2.0" + "@ckeditor/ckeditor5-typing" "40.2.0" + "@ckeditor/ckeditor5-ui" "40.2.0" + "@ckeditor/ckeditor5-undo" "40.2.0" + "@ckeditor/ckeditor5-upload" "40.2.0" + "@ckeditor/ckeditor5-utils" "40.2.0" + "@ckeditor/ckeditor5-watchdog" "40.2.0" + "@ckeditor/ckeditor5-widget" "40.2.0" + +classnames@^2.2.6: + version "2.5.1" + resolved "https://registry.yarnpkg.com/classnames/-/classnames-2.5.1.tgz#ba774c614be0f016da105c858e7159eae8e7687b" + integrity sha512-saHYOzhIQs6wy2sVxTM6bUDsQO4F50V9RQ22qBpEdCW+I+/Wmke2HOl6lS6dTpdxVhb88/I6+Hs+438c3lfUow== + +color-convert@2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-2.0.1.tgz#72d3a68d598c9bdb3af2ad1e84f21d896abd4de3" + integrity sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ== + dependencies: + color-name "~1.1.4" + +color-name@^1.0.0, color-name@~1.1.4: + version "1.1.4" + resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2" + integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== + +color-parse@1.4.2: + version "1.4.2" + resolved "https://registry.yarnpkg.com/color-parse/-/color-parse-1.4.2.tgz#78651f5d34df1a57f997643d86f7f87268ad4eb5" + integrity sha512-RI7s49/8yqDj3fECFZjUI1Yi0z/Gq1py43oNJivAIIDSyJiOZLfYCRQEgn8HEVAj++PcRe8AnL2XF0fRJ3BTnA== + dependencies: + color-name "^1.0.0" + +combined-stream@^1.0.8: + version "1.0.8" + resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.8.tgz#c3d45a8b34fd730631a110a8a2520682b31d5a7f" + integrity sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg== + dependencies: + delayed-stream "~1.0.0" + +copy-anything@^2.0.1: + version "2.0.6" + resolved "https://registry.yarnpkg.com/copy-anything/-/copy-anything-2.0.6.tgz#092454ea9584a7b7ad5573062b2a87f5900fc480" + integrity sha512-1j20GZTsvKNkc4BY3NpMOM8tt///wY3FpIzozTOFO2ffuZcV61nojHXVKIy3WM+7ADCy5FVhdZYHYDdgTU0yJw== + dependencies: + is-what "^3.14.1" + +csstype@^3.1.3: + version "3.1.3" + resolved "https://registry.yarnpkg.com/csstype/-/csstype-3.1.3.tgz#d80ff294d114fb0e6ac500fbf85b60137d7eff81" + integrity sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw== + +dayjs@^1.11.3: + version "1.11.10" + resolved "https://registry.yarnpkg.com/dayjs/-/dayjs-1.11.10.tgz#68acea85317a6e164457d6d6947564029a6a16a0" + integrity sha512-vjAczensTgRcqDERK0SR2XMwsF/tSvnvlv6VcF2GIhg6Sx4yOIt/irsr1RDJsKiIyBzJDpCoXiWWq28MqH2cnQ== + +debounce@^1.2.0: + version "1.2.1" + resolved "https://registry.yarnpkg.com/debounce/-/debounce-1.2.1.tgz#38881d8f4166a5c5848020c11827b834bcb3e0a5" + integrity sha512-XRRe6Glud4rd/ZGQfiV1ruXSfbvfJedlV9Y6zOlP+2K04vBYiJEte6stfFkCP03aMnY5tsipamumUjL14fofug== + +debug@^4.3.4: + version "4.3.4" + resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.4.tgz#1319f6579357f2338d3337d2cdd4914bb5dcc865" + integrity sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ== + dependencies: + ms "2.1.2" + +deepmerge@^4.3.1: + version "4.3.1" + resolved "https://registry.yarnpkg.com/deepmerge/-/deepmerge-4.3.1.tgz#44b5f2147cd3b00d4b56137685966f26fd25dd4a" + integrity sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A== + +delayed-stream@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619" + integrity sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ== + +easy-bem@^1.0.2: + version "1.1.1" + resolved "https://registry.yarnpkg.com/easy-bem/-/easy-bem-1.1.1.tgz#1bfcc10425498090bcfddc0f9c000aba91399e03" + integrity sha512-GJRqdiy2h+EXy6a8E6R+ubmqUM08BK0FWNq41k24fup6045biQ8NXxoXimiwegMQvFFV3t1emADdGNL1TlS61A== + +echarts@^5.4.3: + version "5.4.3" + resolved "https://registry.yarnpkg.com/echarts/-/echarts-5.4.3.tgz#f5522ef24419164903eedcfd2b506c6fc91fb20c" + integrity sha512-mYKxLxhzy6zyTi/FaEbJMOZU1ULGEQHaeIeuMR5L+JnJTpz+YR03mnnpBhbR4+UYJAgiXgpyTVLffPAjOTLkZA== + dependencies: + tslib "2.3.0" + zrender "5.4.4" + +element-plus@^2.3.14: + version "2.5.0" + resolved "https://registry.yarnpkg.com/element-plus/-/element-plus-2.5.0.tgz#f59a9dccd650e35ef97f640f896ac6c3f0b3fe6e" + integrity sha512-NE58a5Exf0/vxgxRRR2Ibs7AjiqB72lMrg7plmSoZwgZy17IQAWgzOe7ZyRtEQM/3q3BAuJDTUUAuhP/mKVPKg== + dependencies: + "@ctrl/tinycolor" "^3.4.1" + "@element-plus/icons-vue" "^2.3.1" + "@floating-ui/dom" "^1.0.1" + "@popperjs/core" "npm:@sxzz/popperjs-es@^2.11.7" + "@types/lodash" "^4.14.182" + "@types/lodash-es" "^4.17.6" + "@vueuse/core" "^9.1.0" + async-validator "^4.2.5" + dayjs "^1.11.3" + escape-html "^1.0.3" + lodash "^4.17.21" + lodash-es "^4.17.21" + lodash-unified "^1.0.2" + memoize-one "^6.0.0" + normalize-wheel-es "^1.2.0" + +enquire.js@^2.1.6: + version "2.1.6" + resolved "https://registry.yarnpkg.com/enquire.js/-/enquire.js-2.1.6.tgz#3e8780c9b8b835084c3f60e166dbc3c2a3c89814" + integrity sha512-/KujNpO+PT63F7Hlpu4h3pE3TokKRHN26JYmQpPyjkRD/N57R7bPDNojMXdi7uveAKjYB7yQnartCxZnFWr0Xw== + +entities@^4.5.0: + version "4.5.0" + resolved "https://registry.yarnpkg.com/entities/-/entities-4.5.0.tgz#5d268ea5e7113ec74c4d033b79ea5a35a488fb48" + integrity sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw== + +errno@^0.1.1: + version "0.1.8" + resolved "https://registry.yarnpkg.com/errno/-/errno-0.1.8.tgz#8bb3e9c7d463be4976ff888f76b4809ebc2e811f" + integrity sha512-dJ6oBr5SQ1VSd9qkk7ByRgb/1SH4JZjCHSW/mr63/QcXO9zLVxvJ6Oy13nio03rxpSnVDDjFor75SjVeZWPW/A== + dependencies: + prr "~1.0.1" + +esbuild@^0.18.10: + version "0.18.20" + resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.18.20.tgz#4709f5a34801b43b799ab7d6d82f7284a9b7a7a6" + integrity sha512-ceqxoedUrcayh7Y7ZX6NdbbDzGROiyVBgC4PriJThBKSVPWnnFHZAkfI1lJT8QFkOwH4qOS2SJkS4wvpGl8BpA== + optionalDependencies: + "@esbuild/android-arm" "0.18.20" + "@esbuild/android-arm64" "0.18.20" + "@esbuild/android-x64" "0.18.20" + "@esbuild/darwin-arm64" "0.18.20" + "@esbuild/darwin-x64" "0.18.20" + "@esbuild/freebsd-arm64" "0.18.20" + "@esbuild/freebsd-x64" "0.18.20" + "@esbuild/linux-arm" "0.18.20" + "@esbuild/linux-arm64" "0.18.20" + "@esbuild/linux-ia32" "0.18.20" + "@esbuild/linux-loong64" "0.18.20" + "@esbuild/linux-mips64el" "0.18.20" + "@esbuild/linux-ppc64" "0.18.20" + "@esbuild/linux-riscv64" "0.18.20" + "@esbuild/linux-s390x" "0.18.20" + "@esbuild/linux-x64" "0.18.20" + "@esbuild/netbsd-x64" "0.18.20" + "@esbuild/openbsd-x64" "0.18.20" + "@esbuild/sunos-x64" "0.18.20" + "@esbuild/win32-arm64" "0.18.20" + "@esbuild/win32-ia32" "0.18.20" + "@esbuild/win32-x64" "0.18.20" + +escape-html@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/escape-html/-/escape-html-1.0.3.tgz#0258eae4d3d0c0974de1c169188ef0051d1d1988" + integrity sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow== + +escape-string-regexp@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-5.0.0.tgz#4683126b500b61762f2dbebace1806e8be31b1c8" + integrity sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw== + +estree-walker@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/estree-walker/-/estree-walker-2.0.2.tgz#52f010178c2a4c117a7757cfe942adb7d2da4cac" + integrity sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w== + +estree-walker@^3.0.3: + version "3.0.3" + resolved "https://registry.yarnpkg.com/estree-walker/-/estree-walker-3.0.3.tgz#67c3e549ec402a487b4fc193d1953a524752340d" + integrity sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g== + dependencies: + "@types/estree" "^1.0.0" + +fast-glob@^3.3.0, fast-glob@^3.3.1, fast-glob@^3.3.2: + version "3.3.2" + resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.3.2.tgz#a904501e57cfdd2ffcded45e99a54fef55e46129" + integrity sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow== + dependencies: + "@nodelib/fs.stat" "^2.0.2" + "@nodelib/fs.walk" "^1.2.3" + glob-parent "^5.1.2" + merge2 "^1.3.0" + micromatch "^4.0.4" + +fastq@^1.6.0: + version "1.16.0" + resolved "https://registry.yarnpkg.com/fastq/-/fastq-1.16.0.tgz#83b9a9375692db77a822df081edb6a9cf6839320" + integrity sha512-ifCoaXsDrsdkWTtiNJX5uzHDsrck5TzfKKDcuFFTIrrc/BS076qgEIfoIy1VeZqViznfKiysPYTh/QeHtnIsYA== + dependencies: + reusify "^1.0.4" + +fill-range@^7.0.1: + version "7.0.1" + resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-7.0.1.tgz#1919a6a7c75fe38b2c7c77e5198535da9acdda40" + integrity sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ== + dependencies: + to-regex-range "^5.0.1" + +follow-redirects@^1.15.4: + version "1.15.4" + resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.15.4.tgz#cdc7d308bf6493126b17ea2191ea0ccf3e535adf" + integrity sha512-Cr4D/5wlrb0z9dgERpUL3LrmPKVDsETIJhaCMeDfuFYcqa5bldGV6wBsAN6X/vxlXQtFBMrXdXxdL8CbDTGniw== + +form-data@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/form-data/-/form-data-4.0.0.tgz#93919daeaf361ee529584b9b31664dc12c9fa452" + integrity sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww== + dependencies: + asynckit "^0.4.0" + combined-stream "^1.0.8" + mime-types "^2.1.12" + +fsevents@~2.3.2: + version "2.3.3" + resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.3.tgz#cac6407785d03675a2a5e1a5305c697b347d90d6" + integrity sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw== + +function-bind@^1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.2.tgz#2c02d864d97f3ea6c8830c464cbd11ab6eab7a1c" + integrity sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA== + +glob-parent@^5.1.2, glob-parent@~5.1.2: + version "5.1.2" + resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.2.tgz#869832c58034fe68a4093c17dc15e8340d8401c4" + integrity sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow== + dependencies: + is-glob "^4.0.1" + +graceful-fs@^4.1.2: + version "4.2.11" + resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.11.tgz#4183e4e8bf08bb6e05bbb2f7d2e0c8f712ca40e3" + integrity sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ== + +hasown@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/hasown/-/hasown-2.0.0.tgz#f4c513d454a57b7c7e1650778de226b11700546c" + integrity sha512-vUptKVTpIJhcczKBbgnS+RtcuYMB8+oNzPK2/Hp3hanz8JmpATdmmgLgSaadVREkDm+e2giHwY3ZRkyjSIDDFA== + dependencies: + function-bind "^1.1.2" + +iconv-lite@^0.6.3: + version "0.6.3" + resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.6.3.tgz#a52f80bf38da1952eb5c681790719871a1a72501" + integrity sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw== + dependencies: + safer-buffer ">= 2.1.2 < 3.0.0" + +image-size@~0.5.0: + version "0.5.5" + resolved "https://registry.yarnpkg.com/image-size/-/image-size-0.5.5.tgz#09dfd4ab9d20e29eb1c3e80b8990378df9e3cb9c" + integrity sha512-6TDAlDPZxUFCv+fuOkIoXT/V/f3Qbq8e37p+YOiYrUv3v9cc3/6x78VdfPgFVaB9dZYeLUfKgHRebpkm/oP2VQ== + +is-binary-path@~2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-2.1.0.tgz#ea1f7f3b80f064236e83470f86c09c254fb45b09" + integrity sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw== + dependencies: + binary-extensions "^2.0.0" + +is-core-module@^2.13.0: + version "2.13.1" + resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.13.1.tgz#ad0d7532c6fea9da1ebdc82742d74525c6273384" + integrity sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw== + dependencies: + hasown "^2.0.0" + +is-extglob@^2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2" + integrity sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ== + +is-glob@^4.0.1, is-glob@~4.0.1: + version "4.0.3" + resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.3.tgz#64f61e42cbbb2eec2071a9dac0b28ba1e65d5084" + integrity sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg== + dependencies: + is-extglob "^2.1.1" + +is-number@^7.0.0: + version "7.0.0" + resolved "https://registry.yarnpkg.com/is-number/-/is-number-7.0.0.tgz#7535345b896734d5f80c4d06c50955527a14f12b" + integrity sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng== + +is-what@^3.14.1: + version "3.14.1" + resolved "https://registry.yarnpkg.com/is-what/-/is-what-3.14.1.tgz#e1222f46ddda85dead0fd1c9df131760e77755c1" + integrity sha512-sNxgpk9793nzSs7bA6JQJGeIuRBQhAaNGG77kzYQgMkrID+lS6SlK07K5LaptscDlSaIgH+GPFzf+d75FVxozA== + +js-cookie@^3.0.5: + version "3.0.5" + resolved "https://registry.yarnpkg.com/js-cookie/-/js-cookie-3.0.5.tgz#0b7e2fd0c01552c58ba86e0841f94dc2557dcdbc" + integrity sha512-cEiJEAEoIbWfCZYKWhVwFuvPX1gETRYPw6LlaTKoxD3s2AkXzkCjnp6h0V77ozyqj0jakteJ4YqDJT830+lVGw== + +jsonc-parser@^3.2.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/jsonc-parser/-/jsonc-parser-3.2.0.tgz#31ff3f4c2b9793f89c67212627c51c6394f88e76" + integrity sha512-gfFQZrcTc8CnKXp6Y4/CBT3fTc0OVuDofpre4aEeEpSBPV5X5v4+Vmx+8snU7RLPrNHPKSgLxGo9YuQzz20o+w== + +less@^4.2.0: + version "4.2.0" + resolved "https://registry.yarnpkg.com/less/-/less-4.2.0.tgz#cbefbfaa14a4cd388e2099b2b51f956e1465c450" + integrity sha512-P3b3HJDBtSzsXUl0im2L7gTO5Ubg8mEN6G8qoTS77iXxXX4Hvu4Qj540PZDvQ8V6DmX6iXo98k7Md0Cm1PrLaA== + dependencies: + copy-anything "^2.0.1" + parse-node-version "^1.0.1" + tslib "^2.3.0" + optionalDependencies: + errno "^0.1.1" + graceful-fs "^4.1.2" + image-size "~0.5.0" + make-dir "^2.1.0" + mime "^1.4.1" + needle "^3.1.0" + source-map "~0.6.0" + +local-pkg@^0.4.3: + version "0.4.3" + resolved "https://registry.yarnpkg.com/local-pkg/-/local-pkg-0.4.3.tgz#0ff361ab3ae7f1c19113d9bb97b98b905dbc4963" + integrity sha512-SFppqq5p42fe2qcZQqqEOiVRXl+WCP1MdT6k7BDEW1j++sp5fIY+/fdRQitvKgB5BrBcmrs5m/L0v2FrU5MY1g== + +local-pkg@^0.5.0: + version "0.5.0" + resolved "https://registry.yarnpkg.com/local-pkg/-/local-pkg-0.5.0.tgz#093d25a346bae59a99f80e75f6e9d36d7e8c925c" + integrity sha512-ok6z3qlYyCDS4ZEU27HaU6x/xZa9Whf8jD4ptH5UZTQYZVYeb9bnZ3ojVhiJNLiXK1Hfc0GNbLXcmZ5plLDDBg== + dependencies: + mlly "^1.4.2" + pkg-types "^1.0.3" + +lodash-es@4.17.21, lodash-es@^4.17.21: + version "4.17.21" + resolved "https://registry.yarnpkg.com/lodash-es/-/lodash-es-4.17.21.tgz#43e626c46e6591b7750beb2b50117390c609e3ee" + integrity sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw== + +lodash-unified@^1.0.2: + version "1.0.3" + resolved "https://registry.yarnpkg.com/lodash-unified/-/lodash-unified-1.0.3.tgz#80b1eac10ed2eb02ed189f08614a29c27d07c894" + integrity sha512-WK9qSozxXOD7ZJQlpSqOT+om2ZfcT4yO+03FuzAHD0wF6S0l0090LRPDx3vhTTLZ8cFKpBn+IOcVXK6qOcIlfQ== + +lodash@^4.17.21: + version "4.17.21" + resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c" + integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg== + +magic-string@^0.30.1, magic-string@^0.30.5: + version "0.30.5" + resolved "https://registry.yarnpkg.com/magic-string/-/magic-string-0.30.5.tgz#1994d980bd1c8835dc6e78db7cbd4ae4f24746f9" + integrity sha512-7xlpfBaQaP/T6Vh8MO/EqXSW5En6INHEvEXQiuff7Gku0PWjU3uf6w/j9o7O+SpB5fOAkrI5HeoNgwjEO0pFsA== + dependencies: + "@jridgewell/sourcemap-codec" "^1.4.15" + +make-dir@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-2.1.0.tgz#5f0310e18b8be898cc07009295a30ae41e91e6f5" + integrity sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA== + dependencies: + pify "^4.0.1" + semver "^5.6.0" + +memoize-one@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/memoize-one/-/memoize-one-6.0.0.tgz#b2591b871ed82948aee4727dc6abceeeac8c1045" + integrity sha512-rkpe71W0N0c0Xz6QD0eJETuWAJGnJ9afsl1srmwPrI+yBCkge5EycXXbYRyvL29zZVUWQCY7InPRCv3GDXuZNw== + +merge2@^1.3.0: + version "1.4.1" + resolved "https://registry.yarnpkg.com/merge2/-/merge2-1.4.1.tgz#4368892f885e907455a6fd7dc55c0c9d404990ae" + integrity sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg== + +micromatch@^4.0.4: + version "4.0.5" + resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.5.tgz#bc8999a7cbbf77cdc89f132f6e467051b49090c6" + integrity sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA== + dependencies: + braces "^3.0.2" + picomatch "^2.3.1" + +mime-db@1.52.0: + version "1.52.0" + resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.52.0.tgz#bbabcdc02859f4987301c856e3387ce5ec43bf70" + integrity sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg== + +mime-types@^2.1.12: + version "2.1.35" + resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.35.tgz#381a871b62a734450660ae3deee44813f70d959a" + integrity sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw== + dependencies: + mime-db "1.52.0" + +mime@^1.4.1: + version "1.6.0" + resolved "https://registry.yarnpkg.com/mime/-/mime-1.6.0.tgz#32cd9e5c64553bd58d19a568af452acff04981b1" + integrity sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg== + +minimatch@^9.0.3: + version "9.0.3" + resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-9.0.3.tgz#a6e00c3de44c3a542bfaae70abfc22420a6da825" + integrity sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg== + dependencies: + brace-expansion "^2.0.1" + +mlly@^1.2.0, mlly@^1.4.2: + version "1.4.2" + resolved "https://registry.yarnpkg.com/mlly/-/mlly-1.4.2.tgz#7cf406aa319ff6563d25da6b36610a93f2a8007e" + integrity sha512-i/Ykufi2t1EZ6NaPLdfnZk2AX8cs0d+mTzVKuPfqPKPatxLApaBoxJQ9x1/uckXtrS/U5oisPMDkNs0yQTaBRg== + dependencies: + acorn "^8.10.0" + pathe "^1.1.1" + pkg-types "^1.0.3" + ufo "^1.3.0" + +ms@2.1.2: + version "2.1.2" + resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009" + integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== + +nanoid@^3.3.7: + version "3.3.7" + resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.3.7.tgz#d0c301a691bc8d54efa0a2226ccf3fe2fd656bd8" + integrity sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g== + +needle@^3.1.0: + version "3.3.1" + resolved "https://registry.yarnpkg.com/needle/-/needle-3.3.1.tgz#63f75aec580c2e77e209f3f324e2cdf3d29bd049" + integrity sha512-6k0YULvhpw+RoLNiQCRKOl09Rv1dPLr8hHnVjHqdolKwDrdNyk+Hmrthi4lIGPPz3r39dLx0hsF5s40sZ3Us4Q== + dependencies: + iconv-lite "^0.6.3" + sax "^1.2.4" + +normalize-path@^3.0.0, normalize-path@~3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-3.0.0.tgz#0dcd69ff23a1c9b11fd0978316644a0388216a65" + integrity sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA== + +normalize-wheel-es@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/normalize-wheel-es/-/normalize-wheel-es-1.2.0.tgz#0fa2593d619f7245a541652619105ab076acf09e" + integrity sha512-Wj7+EJQ8mSuXr2iWfnujrimU35R2W4FAErEyTmJoJ7ucwTn2hOUSsRehMb5RSYkxXGTM7Y9QpvPmp++w5ftoJw== + +nprogress@^0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/nprogress/-/nprogress-0.2.0.tgz#cb8f34c53213d895723fcbab907e9422adbcafb1" + integrity sha512-I19aIingLgR1fmhftnbWWO3dXc0hSxqHQHQb3H8m+K3TnEn/iSeTZZOyvKXWqQESMwuUVnatlCnZdLBZZt2VSA== + +parse-node-version@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/parse-node-version/-/parse-node-version-1.0.1.tgz#e2b5dbede00e7fa9bc363607f53327e8b073189b" + integrity sha512-3YHlOa/JgH6Mnpr05jP9eDG254US9ek25LyIxZlDItp2iJtwyaXQb57lBYLdT3MowkUFYEV2XXNAYIPlESvJlA== + +path-parse@^1.0.7: + version "1.0.7" + resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.7.tgz#fbc114b60ca42b30d9daf5858e4bd68bbedb6735" + integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw== + +pathe@^1.1.0, pathe@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/pathe/-/pathe-1.1.1.tgz#1dd31d382b974ba69809adc9a7a347e65d84829a" + integrity sha512-d+RQGp0MAYTIaDBIMmOfMwz3E+LOZnxx1HZd5R18mmCZY0QBlK0LDZfPc8FW8Ed2DlvsuE6PRjroDY+wg4+j/Q== + +picocolors@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-1.0.0.tgz#cb5bdc74ff3f51892236eaf79d68bc44564ab81c" + integrity sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ== + +picomatch@^2.0.4, picomatch@^2.2.1, picomatch@^2.3.1: + version "2.3.1" + resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.1.tgz#3ba3833733646d9d3e4995946c1365a67fb07a42" + integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA== + +pify@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/pify/-/pify-4.0.1.tgz#4b2cd25c50d598735c50292224fd8c6df41e3231" + integrity sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g== + +pinia-plugin-persistedstate@^3.2.0: + version "3.2.1" + resolved "https://registry.yarnpkg.com/pinia-plugin-persistedstate/-/pinia-plugin-persistedstate-3.2.1.tgz#66780602aecd6c7b152dd7e3ddc249a1f7a13fe5" + integrity sha512-MK++8LRUsGF7r45PjBFES82ISnPzyO6IZx3CH5vyPseFLZCk1g2kgx6l/nW8pEBKxxd4do0P6bJw+mUSZIEZUQ== + +pinia@^2.1.7: + version "2.1.7" + resolved "https://registry.yarnpkg.com/pinia/-/pinia-2.1.7.tgz#4cf5420d9324ca00b7b4984d3fbf693222115bbc" + integrity sha512-+C2AHFtcFqjPih0zpYuvof37SFxMQ7OEG2zV9jRI12i9BOy3YQVAHwdKtyyc8pDcDyIc33WCIsZaCFWU7WWxGQ== + dependencies: + "@vue/devtools-api" "^6.5.0" + vue-demi ">=0.14.5" + +pkg-types@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/pkg-types/-/pkg-types-1.0.3.tgz#988b42ab19254c01614d13f4f65a2cfc7880f868" + integrity sha512-nN7pYi0AQqJnoLPC9eHFQ8AcyaixBUOwvqc5TDnIKCMEE6I0y8P7OKA7fPexsXGCGxQDl/cmrLAp26LhcwxZ4A== + dependencies: + jsonc-parser "^3.2.0" + mlly "^1.2.0" + pathe "^1.1.0" + +postcss@^8.4.27, postcss@^8.4.32: + version "8.4.33" + resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.33.tgz#1378e859c9f69bf6f638b990a0212f43e2aaa742" + integrity sha512-Kkpbhhdjw2qQs2O2DGX+8m5OVqEcbB9HRBvuYM9pgrjEFUg30A9LmXNlTAUj4S9kgtGyrMbTzVjH7E+s5Re2yg== + dependencies: + nanoid "^3.3.7" + picocolors "^1.0.0" + source-map-js "^1.0.2" + +proxy-from-env@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/proxy-from-env/-/proxy-from-env-1.1.0.tgz#e102f16ca355424865755d2c9e8ea4f24d58c3e2" + integrity sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg== + +prr@~1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/prr/-/prr-1.0.1.tgz#d3fc114ba06995a45ec6893f484ceb1d78f5f476" + integrity sha512-yPw4Sng1gWghHQWj0B3ZggWUm4qVbPwPFcRG8KyxiU7J2OHFSoEHKS+EZ3fv5l1t9CyCiop6l/ZYeWbrgoQejw== + +queue-microtask@^1.2.2: + version "1.2.3" + resolved "https://registry.yarnpkg.com/queue-microtask/-/queue-microtask-1.2.3.tgz#4929228bbc724dfac43e0efb058caf7b6cfb6243" + integrity sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A== + +readdirp@~3.6.0: + version "3.6.0" + resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-3.6.0.tgz#74a370bd857116e245b29cc97340cd431a02a6c7" + integrity sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA== + dependencies: + picomatch "^2.2.1" + +resolve@^1.22.2: + version "1.22.8" + resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.8.tgz#b6c87a9f2aa06dfab52e3d70ac8cde321fa5a48d" + integrity sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw== + dependencies: + is-core-module "^2.13.0" + path-parse "^1.0.7" + supports-preserve-symlinks-flag "^1.0.0" + +reusify@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/reusify/-/reusify-1.0.4.tgz#90da382b1e126efc02146e90845a88db12925d76" + integrity sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw== + +rollup@^3.27.1: + version "3.29.4" + resolved "https://registry.yarnpkg.com/rollup/-/rollup-3.29.4.tgz#4d70c0f9834146df8705bfb69a9a19c9e1109981" + integrity sha512-oWzmBZwvYrU0iJHtDmhsm662rC15FRXmcjCk1xD771dFDx5jJ02ufAQQTn0etB2emNk4J9EZg/yWKpsn9BWGRw== + optionalDependencies: + fsevents "~2.3.2" + +run-parallel@^1.1.9: + version "1.2.0" + resolved "https://registry.yarnpkg.com/run-parallel/-/run-parallel-1.2.0.tgz#66d1368da7bdf921eb9d95bd1a9229e7f21a43ee" + integrity sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA== + dependencies: + queue-microtask "^1.2.2" + +"safer-buffer@>= 2.1.2 < 3.0.0": + version "2.1.2" + resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a" + integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg== + +sax@^1.2.4: + version "1.3.0" + resolved "https://registry.yarnpkg.com/sax/-/sax-1.3.0.tgz#a5dbe77db3be05c9d1ee7785dbd3ea9de51593d0" + integrity sha512-0s+oAmw9zLl1V1cS9BtZN7JAd0cW5e0QH4W3LWEK6a4LaLEA2OTpGYWDY+6XasBLtz6wkm3u1xRw95mRuJ59WA== + +scule@^1.1.1: + version "1.2.0" + resolved "https://registry.yarnpkg.com/scule/-/scule-1.2.0.tgz#b46d444d6a8c92e73eb80d2d8d00b94ab065cc3e" + integrity sha512-CRCmi5zHQnSoeCik9565PONMg0kfkvYmcSqrbOJY4txFfy1wvVULV4FDaiXhUblUgahdqz3F2NwHZ8i4eBTwUw== + +semver@^5.6.0: + version "5.7.2" + resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.2.tgz#48d55db737c3287cd4835e17fa13feace1c41ef8" + integrity sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g== + +source-map-js@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/source-map-js/-/source-map-js-1.0.2.tgz#adbc361d9c62df380125e7f161f71c826f1e490c" + integrity sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw== + +source-map@~0.6.0: + version "0.6.1" + resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263" + integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g== + +strip-literal@^1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/strip-literal/-/strip-literal-1.3.0.tgz#db3942c2ec1699e6836ad230090b84bb458e3a07" + integrity sha512-PugKzOsyXpArk0yWmUwqOZecSO0GH0bPoctLcqNDH9J04pVW3lflYE0ujElBGTloevcxF5MofAOZ7C5l2b+wLg== + dependencies: + acorn "^8.10.0" + +supports-preserve-symlinks-flag@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz#6eda4bd344a3c94aea376d4cc31bc77311039e09" + integrity sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w== + +to-regex-range@^5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-5.0.1.tgz#1648c44aae7c8d988a326018ed72f5b4dd0392e4" + integrity sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ== + dependencies: + is-number "^7.0.0" + +tslib@2.3.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.3.0.tgz#803b8cdab3e12ba581a4ca41c8839bbb0dacb09e" + integrity sha512-N82ooyxVNm6h1riLCoyS9e3fuJ3AMG2zIZs2Gd1ATcSFjSA23Q0fzjjZeh0jbJvWVDZ0cJT8yaNNaaXHzueNjg== + +tslib@^2.3.0: + version "2.6.2" + resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.6.2.tgz#703ac29425e7b37cd6fd456e92404d46d1f3e4ae" + integrity sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q== + +ufo@^1.3.0: + version "1.3.2" + resolved "https://registry.yarnpkg.com/ufo/-/ufo-1.3.2.tgz#c7d719d0628a1c80c006d2240e0d169f6e3c0496" + integrity sha512-o+ORpgGwaYQXgqGDwd+hkS4PuZ3QnmqMMxRuajK/a38L6fTpcE5GPIfrf+L/KemFzfUpeUQc1rRS1iDBozvnFA== + +unimport@^3.4.0: + version "3.7.1" + resolved "https://registry.yarnpkg.com/unimport/-/unimport-3.7.1.tgz#37250d0f3f2dcf1e1b66ed13728db0e9f50ba0c3" + integrity sha512-V9HpXYfsZye5bPPYUgs0Otn3ODS1mDUciaBlXljI4C2fTwfFpvFZRywmlOu943puN9sncxROMZhsZCjNXEpzEQ== + dependencies: + "@rollup/pluginutils" "^5.1.0" + acorn "^8.11.2" + escape-string-regexp "^5.0.0" + estree-walker "^3.0.3" + fast-glob "^3.3.2" + local-pkg "^0.5.0" + magic-string "^0.30.5" + mlly "^1.4.2" + pathe "^1.1.1" + pkg-types "^1.0.3" + scule "^1.1.1" + strip-literal "^1.3.0" + unplugin "^1.5.1" + +unplugin-auto-import@^0.16.6: + version "0.16.7" + resolved "https://registry.yarnpkg.com/unplugin-auto-import/-/unplugin-auto-import-0.16.7.tgz#f4f1f7ab3fba24129bc38e47f83782684030d6e4" + integrity sha512-w7XmnRlchq6YUFJVFGSvG1T/6j8GrdYN6Em9Wf0Ye+HXgD/22kont+WnuCAA0UaUoxtuvRR1u/mXKy63g/hfqQ== + dependencies: + "@antfu/utils" "^0.7.6" + "@rollup/pluginutils" "^5.0.5" + fast-glob "^3.3.1" + local-pkg "^0.5.0" + magic-string "^0.30.5" + minimatch "^9.0.3" + unimport "^3.4.0" + unplugin "^1.5.0" + +unplugin-vue-components@^0.25.2: + version "0.25.2" + resolved "https://registry.yarnpkg.com/unplugin-vue-components/-/unplugin-vue-components-0.25.2.tgz#99d9d02a4066a24e720edbe74a82a4ee6ff86153" + integrity sha512-OVmLFqILH6w+eM8fyt/d/eoJT9A6WO51NZLf1vC5c1FZ4rmq2bbGxTy8WP2Jm7xwFdukaIdv819+UI7RClPyCA== + dependencies: + "@antfu/utils" "^0.7.5" + "@rollup/pluginutils" "^5.0.2" + chokidar "^3.5.3" + debug "^4.3.4" + fast-glob "^3.3.0" + local-pkg "^0.4.3" + magic-string "^0.30.1" + minimatch "^9.0.3" + resolve "^1.22.2" + unplugin "^1.4.0" + +unplugin@^1.4.0, unplugin@^1.5.0, unplugin@^1.5.1: + version "1.6.0" + resolved "https://registry.yarnpkg.com/unplugin/-/unplugin-1.6.0.tgz#0bd7c344182c73e685c864f4f7161531f024b942" + integrity sha512-BfJEpWBu3aE/AyHx8VaNE/WgouoQxgH9baAiH82JjX8cqVyi3uJQstqwD5J+SZxIK326SZIhsSZlALXVBCknTQ== + dependencies: + acorn "^8.11.2" + chokidar "^3.5.3" + webpack-sources "^3.2.3" + webpack-virtual-modules "^0.6.1" + +vanilla-colorful@0.7.2: + version "0.7.2" + resolved "https://registry.yarnpkg.com/vanilla-colorful/-/vanilla-colorful-0.7.2.tgz#3fb1f4b9f15b797e20fd1ce8e0364f33b073f4a2" + integrity sha512-z2YZusTFC6KnLERx1cgoIRX2CjPRP0W75N+3CC6gbvdX5Ch47rZkEMGO2Xnf+IEmi3RiFLxS18gayMA27iU7Kg== + +vite@^4.4.5: + version "4.5.1" + resolved "https://registry.yarnpkg.com/vite/-/vite-4.5.1.tgz#3370986e1ed5dbabbf35a6c2e1fb1e18555b968a" + integrity sha512-AXXFaAJ8yebyqzoNB9fu2pHoo/nWX+xZlaRwoeYUxEqBO+Zj4msE5G+BhGBll9lYEKv9Hfks52PAF2X7qDYXQA== + dependencies: + esbuild "^0.18.10" + postcss "^8.4.27" + rollup "^3.27.1" + optionalDependencies: + fsevents "~2.3.2" + +vue-advanced-cropper@^2.8.8: + version "2.8.8" + resolved "https://registry.yarnpkg.com/vue-advanced-cropper/-/vue-advanced-cropper-2.8.8.tgz#af0e8324312be5a1a92ce9fd3aff8264d28a5b33" + integrity sha512-yDM7Jb/gnxcs//JdbOogBUoHr1bhCQSto7/ohgETKAe4wvRpmqIkKSppMm1huVQr+GP1YoVlX/fkjKxvYzwwDQ== + dependencies: + classnames "^2.2.6" + debounce "^1.2.0" + easy-bem "^1.0.2" + +vue-demi@*, vue-demi@>=0.14.5: + version "0.14.6" + resolved "https://registry.yarnpkg.com/vue-demi/-/vue-demi-0.14.6.tgz#dc706582851dc1cdc17a0054f4fec2eb6df74c92" + integrity sha512-8QA7wrYSHKaYgUxDA5ZC24w+eHm3sYCbp0EzcDwKqN3p6HqtTCGR/GVsPyZW92unff4UlcSh++lmqDWN3ZIq4w== + +vue-router@^4.2.5: + version "4.2.5" + resolved "https://registry.yarnpkg.com/vue-router/-/vue-router-4.2.5.tgz#b9e3e08f1bd9ea363fdd173032620bc50cf0e98a" + integrity sha512-DIUpKcyg4+PTQKfFPX88UWhlagBEBEfJ5A8XDXRJLUnZOvcpMF8o/dnL90vpVkGaPbjvXazV/rC1qBKrZlFugw== + dependencies: + "@vue/devtools-api" "^6.5.0" + +vue@^3.3.4: + version "3.4.7" + resolved "https://registry.yarnpkg.com/vue/-/vue-3.4.7.tgz#b9673ceaf3400b7e65031140d14be6a27b52f301" + integrity sha512-4urmkWpudekq0CPNMO7p6mBGa9qmTXwJMO2r6CT4EzIJVG7WoSReiysiNb7OSi/WI113oX0Srn9Rz1k/DCXKFQ== + dependencies: + "@vue/compiler-dom" "3.4.7" + "@vue/compiler-sfc" "3.4.7" + "@vue/runtime-dom" "3.4.7" + "@vue/server-renderer" "3.4.7" + "@vue/shared" "3.4.7" + +webpack-sources@^3.2.3: + version "3.2.3" + resolved "https://registry.yarnpkg.com/webpack-sources/-/webpack-sources-3.2.3.tgz#2d4daab8451fd4b240cc27055ff6a0c2ccea0cde" + integrity sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w== + +webpack-virtual-modules@^0.6.1: + version "0.6.1" + resolved "https://registry.yarnpkg.com/webpack-virtual-modules/-/webpack-virtual-modules-0.6.1.tgz#ac6fdb9c5adb8caecd82ec241c9631b7a3681b6f" + integrity sha512-poXpCylU7ExuvZK8z+On3kX+S8o/2dQ/SVYueKA0D4WEMXROXgY8Ez50/bQEUmvoSMMrWcrJqCHuhAbsiwg7Dg== + +zrender@5.4.4: + version "5.4.4" + resolved "https://registry.yarnpkg.com/zrender/-/zrender-5.4.4.tgz#8854f1d95ecc82cf8912f5a11f86657cb8c9e261" + integrity sha512-0VxCNJ7AGOMCWeHVyTrGzUgrK4asT4ml9PEkeGirAkKNYXYzoPJCLvmyfdoOXcjTHPs10OZVMfD1Rwg16AZyYw== + dependencies: + tslib "2.3.0" diff --git a/app/.gitignore b/app/.gitignore new file mode 100644 index 0000000..516299c --- /dev/null +++ b/app/.gitignore @@ -0,0 +1,8 @@ +/runtime +/.idea +/.vscode +/vendor +*.log +.env +/tests/tmp +/tests/.phpunit.result.cache diff --git a/app/LICENSE b/app/LICENSE new file mode 100644 index 0000000..2c66292 --- /dev/null +++ b/app/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2021 walkor and contributors (see https://github.com/walkor/webman/contributors) + +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/app/README.md b/app/README.md new file mode 100644 index 0000000..aa6d15d --- /dev/null +++ b/app/README.md @@ -0,0 +1 @@ +# 普達國際 \ No newline at end of file diff --git a/app/app/adminapi/BaseController.php b/app/app/adminapi/BaseController.php new file mode 100644 index 0000000..67e9f8c --- /dev/null +++ b/app/app/adminapi/BaseController.php @@ -0,0 +1,40 @@ +uid){ + $this->uid = 0; + }else{ + $this->uid = $request->uid; + } + } + + public function Success($data,$code=200,$message='請求成功'){ + $result = [ + 'code' => $code, + 'message' => $message, + 'time'=>time(), + 'data'=>$data + ]; + return json($result); + } + + public function Error($data='',$code=500,$message='請求失敗'){ + $result = [ + 'code' => $code, + 'message' => $message, + 'time'=>time(), + 'data'=>$data + ]; + return json($result); + } +} diff --git a/app/app/adminapi/controller/ActivityController.php b/app/app/adminapi/controller/ActivityController.php new file mode 100644 index 0000000..3e3ea07 --- /dev/null +++ b/app/app/adminapi/controller/ActivityController.php @@ -0,0 +1,141 @@ +post(); + $page = isset($param['page']) ? $param['page'] : 1; + $pageSize = isset($param['pageSize']) ? $param['pageSize'] : 10; + $search = isset($param['search']) ? $param['search'] : []; + + $where = [ + ]; + + $list = Db::name('activity') + ->where($where) + ->order('id', 'asc') + ->page($page, $pageSize) + ->select() + ->toArray(); + + $total = Db::name('activity') + ->where($where) + ->count(); + + foreach($list as $key => $val){ + $list[$key]['imageList'] = json_decode($val['image_list']); + unset($list[$key]['image_list']); + } + + $result = [ + 'list' => $list, + 'total' => $total + ]; + + return $this->Success($result); + } + + public function addActivity(Request $request){ + $params = $request->post(); + + $data = [ + 'lang' => 'tw', + 'title' => isset($params['title'])?$params['title']:'', + 'image_list' => isset($params['imageList'])?json_encode($params['imageList']):'', + 'create_time' => date('Y-m-d H:i:s',time()) + ]; + + try{ + $id = Db::name('activity')->insertGetId($data); + + AdminLog( $this->uid , '新增公司活動 ' . $id); + + return $this->Success('操作成功'); + }catch(\Exception $e){ + AdminLog( $this->uid , '新增公司活動失敗'); + + return $this->Error('操作失敗:'. $e->getMessage()); + } + } + + public function deleteActivity(Request $request){ + $id = $request->get('id'); + + try{ + // $admin_name = getNameById('admin','username',$id); + + $result = Db::name('activity') + ->where('id',$id) + ->delete(); + + AdminLog($this->uid, '刪除公司活動 ['. $id . ']'); + return $this->Success('操作成功'); + }catch(\Exception $e){ + AdminLog($this->uid, '刪除公司活動 ['.$id.'] 失敗'); + return $this->Error('操作失敗'); + } + } + + public function getActivity(Request $request){ + $id = $request->get('id'); + + $result = Db::name('activity') + ->where('id',$id) + ->find(); + + if(!$result){ + return $this->Error('資料不存在'); + } + $result['imageList'] = json_decode($result['image_list']); + + unset($result['image_list']); + + return $this->Success($result); + } + + public function updateActivity(Request $request){ + $params = $request->post(); + + $data = [ + 'title' => isset($params['title'])?$params['title']:'', + 'image_list' => isset($params['imageList'])?json_encode($params['imageList']):'', + 'update_time' => date('Y-m-d H:i:s',time()) + ]; + + try{ + $result = Db::name('activity') + ->where('id',$params['id']) + ->update($data); + + AdminLog($this->uid, '修改公司活動 [' . $params['id'] .']'); + + return $this->Success('操作成功'); + }catch(\Exception $e){ + + AdminLog($this->uid, '修改公司活動 [' . $params['id'] . '] 失敗'); + + return $this->Error('操作失敗:'. $e->getMessage()); + } + } + + public function uploadImage(Request $request){ + $file = $request->file('file'); + + if ($file && $file->isValid()) { + // 產生唯一的檔名 + $filename = uniqid() . '.' . $file->getUploadExtension(); + + $file->move(public_path().'/storage/activity/'. $filename); + $savePath = '/storage/activity/'. $filename; + return $this->Success($savePath); + } + return $this->Error('操作失敗'); + } +} diff --git a/app/app/adminapi/controller/AdminUserController.php b/app/app/adminapi/controller/AdminUserController.php new file mode 100644 index 0000000..2de9e52 --- /dev/null +++ b/app/app/adminapi/controller/AdminUserController.php @@ -0,0 +1,201 @@ +post(); + $page = isset($param['page']) ? $param['page'] : 1; + $pageSize = isset($param['pageSize']) ? $param['pageSize'] : 10; + $search = isset($param['search']) ? $param['search'] : []; + + $where = [ + ]; + + $list = Db::name('admin') + ->where($where) + ->order('id', 'asc') + ->page($page, $pageSize) + ->select() + ->toArray(); + + $total = Db::name('admin') + ->where($where) + ->count(); + + foreach($list as $key => $val){ + unset($list[$key]['password']); + if($val['login_time']>0){ + + } + $list[$key]['login_time'] = $val['login_time']?date('Y-m-d H:i:s',$val['login_time']):''; + } + + $result = [ + 'list' => $list, + 'total' => $total + ]; + + return $this->Success($result); + } + + public function addAdminUser(Request $request){ + $params = $request->post(); + + // 檢查帳號是否重複 + $is_exist = Db::name('admin') + ->where('username',$params['username']) + ->find(); + + if($is_exist){ + return $this->Error('帳號已存在'); + } + + $data = [ + 'username' => $params['username'], + 'password' => password_hash($params['password'], PASSWORD_DEFAULT), + 'is_main' => 0, + 'status' => 1, + 'create_time' => date('Y-m-d H:i:s',time()) + ]; + + try{ + Db::name('admin')->insert($data); + + AdminLog( $this->uid , '新增管理員 ' . $data['username']); + + return $this->Success('操作成功'); + }catch(\Exception $e){ + AdminLog( $this->uid , '新增管理員 ' . $data['username'] . ' 失敗'); + + return $this->Error('操作失敗:'. $e->getMessage()); + } + } + + public function deleteAdminUser(Request $request){ + $id = $request->get('id'); + + try{ + $admin_name = getNameById('admin','username',$id); + + $result = Db::name('admin') + ->where('id',$id) + ->delete(); + + AdminLog($this->uid, '刪除管理員 '. $admin_name); + return $this->Success('操作成功'); + }catch(\Exception $e){ + AdminLog($this->uid, '刪除管理員'.$admin_name.'失敗'); + return $this->Error('操作失敗'); + } + } + + public function getAdminUser(Request $request){ + $id = $request->get('id'); + + $user = Db::name('admin') + ->where('id',$id) + ->find(); + + if(!$user){ + return $this->Error('用戶不存在'); + } + + unset($user['password']); + + $result = $user; + + return $this->Success($result); + } + + public function updateAdminUser(Request $request){ + $params = $request->post(); + $username = $params['username']; + unset($params['username']); + + $data = [ + 'is_main' => 0, + 'status' => 1, + 'update_time' => date('Y-m-d H:i:s',time()) + ]; + + if($params['password']){ + $data['password'] = password_hash($params['password'], PASSWORD_DEFAULT); + } + + try{ + $result = Db::name('admin') + ->where('id',$params['id']) + ->update($data); + + AdminLog($this->uid, '修改管理員 ' . $username); + + return $this->Success('操作成功'); + }catch(\Exception $e){ + + AdminLog($this->uid, '修改管理員 ' . $username . '失敗'); + + return $this->Error('操作失敗:'. $e->getMessage()); + } + } + + public function getAdminLog(Request $request){ + $param = $request->post(); + + $page = isset($param['page']) ? $param['page'] : 1; + $pageSize = isset($param['pageSize']) ? $param['pageSize'] : 10; + $search = isset($param['search']) ? $param['search'] : []; + + $where = [ + ]; + + if(isset($search['keyword']) && $search['keyword']){ + $where[] = ['content', 'like', '%'.$search['keyword'].'%']; + } + + $list = Db::name('admin_log') + ->where($where) + ->order('id', 'desc') + ->page($page, $pageSize) + ->select() + ->toArray(); + + $total = Db::name('admin_log') + ->where($where) + ->count(); + + // foreach($list as $key => $val){ + // } + + $result = [ + 'list' => $list, + 'total' => $total + ]; + + return $this->Success($result); + } + + + public function getCurrentAdminUser(Request $request){ + + $user = Db::name('agent_user') + ->where('agent_id',$this->agent_id) + ->where('id',$this->uid) + ->find(); + + if(!$user){ + return $this->Error('用戶不存在'); + } + + $result = $user; + + return $this->Success($result); + } + +} diff --git a/app/app/adminapi/controller/ArticleController.php b/app/app/adminapi/controller/ArticleController.php new file mode 100644 index 0000000..90ce28a --- /dev/null +++ b/app/app/adminapi/controller/ArticleController.php @@ -0,0 +1,131 @@ +post(); + + $where = []; + + $list = Db::name('banner') + ->where($where) + ->order('sort_order', 'asc') + ->select() + ->toArray(); + + + foreach($list as $key => $val){ + $list[$key]['imageurl1'] = getUrl().$val['imageurl1']; + $list[$key]['imageurl2'] = getUrl().$val['imageurl2']; + } + + $result = $list; + + return $this->Success($result); + } + + public function addBanner(Request $request){ + $params = $request->post(); + + + $data = [ + 'slogon' => isset($params['slogon'])?$params['slogon']:'', + 'describe' => isset($params['describe'])?$params['describe']:'', + 'imageurl1' => isset($params['imageurl1'])?$params['imageurl1']:'', + 'imageurl2' => isset($params['imageurl2'])?$params['imageurl2']:'', + 'create_time' => date('Y-m-d H:i:s',time()) + ]; + + try{ + $id = Db::name('banner')->insertGetId($data); + + AdminLog( $this->uid , '新增輪撥 [' . $id .']'); + + return $this->Success('操作成功'); + }catch(\Exception $e){ + AdminLog( $this->uid , '新增輪撥 [' . $id . '] 失敗'); + + return $this->Error('操作失敗:'. $e->getMessage()); + } + } + + public function deleteBanner(Request $request){ + $id = $request->get('id'); + + try{ + $result = Db::name('banner') + ->where('id',$id) + ->delete(); + + AdminLog($this->uid, '刪除輪撥 ['. $id .']'); + return $this->Success('操作成功'); + }catch(\Exception $e){ + AdminLog($this->uid, '刪除輪撥 ['.$id.'] 失敗'); + return $this->Error('操作失敗'); + } + } + + public function getArticle(Request $request){ + $id = $request->get('id'); + $lang = $request->get('lang'); + + $result = Db::name('article') + ->where('cat_id',$id) + ->where('lang',$lang) + ->find(); + + if(!$result){ + return $this->Error('資料不存在'); + } + + return $this->Success($result); + } + + public function updateArticle(Request $request){ + $params = $request->post(); + + $data = [ + 'content' => isset($params['content'])?$params['content']:'', + 'update_time' => date('Y-m-d H:i:s',time()) + ]; + + try{ + Db::name('article') + ->where('cat_id',$params['id']) + ->where('lang',$params['lang']) + ->update($data); + + AdminLog($this->uid, '修改內容 [' . $params['id'] .']'); + + return $this->Success('操作成功'); + }catch(\Exception $e){ + + AdminLog($this->uid, '修改內容 [' . $params['id'] . '] 失敗'); + + return $this->Error('操作失敗:'. $e->getMessage()); + } + } + + public function uploadImage(Request $request){ + $file = $request->file('upload'); + + if ($file && $file->isValid()) { + // 產生唯一的檔名 + $filename = uniqid() . '.' . $file->getUploadExtension(); + + $file->move(public_path().'/storage/article/'. $filename); + $savePath = getUrl().'/storage/article/'. $filename; + return json([ + 'url' => $savePath + ]); + } + return $this->Error('操作失敗'); + } +} diff --git a/app/app/adminapi/controller/AuthController.php b/app/app/adminapi/controller/AuthController.php new file mode 100644 index 0000000..40b5571 --- /dev/null +++ b/app/app/adminapi/controller/AuthController.php @@ -0,0 +1,68 @@ +post(); + + $username = $req['username']; + $password = $req['password']; + + $admin_user=Db::name('admin') + ->where('username',$username) + ->find(); + + if(!$admin_user){ + return $this->Error('帳號或密碼錯誤',302); + } + + if(!password_verify($password , $admin_user['password'])){ + return $this->Error('帳號或密碼錯誤',303); + } + + // 登入成功,產生token + $key = 'jwtkey123456'; + + $payload = [ + 'iss' => 'prodio', + 'exp' => time()+30*60*1000, + 'iat' => time(), + 'nbf' => time(), + 'jti' => md5(uniqid('JWT').time()), + 'uid' => $admin_user['id'], + ]; + + try{ + $jwt = JWT::encode($payload, $key, 'HS256'); + + $result=[ + 'token'=>$jwt, + ]; + + $data = [ + 'login_time' => time(), + 'login_num' => $admin_user['login_num']+1, + ]; + + Db::name('admin') + ->where('id',$admin_user['id']) + ->update($data); + + return $this->Success($result); + + }catch(\Exception $e){ + return $this->Error('登入失敗'); + } + } +} diff --git a/app/app/adminapi/controller/BranchController.php b/app/app/adminapi/controller/BranchController.php new file mode 100644 index 0000000..2b92d99 --- /dev/null +++ b/app/app/adminapi/controller/BranchController.php @@ -0,0 +1,137 @@ +get(); + // $where[] = ['lang', $param['lang']]; + + $list = Db::name('branch') + ->where('lang',$param['lang']) + ->order('id', 'asc') + ->select() + ->toArray(); + + + foreach($list as $key => $val){ + $list[$key]['imageurl'] = getUrl().$val['imageurl']; + } + + $result = $list; + + return $this->Success($result); + } + + public function addBranch(Request $request){ + $params = $request->post(); + + $data = [ + 'lang' => isset($params['lang'])?$params['lang']:'tw', + 'name' => isset($params['name'])?$params['name']:'', + 'address' => isset($params['address'])?$params['address']:'', + 'tel' => isset($params['tel'])?$params['tel']:'', + 'fax' => isset($params['fax'])?$params['fax']:'', + 'email' => isset($params['email'])?$params['email']:'', + 'url' => isset($params['url'])?$params['url']:'', + 'imageurl' => isset($params['imageurl'])?$params['imageurl']:'', + 'status' => 1 + ]; + + try{ + $id = Db::name('branch')->insertGetId($data); + + Db::name('branch') + ->where('id',$id) + ->update(['sort_order'=>($id * 10)]); + + AdminLog( $this->uid , '新增據點 [' . $id .']'); + + return $this->Success('操作成功'); + }catch(\Exception $e){ + AdminLog( $this->uid , '新增據點 [' . $id . '] 失敗'); + + return $this->Error('操作失敗:'. $e->getMessage()); + } + } + + public function deleteBranch(Request $request){ + $id = $request->get('id'); + + try{ + $result = Db::name('branch') + ->where('id',$id) + ->delete(); + + AdminLog($this->uid, '刪除據點 ['. $id .']'); + return $this->Success('操作成功'); + }catch(\Exception $e){ + AdminLog($this->uid, '刪除據點 ['.$id.'] 失敗'); + return $this->Error('操作失敗'); + } + } + + public function getBranch(Request $request){ + $id = $request->get('id'); + + $result = Db::name('branch') + ->where('id',$id) + ->find(); + + if(!$result){ + return $this->Error('資料不存在'); + } + + return $this->Success($result); + } + + public function updateBranch(Request $request){ + $params = $request->post(); + + $data = [ + 'lang' => isset($params['lang'])?$params['lang']:'tw', + 'name' => isset($params['name'])?$params['name']:'', + 'address' => isset($params['address'])?$params['address']:'', + 'tel' => isset($params['tel'])?$params['tel']:'', + 'fax' => isset($params['fax'])?$params['fax']:'', + 'email' => isset($params['email'])?$params['email']:'', + 'url' => isset($params['url'])?$params['url']:'', + 'imageurl' => isset($params['imageurl'])?$params['imageurl']:'', + ]; + + try{ + Db::name('branch') + ->where('id',$params['id']) + ->update($data); + + AdminLog($this->uid, '修改據點 [' . $params['id'] .']'); + + return $this->Success('操作成功'); + }catch(\Exception $e){ + + AdminLog($this->uid, '修改據點 [' . $params['id'] . '] 失敗'); + + return $this->Error('操作失敗:'. $e->getMessage()); + } + } + + public function uploadImage(Request $request){ + $file = $request->file('file'); + + if ($file && $file->isValid()) { + // 產生唯一的檔名 + $filename = uniqid() . '.' . $file->getUploadExtension(); + + $file->move(public_path().'/storage/branch/'. $filename); + $savePath = '/storage/branch/'. $filename; + return $this->Success($savePath); + } + return $this->Error('操作失敗'); + } +} diff --git a/app/app/adminapi/controller/CateController.php b/app/app/adminapi/controller/CateController.php new file mode 100644 index 0000000..1ed755a --- /dev/null +++ b/app/app/adminapi/controller/CateController.php @@ -0,0 +1,158 @@ +get(); + + $where = []; + + $list = Db::name('category') + ->where('lang',$param['lang']) + ->order('sort_order', 'asc') + ->select() + ->toArray(); + + $list = $this->genCategoryTree($list); + + // foreach($list as $key => $val){ + + // } + + return $this->Success($list); + } + + public function genCategoryTree($list,$parent_id = 0){ + $tree = []; + foreach($list as $key => $val){ + if($val['parent_id'] == $parent_id){ + $val['children'] = $this->genCategoryTree($list,$val['id']); + $tree[] = $val; + } + } + return $tree; + } + + public function getParentCateList(Request $request) + { + $param = $request->get(); + + $where = []; + + $list = Db::name('category') + ->where('lang',$param['lang']) + ->where('parent_id',0) + ->order('sort_order', 'asc') + ->select() + ->toArray(); + + + // foreach($list as $key => $val){ + + // } + + return $this->Success($list); + } + + + public function getCategory(Request $request){ + $id = $request->get('id'); + + $result = Db::name('category') + ->where('id',$id) + ->find(); + + if(!$result){ + return $this->Error('資料不存在'); + } + + return $this->Success($result); + } + + public function addCategory(Request $request){ + $params = $request->post(); + + $data = [ + "lang" => isset($params['lang'])?$params['lang']:'tw', + "parent_id" => isset($params['parent_id'])?$params['parent_id']:0, + "name" => isset($params['name'])?$params['name']:'', + "imageurl" => getUrl().isset($params['imageurl'])?$params['imageurl']:'', + ]; + + try{ + $id = Db::name('category')->insertGetId($data); + + AdminLog( $this->uid , '新增產品類別 ' . $id); + + return $this->Success('操作成功'); + }catch(\Exception $e){ + AdminLog( $this->uid , '新增產品類別失敗'); + + return $this->Error('操作失敗:'. $e->getMessage()); + } + } + + public function deleteCategory(Request $request){ + $id = $request->get('id'); + + try{ + $result = Db::name('category') + ->where('id',$id) + ->delete(); + + AdminLog($this->uid, '刪除產品類別 '. $id); + return $this->Success('操作成功'); + }catch(\Exception $e){ + AdminLog($this->uid, '刪除產品類別'.$id.'失敗'); + return $this->Error('操作失敗'); + } + } + + public function updateCategory(Request $request){ + $params = $request->post(); + + $data = [ + "lang" => isset($params['lang'])?$params['lang']:'tw', + "parent_id" => isset($params['parent_id'])?$params['parent_id']:0, + "name" => isset($params['name'])?$params['name']:'', + "imageurl" => getUrl().isset($params['imageurl'])?$params['imageurl']:'', + ]; + + try{ + $result = Db::name('category') + ->where('id',$params['id']) + ->update($data); + + AdminLog($this->uid, '修改產品類別 [' . $params['id'] .']'); + + return $this->Success('操作成功'); + }catch(\Exception $e){ + + AdminLog($this->uid, '修改產品類別 [' . $params['id'] . '] 失敗'); + + return $this->Error('操作失敗:'. $e->getMessage()); + } + } + + + public function uploadImage(Request $request){ + $file = $request->file('file'); + + if ($file && $file->isValid()) { + // 產生唯一的檔名 + $filename = uniqid() . '.' . $file->getUploadExtension(); + + $file->move(public_path().'/storage/category/'. $filename); + $savePath = getUrl().'/storage/category/'. $filename; + return $this->Success($savePath); + } + return $this->Error('操作失敗'); + } + +} \ No newline at end of file diff --git a/app/app/adminapi/controller/ContactController.php b/app/app/adminapi/controller/ContactController.php new file mode 100644 index 0000000..1b6980f --- /dev/null +++ b/app/app/adminapi/controller/ContactController.php @@ -0,0 +1,60 @@ +post(); + $page = isset($param['page']) ? $param['page'] : 1; + $pageSize = isset($param['pageSize']) ? $param['pageSize'] : 10; + $search = isset($param['search']) ? $param['search'] : []; + + $where = [ + ]; + + $list = Db::name('contact') + ->where($where) + ->order('id', 'desc') + ->page($page, $pageSize) + ->select() + ->toArray(); + + $total = Db::name('contact') + ->where($where) + ->count(); + + foreach($list as $key => $val){ + + } + + $result = [ + 'list' => $list, + 'total' => $total + ]; + + return $this->Success($result); + } + + public function deleteContact(Request $request){ + $id = $request->get('id'); + + try{ + $result = Db::name('contact') + ->where('id',$id) + ->delete(); + + AdminLog($this->uid, '刪除聯絡內容 ['. $id .']'); + return $this->Success('操作成功'); + }catch(\Exception $e){ + AdminLog($this->uid, '刪除聯絡內容 ['.$id.'] 失敗'); + return $this->Error('操作失敗'); + } + } + + +} \ No newline at end of file diff --git a/app/app/adminapi/controller/IndexController.php b/app/app/adminapi/controller/IndexController.php new file mode 100644 index 0000000..e3a35f0 --- /dev/null +++ b/app/app/adminapi/controller/IndexController.php @@ -0,0 +1,136 @@ + 0, 'msg' => 'success', 'data' => ['name' => 'adminapi']]); + } + public function getBannerList(Request $request) + { + $param = $request->get(); + // $where[] = ['lang', $param['lang']]; + + $list = Db::name('banner') + ->where('lang',$param['lang']) + ->order('id', 'desc') + ->select() + ->toArray(); + + + foreach($list as $key => $val){ + $list[$key]['imageurl1'] = getUrl().$val['imageurl1']; + $list[$key]['imageurl2'] = getUrl().$val['imageurl2']; + } + + $result = $list; + + return $this->Success($result); + } + + public function addBanner(Request $request){ + $params = $request->post(); + + $data = [ + 'lang' => isset($params['lang'])?$params['lang']:'tw', + 'slogon' => isset($params['slogon'])?$params['slogon']:'', + 'describe' => isset($params['describe'])?$params['describe']:'', + 'imageurl1' => isset($params['imageurl1'])?$params['imageurl1']:'', + 'imageurl2' => isset($params['imageurl2'])?$params['imageurl2']:'', + 'create_time' => date('Y-m-d H:i:s',time()) + ]; + + try{ + $id = Db::name('banner')->insertGetId($data); + + Db::name('banner') + ->where('id',$id) + ->update(['sort_order'=>($id * 10)]); + + AdminLog( $this->uid , '新增輪撥 [' . $id .']'); + + return $this->Success('操作成功'); + }catch(\Exception $e){ + AdminLog( $this->uid , '新增輪撥 [' . $id . '] 失敗'); + + return $this->Error('操作失敗:'. $e->getMessage()); + } + } + + public function deleteBanner(Request $request){ + $id = $request->get('id'); + + try{ + $result = Db::name('banner') + ->where('id',$id) + ->delete(); + + AdminLog($this->uid, '刪除輪撥 ['. $id .']'); + return $this->Success('操作成功'); + }catch(\Exception $e){ + AdminLog($this->uid, '刪除輪撥 ['.$id.'] 失敗'); + return $this->Error('操作失敗'); + } + } + + public function getBanner(Request $request){ + $id = $request->get('id'); + + $result = Db::name('banner') + ->where('id',$id) + ->find(); + + if(!$result){ + return $this->Error('資料不存在'); + } + + return $this->Success($result); + } + + public function updateBanner(Request $request){ + $params = $request->post(); + + $data = [ + 'slogon' => isset($params['slogon'])?$params['slogon']:'', + 'describe' => isset($params['describe'])?$params['describe']:'', + 'imageurl1' => isset($params['imageurl1'])?$params['imageurl1']:'', + 'imageurl2' => isset($params['imageurl2'])?$params['imageurl2']:'', + 'update_time' => date('Y-m-d H:i:s',time()) + ]; + + try{ + Db::name('banner') + ->where('id',$params['id']) + ->update($data); + + AdminLog($this->uid, '修改輪撥 [' . $params['id'] .']'); + + return $this->Success('操作成功'); + }catch(\Exception $e){ + + AdminLog($this->uid, '修改輪撥 [' . $params['id'] . '] 失敗'); + + return $this->Error('操作失敗:'. $e->getMessage()); + } + } + + public function uploadBannerImage(Request $request){ + $file = $request->file('file'); + + if ($file && $file->isValid()) { + // 產生唯一的檔名 + $filename = uniqid() . '.' . $file->getUploadExtension(); + + $file->move(public_path().'/storage/banner/'. $filename); + $savePath = '/storage/banner/'. $filename; + return $this->Success($savePath); + } + return $this->Error('操作失敗'); + } +} diff --git a/app/app/adminapi/controller/NewsController.php b/app/app/adminapi/controller/NewsController.php new file mode 100644 index 0000000..bb9c8b5 --- /dev/null +++ b/app/app/adminapi/controller/NewsController.php @@ -0,0 +1,126 @@ +post(); + $page = isset($param['page']) ? $param['page'] : 1; + $pageSize = isset($param['pageSize']) ? $param['pageSize'] : 10; + $search = isset($param['search']) ? $param['search'] : []; + + $where = [ + ]; + + $list = Db::name('news') + ->where($where) + ->order('id', 'asc') + ->page($page, $pageSize) + ->select() + ->toArray(); + + $total = Db::name('news') + ->where($where) + ->count(); + + foreach($list as $key => $val){ + } + + $result = [ + 'list' => $list, + 'total' => $total + ]; + + return $this->Success($result); + } + + public function addNews(Request $request){ + $params = $request->post(); + + $data = [ + 'title' => isset($params['title'])?$params['title']:'', + 'content' => isset($params['content'])?$params['content']:'', + 'create_time' => date('Y-m-d H:i:s',time()) + ]; + + try{ + $id = Db::name('news')->insertGetId($data); + + AdminLog( $this->uid , '新增產業動態 ' . $id); + + return $this->Success('操作成功'); + }catch(\Exception $e){ + AdminLog( $this->uid , '新增產業動態失敗'); + + return $this->Error('操作失敗:'. $e->getMessage()); + } + } + + public function deleteNews(Request $request){ + $id = $request->get('id'); + + try{ + $admin_name = getNameById('admin','username',$id); + + $result = Db::name('news') + ->where('id',$id) + ->delete(); + + AdminLog($this->uid, '刪除管理員 '. $admin_name); + return $this->Success('操作成功'); + }catch(\Exception $e){ + AdminLog($this->uid, '刪除管理員'.$admin_name.'失敗'); + return $this->Error('操作失敗'); + } + } + + public function getNews(Request $request){ + $id = $request->get('id'); + + $user = Db::name('news') + ->where('id',$id) + ->find(); + + if(!$user){ + return $this->Error('資料不存在'); + } + + unset($user['password']); + + $result = $user; + + return $this->Success($result); + } + + public function updateNews(Request $request){ + $params = $request->post(); + + $data = [ + 'title' => isset($params['title'])?$params['title']:'', + 'content' => isset($params['content'])?$params['content']:'', + 'update_time' => date('Y-m-d H:i:s',time()) + ]; + + try{ + $result = Db::name('news') + ->where('id',$params['id']) + ->update($data); + + AdminLog($this->uid, '修改產業動態 [' . $params['id'] .']'); + + return $this->Success('操作成功'); + }catch(\Exception $e){ + + AdminLog($this->uid, '修改產業動態 [' . $params['id'] . '] 失敗'); + + return $this->Error('操作失敗:'. $e->getMessage()); + } + } + +} diff --git a/app/app/adminapi/controller/ProductController.php b/app/app/adminapi/controller/ProductController.php new file mode 100644 index 0000000..3c297b3 --- /dev/null +++ b/app/app/adminapi/controller/ProductController.php @@ -0,0 +1,143 @@ +post(); + $page = isset($param['page']) ? $param['page'] : 1; + $pageSize = isset($param['pageSize']) ? $param['pageSize'] : 10; + $search = isset($param['search']) ? $param['search'] : []; + + $where = [ + ]; + + $list = Db::name('product') + ->where($where) + ->order('id', 'asc') + ->page($page, $pageSize) + ->select() + ->toArray(); + + $total = Db::name('product') + ->where($where) + ->count(); + + foreach($list as $key => $val){ + } + + $result = [ + 'list' => $list, + 'total' => $total + ]; + + return $this->Success($result); + } + + public function addProduct(Request $request){ + $params = $request->post(); + + $data = [ + 'name' => isset($params['name'])?$params['name']:'', + 'imageurl' => isset($params['imageurl'])?$params['imageurl']:'', + 'cat_id' => isset($params['cat_id'])?$params['cat_id']:0, + 'description' => isset($params['description'])?$params['description']:'', + 'content' => isset($params['content'])?$params['content']:'', + 'create_time' => date('Y-m-d H:i:s',time()) + ]; + + try{ + $id = Db::name('product')->insertGetId($data); + + AdminLog( $this->uid , '新增產品 ' . $id); + + return $this->Success('操作成功'); + }catch(\Exception $e){ + AdminLog( $this->uid , '新增產品失敗'); + + return $this->Error('操作失敗:'. $e->getMessage()); + } + } + + public function deleteProduct(Request $request){ + $id = $request->get('id'); + + try{ + $admin_name = getNameById('admin','username',$id); + + $result = Db::name('product') + ->where('id',$id) + ->delete(); + + AdminLog($this->uid, '刪除管理員 '. $admin_name); + return $this->Success('操作成功'); + }catch(\Exception $e){ + AdminLog($this->uid, '刪除管理員'.$admin_name.'失敗'); + return $this->Error('操作失敗'); + } + } + + public function getProduct(Request $request){ + $id = $request->get('id'); + + $user = Db::name('product') + ->where('id',$id) + ->find(); + + if(!$user){ + return $this->Error('資料不存在'); + } + + unset($user['password']); + + $result = $user; + + return $this->Success($result); + } + + public function updateProduct(Request $request){ + $params = $request->post(); + + $data = [ + 'title' => isset($params['title'])?$params['title']:'', + 'content' => isset($params['content'])?$params['content']:'', + 'update_time' => date('Y-m-d H:i:s',time()) + ]; + + try{ + $result = Db::name('product') + ->where('id',$params['id']) + ->update($data); + + AdminLog($this->uid, '修改產業動態 [' . $params['id'] .']'); + + return $this->Success('操作成功'); + }catch(\Exception $e){ + + AdminLog($this->uid, '修改產業動態 [' . $params['id'] . '] 失敗'); + + return $this->Error('操作失敗:'. $e->getMessage()); + } + } + + public function uploadImage(Request $request){ + $file = $request->file('file'); + + if ($file && $file->isValid()) { + // 產生唯一的檔名 + $filename = uniqid() . '.' . $file->getUploadExtension(); + + $file->move(public_path().'/storage/product/'. $filename); + $savePath = getUrl().'/storage/product/'. $filename; + return $this->Success($savePath); + } + return $this->Error('操作失敗'); + } + +} diff --git a/app/app/adminapi/controller/SupplierController.php b/app/app/adminapi/controller/SupplierController.php new file mode 100644 index 0000000..dc3f747 --- /dev/null +++ b/app/app/adminapi/controller/SupplierController.php @@ -0,0 +1,127 @@ +get(); + + $where[] = ['lang', $param['lang']]; + + $list = Db::name('supplier') + ->where('lang',$param['lang']) + ->order('id', 'desc') + ->select() + ->toArray(); + + + foreach($list as $key => $val){ + $list[$key]['imageurl'] = $val['imageurl']; + } + + $result = $list; + + return $this->Success($result); + } + + public function addSupplier(Request $request){ + $params = $request->post(); + + $data = [ + 'lang' => isset($params['lang'])?$params['lang']:'tw', + 'name' => isset($params['name'])?$params['name']:'', + 'imageurl' => isset($params['imageurl'])?$params['imageurl']:'', + 'create_time' => date('Y-m-d H:i:s',time()) + ]; + + try{ + $id = Db::name('supplier')->insertGetId($data); + + Db::name('supplier') + ->where('id',$id) + ->update(['sort_order'=>($id * 10)]); + + AdminLog( $this->uid , '新增供應商 [' . $id .']'); + + return $this->Success('操作成功'); + }catch(\Exception $e){ + AdminLog( $this->uid , '新增供應商 [' . $id . '] 失敗'); + + return $this->Error('操作失敗:'. $e->getMessage()); + } + } + + public function deleteSupplier(Request $request){ + $id = $request->get('id'); + + try{ + $result = Db::name('supplier') + ->where('id',$id) + ->delete(); + + AdminLog($this->uid, '刪除供應商 ['. $id .']'); + return $this->Success('操作成功'); + }catch(\Exception $e){ + AdminLog($this->uid, '刪除供應商 ['.$id.'] 失敗'); + return $this->Error('操作失敗'); + } + } + + public function getSupplier(Request $request){ + $id = $request->get('id'); + + $result = Db::name('supplier') + ->where('id',$id) + ->find(); + + if(!$result){ + return $this->Error('資料不存在'); + } + + return $this->Success($result); + } + + public function updateSupplier(Request $request){ + $params = $request->post(); + + $data = [ + 'name' => isset($params['name'])?$params['name']:'', + 'imageurl' => isset($params['imageurl'])?$params['imageurl']:'', + 'update_time' => date('Y-m-d H:i:s',time()) + ]; + + try{ + Db::name('supplier') + ->where('id',$params['id']) + ->update($data); + + AdminLog($this->uid, '修改供應商 [' . $params['id'] .']'); + + return $this->Success('操作成功'); + }catch(\Exception $e){ + + AdminLog($this->uid, '修改供應商 [' . $params['id'] . '] 失敗'); + + return $this->Error('操作失敗:'. $e->getMessage()); + } + } + + public function uploadSupplierImage(Request $request){ + $file = $request->file('file'); + + if ($file && $file->isValid()) { + // 產生唯一的檔名 + $filename = uniqid() . '.' . $file->getUploadExtension(); + + $file->move(public_path().'/storage/supplier/'. $filename); + $savePath = getUrl().'/storage/supplier/'. $filename; + return $this->Success($savePath); + } + return $this->Error('操作失敗'); + } +} diff --git a/app/app/adminapi/middleware/AdminJwtCheck.php b/app/app/adminapi/middleware/AdminJwtCheck.php new file mode 100644 index 0000000..df2073a --- /dev/null +++ b/app/app/adminapi/middleware/AdminJwtCheck.php @@ -0,0 +1,53 @@ +controller == 'app\adminapi\controller\AuthController'){ + return $handler($request); + } + + $token = $request->header('Authorization'); + + if(!$token){ + return json([ + 'code' => 401, + 'message' => '請登入後再操作' + ]); + } + + $token = str_replace('Bearer ', '', $token); + + $key = 'jwtkey123456'; + + try{ + + $decoded = JWT::decode($token, new Key($key, 'HS256')); + + $request->uid = $decoded->uid; + + $response = $handler($request); + + return $response; + + }catch(\Exception $e){ + + return json([ + 'code' => 401, + 'message' => '操作失敗,請重新登入', + 'data' => $e->getMessage() + ]); + } + } +} \ No newline at end of file diff --git a/app/app/appapi/BaseController.php b/app/app/appapi/BaseController.php new file mode 100644 index 0000000..f6d5bbd --- /dev/null +++ b/app/app/appapi/BaseController.php @@ -0,0 +1,32 @@ + $code, + 'message' => $message, + 'time'=>time(), + 'data'=>$data + ]; + return json($result); + } + + public function Error($data='',$code=500,$message='請求失敗'){ + $result = [ + 'code' => $code, + 'message' => $message, + 'time'=>time(), + 'data'=>$data + ]; + return json($result); + } +} diff --git a/app/app/appapi/controller/AboutController.php b/app/app/appapi/controller/AboutController.php new file mode 100644 index 0000000..564fc90 --- /dev/null +++ b/app/app/appapi/controller/AboutController.php @@ -0,0 +1,68 @@ +get(); + // $where[] = ['lang', $param['lang']]; + + $article = Db::name('article') + ->where('cat_id',$param['id']) + ->where('lang',$param['lang']) + ->value('content'); + + $result = $article; + + return $this->Success($result); + } + + public function getBannerList(Request $request) + { + $param = $request->get(); + // $where[] = ['lang', $param['lang']]; + + $list = Db::name('banner') + // ->where('lang',$param['lang']) + ->order('id', 'desc') + ->select() + ->toArray(); + + + foreach($list as $key => $val){ + $list[$key]['imageurl1'] = getUrl().$val['imageurl1']; + $list[$key]['imageurl2'] = getUrl().$val['imageurl2']; + } + + $result = $list; + + return $this->Success($result); + } + + public function getSupplierList(Request $request) + { + $param = $request->get(); + // $where[] = ['lang', $param['lang']]; + + $list = Db::name('supplier') + // ->where('lang',$param['lang']) + ->order('id', 'desc') + ->select() + ->toArray(); + + + foreach($list as $key => $val){ + $list[$key]['imageurl'] = getUrl().$val['imageurl']; + } + + $result = $list; + + return $this->Success($result); + } + +} diff --git a/app/app/appapi/controller/ContactController.php b/app/app/appapi/controller/ContactController.php new file mode 100644 index 0000000..c9c0fb0 --- /dev/null +++ b/app/app/appapi/controller/ContactController.php @@ -0,0 +1,47 @@ +get(); + // $where[] = ['lang', $param['lang']]; + + $list = Db::name('branch') + ->where('lang',$param['lang']) + ->order('sort_order', 'asc') + ->select() + ->toArray(); + + return $this->Success($list); + } + + public function addContact(Request $request) + { + $param = $request->post(); + // $where[] = ['lang', $param['lang']]; + $data = [ + 'company' => $param['company'], + 'name' => $param['name'], + 'tel' => $param['tel'], + 'email' => $param['email'], + 'content' => $param['content'], + ]; + + try{ + Db::name('contact') + ->insert($data); + + return $this->Success('新增成功'); + }catch(\Exception $e){ + return $this->Error('新增失败'); + } + + } + +} diff --git a/app/app/appapi/controller/IndexController.php b/app/app/appapi/controller/IndexController.php new file mode 100644 index 0000000..c314379 --- /dev/null +++ b/app/app/appapi/controller/IndexController.php @@ -0,0 +1,128 @@ +get(); + // $where[] = ['lang', $param['lang']]; + + $list = Db::name('config') + // ->where($where) + ->select() + ->toArray(); + + $result = []; + foreach ($list as $key => $val) { + $result[$val['lang']][$val['code']] = $val['value']; + } + + return $this->Success($result); + } + + public function getBannerList(Request $request) + { + $param = $request->get(); + // $where[] = ['lang', $param['lang']]; + + $list = Db::name('banner') + // ->where('lang',$param['lang']) + ->order('id', 'desc') + ->select() + ->toArray(); + + + foreach($list as $key => $val){ + $list[$key]['imageurl1'] = getUrl().$val['imageurl1']; + $list[$key]['imageurl2'] = getUrl().$val['imageurl2']; + } + + $result = $list; + + return $this->Success($result); + } + + public function getParentCateList(Request $request) + { + $param = $request->get(); + + $where = []; + + $list = Db::name('category') + ->where('lang',$param['lang']) + ->where('parent_id',0) + ->order('sort_order', 'asc') + ->select() + ->toArray(); + + + // foreach($list as $key => $val){ + + // } + + return $this->Success($list); + } + + public function getSupplierList(Request $request) + { + $param = $request->get(); + // $where[] = ['lang', $param['lang']]; + + $list = Db::name('supplier') + ->where('lang',$param['lang']) + ->order('id', 'desc') + ->select() + ->toArray(); + + + foreach($list as $key => $val){ + $list[$key]['imageurl'] = $val['imageurl']; + } + + $result = $list; + + return $this->Success($result); + } + + public function getCateList(Request $request) + { + $param = $request->get(); + + $where = []; + + $list = Db::name('category') + ->where('lang',$param['lang']) + ->order('sort_order', 'asc') + ->select() + ->toArray(); + + $list = $this->genCategoryTree($list); + + // foreach($list as $key => $val){ + + // } + + return $this->Success($list); + } + + public function genCategoryTree($list,$parent_id = 0){ + $tree = []; + foreach($list as $key => $val){ + if($val['parent_id'] == $parent_id){ + $val['children'] = $this->genCategoryTree($list,$val['id']); + $tree[] = $val; + } + } + return $tree; + } + +} diff --git a/app/app/appapi/controller/ProductController.php b/app/app/appapi/controller/ProductController.php new file mode 100644 index 0000000..5d27ef3 --- /dev/null +++ b/app/app/appapi/controller/ProductController.php @@ -0,0 +1,75 @@ +get(); + + if(empty($param['cat_id'])){ + return $this->Success([]); + } + + $where = []; + + $category = Db::name('category') + ->where('id',$param['cat_id']) + ->find(); + + $category['parent_name'] = Db::name('category') + ->where('id',$category['parent_id']) + ->value('name'); + + $result = $category; + + return $this->Success($result); + } + + public function getProductList(Request $request) + { + $param = $request->get(); + + if(empty($param['cat_id'])){ + return $this->Success([]); + } + + $list = Db::name('product') + ->where('lang',$param['lang']) + ->where('cat_id',$param['cat_id']) + ->order('id', 'desc') + ->select() + ->toArray(); + + + foreach($list as $key => $val){ + // $list[$key]['imageurl1'] = getUrl().$val['imageurl1']; + // $list[$key]['imageurl2'] = getUrl().$val['imageurl2']; + } + + $result = $list; + + return $this->Success($result); + } + + public function getProduct(Request $request) + { + $param = $request->get(); + + $where = []; + + $product = Db::name('product') + ->where('id',$param['id']) + ->find(); + + + $result = $product; + + return $this->Success($result); + } + +} diff --git a/app/app/appapi/controller/SocialController.php b/app/app/appapi/controller/SocialController.php new file mode 100644 index 0000000..91e0f6d --- /dev/null +++ b/app/app/appapi/controller/SocialController.php @@ -0,0 +1,94 @@ +get(); + // $where[] = ['lang', $param['lang']]; + + $list = Db::name('news') + // ->where('lang',$param['lang']) + ->order('id', 'desc') + ->select() + ->toArray(); + + + foreach($list as $key => $val){ + + } + + $result = $list; + + return $this->Success($result); + } + + public function getNews(Request $request) + { + $param = $request->get(); + + if(empty($param['id'])){ + return $this->Error('參數錯誤'); + } + + $where = []; + + $news = Db::name('news') + ->where('id',$param['id']) + ->find(); + + $result = $news; + + return $this->Success($result); + } + + public function getActivityList(Request $request) + { + $param = $request->get(); + // $where[] = ['lang', $param['lang']]; + + $list = Db::name('activity') + // ->where('lang',$param['lang']) + ->order('id', 'desc') + ->select() + ->toArray(); + + + foreach($list as $key => $val){ + $list[$key]['imageList'] = json_decode($val['image_list']); + unset($list[$key]['image_list']); + } + + $result = $list; + + return $this->Success($result); + } + + public function getActivity(Request $request) + { + $param = $request->get(); + + if(empty($param['id'])){ + return $this->Error('參數錯誤'); + } + + $where = []; + + $activity = Db::name('activity') + ->where('id',$param['id']) + ->find(); + + $activity['imageList'] = json_decode($activity['image_list']); + unset($activity['image_list']); + + $result = $activity; + + return $this->Success($result); + } + +} diff --git a/app/app/appapi/controller/SupplierController copy.php b/app/app/appapi/controller/SupplierController copy.php new file mode 100644 index 0000000..91f159b --- /dev/null +++ b/app/app/appapi/controller/SupplierController copy.php @@ -0,0 +1,32 @@ +get(); + // $where[] = ['lang', $param['lang']]; + + $list = Db::name('banner') + // ->where('lang',$param['lang']) + ->order('id', 'desc') + ->select() + ->toArray(); + + + foreach($list as $key => $val){ + $list[$key]['imageurl1'] = getUrl().$val['imageurl1']; + $list[$key]['imageurl2'] = getUrl().$val['imageurl2']; + } + + $result = $list; + + return $this->Success($result); + } + +} diff --git a/app/app/controller/IndexController.php b/app/app/controller/IndexController.php new file mode 100644 index 0000000..93320c3 --- /dev/null +++ b/app/app/controller/IndexController.php @@ -0,0 +1,24 @@ + 'webman']); + } + + public function json(Request $request) + { + return json(['code' => 0, 'msg' => 'ok']); + } + +} diff --git a/app/app/functions.php b/app/app/functions.php new file mode 100644 index 0000000..f756012 --- /dev/null +++ b/app/app/functions.php @@ -0,0 +1,56 @@ +host(); + + return $protocol.$http; +} + +function AdminLog($admin_id, $content){ + if(!$admin_id){ + $user_name = ''; + }else{ + $user_name = Db::name('admin') + ->where('id', $admin_id)->value('username'); + } + + $data = [ + "admin_id" => $admin_id, + "admin_name" => $user_name, + "content" => $content, + "time" => date("Y-m-d h:i:s",time()), + "ip" => getRealIp() + ]; + + Db::name('admin_log')->insert($data); +} + +function getNameById($table,$field,$id){ + return Db::name($table)->where('id', $id)->value($field); +} + +function getRealIp(){ + + $forwarded = null; + + if(isset($_SERVER['HTTP_X_FORWARDED_FOR'])){ + $forwarded = $_SERVER['HTTP_X_FORWARDED_FOR']; + } + + if($forwarded){ + return $forwarded; + } + + if(isset($_SERVER['REMOTE_ADDR'])){ + return $_SERVER['REMOTE_ADDR']; + } + + return ''; +} diff --git a/app/app/middleware/StaticFile.php b/app/app/middleware/StaticFile.php new file mode 100644 index 0000000..eb3e33c --- /dev/null +++ b/app/app/middleware/StaticFile.php @@ -0,0 +1,42 @@ + + * @copyright walkor + * @link http://www.workerman.net/ + * @license http://www.opensource.org/licenses/mit-license.php MIT License + */ + +namespace app\middleware; + +use Webman\MiddlewareInterface; +use Webman\Http\Response; +use Webman\Http\Request; + +/** + * Class StaticFile + * @package app\middleware + */ +class StaticFile implements MiddlewareInterface +{ + public function process(Request $request, callable $next): Response + { + // Access to files beginning with. Is prohibited + if (strpos($request->path(), '/.') !== false) { + return response('

403 forbidden

', 403); + } + /** @var Response $response */ + $response = $next($request); + // Add cross domain HTTP header + /*$response->withHeaders([ + 'Access-Control-Allow-Origin' => '*', + 'Access-Control-Allow-Credentials' => 'true', + ]);*/ + return $response; + } +} diff --git a/app/app/model/Test.php b/app/app/model/Test.php new file mode 100644 index 0000000..92d70e3 --- /dev/null +++ b/app/app/model/Test.php @@ -0,0 +1,29 @@ + + + + + + + + webman + + + +hello + + diff --git a/app/composer.json b/app/composer.json new file mode 100644 index 0000000..7400e03 --- /dev/null +++ b/app/composer.json @@ -0,0 +1,59 @@ +{ + "name": "workerman/webman", + "type": "project", + "keywords": [ + "high performance", + "http service" + ], + "homepage": "https://www.workerman.net", + "license": "MIT", + "description": "High performance HTTP Service Framework.", + "authors": [ + { + "name": "walkor", + "email": "walkor@workerman.net", + "homepage": "https://www.workerman.net", + "role": "Developer" + } + ], + "support": { + "email": "walkor@workerman.net", + "issues": "https://github.com/walkor/webman/issues", + "forum": "https://wenda.workerman.net/", + "wiki": "https://workerman.net/doc/webman", + "source": "https://github.com/walkor/webman" + }, + "require": { + "php": ">=7.2", + "workerman/webman-framework": "^1.5.0", + "monolog/monolog": "^2.0", + "webman/think-orm": "^1.1", + "firebase/php-jwt": "^6.10", + "webman/cors": "^1.0" + }, + "suggest": { + "ext-event": "For better performance. " + }, + "autoload": { + "psr-4": { + "": "./", + "app\\": "./app", + "App\\": "./app", + "app\\View\\Components\\": "./app/view/components" + }, + "files": [ + "./support/helpers.php" + ] + }, + "scripts": { + "post-package-install": [ + "support\\Plugin::install" + ], + "post-package-update": [ + "support\\Plugin::install" + ], + "pre-package-uninstall": [ + "support\\Plugin::uninstall" + ] + } +} diff --git a/app/composer.lock b/app/composer.lock new file mode 100644 index 0000000..707df4b --- /dev/null +++ b/app/composer.lock @@ -0,0 +1,680 @@ +{ + "_readme": [ + "This file locks the dependencies of your project to a known state", + "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", + "This file is @generated automatically" + ], + "content-hash": "2cb7928be53ae5b455419ac0578105b4", + "packages": [ + { + "name": "firebase/php-jwt", + "version": "v6.10.0", + "source": { + "type": "git", + "url": "https://github.com/firebase/php-jwt.git", + "reference": "a49db6f0a5033aef5143295342f1c95521b075ff" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/firebase/php-jwt/zipball/a49db6f0a5033aef5143295342f1c95521b075ff", + "reference": "a49db6f0a5033aef5143295342f1c95521b075ff", + "shasum": "" + }, + "require": { + "php": "^7.4||^8.0" + }, + "require-dev": { + "guzzlehttp/guzzle": "^6.5||^7.4", + "phpspec/prophecy-phpunit": "^2.0", + "phpunit/phpunit": "^9.5", + "psr/cache": "^1.0||^2.0", + "psr/http-client": "^1.0", + "psr/http-factory": "^1.0" + }, + "suggest": { + "ext-sodium": "Support EdDSA (Ed25519) signatures", + "paragonie/sodium_compat": "Support EdDSA (Ed25519) signatures when libsodium is not present" + }, + "type": "library", + "autoload": { + "psr-4": { + "Firebase\\JWT\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Neuman Vong", + "email": "neuman+pear@twilio.com", + "role": "Developer" + }, + { + "name": "Anant Narayanan", + "email": "anant@php.net", + "role": "Developer" + } + ], + "description": "A simple library to encode and decode JSON Web Tokens (JWT) in PHP. Should conform to the current spec.", + "homepage": "https://github.com/firebase/php-jwt", + "keywords": [ + "jwt", + "php" + ], + "support": { + "issues": "https://github.com/firebase/php-jwt/issues", + "source": "https://github.com/firebase/php-jwt/tree/v6.10.0" + }, + "time": "2023-12-01T16:26:39+00:00" + }, + { + "name": "monolog/monolog", + "version": "2.9.2", + "source": { + "type": "git", + "url": "https://github.com/Seldaek/monolog.git", + "reference": "437cb3628f4cf6042cc10ae97fc2b8472e48ca1f" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/Seldaek/monolog/zipball/437cb3628f4cf6042cc10ae97fc2b8472e48ca1f", + "reference": "437cb3628f4cf6042cc10ae97fc2b8472e48ca1f", + "shasum": "" + }, + "require": { + "php": ">=7.2", + "psr/log": "^1.0.1 || ^2.0 || ^3.0" + }, + "provide": { + "psr/log-implementation": "1.0.0 || 2.0.0 || 3.0.0" + }, + "require-dev": { + "aws/aws-sdk-php": "^2.4.9 || ^3.0", + "doctrine/couchdb": "~1.0@dev", + "elasticsearch/elasticsearch": "^7 || ^8", + "ext-json": "*", + "graylog2/gelf-php": "^1.4.2 || ^2@dev", + "guzzlehttp/guzzle": "^7.4", + "guzzlehttp/psr7": "^2.2", + "mongodb/mongodb": "^1.8", + "php-amqplib/php-amqplib": "~2.4 || ^3", + "phpspec/prophecy": "^1.15", + "phpstan/phpstan": "^0.12.91", + "phpunit/phpunit": "^8.5.14", + "predis/predis": "^1.1 || ^2.0", + "rollbar/rollbar": "^1.3 || ^2 || ^3", + "ruflin/elastica": "^7", + "swiftmailer/swiftmailer": "^5.3|^6.0", + "symfony/mailer": "^5.4 || ^6", + "symfony/mime": "^5.4 || ^6" + }, + "suggest": { + "aws/aws-sdk-php": "Allow sending log messages to AWS services like DynamoDB", + "doctrine/couchdb": "Allow sending log messages to a CouchDB server", + "elasticsearch/elasticsearch": "Allow sending log messages to an Elasticsearch server via official client", + "ext-amqp": "Allow sending log messages to an AMQP server (1.0+ required)", + "ext-curl": "Required to send log messages using the IFTTTHandler, the LogglyHandler, the SendGridHandler, the SlackWebhookHandler or the TelegramBotHandler", + "ext-mbstring": "Allow to work properly with unicode symbols", + "ext-mongodb": "Allow sending log messages to a MongoDB server (via driver)", + "ext-openssl": "Required to send log messages using SSL", + "ext-sockets": "Allow sending log messages to a Syslog server (via UDP driver)", + "graylog2/gelf-php": "Allow sending log messages to a GrayLog2 server", + "mongodb/mongodb": "Allow sending log messages to a MongoDB server (via library)", + "php-amqplib/php-amqplib": "Allow sending log messages to an AMQP server using php-amqplib", + "rollbar/rollbar": "Allow sending log messages to Rollbar", + "ruflin/elastica": "Allow sending log messages to an Elastic Search server" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "2.x-dev" + } + }, + "autoload": { + "psr-4": { + "Monolog\\": "src/Monolog" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Jordi Boggiano", + "email": "j.boggiano@seld.be", + "homepage": "https://seld.be" + } + ], + "description": "Sends your logs to files, sockets, inboxes, databases and various web services", + "homepage": "https://github.com/Seldaek/monolog", + "keywords": [ + "log", + "logging", + "psr-3" + ], + "support": { + "issues": "https://github.com/Seldaek/monolog/issues", + "source": "https://github.com/Seldaek/monolog/tree/2.9.2" + }, + "funding": [ + { + "url": "https://github.com/Seldaek", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/monolog/monolog", + "type": "tidelift" + } + ], + "time": "2023-10-27T15:25:26+00:00" + }, + { + "name": "nikic/fast-route", + "version": "v1.3.0", + "source": { + "type": "git", + "url": "https://github.com/nikic/FastRoute.git", + "reference": "181d480e08d9476e61381e04a71b34dc0432e812" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/nikic/FastRoute/zipball/181d480e08d9476e61381e04a71b34dc0432e812", + "reference": "181d480e08d9476e61381e04a71b34dc0432e812", + "shasum": "" + }, + "require": { + "php": ">=5.4.0" + }, + "require-dev": { + "phpunit/phpunit": "^4.8.35|~5.7" + }, + "type": "library", + "autoload": { + "files": [ + "src/functions.php" + ], + "psr-4": { + "FastRoute\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Nikita Popov", + "email": "nikic@php.net" + } + ], + "description": "Fast request router for PHP", + "keywords": [ + "router", + "routing" + ], + "support": { + "issues": "https://github.com/nikic/FastRoute/issues", + "source": "https://github.com/nikic/FastRoute/tree/master" + }, + "time": "2018-02-13T20:26:39+00:00" + }, + { + "name": "psr/container", + "version": "2.0.2", + "source": { + "type": "git", + "url": "https://github.com/php-fig/container.git", + "reference": "c71ecc56dfe541dbd90c5360474fbc405f8d5963" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/php-fig/container/zipball/c71ecc56dfe541dbd90c5360474fbc405f8d5963", + "reference": "c71ecc56dfe541dbd90c5360474fbc405f8d5963", + "shasum": "" + }, + "require": { + "php": ">=7.4.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "Psr\\Container\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "PHP-FIG", + "homepage": "https://www.php-fig.org/" + } + ], + "description": "Common Container Interface (PHP FIG PSR-11)", + "homepage": "https://github.com/php-fig/container", + "keywords": [ + "PSR-11", + "container", + "container-interface", + "container-interop", + "psr" + ], + "support": { + "issues": "https://github.com/php-fig/container/issues", + "source": "https://github.com/php-fig/container/tree/2.0.2" + }, + "time": "2021-11-05T16:47:00+00:00" + }, + { + "name": "psr/log", + "version": "3.0.0", + "source": { + "type": "git", + "url": "https://github.com/php-fig/log.git", + "reference": "fe5ea303b0887d5caefd3d431c3e61ad47037001" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/php-fig/log/zipball/fe5ea303b0887d5caefd3d431c3e61ad47037001", + "reference": "fe5ea303b0887d5caefd3d431c3e61ad47037001", + "shasum": "" + }, + "require": { + "php": ">=8.0.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "3.x-dev" + } + }, + "autoload": { + "psr-4": { + "Psr\\Log\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "PHP-FIG", + "homepage": "https://www.php-fig.org/" + } + ], + "description": "Common interface for logging libraries", + "homepage": "https://github.com/php-fig/log", + "keywords": [ + "log", + "psr", + "psr-3" + ], + "support": { + "source": "https://github.com/php-fig/log/tree/3.0.0" + }, + "time": "2021-07-14T16:46:02+00:00" + }, + { + "name": "psr/simple-cache", + "version": "3.0.0", + "source": { + "type": "git", + "url": "https://github.com/php-fig/simple-cache.git", + "reference": "764e0b3939f5ca87cb904f570ef9be2d78a07865" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/php-fig/simple-cache/zipball/764e0b3939f5ca87cb904f570ef9be2d78a07865", + "reference": "764e0b3939f5ca87cb904f570ef9be2d78a07865", + "shasum": "" + }, + "require": { + "php": ">=8.0.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "3.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "Psr\\SimpleCache\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "PHP-FIG", + "homepage": "https://www.php-fig.org/" + } + ], + "description": "Common interfaces for simple caching", + "keywords": [ + "cache", + "caching", + "psr", + "psr-16", + "simple-cache" + ], + "support": { + "source": "https://github.com/php-fig/simple-cache/tree/3.0.0" + }, + "time": "2021-10-29T13:26:27+00:00" + }, + { + "name": "topthink/think-helper", + "version": "v3.1.6", + "source": { + "type": "git", + "url": "https://github.com/top-think/think-helper.git", + "reference": "769acbe50a4274327162f9c68ec2e89a38eb2aff" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/top-think/think-helper/zipball/769acbe50a4274327162f9c68ec2e89a38eb2aff", + "reference": "769acbe50a4274327162f9c68ec2e89a38eb2aff", + "shasum": "" + }, + "require": { + "php": ">=7.1.0" + }, + "require-dev": { + "phpunit/phpunit": "^9.5" + }, + "type": "library", + "autoload": { + "files": [ + "src/helper.php" + ], + "psr-4": { + "think\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "Apache-2.0" + ], + "authors": [ + { + "name": "yunwuxin", + "email": "448901948@qq.com" + } + ], + "description": "The ThinkPHP6 Helper Package", + "support": { + "issues": "https://github.com/top-think/think-helper/issues", + "source": "https://github.com/top-think/think-helper/tree/v3.1.6" + }, + "time": "2021-12-15T04:27:55+00:00" + }, + { + "name": "topthink/think-orm", + "version": "v3.0.14", + "source": { + "type": "git", + "url": "https://github.com/top-think/think-orm.git", + "reference": "7b0b8ea6ca5e020217f6ba7ae34d547e148a675b" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/top-think/think-orm/zipball/7b0b8ea6ca5e020217f6ba7ae34d547e148a675b", + "reference": "7b0b8ea6ca5e020217f6ba7ae34d547e148a675b", + "shasum": "" + }, + "require": { + "ext-json": "*", + "ext-pdo": "*", + "php": ">=8.0.0", + "psr/log": ">=1.0", + "psr/simple-cache": ">=1.0", + "topthink/think-helper": "^3.1" + }, + "require-dev": { + "phpunit/phpunit": "^8|^9.5|^10" + }, + "type": "library", + "autoload": { + "files": [ + "stubs/load_stubs.php" + ], + "psr-4": { + "think\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "Apache-2.0" + ], + "authors": [ + { + "name": "liu21st", + "email": "liu21st@gmail.com" + } + ], + "description": "the PHP Database&ORM Framework", + "keywords": [ + "database", + "orm" + ], + "support": { + "issues": "https://github.com/top-think/think-orm/issues", + "source": "https://github.com/top-think/think-orm/tree/v3.0.14" + }, + "time": "2023-09-24T13:15:07+00:00" + }, + { + "name": "webman/cors", + "version": "v1.0.1", + "source": { + "type": "git", + "url": "https://github.com/webman-php/cors.git", + "reference": "a5396634fd2ee4e7b15abba0bab45f28e1c1ad02" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/webman-php/cors/zipball/a5396634fd2ee4e7b15abba0bab45f28e1c1ad02", + "reference": "a5396634fd2ee4e7b15abba0bab45f28e1c1ad02", + "shasum": "" + }, + "type": "library", + "autoload": { + "psr-4": { + "Webman\\Cors\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "support": { + "issues": "https://github.com/webman-php/cors/issues", + "source": "https://github.com/webman-php/cors/tree/v1.0.1" + }, + "time": "2022-11-05T11:16:20+00:00" + }, + { + "name": "webman/think-orm", + "version": "v1.1.1", + "source": { + "type": "git", + "url": "https://github.com/webman-php/think-orm.git", + "reference": "9f1e525c5c4b5a2e1eee6a4f82ef5d23c69139a2" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/webman-php/think-orm/zipball/9f1e525c5c4b5a2e1eee6a4f82ef5d23c69139a2", + "reference": "9f1e525c5c4b5a2e1eee6a4f82ef5d23c69139a2", + "shasum": "" + }, + "require": { + "topthink/think-orm": "^2.0.53 || ^3.0.0", + "workerman/webman-framework": "^1.2.1" + }, + "type": "library", + "autoload": { + "psr-4": { + "Webman\\ThinkOrm\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "support": { + "issues": "https://github.com/webman-php/think-orm/issues", + "source": "https://github.com/webman-php/think-orm/tree/v1.1.1" + }, + "time": "2023-04-23T14:40:18+00:00" + }, + { + "name": "workerman/webman-framework", + "version": "v1.5.14", + "source": { + "type": "git", + "url": "https://github.com/walkor/webman-framework.git", + "reference": "d9304dfa142b610f2ce307267a32ddbd0553e474" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/walkor/webman-framework/zipball/d9304dfa142b610f2ce307267a32ddbd0553e474", + "reference": "d9304dfa142b610f2ce307267a32ddbd0553e474", + "shasum": "" + }, + "require": { + "ext-json": "*", + "nikic/fast-route": "^1.3", + "php": ">=7.2", + "psr/container": ">=1.0", + "workerman/workerman": "^4.0.4 || ^5.0.0" + }, + "suggest": { + "ext-event": "For better performance. " + }, + "type": "library", + "autoload": { + "psr-4": { + "Webman\\": "./src", + "Support\\": "./src/support", + "support\\": "./src/support", + "Support\\View\\": "./src/support/view", + "Support\\Bootstrap\\": "./src/support/bootstrap", + "Support\\Exception\\": "./src/support/exception" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "walkor", + "email": "walkor@workerman.net", + "homepage": "https://www.workerman.net", + "role": "Developer" + } + ], + "description": "High performance HTTP Service Framework.", + "homepage": "https://www.workerman.net", + "keywords": [ + "High Performance", + "http service" + ], + "support": { + "email": "walkor@workerman.net", + "forum": "https://wenda.workerman.net/", + "issues": "https://github.com/walkor/webman/issues", + "source": "https://github.com/walkor/webman-framework", + "wiki": "https://doc.workerman.net/" + }, + "time": "2024-01-03T07:32:40+00:00" + }, + { + "name": "workerman/workerman", + "version": "v4.1.14", + "source": { + "type": "git", + "url": "https://github.com/walkor/workerman.git", + "reference": "f7c9667c7b5387c01fa9e50ee79ed931e93ee76e" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/walkor/workerman/zipball/f7c9667c7b5387c01fa9e50ee79ed931e93ee76e", + "reference": "f7c9667c7b5387c01fa9e50ee79ed931e93ee76e", + "shasum": "" + }, + "require": { + "php": ">=7.0" + }, + "suggest": { + "ext-event": "For better performance. " + }, + "type": "library", + "autoload": { + "psr-4": { + "Workerman\\": "./" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "walkor", + "email": "walkor@workerman.net", + "homepage": "http://www.workerman.net", + "role": "Developer" + } + ], + "description": "An asynchronous event driven PHP framework for easily building fast, scalable network applications.", + "homepage": "http://www.workerman.net", + "keywords": [ + "asynchronous", + "event-loop" + ], + "support": { + "email": "walkor@workerman.net", + "forum": "http://wenda.workerman.net/", + "issues": "https://github.com/walkor/workerman/issues", + "source": "https://github.com/walkor/workerman", + "wiki": "http://doc.workerman.net/" + }, + "funding": [ + { + "url": "https://opencollective.com/workerman", + "type": "open_collective" + }, + { + "url": "https://www.patreon.com/walkor", + "type": "patreon" + } + ], + "time": "2023-08-09T03:37:45+00:00" + } + ], + "packages-dev": [], + "aliases": [], + "minimum-stability": "stable", + "stability-flags": [], + "prefer-stable": false, + "prefer-lowest": false, + "platform": { + "php": ">=7.2" + }, + "platform-dev": [], + "plugin-api-version": "2.6.0" +} diff --git a/app/config/app.php b/app/config/app.php new file mode 100644 index 0000000..f26e358 --- /dev/null +++ b/app/config/app.php @@ -0,0 +1,26 @@ + + * @copyright walkor + * @link http://www.workerman.net/ + * @license http://www.opensource.org/licenses/mit-license.php MIT License + */ + +use support\Request; + +return [ + 'debug' => true, + 'error_reporting' => E_ALL, + 'default_timezone' => 'Asia/Shanghai', + 'request_class' => Request::class, + 'public_path' => base_path() . DIRECTORY_SEPARATOR . 'public', + 'runtime_path' => base_path(false) . DIRECTORY_SEPARATOR . 'runtime', + 'controller_suffix' => 'Controller', + 'controller_reuse' => false, +]; diff --git a/app/config/autoload.php b/app/config/autoload.php new file mode 100644 index 0000000..69a8135 --- /dev/null +++ b/app/config/autoload.php @@ -0,0 +1,21 @@ + + * @copyright walkor + * @link http://www.workerman.net/ + * @license http://www.opensource.org/licenses/mit-license.php MIT License + */ + +return [ + 'files' => [ + base_path() . '/app/functions.php', + base_path() . '/support/Request.php', + base_path() . '/support/Response.php', + ] +]; diff --git a/app/config/bootstrap.php b/app/config/bootstrap.php new file mode 100644 index 0000000..3257ec5 --- /dev/null +++ b/app/config/bootstrap.php @@ -0,0 +1,19 @@ + + * @copyright walkor + * @link http://www.workerman.net/ + * @license http://www.opensource.org/licenses/mit-license.php MIT License + */ + +return [ + support\bootstrap\Session::class, + support\bootstrap\LaravelDb::class, + Webman\ThinkOrm\ThinkOrm::class, +]; diff --git a/app/config/container.php b/app/config/container.php new file mode 100644 index 0000000..106b7b4 --- /dev/null +++ b/app/config/container.php @@ -0,0 +1,15 @@ + + * @copyright walkor + * @link http://www.workerman.net/ + * @license http://www.opensource.org/licenses/mit-license.php MIT License + */ + +return new Webman\Container; \ No newline at end of file diff --git a/app/config/database.php b/app/config/database.php new file mode 100644 index 0000000..7dc463a --- /dev/null +++ b/app/config/database.php @@ -0,0 +1,15 @@ + + * @copyright walkor + * @link http://www.workerman.net/ + * @license http://www.opensource.org/licenses/mit-license.php MIT License + */ + +return []; diff --git a/app/config/dependence.php b/app/config/dependence.php new file mode 100644 index 0000000..8e964ed --- /dev/null +++ b/app/config/dependence.php @@ -0,0 +1,15 @@ + + * @copyright walkor + * @link http://www.workerman.net/ + * @license http://www.opensource.org/licenses/mit-license.php MIT License + */ + +return []; \ No newline at end of file diff --git a/app/config/exception.php b/app/config/exception.php new file mode 100644 index 0000000..f2aede3 --- /dev/null +++ b/app/config/exception.php @@ -0,0 +1,17 @@ + + * @copyright walkor + * @link http://www.workerman.net/ + * @license http://www.opensource.org/licenses/mit-license.php MIT License + */ + +return [ + '' => support\exception\Handler::class, +]; \ No newline at end of file diff --git a/app/config/log.php b/app/config/log.php new file mode 100644 index 0000000..7f05de5 --- /dev/null +++ b/app/config/log.php @@ -0,0 +1,32 @@ + + * @copyright walkor + * @link http://www.workerman.net/ + * @license http://www.opensource.org/licenses/mit-license.php MIT License + */ + +return [ + 'default' => [ + 'handlers' => [ + [ + 'class' => Monolog\Handler\RotatingFileHandler::class, + 'constructor' => [ + runtime_path() . '/logs/webman.log', + 7, //$maxFiles + Monolog\Logger::DEBUG, + ], + 'formatter' => [ + 'class' => Monolog\Formatter\LineFormatter::class, + 'constructor' => [null, 'Y-m-d H:i:s', true], + ], + ] + ], + ], +]; diff --git a/app/config/middleware.php b/app/config/middleware.php new file mode 100644 index 0000000..df2fc23 --- /dev/null +++ b/app/config/middleware.php @@ -0,0 +1,19 @@ + + * @copyright walkor + * @link http://www.workerman.net/ + * @license http://www.opensource.org/licenses/mit-license.php MIT License + */ + +return [ +// 'adminapi' => [ +// app\adminapi\middleware\AdminJwtCheck::class, +// ], +]; \ No newline at end of file diff --git a/app/config/plugin/webman/cors/app.php b/app/config/plugin/webman/cors/app.php new file mode 100644 index 0000000..8f9c426 --- /dev/null +++ b/app/config/plugin/webman/cors/app.php @@ -0,0 +1,4 @@ + true, +]; \ No newline at end of file diff --git a/app/config/plugin/webman/cors/middleware.php b/app/config/plugin/webman/cors/middleware.php new file mode 100644 index 0000000..67b99b4 --- /dev/null +++ b/app/config/plugin/webman/cors/middleware.php @@ -0,0 +1,19 @@ + + * @copyright walkor + * @link http://www.workerman.net/ + * @license http://www.opensource.org/licenses/mit-license.php MIT License + */ + +return [ + '' => [ + \Webman\Cors\CORS::class + ] +]; \ No newline at end of file diff --git a/app/config/process.php b/app/config/process.php new file mode 100644 index 0000000..f94d27f --- /dev/null +++ b/app/config/process.php @@ -0,0 +1,42 @@ + + * @copyright walkor + * @link http://www.workerman.net/ + * @license http://www.opensource.org/licenses/mit-license.php MIT License + */ + +global $argv; + +return [ + // File update detection and automatic reload + 'monitor' => [ + 'handler' => process\Monitor::class, + 'reloadable' => false, + 'constructor' => [ + // Monitor these directories + 'monitorDir' => array_merge([ + app_path(), + config_path(), + base_path() . '/process', + base_path() . '/support', + base_path() . '/resource', + base_path() . '/.env', + ], glob(base_path() . '/plugin/*/app'), glob(base_path() . '/plugin/*/config'), glob(base_path() . '/plugin/*/api')), + // Files with these suffixes will be monitored + 'monitorExtensions' => [ + 'php', 'html', 'htm', 'env' + ], + 'options' => [ + 'enable_file_monitor' => !in_array('-d', $argv) && DIRECTORY_SEPARATOR === '/', + 'enable_memory_monitor' => DIRECTORY_SEPARATOR === '/', + ] + ] + ] +]; diff --git a/app/config/redis.php b/app/config/redis.php new file mode 100644 index 0000000..2f9757a --- /dev/null +++ b/app/config/redis.php @@ -0,0 +1,22 @@ + + * @copyright walkor + * @link http://www.workerman.net/ + * @license http://www.opensource.org/licenses/mit-license.php MIT License + */ + +return [ + 'default' => [ + 'host' => '127.0.0.1', + 'password' => null, + 'port' => 6379, + 'database' => 0, + ], +]; diff --git a/app/config/route.php b/app/config/route.php new file mode 100644 index 0000000..a5064fc --- /dev/null +++ b/app/config/route.php @@ -0,0 +1,21 @@ + + * @copyright walkor + * @link http://www.workerman.net/ + * @license http://www.opensource.org/licenses/mit-license.php MIT License + */ + +use Webman\Route; + + + + + + diff --git a/app/config/server.php b/app/config/server.php new file mode 100644 index 0000000..f55ce3c --- /dev/null +++ b/app/config/server.php @@ -0,0 +1,31 @@ + + * @copyright walkor + * @link http://www.workerman.net/ + * @license http://www.opensource.org/licenses/mit-license.php MIT License + */ + +return [ + 'listen' => 'http://0.0.0.0:8787', + 'transport' => 'tcp', + 'context' => [], + 'name' => 'webman', + 'count' => cpu_count() * 4, + 'user' => '', + 'group' => '', + 'reusePort' => false, + 'event_loop' => '', + 'stop_timeout' => 2, + 'pid_file' => runtime_path() . '/webman.pid', + 'status_file' => runtime_path() . '/webman.status', + 'stdout_file' => runtime_path() . '/logs/stdout.log', + 'log_file' => runtime_path() . '/logs/workerman.log', + 'max_package_size' => 10 * 1024 * 1024 +]; diff --git a/app/config/session.php b/app/config/session.php new file mode 100644 index 0000000..043f8c4 --- /dev/null +++ b/app/config/session.php @@ -0,0 +1,65 @@ + + * @copyright walkor + * @link http://www.workerman.net/ + * @license http://www.opensource.org/licenses/mit-license.php MIT License + */ + +use Webman\Session\FileSessionHandler; +use Webman\Session\RedisSessionHandler; +use Webman\Session\RedisClusterSessionHandler; + +return [ + + 'type' => 'file', // or redis or redis_cluster + + 'handler' => FileSessionHandler::class, + + 'config' => [ + 'file' => [ + 'save_path' => runtime_path() . '/sessions', + ], + 'redis' => [ + 'host' => '127.0.0.1', + 'port' => 6379, + 'auth' => '', + 'timeout' => 2, + 'database' => '', + 'prefix' => 'redis_session_', + ], + 'redis_cluster' => [ + 'host' => ['127.0.0.1:7000', '127.0.0.1:7001', '127.0.0.1:7001'], + 'timeout' => 2, + 'auth' => '', + 'prefix' => 'redis_session_', + ] + ], + + 'session_name' => 'PHPSID', + + 'auto_update_timestamp' => false, + + 'lifetime' => 7*24*60*60, + + 'cookie_lifetime' => 365*24*60*60, + + 'cookie_path' => '/', + + 'domain' => '', + + 'http_only' => true, + + 'secure' => false, + + 'same_site' => '', + + 'gc_probability' => [1, 1000], + +]; diff --git a/app/config/static.php b/app/config/static.php new file mode 100644 index 0000000..2f76cf3 --- /dev/null +++ b/app/config/static.php @@ -0,0 +1,23 @@ + + * @copyright walkor + * @link http://www.workerman.net/ + * @license http://www.opensource.org/licenses/mit-license.php MIT License + */ + +/** + * Static file settings + */ +return [ + 'enable' => true, + 'middleware' => [ // Static file Middleware + //app\middleware\StaticFile::class, + ], +]; \ No newline at end of file diff --git a/app/config/thinkorm.php b/app/config/thinkorm.php new file mode 100644 index 0000000..20aa0b2 --- /dev/null +++ b/app/config/thinkorm.php @@ -0,0 +1,36 @@ + 'mysql', + 'connections' => [ + 'mysql' => [ + // 数据库类型 + 'type' => 'mysql', + // 服务器地址 + 'hostname' => 'mysql', + // 数据库名 + 'database' => 'prodio', + // 数据库用户名 + 'username' => 'root', + // 数据库密码 + 'password' => 'admin', + // 数据库连接端口 + 'hostport' => '3306', + // 数据库连接参数 + 'params' => [ + // 连接超时3秒 + \PDO::ATTR_TIMEOUT => 10, + ], + // 数据库编码默认采用utf8 + 'charset' => 'utf8mb4', + // 数据库表前缀 + 'prefix' => 'asc_', + // 断线重连 + 'break_reconnect' => true, + // 关闭SQL监听日志 + 'trigger_sql' => false, + // 自定义分页类 + 'bootstrap' => '' + ], + ], +]; diff --git a/app/config/translation.php b/app/config/translation.php new file mode 100644 index 0000000..96589b2 --- /dev/null +++ b/app/config/translation.php @@ -0,0 +1,25 @@ + + * @copyright walkor + * @link http://www.workerman.net/ + * @license http://www.opensource.org/licenses/mit-license.php MIT License + */ + +/** + * Multilingual configuration + */ +return [ + // Default language + 'locale' => 'zh_CN', + // Fallback language + 'fallback_locale' => ['zh_CN', 'en'], + // Folder where language files are stored + 'path' => base_path() . '/resource/translations', +]; \ No newline at end of file diff --git a/app/config/view.php b/app/config/view.php new file mode 100644 index 0000000..e3a7b85 --- /dev/null +++ b/app/config/view.php @@ -0,0 +1,22 @@ + + * @copyright walkor + * @link http://www.workerman.net/ + * @license http://www.opensource.org/licenses/mit-license.php MIT License + */ + +use support\view\Raw; +use support\view\Twig; +use support\view\Blade; +use support\view\ThinkPHP; + +return [ + 'handler' => Raw::class +]; diff --git a/app/process/Monitor.php b/app/process/Monitor.php new file mode 100644 index 0000000..92b3716 --- /dev/null +++ b/app/process/Monitor.php @@ -0,0 +1,243 @@ + + * @copyright walkor + * @link http://www.workerman.net/ + * @license http://www.opensource.org/licenses/mit-license.php MIT License + */ + +namespace process; + +use FilesystemIterator; +use RecursiveDirectoryIterator; +use RecursiveIteratorIterator; +use SplFileInfo; +use Workerman\Timer; +use Workerman\Worker; + +/** + * Class FileMonitor + * @package process + */ +class Monitor +{ + /** + * @var array + */ + protected $paths = []; + + /** + * @var array + */ + protected $extensions = []; + + /** + * @var string + */ + public static $lockFile = __DIR__ . '/../runtime/monitor.lock'; + + /** + * Pause monitor + * @return void + */ + public static function pause() + { + file_put_contents(static::$lockFile, time()); + } + + /** + * Resume monitor + * @return void + */ + public static function resume(): void + { + clearstatcache(); + if (is_file(static::$lockFile)) { + unlink(static::$lockFile); + } + } + + /** + * Whether monitor is paused + * @return bool + */ + public static function isPaused(): bool + { + clearstatcache(); + return file_exists(static::$lockFile); + } + + /** + * FileMonitor constructor. + * @param $monitorDir + * @param $monitorExtensions + * @param array $options + */ + public function __construct($monitorDir, $monitorExtensions, array $options = []) + { + static::resume(); + $this->paths = (array)$monitorDir; + $this->extensions = $monitorExtensions; + if (!Worker::getAllWorkers()) { + return; + } + $disableFunctions = explode(',', ini_get('disable_functions')); + if (in_array('exec', $disableFunctions, true)) { + echo "\nMonitor file change turned off because exec() has been disabled by disable_functions setting in " . PHP_CONFIG_FILE_PATH . "/php.ini\n"; + } else { + if ($options['enable_file_monitor'] ?? true) { + Timer::add(1, function () { + $this->checkAllFilesChange(); + }); + } + } + + $memoryLimit = $this->getMemoryLimit($options['memory_limit'] ?? null); + if ($memoryLimit && ($options['enable_memory_monitor'] ?? true)) { + Timer::add(60, [$this, 'checkMemory'], [$memoryLimit]); + } + } + + /** + * @param $monitorDir + * @return bool + */ + public function checkFilesChange($monitorDir): bool + { + static $lastMtime, $tooManyFilesCheck; + if (!$lastMtime) { + $lastMtime = time(); + } + clearstatcache(); + if (!is_dir($monitorDir)) { + if (!is_file($monitorDir)) { + return false; + } + $iterator = [new SplFileInfo($monitorDir)]; + } else { + // recursive traversal directory + $dirIterator = new RecursiveDirectoryIterator($monitorDir, FilesystemIterator::SKIP_DOTS | FilesystemIterator::FOLLOW_SYMLINKS); + $iterator = new RecursiveIteratorIterator($dirIterator); + } + $count = 0; + foreach ($iterator as $file) { + $count ++; + /** var SplFileInfo $file */ + if (is_dir($file->getRealPath())) { + continue; + } + // check mtime + if (in_array($file->getExtension(), $this->extensions, true) && $lastMtime < $file->getMTime()) { + $var = 0; + exec('"'.PHP_BINARY . '" -l ' . $file, $out, $var); + $lastMtime = $file->getMTime(); + if ($var) { + continue; + } + echo $file . " update and reload\n"; + // send SIGUSR1 signal to master process for reload + if (DIRECTORY_SEPARATOR === '/') { + posix_kill(posix_getppid(), SIGUSR1); + } else { + return true; + } + break; + } + } + if (!$tooManyFilesCheck && $count > 1000) { + echo "Monitor: There are too many files ($count files) in $monitorDir which makes file monitoring very slow\n"; + $tooManyFilesCheck = 1; + } + return false; + } + + /** + * @return bool + */ + public function checkAllFilesChange(): bool + { + if (static::isPaused()) { + return false; + } + foreach ($this->paths as $path) { + if ($this->checkFilesChange($path)) { + return true; + } + } + return false; + } + + /** + * @param $memoryLimit + * @return void + */ + public function checkMemory($memoryLimit) + { + if (static::isPaused() || $memoryLimit <= 0) { + return; + } + $ppid = posix_getppid(); + $childrenFile = "/proc/$ppid/task/$ppid/children"; + if (!is_file($childrenFile) || !($children = file_get_contents($childrenFile))) { + return; + } + foreach (explode(' ', $children) as $pid) { + $pid = (int)$pid; + $statusFile = "/proc/$pid/status"; + if (!is_file($statusFile) || !($status = file_get_contents($statusFile))) { + continue; + } + $mem = 0; + if (preg_match('/VmRSS\s*?:\s*?(\d+?)\s*?kB/', $status, $match)) { + $mem = $match[1]; + } + $mem = (int)($mem / 1024); + if ($mem >= $memoryLimit) { + posix_kill($pid, SIGINT); + } + } + } + + /** + * Get memory limit + * @return float + */ + protected function getMemoryLimit($memoryLimit) + { + if ($memoryLimit === 0) { + return 0; + } + $usePhpIni = false; + if (!$memoryLimit) { + $memoryLimit = ini_get('memory_limit'); + $usePhpIni = true; + } + + if ($memoryLimit == -1) { + return 0; + } + $unit = strtolower($memoryLimit[strlen($memoryLimit) - 1]); + if ($unit === 'g') { + $memoryLimit = 1024 * (int)$memoryLimit; + } else if ($unit === 'm') { + $memoryLimit = (int)$memoryLimit; + } else if ($unit === 'k') { + $memoryLimit = ((int)$memoryLimit / 1024); + } else { + $memoryLimit = ((int)$memoryLimit / (1024 * 1024)); + } + if ($memoryLimit < 30) { + $memoryLimit = 30; + } + if ($usePhpIni) { + $memoryLimit = (int)(0.8 * $memoryLimit); + } + return $memoryLimit; + } +} diff --git a/app/public/404.html b/app/public/404.html new file mode 100644 index 0000000..2bde119 --- /dev/null +++ b/app/public/404.html @@ -0,0 +1,12 @@ + + + 404 Not Found - webman + + +
+

404 Not Found

+
+
+
webman
+ + diff --git a/app/public/admin/assets/AdminLayout-0815423a.js b/app/public/admin/assets/AdminLayout-0815423a.js new file mode 100644 index 0000000..77726d5 --- /dev/null +++ b/app/public/admin/assets/AdminLayout-0815423a.js @@ -0,0 +1 @@ +import{_ as ee,a as ge,r as Ee,h as yt,T as Ct,i as ye,u as We,b as wt,c as Le,E as ae,d as He,m as Mt,e as Tt,f as kt,p as xt,g as ze,j as Et,t as At,k as St,l as Bt,n as Pt,o as Nt,q as It,s as $t,v as Dt,w as Ot,x as Ht,y as zt,z as Vt,A as Ft}from"./el-button-46177dcd.js";import{E as Q,a as Xe}from"./el-scrollbar-d5ea4c53.js";import{f as Qe,E as je,a as qe,b as Ue}from"./el-dropdown-item-98b90066.js";import{E as Rt}from"./el-image-viewer-59f7d0f4.js";import{s as Yt,i as Wt,d as O,u as V,o as k,c as U,w as _,r as X,m as Ke,t as Lt,a as M,T as Ze,b as Je,e as y,f as F,n as G,g as Te,h as Ie,j as ie,k as pe,l as ve,p as se,q as A,v as ke,x as K,y as be,z as he,A as Ge,B as W,C as ue,D as et,E as tt,F as ce,G as fe,H as Xt,I as Qt,J as _e,K as jt,L as nt,M as z,N as q,O as me,P as qt,Q as u,R as Ve,S as Ut,U as Kt,V as ot,W as Pe,X as Fe,Y as Zt,Z as at,_ as st,$ as Ne,a0 as Jt,a1 as lt,a2 as Gt}from"./index-b8bd6c45.js";import{_ as it}from"./_plugin-vue_export-helper-c27b6911.js";import{t as de,m as $e,u as De,i as Re,a as en,b as tn,U as rt}from"./index-ec296065.js";import{t as we}from"./aria-bc8e8b0f.js";import{c as le}from"./strings-6a1386cb.js";import"./castArray-edcf4c72.js";const nn=(e,o,n)=>Qe(e.subTree).filter(l=>{var i;return Wt(l)&&((i=l.type)==null?void 0:i.name)===o&&!!l.component}).map(l=>l.component.uid).map(l=>n[l]).filter(l=>!!l),on=(e,o)=>{const n={},s=Yt([]);return{children:s,addChild:i=>{n[i.uid]=i,s.value=nn(e,o,n)},removeChild:i=>{delete n[i],s.value=s.value.filter(b=>b.uid!==i)}}},an=O({name:"ElCollapseTransition"}),sn=O({...an,setup(e){const o=V("collapse-transition"),n=t=>{t.style.maxHeight="",t.style.overflow=t.dataset.oldOverflow,t.style.paddingTop=t.dataset.oldPaddingTop,t.style.paddingBottom=t.dataset.oldPaddingBottom},s={beforeEnter(t){t.dataset||(t.dataset={}),t.dataset.oldPaddingTop=t.style.paddingTop,t.dataset.oldPaddingBottom=t.style.paddingBottom,t.style.maxHeight=0,t.style.paddingTop=0,t.style.paddingBottom=0},enter(t){t.dataset.oldOverflow=t.style.overflow,t.scrollHeight!==0?t.style.maxHeight=`${t.scrollHeight}px`:t.style.maxHeight=0,t.style.paddingTop=t.dataset.oldPaddingTop,t.style.paddingBottom=t.dataset.oldPaddingBottom,t.style.overflow="hidden"},afterEnter(t){t.style.maxHeight="",t.style.overflow=t.dataset.oldOverflow},enterCancelled(t){n(t)},beforeLeave(t){t.dataset||(t.dataset={}),t.dataset.oldPaddingTop=t.style.paddingTop,t.dataset.oldPaddingBottom=t.style.paddingBottom,t.dataset.oldOverflow=t.style.overflow,t.style.maxHeight=`${t.scrollHeight}px`,t.style.overflow="hidden"},leave(t){t.scrollHeight!==0&&(t.style.maxHeight=0,t.style.paddingTop=0,t.style.paddingBottom=0)},afterLeave(t){n(t)},leaveCancelled(t){n(t)}};return(t,l)=>(k(),U(Ze,Ke({name:M(o).b()},Lt(s)),{default:_(()=>[X(t.$slots,"default")]),_:3},16,["name"]))}});var Me=ee(sn,[["__file","/home/runner/work/element-plus/element-plus/packages/components/collapse-transition/src/collapse-transition.vue"]]);Me.install=e=>{e.component(Me.name,Me)};const ln=Me,rn=O({name:"ElContainer"}),un=O({...rn,props:{direction:{type:String}},setup(e){const o=e,n=Je(),s=V("container"),t=y(()=>o.direction==="vertical"?!0:o.direction==="horizontal"?!1:n&&n.default?n.default().some(i=>{const b=i.type.name;return b==="ElHeader"||b==="ElFooter"}):!1);return(l,i)=>(k(),F("section",{class:G([M(s).b(),M(s).is("vertical",M(t))])},[X(l.$slots,"default")],2))}});var cn=ee(un,[["__file","/home/runner/work/element-plus/element-plus/packages/components/container/src/container.vue"]]);const dn=O({name:"ElAside"}),pn=O({...dn,props:{width:{type:String,default:null}},setup(e){const o=e,n=V("aside"),s=y(()=>o.width?n.cssVarBlock({width:o.width}):{});return(t,l)=>(k(),F("aside",{class:G(M(n).b()),style:Te(M(s))},[X(t.$slots,"default")],6))}});var ut=ee(pn,[["__file","/home/runner/work/element-plus/element-plus/packages/components/container/src/aside.vue"]]);const vn=O({name:"ElFooter"}),mn=O({...vn,props:{height:{type:String,default:null}},setup(e){const o=e,n=V("footer"),s=y(()=>o.height?n.cssVarBlock({height:o.height}):{});return(t,l)=>(k(),F("footer",{class:G(M(n).b()),style:Te(M(s))},[X(t.$slots,"default")],6))}});var ct=ee(mn,[["__file","/home/runner/work/element-plus/element-plus/packages/components/container/src/footer.vue"]]);const fn=O({name:"ElHeader"}),hn=O({...fn,props:{height:{type:String,default:null}},setup(e){const o=e,n=V("header"),s=y(()=>o.height?n.cssVarBlock({height:o.height}):{});return(t,l)=>(k(),F("header",{class:G(M(n).b()),style:Te(M(s))},[X(t.$slots,"default")],6))}});var dt=ee(hn,[["__file","/home/runner/work/element-plus/element-plus/packages/components/container/src/header.vue"]]);const bn=O({name:"ElMain"}),_n=O({...bn,setup(e){const o=V("main");return(n,s)=>(k(),F("main",{class:G(M(o).b())},[X(n.$slots,"default")],2))}});var pt=ee(_n,[["__file","/home/runner/work/element-plus/element-plus/packages/components/container/src/main.vue"]]);const gn=Ie(cn,{Aside:ut,Footer:ct,Header:dt,Main:pt}),yn=ie(ut),Cn=ie(ct);ie(dt);const wn=ie(pt);let Mn=class{constructor(o,n){this.parent=o,this.domNode=n,this.subIndex=0,this.subIndex=0,this.init()}init(){this.subMenuItems=this.domNode.querySelectorAll("li"),this.addListeners()}gotoSubIndex(o){o===this.subMenuItems.length?o=0:o<0&&(o=this.subMenuItems.length-1),this.subMenuItems[o].focus(),this.subIndex=o}addListeners(){const o=this.parent.domNode;Array.prototype.forEach.call(this.subMenuItems,n=>{n.addEventListener("keydown",s=>{let t=!1;switch(s.code){case Q.down:{this.gotoSubIndex(this.subIndex+1),t=!0;break}case Q.up:{this.gotoSubIndex(this.subIndex-1),t=!0;break}case Q.tab:{we(o,"mouseleave");break}case Q.enter:case Q.space:{t=!0,s.currentTarget.click();break}}return t&&(s.preventDefault(),s.stopPropagation()),!1})})}},Tn=class{constructor(o,n){this.domNode=o,this.submenu=null,this.submenu=null,this.init(n)}init(o){this.domNode.setAttribute("tabindex","0");const n=this.domNode.querySelector(`.${o}-menu`);n&&(this.submenu=new Mn(this,n)),this.addListeners()}addListeners(){this.domNode.addEventListener("keydown",o=>{let n=!1;switch(o.code){case Q.down:{we(o.currentTarget,"mouseenter"),this.submenu&&this.submenu.gotoSubIndex(0),n=!0;break}case Q.up:{we(o.currentTarget,"mouseenter"),this.submenu&&this.submenu.gotoSubIndex(this.submenu.subMenuItems.length-1),n=!0;break}case Q.tab:{we(o.currentTarget,"mouseleave");break}case Q.enter:case Q.space:{n=!0,o.currentTarget.click();break}}n&&o.preventDefault()})}},kn=class{constructor(o,n){this.domNode=o,this.init(n)}init(o){const n=this.domNode.childNodes;Array.from(n).forEach(s=>{s.nodeType===1&&new Tn(s,o)})}};const xn=O({name:"ElMenuCollapseTransition",setup(){const e=V("menu");return{listeners:{onBeforeEnter:n=>n.style.opacity="0.2",onEnter(n,s){ge(n,`${e.namespace.value}-opacity-transition`),n.style.opacity="1",s()},onAfterEnter(n){Ee(n,`${e.namespace.value}-opacity-transition`),n.style.opacity=""},onBeforeLeave(n){n.dataset||(n.dataset={}),yt(n,e.m("collapse"))?(Ee(n,e.m("collapse")),n.dataset.oldOverflow=n.style.overflow,n.dataset.scrollWidth=n.clientWidth.toString(),ge(n,e.m("collapse"))):(ge(n,e.m("collapse")),n.dataset.oldOverflow=n.style.overflow,n.dataset.scrollWidth=n.clientWidth.toString(),Ee(n,e.m("collapse"))),n.style.width=`${n.scrollWidth}px`,n.style.overflow="hidden"},onLeave(n){ge(n,"horizontal-collapse-transition"),n.style.width=`${n.dataset.scrollWidth}px`}}}}});function En(e,o,n,s,t,l){return k(),U(Ze,Ke({mode:"out-in"},e.listeners),{default:_(()=>[X(e.$slots,"default")]),_:3},16)}var An=ee(xn,[["render",En],["__file","/home/runner/work/element-plus/element-plus/packages/components/menu/src/menu-collapse-transition.vue"]]);function vt(e,o){const n=y(()=>{let t=e.parent;const l=[o.value];for(;t.type.name!=="ElMenu";)t.props.index&&l.unshift(t.props.index),t=t.parent;return l});return{parentMenu:y(()=>{let t=e.parent;for(;t&&!["ElMenu","ElSubMenu"].includes(t.type.name);)t=t.parent;return t}),indexPath:n}}function Sn(e){return y(()=>{const n=e.backgroundColor;return n?new Ct(n).shade(20).toString():""})}const mt=(e,o)=>{const n=V("menu");return y(()=>n.cssVarBlock({"text-color":e.textColor||"","hover-text-color":e.textColor||"","bg-color":e.backgroundColor||"","hover-bg-color":Sn(e).value||"","active-color":e.activeTextColor||"",level:`${o}`}))},Bn=pe({index:{type:String,required:!0},showTimeout:{type:Number,default:300},hideTimeout:{type:Number,default:300},popperClass:String,disabled:Boolean,popperAppendToBody:{type:Boolean,default:void 0},teleported:{type:Boolean,default:void 0},popperOffset:{type:Number,default:6},expandCloseIcon:{type:ye},expandOpenIcon:{type:ye},collapseCloseIcon:{type:ye},collapseOpenIcon:{type:ye}}),Ce="ElSubMenu";var Oe=O({name:Ce,props:Bn,setup(e,{slots:o,expose:n}){We({from:"popper-append-to-body",replacement:"teleported",scope:Ce,version:"2.3.0",ref:"https://element-plus.org/en-US/component/menu.html#submenu-attributes"},y(()=>e.popperAppendToBody!==void 0));const s=ve(),{indexPath:t,parentMenu:l}=vt(s,y(()=>e.index)),i=V("menu"),b=V("sub-menu"),r=se("rootMenu");r||de(Ce,"can not inject root menu");const h=se(`subMenu:${l.value.uid}`);h||de(Ce,"can not inject sub menu");const p=A({}),m=A({});let d;const v=A(!1),N=A(),I=A(null),P=y(()=>a.value==="horizontal"&&S.value?"bottom-start":"right-start"),g=y(()=>a.value==="horizontal"&&S.value||a.value==="vertical"&&!r.props.collapse?e.expandCloseIcon&&e.expandOpenIcon?Z.value?e.expandOpenIcon:e.expandCloseIcon:wt:e.collapseCloseIcon&&e.collapseOpenIcon?Z.value?e.collapseOpenIcon:e.collapseCloseIcon:Le),S=y(()=>h.level===0),H=y(()=>{var w;const D=(w=e.teleported)!=null?w:e.popperAppendToBody;return D===void 0?S.value:D}),R=y(()=>r.props.collapse?`${i.namespace.value}-zoom-in-left`:`${i.namespace.value}-zoom-in-top`),ne=y(()=>a.value==="horizontal"&&S.value?["bottom-start","bottom-end","top-start","top-end","right-start","left-start"]:["right-start","right","right-end","left-start","bottom-start","bottom-end","top-start","top-end"]),Z=y(()=>r.openedMenus.includes(e.index)),te=y(()=>{let w=!1;return Object.values(p.value).forEach(D=>{D.active&&(w=!0)}),Object.values(m.value).forEach(D=>{D.active&&(w=!0)}),w}),oe=y(()=>r.props.backgroundColor||""),T=y(()=>r.props.activeTextColor||""),x=y(()=>r.props.textColor||""),a=y(()=>r.props.mode),c=ke({index:e.index,indexPath:t,active:te}),f=mt(r.props,h.level+1),C=y(()=>a.value!=="horizontal"?{color:x.value}:{borderBottomColor:te.value?r.props.activeTextColor?T.value:"":"transparent",color:te.value?T.value:x.value}),E=()=>{var w,D,Y;return(Y=(D=(w=I.value)==null?void 0:w.popperRef)==null?void 0:D.popperInstanceRef)==null?void 0:Y.destroy()},$=w=>{w||E()},B=()=>{r.props.menuTrigger==="hover"&&r.props.mode==="horizontal"||r.props.collapse&&r.props.mode==="vertical"||e.disabled||r.handleSubMenuClick({index:e.index,indexPath:t.value,active:te.value})},j=(w,D=e.showTimeout)=>{var Y;w.type!=="focus"&&(r.props.menuTrigger==="click"&&r.props.mode==="horizontal"||!r.props.collapse&&r.props.mode==="vertical"||e.disabled||(h.mouseInChild.value=!0,d==null||d(),{stop:d}=He(()=>{r.openMenu(e.index,t.value)},D),H.value&&((Y=l.value.vnode.el)==null||Y.dispatchEvent(new MouseEvent("mouseenter")))))},L=(w=!1)=>{var D,Y;r.props.menuTrigger==="click"&&r.props.mode==="horizontal"||!r.props.collapse&&r.props.mode==="vertical"||(d==null||d(),h.mouseInChild.value=!1,{stop:d}=He(()=>!v.value&&r.closeMenu(e.index,t.value),e.hideTimeout),H.value&&w&&((D=s.parent)==null?void 0:D.type.name)==="ElSubMenu"&&((Y=h.handleMouseleave)==null||Y.call(h,!0)))};K(()=>r.props.collapse,w=>$(!!w));{const w=Y=>{m.value[Y.index]=Y},D=Y=>{delete m.value[Y.index]};be(`subMenu:${s.uid}`,{addSubMenu:w,removeSubMenu:D,handleMouseleave:L,mouseInChild:v,level:h.level+1})}return n({opened:Z}),he(()=>{r.addSubMenu(c),h.addSubMenu(c)}),Ge(()=>{h.removeSubMenu(c),r.removeSubMenu(c)}),()=>{var w;const D=[(w=o.title)==null?void 0:w.call(o),W(ae,{class:b.e("icon-arrow"),style:{transform:Z.value?e.expandCloseIcon&&e.expandOpenIcon||e.collapseCloseIcon&&e.collapseOpenIcon&&r.props.collapse?"none":"rotateZ(180deg)":"none"}},{default:()=>ue(g.value)?W(s.appContext.components[g.value]):W(g.value)})],Y=r.isMenuPopup?W(Xe,{ref:I,visible:Z.value,effect:"light",pure:!0,offset:e.popperOffset,showArrow:!1,persistent:!0,popperClass:e.popperClass,placement:P.value,teleported:H.value,fallbackPlacements:ne.value,transition:R.value,gpuAcceleration:!1},{content:()=>{var re;return W("div",{class:[i.m(a.value),i.m("popup-container"),e.popperClass],onMouseenter:J=>j(J,100),onMouseleave:()=>L(!0),onFocus:J=>j(J,100)},[W("ul",{class:[i.b(),i.m("popup"),i.m(`popup-${P.value}`)],style:f.value},[(re=o.default)==null?void 0:re.call(o)])])},default:()=>W("div",{class:b.e("title"),style:[C.value,{backgroundColor:oe.value}],onClick:B},D)}):W(ce,{},[W("div",{class:b.e("title"),style:[C.value,{backgroundColor:oe.value}],ref:N,onClick:B},D),W(ln,{},{default:()=>{var re;return et(W("ul",{role:"menu",class:[i.b(),i.m("inline")],style:f.value},[(re=o.default)==null?void 0:re.call(o)]),[[tt,Z.value]])}})]);return W("li",{class:[b.b(),b.is("active",te.value),b.is("opened",Z.value),b.is("disabled",e.disabled)],role:"menuitem",ariaHaspopup:!0,ariaExpanded:Z.value,onMouseenter:j,onMouseleave:()=>L(!0),onFocus:j},[Y])}}});const Pn=pe({mode:{type:String,values:["horizontal","vertical"],default:"vertical"},defaultActive:{type:String,default:""},defaultOpeneds:{type:fe(Array),default:()=>$e([])},uniqueOpened:Boolean,router:Boolean,menuTrigger:{type:String,values:["hover","click"],default:"hover"},collapse:Boolean,backgroundColor:String,textColor:String,activeTextColor:String,collapseTransition:{type:Boolean,default:!0},ellipsis:{type:Boolean,default:!0},popperEffect:{type:String,values:["dark","light"],default:"dark"}}),Ae=e=>Array.isArray(e)&&e.every(o=>ue(o)),Nn={close:(e,o)=>ue(e)&&Ae(o),open:(e,o)=>ue(e)&&Ae(o),select:(e,o,n,s)=>ue(e)&&Ae(o)&&Qt(n)&&(s===void 0||s instanceof Promise)};var In=O({name:"ElMenu",props:Pn,emits:Nn,setup(e,{emit:o,slots:n,expose:s}){const t=ve(),l=t.appContext.config.globalProperties.$router,i=A(),b=V("menu"),r=V("sub-menu"),h=A(-1),p=A(e.defaultOpeneds&&!e.collapse?e.defaultOpeneds.slice(0):[]),m=A(e.defaultActive),d=A({}),v=A({}),N=y(()=>e.mode==="horizontal"||e.mode==="vertical"&&e.collapse),I=()=>{const a=m.value&&d.value[m.value];if(!a||e.mode==="horizontal"||e.collapse)return;a.indexPath.forEach(f=>{const C=v.value[f];C&&P(f,C.indexPath)})},P=(a,c)=>{p.value.includes(a)||(e.uniqueOpened&&(p.value=p.value.filter(f=>c.includes(f))),p.value.push(a),o("open",a,c))},g=a=>{const c=p.value.indexOf(a);c!==-1&&p.value.splice(c,1)},S=(a,c)=>{g(a),o("close",a,c)},H=({index:a,indexPath:c})=>{p.value.includes(a)?S(a,c):P(a,c)},R=a=>{(e.mode==="horizontal"||e.collapse)&&(p.value=[]);const{index:c,indexPath:f}=a;if(!(Re(c)||Re(f)))if(e.router&&l){const C=a.route||c,E=l.push(C).then($=>($||(m.value=c),$));o("select",c,f,{index:c,indexPath:f,route:C},E)}else m.value=c,o("select",c,f,{index:c,indexPath:f})},ne=a=>{const c=d.value,f=c[a]||m.value&&c[m.value]||c[e.defaultActive];f?m.value=f.index:m.value=a},Z=()=>{var a,c;if(!i.value)return-1;const f=Array.from((c=(a=i.value)==null?void 0:a.childNodes)!=null?c:[]).filter(w=>w.nodeName!=="#comment"&&(w.nodeName!=="#text"||w.nodeValue)),C=64,E=Number.parseInt(getComputedStyle(i.value).paddingLeft,10),$=Number.parseInt(getComputedStyle(i.value).paddingRight,10),B=i.value.clientWidth-E-$;let j=0,L=0;return f.forEach((w,D)=>{j+=w.offsetWidth||0,j<=B-C&&(L=D+1)}),L===f.length?-1:L},te=(a,c=33.34)=>{let f;return()=>{f&&clearTimeout(f),f=setTimeout(()=>{a()},c)}};let oe=!0;const T=()=>{const a=()=>{h.value=-1,_e(()=>{h.value=Z()})};oe?a():te(a)(),oe=!1};K(()=>e.defaultActive,a=>{d.value[a]||(m.value=""),ne(a)}),K(()=>e.collapse,a=>{a&&(p.value=[])}),K(d.value,I);let x;Xt(()=>{e.mode==="horizontal"&&e.ellipsis?x=De(i,T).stop:x==null||x()});{const a=E=>{v.value[E.index]=E},c=E=>{delete v.value[E.index]};be("rootMenu",ke({props:e,openedMenus:p,items:d,subMenus:v,activeIndex:m,isMenuPopup:N,addMenuItem:E=>{d.value[E.index]=E},removeMenuItem:E=>{delete d.value[E.index]},addSubMenu:a,removeSubMenu:c,openMenu:P,closeMenu:S,handleMenuItemClick:R,handleSubMenuClick:H})),be(`subMenu:${t.uid}`,{addSubMenu:a,removeSubMenu:c,mouseInChild:A(!1),level:0})}return he(()=>{e.mode==="horizontal"&&new kn(t.vnode.el,b.namespace.value)}),s({open:c=>{const{indexPath:f}=v.value[c];f.forEach(C=>P(C,f))},close:g,handleResize:T}),()=>{var a,c;let f=(c=(a=n.default)==null?void 0:a.call(n))!=null?c:[];const C=[];if(e.mode==="horizontal"&&i.value){const B=Qe(f),j=h.value===-1?B:B.slice(0,h.value),L=h.value===-1?[]:B.slice(h.value);L!=null&&L.length&&e.ellipsis&&(f=j,C.push(W(Oe,{index:"sub-menu-more",class:r.e("hide-arrow")},{title:()=>W(ae,{class:r.e("icon-more")},{default:()=>W(Mt)}),default:()=>L})))}const E=mt(e,0),$=W("ul",{key:String(e.collapse),role:"menubar",ref:i,style:E.value,class:{[b.b()]:!0,[b.m(e.mode)]:!0,[b.m("collapse")]:e.collapse}},[...f,...C]);return e.collapseTransition&&e.mode==="vertical"?W(An,()=>$):$}}});const $n=pe({index:{type:fe([String,null]),default:null},route:{type:fe([String,Object])},disabled:Boolean}),Dn={click:e=>ue(e.index)&&Array.isArray(e.indexPath)},Se="ElMenuItem",On=O({name:Se,components:{ElTooltip:Xe},props:$n,emits:Dn,setup(e,{emit:o}){const n=ve(),s=se("rootMenu"),t=V("menu"),l=V("menu-item");s||de(Se,"can not inject root menu");const{parentMenu:i,indexPath:b}=vt(n,jt(e,"index")),r=se(`subMenu:${i.value.uid}`);r||de(Se,"can not inject sub menu");const h=y(()=>e.index===s.activeIndex),p=ke({index:e.index,indexPath:b,active:h}),m=()=>{e.disabled||(s.handleMenuItemClick({index:e.index,indexPath:b.value,route:e.route}),o("click",p))};return he(()=>{r.addSubMenu(p),s.addMenuItem(p)}),Ge(()=>{r.removeSubMenu(p),s.removeMenuItem(p)}),{parentMenu:i,rootMenu:s,active:h,nsMenu:t,nsMenuItem:l,handleClick:m}}});function Hn(e,o,n,s,t,l){const i=nt("el-tooltip");return k(),F("li",{class:G([e.nsMenuItem.b(),e.nsMenuItem.is("active",e.active),e.nsMenuItem.is("disabled",e.disabled)]),role:"menuitem",tabindex:"-1",onClick:o[0]||(o[0]=(...b)=>e.handleClick&&e.handleClick(...b))},[e.parentMenu.type.name==="ElMenu"&&e.rootMenu.props.collapse&&e.$slots.title?(k(),U(i,{key:0,effect:e.rootMenu.props.popperEffect,placement:"right","fallback-placements":["left"],persistent:""},{content:_(()=>[X(e.$slots,"title")]),default:_(()=>[z("div",{class:G(e.nsMenu.be("tooltip","trigger"))},[X(e.$slots,"default")],2)]),_:3},8,["effect"])):(k(),F(ce,{key:1},[X(e.$slots,"default"),X(e.$slots,"title")],64))],2)}var ft=ee(On,[["render",Hn],["__file","/home/runner/work/element-plus/element-plus/packages/components/menu/src/menu-item.vue"]]);const zn={title:String},Vn="ElMenuItemGroup",Fn=O({name:Vn,props:zn,setup(){return{ns:V("menu-item-group")}}});function Rn(e,o,n,s,t,l){return k(),F("li",{class:G(e.ns.b())},[z("div",{class:G(e.ns.e("title"))},[e.$slots.title?X(e.$slots,"title",{key:1}):(k(),F(ce,{key:0},[q(me(e.title),1)],64))],2),z("ul",null,[X(e.$slots,"default")])],2)}var ht=ee(Fn,[["render",Rn],["__file","/home/runner/work/element-plus/element-plus/packages/components/menu/src/menu-item-group.vue"]]);const Yn=Ie(In,{MenuItem:ft,MenuItemGroup:ht,SubMenu:Oe}),Wn=ie(ft);ie(ht);const Ln=ie(Oe),xe=Symbol("tabsRootContextKey"),Xn=pe({tabs:{type:fe(Array),default:()=>$e([])}}),bt="ElTabBar",Qn=O({name:bt}),jn=O({...Qn,props:Xn,setup(e,{expose:o}){const n=e,s=ve(),t=se(xe);t||de(bt,"");const l=V("tabs"),i=A(),b=A(),r=()=>{let p=0,m=0;const d=["top","bottom"].includes(t.props.tabPosition)?"width":"height",v=d==="width"?"x":"y",N=v==="x"?"left":"top";return n.tabs.every(I=>{var P,g;const S=(g=(P=s.parent)==null?void 0:P.refs)==null?void 0:g[`tab-${I.uid}`];if(!S)return!1;if(!I.active)return!0;p=S[`offset${le(N)}`],m=S[`client${le(d)}`];const H=window.getComputedStyle(S);return d==="width"&&(n.tabs.length>1&&(m-=Number.parseFloat(H.paddingLeft)+Number.parseFloat(H.paddingRight)),p+=Number.parseFloat(H.paddingLeft)),!1}),{[d]:`${m}px`,transform:`translate${le(v)}(${p}px)`}},h=()=>b.value=r();return K(()=>n.tabs,async()=>{await _e(),h()},{immediate:!0}),De(i,()=>h()),o({ref:i,update:h}),(p,m)=>(k(),F("div",{ref_key:"barRef",ref:i,class:G([M(l).e("active-bar"),M(l).is(M(t).props.tabPosition)]),style:Te(b.value)},null,6))}});var qn=ee(jn,[["__file","/home/runner/work/element-plus/element-plus/packages/components/tabs/src/tab-bar.vue"]]);const Un=pe({panes:{type:fe(Array),default:()=>$e([])},currentName:{type:[String,Number],default:""},editable:Boolean,type:{type:String,values:["card","border-card",""],default:""},stretch:Boolean}),Kn={tabClick:(e,o,n)=>n instanceof Event,tabRemove:(e,o)=>o instanceof Event},Ye="ElTabNav",Zn=O({name:Ye,props:Un,emits:Kn,setup(e,{expose:o,emit:n}){const s=ve(),t=se(xe);t||de(Ye,"");const l=V("tabs"),i=en(),b=tn(),r=A(),h=A(),p=A(),m=A(),d=A(!1),v=A(0),N=A(!1),I=A(!0),P=y(()=>["top","bottom"].includes(t.props.tabPosition)?"width":"height"),g=y(()=>({transform:`translate${P.value==="width"?"X":"Y"}(-${v.value}px)`})),S=()=>{if(!r.value)return;const T=r.value[`offset${le(P.value)}`],x=v.value;if(!x)return;const a=x>T?x-T:0;v.value=a},H=()=>{if(!r.value||!h.value)return;const T=h.value[`offset${le(P.value)}`],x=r.value[`offset${le(P.value)}`],a=v.value;if(T-a<=x)return;const c=T-a>x*2?a+x:T-x;v.value=c},R=async()=>{const T=h.value;if(!d.value||!p.value||!r.value||!T)return;await _e();const x=p.value.querySelector(".is-active");if(!x)return;const a=r.value,c=["top","bottom"].includes(t.props.tabPosition),f=x.getBoundingClientRect(),C=a.getBoundingClientRect(),E=c?T.offsetWidth-C.width:T.offsetHeight-C.height,$=v.value;let B=$;c?(f.leftC.right&&(B=$+f.right-C.right)):(f.topC.bottom&&(B=$+(f.bottom-C.bottom))),B=Math.max(B,0),v.value=Math.min(B,E)},ne=()=>{var T;if(!h.value||!r.value)return;e.stretch&&((T=m.value)==null||T.update());const x=h.value[`offset${le(P.value)}`],a=r.value[`offset${le(P.value)}`],c=v.value;a0&&(v.value=0))},Z=T=>{const x=T.code,{up:a,down:c,left:f,right:C}=Q;if(![a,c,f,C].includes(x))return;const E=Array.from(T.currentTarget.querySelectorAll("[role=tab]:not(.is-disabled)")),$=E.indexOf(T.target);let B;x===f||x===a?$===0?B=E.length-1:B=$-1:${I.value&&(N.value=!0)},oe=()=>N.value=!1;return K(i,T=>{T==="hidden"?I.value=!1:T==="visible"&&setTimeout(()=>I.value=!0,50)}),K(b,T=>{T?setTimeout(()=>I.value=!0,50):I.value=!1}),De(p,ne),he(()=>setTimeout(()=>R(),0)),qt(()=>ne()),o({scrollToActiveTab:R,removeFocus:oe}),K(()=>e.panes,()=>s.update(),{flush:"post",deep:!0}),()=>{const T=d.value?[u("span",{class:[l.e("nav-prev"),l.is("disabled",!d.value.prev)],onClick:S},[u(ae,null,{default:()=>[u(Tt,null,null)]})]),u("span",{class:[l.e("nav-next"),l.is("disabled",!d.value.next)],onClick:H},[u(ae,null,{default:()=>[u(Le,null,null)]})])]:null,x=e.panes.map((a,c)=>{var f,C,E,$;const B=a.uid,j=a.props.disabled,L=(C=(f=a.props.name)!=null?f:a.index)!=null?C:`${c}`,w=!j&&(a.isClosable||e.editable);a.index=`${c}`;const D=w?u(ae,{class:"is-icon-close",onClick:J=>n("tabRemove",a,J)},{default:()=>[u(kt,null,null)]}):null,Y=(($=(E=a.slots).label)==null?void 0:$.call(E))||a.props.label,re=!j&&a.active?0:-1;return u("div",{ref:`tab-${B}`,class:[l.e("item"),l.is(t.props.tabPosition),l.is("active",a.active),l.is("disabled",j),l.is("closable",w),l.is("focus",N.value)],id:`tab-${L}`,key:`tab-${B}`,"aria-controls":`pane-${L}`,role:"tab","aria-selected":a.active,tabindex:re,onFocus:()=>te(),onBlur:()=>oe(),onClick:J=>{oe(),n("tabClick",a,L,J)},onKeydown:J=>{w&&(J.code===Q.delete||J.code===Q.backspace)&&n("tabRemove",a,J)}},[Y,D])});return u("div",{ref:p,class:[l.e("nav-wrap"),l.is("scrollable",!!d.value),l.is(t.props.tabPosition)]},[T,u("div",{class:l.e("nav-scroll"),ref:r},[u("div",{class:[l.e("nav"),l.is(t.props.tabPosition),l.is("stretch",e.stretch&&["top","bottom"].includes(t.props.tabPosition))],ref:h,style:g.value,role:"tablist",onKeydown:Z},[e.type?null:u(qn,{ref:m,tabs:[...e.panes]},null),x])])])}}}),Jn=pe({type:{type:String,values:["card","border-card",""],default:""},activeName:{type:[String,Number]},closable:Boolean,addable:Boolean,modelValue:{type:[String,Number]},editable:Boolean,tabPosition:{type:String,values:["top","right","bottom","left"],default:"top"},beforeLeave:{type:fe(Function),default:()=>!0},stretch:Boolean}),Be=e=>ue(e)||Ut(e),Gn={[rt]:e=>Be(e),tabClick:(e,o)=>o instanceof Event,tabChange:e=>Be(e),edit:(e,o)=>["remove","add"].includes(o),tabRemove:e=>Be(e),tabAdd:()=>!0};var eo=O({name:"ElTabs",props:Jn,emits:Gn,setup(e,{emit:o,slots:n,expose:s}){var t,l;const i=V("tabs"),{children:b,addChild:r,removeChild:h}=on(ve(),"ElTabPane"),p=A(),m=A((l=(t=e.modelValue)!=null?t:e.activeName)!=null?l:"0"),d=g=>{m.value=g,o(rt,g),o("tabChange",g)},v=async g=>{var S,H,R;if(!(m.value===g||Ve(g)))try{await((S=e.beforeLeave)==null?void 0:S.call(e,g,m.value))!==!1&&(d(g),(R=(H=p.value)==null?void 0:H.removeFocus)==null||R.call(H))}catch{}},N=(g,S,H)=>{g.props.disabled||(v(S),o("tabClick",g,H))},I=(g,S)=>{g.props.disabled||Ve(g.props.name)||(S.stopPropagation(),o("edit",g.props.name,"remove"),o("tabRemove",g.props.name))},P=()=>{o("edit",void 0,"add"),o("tabAdd")};return We({from:'"activeName"',replacement:'"model-value" or "v-model"',scope:"ElTabs",version:"2.3.0",ref:"https://element-plus.org/en-US/component/tabs.html#attributes",type:"Attribute"},y(()=>!!e.activeName)),K(()=>e.activeName,g=>v(g)),K(()=>e.modelValue,g=>v(g)),K(m,async()=>{var g;await _e(),(g=p.value)==null||g.scrollToActiveTab()}),be(xe,{props:e,currentName:m,registerPane:r,unregisterPane:h}),s({currentName:m}),()=>{const g=e.editable||e.addable?u("span",{class:i.e("new-tab"),tabindex:"0",onClick:P,onKeydown:R=>{R.code===Q.enter&&P()}},[u(ae,{class:i.is("icon-plus")},{default:()=>[u(xt,null,null)]})]):null,S=u("div",{class:[i.e("header"),i.is(e.tabPosition)]},[g,u(Zn,{ref:p,currentName:m.value,editable:e.editable,type:e.type,panes:b.value,stretch:e.stretch,onTabClick:N,onTabRemove:I},null)]),H=u("div",{class:i.e("content")},[X(n,"default")]);return u("div",{class:[i.b(),i.m(e.tabPosition),{[i.m("card")]:e.type==="card",[i.m("border-card")]:e.type==="border-card"}]},[...e.tabPosition!=="bottom"?[S,H]:[H,S]])}}});const to=pe({label:{type:String,default:""},name:{type:[String,Number]},closable:Boolean,disabled:Boolean,lazy:Boolean}),no=["id","aria-hidden","aria-labelledby"],_t="ElTabPane",oo=O({name:_t}),ao=O({...oo,props:to,setup(e){const o=e,n=ve(),s=Je(),t=se(xe);t||de(_t,"usage: ");const l=V("tab-pane"),i=A(),b=y(()=>o.closable||t.props.closable),r=ze(()=>{var v;return t.currentName.value===((v=o.name)!=null?v:i.value)}),h=A(r.value),p=y(()=>{var v;return(v=o.name)!=null?v:i.value}),m=ze(()=>!o.lazy||h.value||r.value);K(r,v=>{v&&(h.value=!0)});const d=ke({uid:n.uid,slots:s,props:o,paneName:p,active:r,index:i,isClosable:b});return he(()=>{t.registerPane(d)}),Kt(()=>{t.unregisterPane(d.uid)}),(v,N)=>M(m)?et((k(),F("div",{key:0,id:`pane-${M(p)}`,class:G(M(l).b()),role:"tabpanel","aria-hidden":!M(r),"aria-labelledby":`tab-${M(p)}`},[X(v.$slots,"default")],10,no)),[[tt,M(r)]]):ot("v-if",!0)}});var gt=ee(ao,[["__file","/home/runner/work/element-plus/element-plus/packages/components/tabs/src/tab-pane.vue"]]);const so=Ie(eo,{TabPane:gt}),lo=ie(gt);const io="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAATwAAABCCAMAAAD9hJoxAAAAjVBMVEUAAABmYmBmYmBmYmBmYmBmYmBmYmBmYmBmYmBmYmBmYmBmYmDMCCPMCCNmYmBmYmDMCCPMCCPMCCPnQhDMCCPMCCPXIhtmYmBmYmDnQhDnQhDMCCPMCCPnQhDMCCPnQhDMCCPnQhDMCCPMCCPnQhDnQhDnQhDnQhDMCCPnQhDnQhDnQhBmYmDMCCPnQhBOmYs0AAAALHRSTlMAgMBA8BCg4GAg0FDwwDBwgEBgQDAQILCQgPDg0NigYHAwsJAQwKCwUHBQkHnnoZMAAAfHSURBVHja7ZzretowDIad8/kEhFCgFNqtpV3C/V/e1rXBceRIdjpv3Z59f8lBeSPJsuXAPoPq4/2+e1WWlYs1+y9NVVV5v+t+avewYv+lrdVx/86vrNmflpNY70pyhikqGntSm0J+crKxEfmWM4vfoXvTAcE3+9bCYyE4Qj9uBdnWFEDPbwm5mwjYH7SUXMtj+lrfv9FLS8alfWtfyk/gMelIcStTYEUMKndbBfkiiLDlwvDNyn998qsYEHlrDiefA8/xMQYAnxe3SgqGxiStouI5zlf3sVvKHq9V1UYbXuRrOoPVKsod0Atao/TY4p1eVsO81c68Nw2vcOlLiv7stqoKPD3Hg0bq09uvx87RtrPo0fC8RsmFQiQKMPn9SZtWQyFDtby7edXzUk4vXWEZj6anDM+L9Z+naDUUwdChFSDkXp62l6ue7r7I6NVolrF7EX4P4RHs3KZwXlX4LqAnNcZNxAuGAXA9CK+JRkXS+Dkma8y724uo7c0AX9lHbi3Aw7w6T8CTWgg8hF0wvHI4+jHhxqDjky++DU8Cz0FO4vZDnTg6rttB9Gbv9O4n4fmMzvoRDQ8+ZzG+qPhzxI1BH7MBzGl4rFEYMp4vct3wcjl9p3dkXIS90IlsCh6EE+dEMWwrGuO50DUhPHxIZBI9Xqb0CAK3WyHwSHoODg8+ZOCR5WVBGwMdOlaDx0TzPYQdSm/Xl3ta8JgXCDmZhueDehbKAvmLMAbWBorwbPDuQcwiuhuPuN0CgUe6SUTBi1qViwbgINoYB3D4OLzTBdX2Whn3WW+HwaPub1HwfKXKKgSupwsv+SXwvl5wfQVZb4HAo4wOCHiRYk3vgsM04Vm/At7dhdKyH3B7eDsEHhljEQ6vAC4FBOdV8Z+CBwu8p+flmi1fHrdj19v39CoMHlEsFTi8ACkdkUz6Z+Cd4LwCTDr6rPfQwzsow4OHNSi8HOQlpbgtfhO8iAn6NkpwwsLJl29CqVz18FIEHpn0UHgFUlYh7hwbhAfrm1oetY9MlhFv+3XRrtdZC14uEsHg2SISRJZ4Ue06r1CDF0he/HWShbDj9MbFSvegBY+JeQOD1yIpDy88aGOsGXWeI5tdZv0CHifHPQzE9XK0OtBlH4AXTsKD8y5EnhiEutOzNlKCF0tCvZLCOzGJvmwl8DoEHlkmI/AK4ByKb8QGxhAR6DIUHm9lwgOOJY9KELRw9nYH4K3MwPORtUf0oi5uDHwxjQK8JJauJD/0nncDHA+6Hh9uH7pe1Xx4NgIPjG0EPC5gDNEkDall+NjmxZAIN5OE7S2b0FdJ2B7NwAsQeET+x41J/JZYSaYVsml4T2xCNxJ4pRl44gPqwiMFjbX12bEs7eerYNUY6uXSTzr2M+H5s+DZOvASLXiBh8CjthlkXV8lb2l4y2tAdzPhWebhWVrwckbBQ1pQ2XVu/0TDO/WD7epfgRcyEh7Sx8w6WKvcMEqLfwOe6+juF4k9Ed6eFyJ8wCB0L8AzUeeJJpuB53vAMj16h65bj7s/W0aoTjm8yiw8/VIlVIMXFxFimcOV+JAeX1E/gvH2hYzaTwwPK1UC+1WWlTi4ZeLPjjuRQ86DtfQb3qzAlXWdsbktsfQ4v0iGouERqxTrYRvnVs31qo5r/wF4IQoPeRh0J4T3i+HB2XM07GDvryS3fdY7qTreQR8evZ4H85jO3NYAPGdidfEwdL0ToEc4XrfQgxerwkuQrbhoE8M2AY8F8qbAWdhsd7rt6d1NDrW7IbxaD57yMnykXuh5olsYgbeZyHqpsF3sy9N11FgyUWA1ip9I2itFwhB42LIKGlOhEXjiPRohbrvFcAJ7XZr6tsTKFH7evO5ZjMLzlUeMQhyYjcBjrjxuV+PtYuzl66ADOQK4SofsUvaBvq2PwgtbVQSNuMZrBp4/MYBlcIf2+vlpC1rfkF1XIvDoSgWF5ylP0MBWRRPwkokcXHWc3hDg8odOjCHs0loPntdq7FVpwMEqveDcEDzWTpiTvZGoGKUq7YDj6cArdHZJJUjcIht9TMFrJsxZ8XYEqrITtasJeGi1VBDwWCBpNVAbjEMj8GAODmD1ka2Rq6+zbqQz04Nn6e0MDVvtiwbMGDyvndh5VO876oPQuuzGOjA9eDmY4yDwoOvlChdNDMGD460tGwh2x1rmdWUK2O1rBB79DWxEw0vobw0jsFpkDF4CW7ew9E0P55HTLe47qHTFtOA5LpitUvBYQ9HLQV40BA/Wyf7UYJDel1X10yOr48O+k2qF9SaAch92/Gh4XiCe5OCfFSXMKLwNrFb4LE1LC2wsaBxB4SaGHT8aHgz11h+el9igfW0UXjSyhc2kl56xMY9WyBB46Afk8SZxGIuc0A/Al7Om4MFD4EELdXYrkNE02eHwYKqk5TOz8OBD2mACoaJ9jWdTuluKw4NjAq2CmYfHRqY4oA6mVWK1Ki070vuDBq9RfB/m4YX4995H0vmyFXJzWoGj/9cgTkB3r43Dg64Hr10/oOh2CzYhT4Xe3D+lCTF8Nr+oUXgwA7sROZvg2i8YogJ3EHuTMC4cHpTju/KA9XN4rDWQw9QU8lMapI9gWdTFwZSC+hszaLVv277Vq3AcD2taDxRiV7dd+D4+o85llg5c7nD8HH8AFznh9YXk7FOretNf9seD3wEp1Aq+q1JvwgAAAABJRU5ErkJggg==";const ro={class:"logo"},uo={__name:"index",props:{collapse:{type:Boolean,default:!1}},setup(e){const o=[{title:"首頁",icon:Et,path:"/index",children:[{title:"首頁輪播",path:"/index/banner"},{title:"供應商",path:"/index/supplier"}]},{title:"關於普達",icon:At,path:"/about",children:[{title:"公司簡介",path:"/about/company"},{title:"經營理念",path:"/about/concept"}]},{title:"產品管理",icon:St,path:"/product",children:[{title:"產品列表",path:"/product/list"},{title:"產品類別",path:"/product/group"}]},{title:"最新消息",icon:Bt,path:"/news",children:[{title:"產業動態",path:"/news/list"},{title:"公司活動",path:"/news/activity"}]},{title:"聯絡我們",icon:Pt,path:"/contact",children:[{title:"表單信件",path:"/contact/email"},{title:"公司據點",path:"/contact/map"}]},{title:"權限管理",icon:Nt,path:"/priv",children:[{title:"管理員列表",path:"/priv/admin"},{title:"管理員紀錄",path:"/priv/adminlog"}]}],n=(s,t)=>{Zt.push(s)};return(s,t)=>{const l=Rt,i=ae,b=Wn,r=Ln,h=Yn;return k(),U(h,{"active-text-color":"#fefefe","background-color":"#032121","text-color":"#ccc","unique-opened":"",class:"el-menu-vertical",collapse:e.collapse,"default-active":s.$route.path,onSelect:n},{default:_(()=>[z("div",ro,[u(l,{style:{width:"100px"},src:M(io)},null,8,["src"])]),(k(),F(ce,null,Pe(o,(p,m)=>(k(),F(ce,{key:m},[p.children&&p.children.length>0?(k(),U(r,{key:0,index:p.path},{title:_(()=>[u(i,null,{default:_(()=>[(k(),U(Fe(p.icon)))]),_:2},1024),z("span",null,me(p.title),1)]),default:_(()=>[(k(!0),F(ce,null,Pe(p.children,(d,v)=>(k(),U(b,{index:d.path},{default:_(()=>[q(me(d.title),1)]),_:2},1032,["index"]))),256))]),_:2},1032,["index"])):(k(),U(b,{key:1,index:p.path},{default:_(()=>[u(i,null,{default:_(()=>[(k(),U(Fe(p.icon)))]),_:2},1024),z("span",null,me(p.title),1)]),_:2},1032,["index"]))],64))),64))]),_:1},8,["collapse","default-active"])}}},co=it(uo,[["__scopeId","data-v-1e400709"]]);const po={class:"admin-header"},vo={class:"header-nav header-layout-left"},mo={class:"header-nav-item header-flexible"},fo={class:"header-nav"},ho={class:"header-nav-item header-flexible",style:{cursor:"pointer"}},bo={class:"header-avatar",style:{marginRight:"5px"}},_o={class:"header-avatar"},go={__name:"index",props:{collapse:{type:Boolean,default:!1}},emits:["toggleClospe"],setup(e,{emit:o}){const n=at(),s=st(),t={tw:"繁體",cn:"簡體",en:"EN"},l=se("reload"),i=()=>{o("toggleClospe")},b=p=>{s.setLang(p),l()},r=()=>{sessionStorage.removeItem("token"),n.push("/login")},h=()=>{alert("button click")};return(p,m)=>{const d=ae,v=je,N=qe,I=Ue;return k(),F("div",po,[z("ul",vo,[z("li",mo,[e.collapse?(k(),U(d,{key:0,size:20,color:"#666",onClick:i},{default:_(()=>[u(M(It))]),_:1})):(k(),U(d,{key:1,size:20,color:"#666",onClick:i},{default:_(()=>[u(M($t))]),_:1}))])]),z("ul",fo,[z("li",ho,[u(I,{onClick:h},{dropdown:_(()=>[u(N,null,{default:_(()=>[u(v,{onClick:m[0]||(m[0]=P=>b("tw"))},{default:_(()=>[q("繁體")]),_:1}),u(v,{onClick:m[1]||(m[1]=P=>b("cn"))},{default:_(()=>[q("簡體")]),_:1}),u(v,{onClick:m[2]||(m[2]=P=>b("en"))},{default:_(()=>[q("EN")]),_:1})]),_:1})]),default:_(()=>[z("div",bo,[u(d,{size:13,style:{marginRight:"5px"}},{default:_(()=>[u(M(Dt))]),_:1}),q(" "+me(t[M(s).lang])+" - 語言切換 ",1)])]),_:1}),u(I,{"hide-on-click":!1},{dropdown:_(()=>[u(N,null,{default:_(()=>[u(v,null,{default:_(()=>[q("資料修改")]),_:1}),u(v,{onClick:Ne(r,["stop"])},{default:_(()=>[q("登出")]),_:1},8,["onClick"])]),_:1})]),default:_(()=>[z("div",_o,[u(d,{size:13,style:{marginRight:"5px"}},{default:_(()=>[u(M(Ot))]),_:1}),q(" Admin ")])]),_:1})])])])}}};const yo=Jt("tabs",{state:()=>({activeTab:"/",visitedViews:[]}),actions:{setActiveTab(e){this.activeTab=e},addTab(e){this.setActiveTab(e.path),e.path!=="/home"&&(this.visitedViews.some(o=>o.path===e.path)||this.visitedViews.push(e))},removeTab(e){const o=this.visitedViews.indexOf(e);this.visitedViews.splice(o,1)},closeOtherTabs(){this.visitedViews=this.visitedViews.filter(e=>e.path===this.activeTab)},closeAllTabs(){this.visitedViews=[]}}});const Co={class:"main-tabs-view"},wo={class:"tab-content"},Mo={class:"tab-content"},To={class:"el-dropdown-link"},ko={__name:"index",setup(e){const o=at(),n=lt(),s=yo(),{visitedViews:t}=Gt(s),l=se("reload"),i=y({get:()=>s.activeTab,set:d=>{s.setActiveTab(d)}});he(()=>{m()}),K(n,()=>{m()});const b=d=>{o.push(d.props.name)},r=d=>{if(t.value.length===1)o.push("/");else if(d.path===i.value){const v=t.value.findIndex(I=>I.path===d.path),N=t.value[v-1];i.value=N.path,o.push(N.path)}s.removeTab(d)},h=()=>{s.closeOtherTabs()},p=()=>{s.closeAllTabs()},m=()=>{n.path!=="/login"&&n.path&&s.addTab({path:n.path,title:n.meta.title})};return(d,v)=>{const N=ae,I=lo,P=so,g=je,S=qe,H=Ue;return k(),F("div",Co,[z("div",null,[u(P,{modelValue:i.value,"onUpdate:modelValue":v[0]||(v[0]=R=>i.value=R),type:"card",onTabClick:b},{default:_(()=>[u(I,{name:"/home"},{label:_(()=>[z("div",wo,[u(N,null,{default:_(()=>[u(M(Ht))]),_:1})])]),_:1}),(k(!0),F(ce,null,Pe(M(t),R=>(k(),U(I,{name:R.path},{label:_(()=>[z("div",Mo,[u(N,{onClick:Ne(M(l),["stop"])},{default:_(()=>[u(M(zt))]),_:1},8,["onClick"]),q(" "+me(R.title)+" ",1),u(N,{onClick:Ne(ne=>r(R),["stop"])},{default:_(()=>[u(M(Vt))]),_:2},1032,["onClick"])])]),_:2},1032,["name"]))),256))]),_:1},8,["modelValue"])]),z("div",null,[u(H,null,{dropdown:_(()=>[u(S,null,{default:_(()=>[u(g,{onClick:h},{default:_(()=>[q("關閉其他")]),_:1}),u(g,{onClick:p},{default:_(()=>[q("關閉全部")]),_:1})]),_:1})]),default:_(()=>[z("span",To,[u(N,null,{default:_(()=>[u(M(Ft))]),_:1})])]),_:1})])])}}},xo=it(ko,[["__scopeId","data-v-29a0e63c"]]),Eo={class:"admin-layout"},Ao={class:"tabs-block"},So={class:"main-content"},Wo={__name:"AdminLayout",setup(e){const o=lt(),n=st(),s=A(!1),t=()=>{s.value=!s.value};y(()=>o.matched.filter(b=>b.meta.title)),y(()=>n.isMobile);const l=A(!0);return be("reload",()=>{l.value=!1,_e(()=>{l.value=!0})}),(b,r)=>{const h=yn,p=nt("router-view"),m=wn,d=Cn,v=gn;return k(),F("div",Eo,[u(v,null,{default:_(()=>[u(h,{width:"auto",class:"side-scroll"},{default:_(()=>[u(co,{collapse:s.value},null,8,["collapse"])]),_:1}),u(v,null,{default:_(()=>[z("div",null,[u(go,{collapse:s.value,onToggleClospe:t},null,8,["collapse"])]),u(m,null,{default:_(()=>[z("div",Ao,[u(xo)]),z("div",So,[l.value?(k(),U(p,{key:0})):ot("",!0)])]),_:1}),u(d,null,{default:_(()=>[q("2023 © copyright ZL ")]),_:1})]),_:1})]),_:1})])}}};export{Wo as default}; diff --git a/app/public/admin/assets/AdminLayout-23e42ce7.js b/app/public/admin/assets/AdminLayout-23e42ce7.js new file mode 100644 index 0000000..d4eb89d --- /dev/null +++ b/app/public/admin/assets/AdminLayout-23e42ce7.js @@ -0,0 +1 @@ +import{_ as ee,a as ge,r as Ee,h as yt,T as Ct,i as ye,u as We,b as wt,c as Le,E as ae,d as He,m as Mt,e as Tt,f as kt,p as xt,g as ze,j as Et,t as At,k as St,l as Bt,n as Pt,o as Nt,q as It,s as $t,v as Dt,w as Ot,x as Ht,y as zt,z as Vt,A as Ft}from"./el-button-98327865.js";import{E as Q,a as Xe}from"./el-scrollbar-7a0c56b8.js";import{f as Qe,E as je,a as qe,b as Ue}from"./el-dropdown-item-16e508f0.js";import{E as Rt}from"./el-image-viewer-048d9c29.js";import{s as Yt,i as Wt,d as O,u as V,o as k,c as U,w as _,r as X,m as Ke,t as Lt,a as M,T as Ze,b as Je,e as y,f as F,n as G,g as Te,h as Ie,j as ie,k as pe,l as ve,p as se,q as A,v as ke,x as K,y as be,z as he,A as Ge,B as W,C as ue,D as et,E as tt,F as ce,G as fe,H as Xt,I as Qt,J as _e,K as jt,L as nt,M as z,N as q,O as me,P as qt,Q as u,R as Ve,S as Ut,U as Kt,V as ot,W as Pe,X as Fe,Y as Zt,Z as at,_ as st,$ as Ne,a0 as Jt,a1 as lt,a2 as Gt}from"./index-7ade0fa6.js";import{_ as it}from"./_plugin-vue_export-helper-c27b6911.js";import{t as de,m as $e,u as De,i as Re,a as en,b as tn,U as rt}from"./index-82e080df.js";import{t as we}from"./aria-bc8e8b0f.js";import{c as le}from"./strings-00472fe2.js";import"./castArray-7f2a9c68.js";const nn=(e,o,n)=>Qe(e.subTree).filter(l=>{var i;return Wt(l)&&((i=l.type)==null?void 0:i.name)===o&&!!l.component}).map(l=>l.component.uid).map(l=>n[l]).filter(l=>!!l),on=(e,o)=>{const n={},s=Yt([]);return{children:s,addChild:i=>{n[i.uid]=i,s.value=nn(e,o,n)},removeChild:i=>{delete n[i],s.value=s.value.filter(b=>b.uid!==i)}}},an=O({name:"ElCollapseTransition"}),sn=O({...an,setup(e){const o=V("collapse-transition"),n=t=>{t.style.maxHeight="",t.style.overflow=t.dataset.oldOverflow,t.style.paddingTop=t.dataset.oldPaddingTop,t.style.paddingBottom=t.dataset.oldPaddingBottom},s={beforeEnter(t){t.dataset||(t.dataset={}),t.dataset.oldPaddingTop=t.style.paddingTop,t.dataset.oldPaddingBottom=t.style.paddingBottom,t.style.maxHeight=0,t.style.paddingTop=0,t.style.paddingBottom=0},enter(t){t.dataset.oldOverflow=t.style.overflow,t.scrollHeight!==0?t.style.maxHeight=`${t.scrollHeight}px`:t.style.maxHeight=0,t.style.paddingTop=t.dataset.oldPaddingTop,t.style.paddingBottom=t.dataset.oldPaddingBottom,t.style.overflow="hidden"},afterEnter(t){t.style.maxHeight="",t.style.overflow=t.dataset.oldOverflow},enterCancelled(t){n(t)},beforeLeave(t){t.dataset||(t.dataset={}),t.dataset.oldPaddingTop=t.style.paddingTop,t.dataset.oldPaddingBottom=t.style.paddingBottom,t.dataset.oldOverflow=t.style.overflow,t.style.maxHeight=`${t.scrollHeight}px`,t.style.overflow="hidden"},leave(t){t.scrollHeight!==0&&(t.style.maxHeight=0,t.style.paddingTop=0,t.style.paddingBottom=0)},afterLeave(t){n(t)},leaveCancelled(t){n(t)}};return(t,l)=>(k(),U(Ze,Ke({name:M(o).b()},Lt(s)),{default:_(()=>[X(t.$slots,"default")]),_:3},16,["name"]))}});var Me=ee(sn,[["__file","/home/runner/work/element-plus/element-plus/packages/components/collapse-transition/src/collapse-transition.vue"]]);Me.install=e=>{e.component(Me.name,Me)};const ln=Me,rn=O({name:"ElContainer"}),un=O({...rn,props:{direction:{type:String}},setup(e){const o=e,n=Je(),s=V("container"),t=y(()=>o.direction==="vertical"?!0:o.direction==="horizontal"?!1:n&&n.default?n.default().some(i=>{const b=i.type.name;return b==="ElHeader"||b==="ElFooter"}):!1);return(l,i)=>(k(),F("section",{class:G([M(s).b(),M(s).is("vertical",M(t))])},[X(l.$slots,"default")],2))}});var cn=ee(un,[["__file","/home/runner/work/element-plus/element-plus/packages/components/container/src/container.vue"]]);const dn=O({name:"ElAside"}),pn=O({...dn,props:{width:{type:String,default:null}},setup(e){const o=e,n=V("aside"),s=y(()=>o.width?n.cssVarBlock({width:o.width}):{});return(t,l)=>(k(),F("aside",{class:G(M(n).b()),style:Te(M(s))},[X(t.$slots,"default")],6))}});var ut=ee(pn,[["__file","/home/runner/work/element-plus/element-plus/packages/components/container/src/aside.vue"]]);const vn=O({name:"ElFooter"}),mn=O({...vn,props:{height:{type:String,default:null}},setup(e){const o=e,n=V("footer"),s=y(()=>o.height?n.cssVarBlock({height:o.height}):{});return(t,l)=>(k(),F("footer",{class:G(M(n).b()),style:Te(M(s))},[X(t.$slots,"default")],6))}});var ct=ee(mn,[["__file","/home/runner/work/element-plus/element-plus/packages/components/container/src/footer.vue"]]);const fn=O({name:"ElHeader"}),hn=O({...fn,props:{height:{type:String,default:null}},setup(e){const o=e,n=V("header"),s=y(()=>o.height?n.cssVarBlock({height:o.height}):{});return(t,l)=>(k(),F("header",{class:G(M(n).b()),style:Te(M(s))},[X(t.$slots,"default")],6))}});var dt=ee(hn,[["__file","/home/runner/work/element-plus/element-plus/packages/components/container/src/header.vue"]]);const bn=O({name:"ElMain"}),_n=O({...bn,setup(e){const o=V("main");return(n,s)=>(k(),F("main",{class:G(M(o).b())},[X(n.$slots,"default")],2))}});var pt=ee(_n,[["__file","/home/runner/work/element-plus/element-plus/packages/components/container/src/main.vue"]]);const gn=Ie(cn,{Aside:ut,Footer:ct,Header:dt,Main:pt}),yn=ie(ut),Cn=ie(ct);ie(dt);const wn=ie(pt);let Mn=class{constructor(o,n){this.parent=o,this.domNode=n,this.subIndex=0,this.subIndex=0,this.init()}init(){this.subMenuItems=this.domNode.querySelectorAll("li"),this.addListeners()}gotoSubIndex(o){o===this.subMenuItems.length?o=0:o<0&&(o=this.subMenuItems.length-1),this.subMenuItems[o].focus(),this.subIndex=o}addListeners(){const o=this.parent.domNode;Array.prototype.forEach.call(this.subMenuItems,n=>{n.addEventListener("keydown",s=>{let t=!1;switch(s.code){case Q.down:{this.gotoSubIndex(this.subIndex+1),t=!0;break}case Q.up:{this.gotoSubIndex(this.subIndex-1),t=!0;break}case Q.tab:{we(o,"mouseleave");break}case Q.enter:case Q.space:{t=!0,s.currentTarget.click();break}}return t&&(s.preventDefault(),s.stopPropagation()),!1})})}},Tn=class{constructor(o,n){this.domNode=o,this.submenu=null,this.submenu=null,this.init(n)}init(o){this.domNode.setAttribute("tabindex","0");const n=this.domNode.querySelector(`.${o}-menu`);n&&(this.submenu=new Mn(this,n)),this.addListeners()}addListeners(){this.domNode.addEventListener("keydown",o=>{let n=!1;switch(o.code){case Q.down:{we(o.currentTarget,"mouseenter"),this.submenu&&this.submenu.gotoSubIndex(0),n=!0;break}case Q.up:{we(o.currentTarget,"mouseenter"),this.submenu&&this.submenu.gotoSubIndex(this.submenu.subMenuItems.length-1),n=!0;break}case Q.tab:{we(o.currentTarget,"mouseleave");break}case Q.enter:case Q.space:{n=!0,o.currentTarget.click();break}}n&&o.preventDefault()})}},kn=class{constructor(o,n){this.domNode=o,this.init(n)}init(o){const n=this.domNode.childNodes;Array.from(n).forEach(s=>{s.nodeType===1&&new Tn(s,o)})}};const xn=O({name:"ElMenuCollapseTransition",setup(){const e=V("menu");return{listeners:{onBeforeEnter:n=>n.style.opacity="0.2",onEnter(n,s){ge(n,`${e.namespace.value}-opacity-transition`),n.style.opacity="1",s()},onAfterEnter(n){Ee(n,`${e.namespace.value}-opacity-transition`),n.style.opacity=""},onBeforeLeave(n){n.dataset||(n.dataset={}),yt(n,e.m("collapse"))?(Ee(n,e.m("collapse")),n.dataset.oldOverflow=n.style.overflow,n.dataset.scrollWidth=n.clientWidth.toString(),ge(n,e.m("collapse"))):(ge(n,e.m("collapse")),n.dataset.oldOverflow=n.style.overflow,n.dataset.scrollWidth=n.clientWidth.toString(),Ee(n,e.m("collapse"))),n.style.width=`${n.scrollWidth}px`,n.style.overflow="hidden"},onLeave(n){ge(n,"horizontal-collapse-transition"),n.style.width=`${n.dataset.scrollWidth}px`}}}}});function En(e,o,n,s,t,l){return k(),U(Ze,Ke({mode:"out-in"},e.listeners),{default:_(()=>[X(e.$slots,"default")]),_:3},16)}var An=ee(xn,[["render",En],["__file","/home/runner/work/element-plus/element-plus/packages/components/menu/src/menu-collapse-transition.vue"]]);function vt(e,o){const n=y(()=>{let t=e.parent;const l=[o.value];for(;t.type.name!=="ElMenu";)t.props.index&&l.unshift(t.props.index),t=t.parent;return l});return{parentMenu:y(()=>{let t=e.parent;for(;t&&!["ElMenu","ElSubMenu"].includes(t.type.name);)t=t.parent;return t}),indexPath:n}}function Sn(e){return y(()=>{const n=e.backgroundColor;return n?new Ct(n).shade(20).toString():""})}const mt=(e,o)=>{const n=V("menu");return y(()=>n.cssVarBlock({"text-color":e.textColor||"","hover-text-color":e.textColor||"","bg-color":e.backgroundColor||"","hover-bg-color":Sn(e).value||"","active-color":e.activeTextColor||"",level:`${o}`}))},Bn=pe({index:{type:String,required:!0},showTimeout:{type:Number,default:300},hideTimeout:{type:Number,default:300},popperClass:String,disabled:Boolean,popperAppendToBody:{type:Boolean,default:void 0},teleported:{type:Boolean,default:void 0},popperOffset:{type:Number,default:6},expandCloseIcon:{type:ye},expandOpenIcon:{type:ye},collapseCloseIcon:{type:ye},collapseOpenIcon:{type:ye}}),Ce="ElSubMenu";var Oe=O({name:Ce,props:Bn,setup(e,{slots:o,expose:n}){We({from:"popper-append-to-body",replacement:"teleported",scope:Ce,version:"2.3.0",ref:"https://element-plus.org/en-US/component/menu.html#submenu-attributes"},y(()=>e.popperAppendToBody!==void 0));const s=ve(),{indexPath:t,parentMenu:l}=vt(s,y(()=>e.index)),i=V("menu"),b=V("sub-menu"),r=se("rootMenu");r||de(Ce,"can not inject root menu");const h=se(`subMenu:${l.value.uid}`);h||de(Ce,"can not inject sub menu");const p=A({}),m=A({});let d;const v=A(!1),N=A(),I=A(null),P=y(()=>a.value==="horizontal"&&S.value?"bottom-start":"right-start"),g=y(()=>a.value==="horizontal"&&S.value||a.value==="vertical"&&!r.props.collapse?e.expandCloseIcon&&e.expandOpenIcon?Z.value?e.expandOpenIcon:e.expandCloseIcon:wt:e.collapseCloseIcon&&e.collapseOpenIcon?Z.value?e.collapseOpenIcon:e.collapseCloseIcon:Le),S=y(()=>h.level===0),H=y(()=>{var w;const D=(w=e.teleported)!=null?w:e.popperAppendToBody;return D===void 0?S.value:D}),R=y(()=>r.props.collapse?`${i.namespace.value}-zoom-in-left`:`${i.namespace.value}-zoom-in-top`),ne=y(()=>a.value==="horizontal"&&S.value?["bottom-start","bottom-end","top-start","top-end","right-start","left-start"]:["right-start","right","right-end","left-start","bottom-start","bottom-end","top-start","top-end"]),Z=y(()=>r.openedMenus.includes(e.index)),te=y(()=>{let w=!1;return Object.values(p.value).forEach(D=>{D.active&&(w=!0)}),Object.values(m.value).forEach(D=>{D.active&&(w=!0)}),w}),oe=y(()=>r.props.backgroundColor||""),T=y(()=>r.props.activeTextColor||""),x=y(()=>r.props.textColor||""),a=y(()=>r.props.mode),c=ke({index:e.index,indexPath:t,active:te}),f=mt(r.props,h.level+1),C=y(()=>a.value!=="horizontal"?{color:x.value}:{borderBottomColor:te.value?r.props.activeTextColor?T.value:"":"transparent",color:te.value?T.value:x.value}),E=()=>{var w,D,Y;return(Y=(D=(w=I.value)==null?void 0:w.popperRef)==null?void 0:D.popperInstanceRef)==null?void 0:Y.destroy()},$=w=>{w||E()},B=()=>{r.props.menuTrigger==="hover"&&r.props.mode==="horizontal"||r.props.collapse&&r.props.mode==="vertical"||e.disabled||r.handleSubMenuClick({index:e.index,indexPath:t.value,active:te.value})},j=(w,D=e.showTimeout)=>{var Y;w.type!=="focus"&&(r.props.menuTrigger==="click"&&r.props.mode==="horizontal"||!r.props.collapse&&r.props.mode==="vertical"||e.disabled||(h.mouseInChild.value=!0,d==null||d(),{stop:d}=He(()=>{r.openMenu(e.index,t.value)},D),H.value&&((Y=l.value.vnode.el)==null||Y.dispatchEvent(new MouseEvent("mouseenter")))))},L=(w=!1)=>{var D,Y;r.props.menuTrigger==="click"&&r.props.mode==="horizontal"||!r.props.collapse&&r.props.mode==="vertical"||(d==null||d(),h.mouseInChild.value=!1,{stop:d}=He(()=>!v.value&&r.closeMenu(e.index,t.value),e.hideTimeout),H.value&&w&&((D=s.parent)==null?void 0:D.type.name)==="ElSubMenu"&&((Y=h.handleMouseleave)==null||Y.call(h,!0)))};K(()=>r.props.collapse,w=>$(!!w));{const w=Y=>{m.value[Y.index]=Y},D=Y=>{delete m.value[Y.index]};be(`subMenu:${s.uid}`,{addSubMenu:w,removeSubMenu:D,handleMouseleave:L,mouseInChild:v,level:h.level+1})}return n({opened:Z}),he(()=>{r.addSubMenu(c),h.addSubMenu(c)}),Ge(()=>{h.removeSubMenu(c),r.removeSubMenu(c)}),()=>{var w;const D=[(w=o.title)==null?void 0:w.call(o),W(ae,{class:b.e("icon-arrow"),style:{transform:Z.value?e.expandCloseIcon&&e.expandOpenIcon||e.collapseCloseIcon&&e.collapseOpenIcon&&r.props.collapse?"none":"rotateZ(180deg)":"none"}},{default:()=>ue(g.value)?W(s.appContext.components[g.value]):W(g.value)})],Y=r.isMenuPopup?W(Xe,{ref:I,visible:Z.value,effect:"light",pure:!0,offset:e.popperOffset,showArrow:!1,persistent:!0,popperClass:e.popperClass,placement:P.value,teleported:H.value,fallbackPlacements:ne.value,transition:R.value,gpuAcceleration:!1},{content:()=>{var re;return W("div",{class:[i.m(a.value),i.m("popup-container"),e.popperClass],onMouseenter:J=>j(J,100),onMouseleave:()=>L(!0),onFocus:J=>j(J,100)},[W("ul",{class:[i.b(),i.m("popup"),i.m(`popup-${P.value}`)],style:f.value},[(re=o.default)==null?void 0:re.call(o)])])},default:()=>W("div",{class:b.e("title"),style:[C.value,{backgroundColor:oe.value}],onClick:B},D)}):W(ce,{},[W("div",{class:b.e("title"),style:[C.value,{backgroundColor:oe.value}],ref:N,onClick:B},D),W(ln,{},{default:()=>{var re;return et(W("ul",{role:"menu",class:[i.b(),i.m("inline")],style:f.value},[(re=o.default)==null?void 0:re.call(o)]),[[tt,Z.value]])}})]);return W("li",{class:[b.b(),b.is("active",te.value),b.is("opened",Z.value),b.is("disabled",e.disabled)],role:"menuitem",ariaHaspopup:!0,ariaExpanded:Z.value,onMouseenter:j,onMouseleave:()=>L(!0),onFocus:j},[Y])}}});const Pn=pe({mode:{type:String,values:["horizontal","vertical"],default:"vertical"},defaultActive:{type:String,default:""},defaultOpeneds:{type:fe(Array),default:()=>$e([])},uniqueOpened:Boolean,router:Boolean,menuTrigger:{type:String,values:["hover","click"],default:"hover"},collapse:Boolean,backgroundColor:String,textColor:String,activeTextColor:String,collapseTransition:{type:Boolean,default:!0},ellipsis:{type:Boolean,default:!0},popperEffect:{type:String,values:["dark","light"],default:"dark"}}),Ae=e=>Array.isArray(e)&&e.every(o=>ue(o)),Nn={close:(e,o)=>ue(e)&&Ae(o),open:(e,o)=>ue(e)&&Ae(o),select:(e,o,n,s)=>ue(e)&&Ae(o)&&Qt(n)&&(s===void 0||s instanceof Promise)};var In=O({name:"ElMenu",props:Pn,emits:Nn,setup(e,{emit:o,slots:n,expose:s}){const t=ve(),l=t.appContext.config.globalProperties.$router,i=A(),b=V("menu"),r=V("sub-menu"),h=A(-1),p=A(e.defaultOpeneds&&!e.collapse?e.defaultOpeneds.slice(0):[]),m=A(e.defaultActive),d=A({}),v=A({}),N=y(()=>e.mode==="horizontal"||e.mode==="vertical"&&e.collapse),I=()=>{const a=m.value&&d.value[m.value];if(!a||e.mode==="horizontal"||e.collapse)return;a.indexPath.forEach(f=>{const C=v.value[f];C&&P(f,C.indexPath)})},P=(a,c)=>{p.value.includes(a)||(e.uniqueOpened&&(p.value=p.value.filter(f=>c.includes(f))),p.value.push(a),o("open",a,c))},g=a=>{const c=p.value.indexOf(a);c!==-1&&p.value.splice(c,1)},S=(a,c)=>{g(a),o("close",a,c)},H=({index:a,indexPath:c})=>{p.value.includes(a)?S(a,c):P(a,c)},R=a=>{(e.mode==="horizontal"||e.collapse)&&(p.value=[]);const{index:c,indexPath:f}=a;if(!(Re(c)||Re(f)))if(e.router&&l){const C=a.route||c,E=l.push(C).then($=>($||(m.value=c),$));o("select",c,f,{index:c,indexPath:f,route:C},E)}else m.value=c,o("select",c,f,{index:c,indexPath:f})},ne=a=>{const c=d.value,f=c[a]||m.value&&c[m.value]||c[e.defaultActive];f?m.value=f.index:m.value=a},Z=()=>{var a,c;if(!i.value)return-1;const f=Array.from((c=(a=i.value)==null?void 0:a.childNodes)!=null?c:[]).filter(w=>w.nodeName!=="#comment"&&(w.nodeName!=="#text"||w.nodeValue)),C=64,E=Number.parseInt(getComputedStyle(i.value).paddingLeft,10),$=Number.parseInt(getComputedStyle(i.value).paddingRight,10),B=i.value.clientWidth-E-$;let j=0,L=0;return f.forEach((w,D)=>{j+=w.offsetWidth||0,j<=B-C&&(L=D+1)}),L===f.length?-1:L},te=(a,c=33.34)=>{let f;return()=>{f&&clearTimeout(f),f=setTimeout(()=>{a()},c)}};let oe=!0;const T=()=>{const a=()=>{h.value=-1,_e(()=>{h.value=Z()})};oe?a():te(a)(),oe=!1};K(()=>e.defaultActive,a=>{d.value[a]||(m.value=""),ne(a)}),K(()=>e.collapse,a=>{a&&(p.value=[])}),K(d.value,I);let x;Xt(()=>{e.mode==="horizontal"&&e.ellipsis?x=De(i,T).stop:x==null||x()});{const a=E=>{v.value[E.index]=E},c=E=>{delete v.value[E.index]};be("rootMenu",ke({props:e,openedMenus:p,items:d,subMenus:v,activeIndex:m,isMenuPopup:N,addMenuItem:E=>{d.value[E.index]=E},removeMenuItem:E=>{delete d.value[E.index]},addSubMenu:a,removeSubMenu:c,openMenu:P,closeMenu:S,handleMenuItemClick:R,handleSubMenuClick:H})),be(`subMenu:${t.uid}`,{addSubMenu:a,removeSubMenu:c,mouseInChild:A(!1),level:0})}return he(()=>{e.mode==="horizontal"&&new kn(t.vnode.el,b.namespace.value)}),s({open:c=>{const{indexPath:f}=v.value[c];f.forEach(C=>P(C,f))},close:g,handleResize:T}),()=>{var a,c;let f=(c=(a=n.default)==null?void 0:a.call(n))!=null?c:[];const C=[];if(e.mode==="horizontal"&&i.value){const B=Qe(f),j=h.value===-1?B:B.slice(0,h.value),L=h.value===-1?[]:B.slice(h.value);L!=null&&L.length&&e.ellipsis&&(f=j,C.push(W(Oe,{index:"sub-menu-more",class:r.e("hide-arrow")},{title:()=>W(ae,{class:r.e("icon-more")},{default:()=>W(Mt)}),default:()=>L})))}const E=mt(e,0),$=W("ul",{key:String(e.collapse),role:"menubar",ref:i,style:E.value,class:{[b.b()]:!0,[b.m(e.mode)]:!0,[b.m("collapse")]:e.collapse}},[...f,...C]);return e.collapseTransition&&e.mode==="vertical"?W(An,()=>$):$}}});const $n=pe({index:{type:fe([String,null]),default:null},route:{type:fe([String,Object])},disabled:Boolean}),Dn={click:e=>ue(e.index)&&Array.isArray(e.indexPath)},Se="ElMenuItem",On=O({name:Se,components:{ElTooltip:Xe},props:$n,emits:Dn,setup(e,{emit:o}){const n=ve(),s=se("rootMenu"),t=V("menu"),l=V("menu-item");s||de(Se,"can not inject root menu");const{parentMenu:i,indexPath:b}=vt(n,jt(e,"index")),r=se(`subMenu:${i.value.uid}`);r||de(Se,"can not inject sub menu");const h=y(()=>e.index===s.activeIndex),p=ke({index:e.index,indexPath:b,active:h}),m=()=>{e.disabled||(s.handleMenuItemClick({index:e.index,indexPath:b.value,route:e.route}),o("click",p))};return he(()=>{r.addSubMenu(p),s.addMenuItem(p)}),Ge(()=>{r.removeSubMenu(p),s.removeMenuItem(p)}),{parentMenu:i,rootMenu:s,active:h,nsMenu:t,nsMenuItem:l,handleClick:m}}});function Hn(e,o,n,s,t,l){const i=nt("el-tooltip");return k(),F("li",{class:G([e.nsMenuItem.b(),e.nsMenuItem.is("active",e.active),e.nsMenuItem.is("disabled",e.disabled)]),role:"menuitem",tabindex:"-1",onClick:o[0]||(o[0]=(...b)=>e.handleClick&&e.handleClick(...b))},[e.parentMenu.type.name==="ElMenu"&&e.rootMenu.props.collapse&&e.$slots.title?(k(),U(i,{key:0,effect:e.rootMenu.props.popperEffect,placement:"right","fallback-placements":["left"],persistent:""},{content:_(()=>[X(e.$slots,"title")]),default:_(()=>[z("div",{class:G(e.nsMenu.be("tooltip","trigger"))},[X(e.$slots,"default")],2)]),_:3},8,["effect"])):(k(),F(ce,{key:1},[X(e.$slots,"default"),X(e.$slots,"title")],64))],2)}var ft=ee(On,[["render",Hn],["__file","/home/runner/work/element-plus/element-plus/packages/components/menu/src/menu-item.vue"]]);const zn={title:String},Vn="ElMenuItemGroup",Fn=O({name:Vn,props:zn,setup(){return{ns:V("menu-item-group")}}});function Rn(e,o,n,s,t,l){return k(),F("li",{class:G(e.ns.b())},[z("div",{class:G(e.ns.e("title"))},[e.$slots.title?X(e.$slots,"title",{key:1}):(k(),F(ce,{key:0},[q(me(e.title),1)],64))],2),z("ul",null,[X(e.$slots,"default")])],2)}var ht=ee(Fn,[["render",Rn],["__file","/home/runner/work/element-plus/element-plus/packages/components/menu/src/menu-item-group.vue"]]);const Yn=Ie(In,{MenuItem:ft,MenuItemGroup:ht,SubMenu:Oe}),Wn=ie(ft);ie(ht);const Ln=ie(Oe),xe=Symbol("tabsRootContextKey"),Xn=pe({tabs:{type:fe(Array),default:()=>$e([])}}),bt="ElTabBar",Qn=O({name:bt}),jn=O({...Qn,props:Xn,setup(e,{expose:o}){const n=e,s=ve(),t=se(xe);t||de(bt,"");const l=V("tabs"),i=A(),b=A(),r=()=>{let p=0,m=0;const d=["top","bottom"].includes(t.props.tabPosition)?"width":"height",v=d==="width"?"x":"y",N=v==="x"?"left":"top";return n.tabs.every(I=>{var P,g;const S=(g=(P=s.parent)==null?void 0:P.refs)==null?void 0:g[`tab-${I.uid}`];if(!S)return!1;if(!I.active)return!0;p=S[`offset${le(N)}`],m=S[`client${le(d)}`];const H=window.getComputedStyle(S);return d==="width"&&(n.tabs.length>1&&(m-=Number.parseFloat(H.paddingLeft)+Number.parseFloat(H.paddingRight)),p+=Number.parseFloat(H.paddingLeft)),!1}),{[d]:`${m}px`,transform:`translate${le(v)}(${p}px)`}},h=()=>b.value=r();return K(()=>n.tabs,async()=>{await _e(),h()},{immediate:!0}),De(i,()=>h()),o({ref:i,update:h}),(p,m)=>(k(),F("div",{ref_key:"barRef",ref:i,class:G([M(l).e("active-bar"),M(l).is(M(t).props.tabPosition)]),style:Te(b.value)},null,6))}});var qn=ee(jn,[["__file","/home/runner/work/element-plus/element-plus/packages/components/tabs/src/tab-bar.vue"]]);const Un=pe({panes:{type:fe(Array),default:()=>$e([])},currentName:{type:[String,Number],default:""},editable:Boolean,type:{type:String,values:["card","border-card",""],default:""},stretch:Boolean}),Kn={tabClick:(e,o,n)=>n instanceof Event,tabRemove:(e,o)=>o instanceof Event},Ye="ElTabNav",Zn=O({name:Ye,props:Un,emits:Kn,setup(e,{expose:o,emit:n}){const s=ve(),t=se(xe);t||de(Ye,"");const l=V("tabs"),i=en(),b=tn(),r=A(),h=A(),p=A(),m=A(),d=A(!1),v=A(0),N=A(!1),I=A(!0),P=y(()=>["top","bottom"].includes(t.props.tabPosition)?"width":"height"),g=y(()=>({transform:`translate${P.value==="width"?"X":"Y"}(-${v.value}px)`})),S=()=>{if(!r.value)return;const T=r.value[`offset${le(P.value)}`],x=v.value;if(!x)return;const a=x>T?x-T:0;v.value=a},H=()=>{if(!r.value||!h.value)return;const T=h.value[`offset${le(P.value)}`],x=r.value[`offset${le(P.value)}`],a=v.value;if(T-a<=x)return;const c=T-a>x*2?a+x:T-x;v.value=c},R=async()=>{const T=h.value;if(!d.value||!p.value||!r.value||!T)return;await _e();const x=p.value.querySelector(".is-active");if(!x)return;const a=r.value,c=["top","bottom"].includes(t.props.tabPosition),f=x.getBoundingClientRect(),C=a.getBoundingClientRect(),E=c?T.offsetWidth-C.width:T.offsetHeight-C.height,$=v.value;let B=$;c?(f.leftC.right&&(B=$+f.right-C.right)):(f.topC.bottom&&(B=$+(f.bottom-C.bottom))),B=Math.max(B,0),v.value=Math.min(B,E)},ne=()=>{var T;if(!h.value||!r.value)return;e.stretch&&((T=m.value)==null||T.update());const x=h.value[`offset${le(P.value)}`],a=r.value[`offset${le(P.value)}`],c=v.value;a0&&(v.value=0))},Z=T=>{const x=T.code,{up:a,down:c,left:f,right:C}=Q;if(![a,c,f,C].includes(x))return;const E=Array.from(T.currentTarget.querySelectorAll("[role=tab]:not(.is-disabled)")),$=E.indexOf(T.target);let B;x===f||x===a?$===0?B=E.length-1:B=$-1:${I.value&&(N.value=!0)},oe=()=>N.value=!1;return K(i,T=>{T==="hidden"?I.value=!1:T==="visible"&&setTimeout(()=>I.value=!0,50)}),K(b,T=>{T?setTimeout(()=>I.value=!0,50):I.value=!1}),De(p,ne),he(()=>setTimeout(()=>R(),0)),qt(()=>ne()),o({scrollToActiveTab:R,removeFocus:oe}),K(()=>e.panes,()=>s.update(),{flush:"post",deep:!0}),()=>{const T=d.value?[u("span",{class:[l.e("nav-prev"),l.is("disabled",!d.value.prev)],onClick:S},[u(ae,null,{default:()=>[u(Tt,null,null)]})]),u("span",{class:[l.e("nav-next"),l.is("disabled",!d.value.next)],onClick:H},[u(ae,null,{default:()=>[u(Le,null,null)]})])]:null,x=e.panes.map((a,c)=>{var f,C,E,$;const B=a.uid,j=a.props.disabled,L=(C=(f=a.props.name)!=null?f:a.index)!=null?C:`${c}`,w=!j&&(a.isClosable||e.editable);a.index=`${c}`;const D=w?u(ae,{class:"is-icon-close",onClick:J=>n("tabRemove",a,J)},{default:()=>[u(kt,null,null)]}):null,Y=(($=(E=a.slots).label)==null?void 0:$.call(E))||a.props.label,re=!j&&a.active?0:-1;return u("div",{ref:`tab-${B}`,class:[l.e("item"),l.is(t.props.tabPosition),l.is("active",a.active),l.is("disabled",j),l.is("closable",w),l.is("focus",N.value)],id:`tab-${L}`,key:`tab-${B}`,"aria-controls":`pane-${L}`,role:"tab","aria-selected":a.active,tabindex:re,onFocus:()=>te(),onBlur:()=>oe(),onClick:J=>{oe(),n("tabClick",a,L,J)},onKeydown:J=>{w&&(J.code===Q.delete||J.code===Q.backspace)&&n("tabRemove",a,J)}},[Y,D])});return u("div",{ref:p,class:[l.e("nav-wrap"),l.is("scrollable",!!d.value),l.is(t.props.tabPosition)]},[T,u("div",{class:l.e("nav-scroll"),ref:r},[u("div",{class:[l.e("nav"),l.is(t.props.tabPosition),l.is("stretch",e.stretch&&["top","bottom"].includes(t.props.tabPosition))],ref:h,style:g.value,role:"tablist",onKeydown:Z},[e.type?null:u(qn,{ref:m,tabs:[...e.panes]},null),x])])])}}}),Jn=pe({type:{type:String,values:["card","border-card",""],default:""},activeName:{type:[String,Number]},closable:Boolean,addable:Boolean,modelValue:{type:[String,Number]},editable:Boolean,tabPosition:{type:String,values:["top","right","bottom","left"],default:"top"},beforeLeave:{type:fe(Function),default:()=>!0},stretch:Boolean}),Be=e=>ue(e)||Ut(e),Gn={[rt]:e=>Be(e),tabClick:(e,o)=>o instanceof Event,tabChange:e=>Be(e),edit:(e,o)=>["remove","add"].includes(o),tabRemove:e=>Be(e),tabAdd:()=>!0};var eo=O({name:"ElTabs",props:Jn,emits:Gn,setup(e,{emit:o,slots:n,expose:s}){var t,l;const i=V("tabs"),{children:b,addChild:r,removeChild:h}=on(ve(),"ElTabPane"),p=A(),m=A((l=(t=e.modelValue)!=null?t:e.activeName)!=null?l:"0"),d=g=>{m.value=g,o(rt,g),o("tabChange",g)},v=async g=>{var S,H,R;if(!(m.value===g||Ve(g)))try{await((S=e.beforeLeave)==null?void 0:S.call(e,g,m.value))!==!1&&(d(g),(R=(H=p.value)==null?void 0:H.removeFocus)==null||R.call(H))}catch{}},N=(g,S,H)=>{g.props.disabled||(v(S),o("tabClick",g,H))},I=(g,S)=>{g.props.disabled||Ve(g.props.name)||(S.stopPropagation(),o("edit",g.props.name,"remove"),o("tabRemove",g.props.name))},P=()=>{o("edit",void 0,"add"),o("tabAdd")};return We({from:'"activeName"',replacement:'"model-value" or "v-model"',scope:"ElTabs",version:"2.3.0",ref:"https://element-plus.org/en-US/component/tabs.html#attributes",type:"Attribute"},y(()=>!!e.activeName)),K(()=>e.activeName,g=>v(g)),K(()=>e.modelValue,g=>v(g)),K(m,async()=>{var g;await _e(),(g=p.value)==null||g.scrollToActiveTab()}),be(xe,{props:e,currentName:m,registerPane:r,unregisterPane:h}),s({currentName:m}),()=>{const g=e.editable||e.addable?u("span",{class:i.e("new-tab"),tabindex:"0",onClick:P,onKeydown:R=>{R.code===Q.enter&&P()}},[u(ae,{class:i.is("icon-plus")},{default:()=>[u(xt,null,null)]})]):null,S=u("div",{class:[i.e("header"),i.is(e.tabPosition)]},[g,u(Zn,{ref:p,currentName:m.value,editable:e.editable,type:e.type,panes:b.value,stretch:e.stretch,onTabClick:N,onTabRemove:I},null)]),H=u("div",{class:i.e("content")},[X(n,"default")]);return u("div",{class:[i.b(),i.m(e.tabPosition),{[i.m("card")]:e.type==="card",[i.m("border-card")]:e.type==="border-card"}]},[...e.tabPosition!=="bottom"?[S,H]:[H,S]])}}});const to=pe({label:{type:String,default:""},name:{type:[String,Number]},closable:Boolean,disabled:Boolean,lazy:Boolean}),no=["id","aria-hidden","aria-labelledby"],_t="ElTabPane",oo=O({name:_t}),ao=O({...oo,props:to,setup(e){const o=e,n=ve(),s=Je(),t=se(xe);t||de(_t,"usage: ");const l=V("tab-pane"),i=A(),b=y(()=>o.closable||t.props.closable),r=ze(()=>{var v;return t.currentName.value===((v=o.name)!=null?v:i.value)}),h=A(r.value),p=y(()=>{var v;return(v=o.name)!=null?v:i.value}),m=ze(()=>!o.lazy||h.value||r.value);K(r,v=>{v&&(h.value=!0)});const d=ke({uid:n.uid,slots:s,props:o,paneName:p,active:r,index:i,isClosable:b});return he(()=>{t.registerPane(d)}),Kt(()=>{t.unregisterPane(d.uid)}),(v,N)=>M(m)?et((k(),F("div",{key:0,id:`pane-${M(p)}`,class:G(M(l).b()),role:"tabpanel","aria-hidden":!M(r),"aria-labelledby":`tab-${M(p)}`},[X(v.$slots,"default")],10,no)),[[tt,M(r)]]):ot("v-if",!0)}});var gt=ee(ao,[["__file","/home/runner/work/element-plus/element-plus/packages/components/tabs/src/tab-pane.vue"]]);const so=Ie(eo,{TabPane:gt}),lo=ie(gt);const io="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAATwAAABCCAMAAAD9hJoxAAAAjVBMVEUAAABmYmBmYmBmYmBmYmBmYmBmYmBmYmBmYmBmYmBmYmBmYmDMCCPMCCNmYmBmYmDMCCPMCCPMCCPnQhDMCCPMCCPXIhtmYmBmYmDnQhDnQhDMCCPMCCPnQhDMCCPnQhDMCCPnQhDMCCPMCCPnQhDnQhDnQhDnQhDMCCPnQhDnQhDnQhBmYmDMCCPnQhBOmYs0AAAALHRSTlMAgMBA8BCg4GAg0FDwwDBwgEBgQDAQILCQgPDg0NigYHAwsJAQwKCwUHBQkHnnoZMAAAfHSURBVHja7ZzretowDIad8/kEhFCgFNqtpV3C/V/e1rXBceRIdjpv3Z59f8lBeSPJsuXAPoPq4/2+e1WWlYs1+y9NVVV5v+t+avewYv+lrdVx/86vrNmflpNY70pyhikqGntSm0J+crKxEfmWM4vfoXvTAcE3+9bCYyE4Qj9uBdnWFEDPbwm5mwjYH7SUXMtj+lrfv9FLS8alfWtfyk/gMelIcStTYEUMKndbBfkiiLDlwvDNyn998qsYEHlrDiefA8/xMQYAnxe3SgqGxiStouI5zlf3sVvKHq9V1UYbXuRrOoPVKsod0Atao/TY4p1eVsO81c68Nw2vcOlLiv7stqoKPD3Hg0bq09uvx87RtrPo0fC8RsmFQiQKMPn9SZtWQyFDtby7edXzUk4vXWEZj6anDM+L9Z+naDUUwdChFSDkXp62l6ue7r7I6NVolrF7EX4P4RHs3KZwXlX4LqAnNcZNxAuGAXA9CK+JRkXS+Dkma8y724uo7c0AX9lHbi3Aw7w6T8CTWgg8hF0wvHI4+jHhxqDjky++DU8Cz0FO4vZDnTg6rttB9Gbv9O4n4fmMzvoRDQ8+ZzG+qPhzxI1BH7MBzGl4rFEYMp4vct3wcjl9p3dkXIS90IlsCh6EE+dEMWwrGuO50DUhPHxIZBI9Xqb0CAK3WyHwSHoODg8+ZOCR5WVBGwMdOlaDx0TzPYQdSm/Xl3ta8JgXCDmZhueDehbKAvmLMAbWBorwbPDuQcwiuhuPuN0CgUe6SUTBi1qViwbgINoYB3D4OLzTBdX2Whn3WW+HwaPub1HwfKXKKgSupwsv+SXwvl5wfQVZb4HAo4wOCHiRYk3vgsM04Vm/At7dhdKyH3B7eDsEHhljEQ6vAC4FBOdV8Z+CBwu8p+flmi1fHrdj19v39CoMHlEsFTi8ACkdkUz6Z+Cd4LwCTDr6rPfQwzsow4OHNSi8HOQlpbgtfhO8iAn6NkpwwsLJl29CqVz18FIEHpn0UHgFUlYh7hwbhAfrm1oetY9MlhFv+3XRrtdZC14uEsHg2SISRJZ4Ue06r1CDF0he/HWShbDj9MbFSvegBY+JeQOD1yIpDy88aGOsGXWeI5tdZv0CHifHPQzE9XK0OtBlH4AXTsKD8y5EnhiEutOzNlKCF0tCvZLCOzGJvmwl8DoEHlkmI/AK4ByKb8QGxhAR6DIUHm9lwgOOJY9KELRw9nYH4K3MwPORtUf0oi5uDHwxjQK8JJauJD/0nncDHA+6Hh9uH7pe1Xx4NgIPjG0EPC5gDNEkDall+NjmxZAIN5OE7S2b0FdJ2B7NwAsQeET+x41J/JZYSaYVsml4T2xCNxJ4pRl44gPqwiMFjbX12bEs7eerYNUY6uXSTzr2M+H5s+DZOvASLXiBh8CjthlkXV8lb2l4y2tAdzPhWebhWVrwckbBQ1pQ2XVu/0TDO/WD7epfgRcyEh7Sx8w6WKvcMEqLfwOe6+juF4k9Ed6eFyJ8wCB0L8AzUeeJJpuB53vAMj16h65bj7s/W0aoTjm8yiw8/VIlVIMXFxFimcOV+JAeX1E/gvH2hYzaTwwPK1UC+1WWlTi4ZeLPjjuRQ86DtfQb3qzAlXWdsbktsfQ4v0iGouERqxTrYRvnVs31qo5r/wF4IQoPeRh0J4T3i+HB2XM07GDvryS3fdY7qTreQR8evZ4H85jO3NYAPGdidfEwdL0ToEc4XrfQgxerwkuQrbhoE8M2AY8F8qbAWdhsd7rt6d1NDrW7IbxaD57yMnykXuh5olsYgbeZyHqpsF3sy9N11FgyUWA1ip9I2itFwhB42LIKGlOhEXjiPRohbrvFcAJ7XZr6tsTKFH7evO5ZjMLzlUeMQhyYjcBjrjxuV+PtYuzl66ADOQK4SofsUvaBvq2PwgtbVQSNuMZrBp4/MYBlcIf2+vlpC1rfkF1XIvDoSgWF5ylP0MBWRRPwkokcXHWc3hDg8odOjCHs0loPntdq7FVpwMEqveDcEDzWTpiTvZGoGKUq7YDj6cArdHZJJUjcIht9TMFrJsxZ8XYEqrITtasJeGi1VBDwWCBpNVAbjEMj8GAODmD1ka2Rq6+zbqQz04Nn6e0MDVvtiwbMGDyvndh5VO876oPQuuzGOjA9eDmY4yDwoOvlChdNDMGD460tGwh2x1rmdWUK2O1rBB79DWxEw0vobw0jsFpkDF4CW7ew9E0P55HTLe47qHTFtOA5LpitUvBYQ9HLQV40BA/Wyf7UYJDel1X10yOr48O+k2qF9SaAch92/Gh4XiCe5OCfFSXMKLwNrFb4LE1LC2wsaBxB4SaGHT8aHgz11h+el9igfW0UXjSyhc2kl56xMY9WyBB46Afk8SZxGIuc0A/Al7Om4MFD4EELdXYrkNE02eHwYKqk5TOz8OBD2mACoaJ9jWdTuluKw4NjAq2CmYfHRqY4oA6mVWK1Ki070vuDBq9RfB/m4YX4995H0vmyFXJzWoGj/9cgTkB3r43Dg64Hr10/oOh2CzYhT4Xe3D+lCTF8Nr+oUXgwA7sROZvg2i8YogJ3EHuTMC4cHpTju/KA9XN4rDWQw9QU8lMapI9gWdTFwZSC+hszaLVv277Vq3AcD2taDxRiV7dd+D4+o85llg5c7nD8HH8AFznh9YXk7FOretNf9seD3wEp1Aq+q1JvwgAAAABJRU5ErkJggg==";const ro={class:"logo"},uo={__name:"index",props:{collapse:{type:Boolean,default:!1}},setup(e){const o=[{title:"首頁",icon:Et,path:"/index",children:[{title:"首頁輪播",path:"/index/banner"},{title:"供應商",path:"/index/supplier"}]},{title:"關於普達",icon:At,path:"/about",children:[{title:"公司簡介",path:"/about/company"},{title:"經營理念",path:"/about/concept"}]},{title:"產品管理",icon:St,path:"/product",children:[{title:"產品列表",path:"/product/list"},{title:"產品類別",path:"/product/group"}]},{title:"最新消息",icon:Bt,path:"/news",children:[{title:"產業動態",path:"/news/list"},{title:"公司活動",path:"/news/activity"}]},{title:"聯絡我們",icon:Pt,path:"/contact",children:[{title:"表單信件",path:"/contact/email"},{title:"公司據點",path:"/contact/map"}]},{title:"權限管理",icon:Nt,path:"/priv",children:[{title:"管理員列表",path:"/priv/admin"},{title:"管理員紀錄",path:"/priv/adminlog"}]}],n=(s,t)=>{Zt.push(s)};return(s,t)=>{const l=Rt,i=ae,b=Wn,r=Ln,h=Yn;return k(),U(h,{"active-text-color":"#fefefe","background-color":"#032121","text-color":"#ccc","unique-opened":"",class:"el-menu-vertical",collapse:e.collapse,"default-active":s.$route.path,onSelect:n},{default:_(()=>[z("div",ro,[u(l,{style:{width:"100px"},src:M(io)},null,8,["src"])]),(k(),F(ce,null,Pe(o,(p,m)=>(k(),F(ce,{key:m},[p.children&&p.children.length>0?(k(),U(r,{key:0,index:p.path},{title:_(()=>[u(i,null,{default:_(()=>[(k(),U(Fe(p.icon)))]),_:2},1024),z("span",null,me(p.title),1)]),default:_(()=>[(k(!0),F(ce,null,Pe(p.children,(d,v)=>(k(),U(b,{index:d.path},{default:_(()=>[q(me(d.title),1)]),_:2},1032,["index"]))),256))]),_:2},1032,["index"])):(k(),U(b,{key:1,index:p.path},{default:_(()=>[u(i,null,{default:_(()=>[(k(),U(Fe(p.icon)))]),_:2},1024),z("span",null,me(p.title),1)]),_:2},1032,["index"]))],64))),64))]),_:1},8,["collapse","default-active"])}}},co=it(uo,[["__scopeId","data-v-1e400709"]]);const po={class:"admin-header"},vo={class:"header-nav header-layout-left"},mo={class:"header-nav-item header-flexible"},fo={class:"header-nav"},ho={class:"header-nav-item header-flexible",style:{cursor:"pointer"}},bo={class:"header-avatar",style:{marginRight:"5px"}},_o={class:"header-avatar"},go={__name:"index",props:{collapse:{type:Boolean,default:!1}},emits:["toggleClospe"],setup(e,{emit:o}){const n=at(),s=st(),t={tw:"繁體",cn:"簡體",en:"EN"},l=se("reload"),i=()=>{o("toggleClospe")},b=p=>{s.setLang(p),l()},r=()=>{sessionStorage.removeItem("token"),n.push("/login")},h=()=>{alert("button click")};return(p,m)=>{const d=ae,v=je,N=qe,I=Ue;return k(),F("div",po,[z("ul",vo,[z("li",mo,[e.collapse?(k(),U(d,{key:0,size:20,color:"#666",onClick:i},{default:_(()=>[u(M(It))]),_:1})):(k(),U(d,{key:1,size:20,color:"#666",onClick:i},{default:_(()=>[u(M($t))]),_:1}))])]),z("ul",fo,[z("li",ho,[u(I,{onClick:h},{dropdown:_(()=>[u(N,null,{default:_(()=>[u(v,{onClick:m[0]||(m[0]=P=>b("tw"))},{default:_(()=>[q("繁體")]),_:1}),u(v,{onClick:m[1]||(m[1]=P=>b("cn"))},{default:_(()=>[q("簡體")]),_:1}),u(v,{onClick:m[2]||(m[2]=P=>b("en"))},{default:_(()=>[q("EN")]),_:1})]),_:1})]),default:_(()=>[z("div",bo,[u(d,{size:13,style:{marginRight:"5px"}},{default:_(()=>[u(M(Dt))]),_:1}),q(" "+me(t[M(s).lang])+" - 語言切換 ",1)])]),_:1}),u(I,{"hide-on-click":!1},{dropdown:_(()=>[u(N,null,{default:_(()=>[u(v,null,{default:_(()=>[q("資料修改")]),_:1}),u(v,{onClick:Ne(r,["stop"])},{default:_(()=>[q("登出")]),_:1},8,["onClick"])]),_:1})]),default:_(()=>[z("div",_o,[u(d,{size:13,style:{marginRight:"5px"}},{default:_(()=>[u(M(Ot))]),_:1}),q(" Admin ")])]),_:1})])])])}}};const yo=Jt("tabs",{state:()=>({activeTab:"/",visitedViews:[]}),actions:{setActiveTab(e){this.activeTab=e},addTab(e){this.setActiveTab(e.path),e.path!=="/home"&&(this.visitedViews.some(o=>o.path===e.path)||this.visitedViews.push(e))},removeTab(e){const o=this.visitedViews.indexOf(e);this.visitedViews.splice(o,1)},closeOtherTabs(){this.visitedViews=this.visitedViews.filter(e=>e.path===this.activeTab)},closeAllTabs(){this.visitedViews=[]}}});const Co={class:"main-tabs-view"},wo={class:"tab-content"},Mo={class:"tab-content"},To={class:"el-dropdown-link"},ko={__name:"index",setup(e){const o=at(),n=lt(),s=yo(),{visitedViews:t}=Gt(s),l=se("reload"),i=y({get:()=>s.activeTab,set:d=>{s.setActiveTab(d)}});he(()=>{m()}),K(n,()=>{m()});const b=d=>{o.push(d.props.name)},r=d=>{if(t.value.length===1)o.push("/");else if(d.path===i.value){const v=t.value.findIndex(I=>I.path===d.path),N=t.value[v-1];i.value=N.path,o.push(N.path)}s.removeTab(d)},h=()=>{s.closeOtherTabs()},p=()=>{s.closeAllTabs()},m=()=>{n.path!=="/login"&&n.path&&s.addTab({path:n.path,title:n.meta.title})};return(d,v)=>{const N=ae,I=lo,P=so,g=je,S=qe,H=Ue;return k(),F("div",Co,[z("div",null,[u(P,{modelValue:i.value,"onUpdate:modelValue":v[0]||(v[0]=R=>i.value=R),type:"card",onTabClick:b},{default:_(()=>[u(I,{name:"/home"},{label:_(()=>[z("div",wo,[u(N,null,{default:_(()=>[u(M(Ht))]),_:1})])]),_:1}),(k(!0),F(ce,null,Pe(M(t),R=>(k(),U(I,{name:R.path},{label:_(()=>[z("div",Mo,[u(N,{onClick:Ne(M(l),["stop"])},{default:_(()=>[u(M(zt))]),_:1},8,["onClick"]),q(" "+me(R.title)+" ",1),u(N,{onClick:Ne(ne=>r(R),["stop"])},{default:_(()=>[u(M(Vt))]),_:2},1032,["onClick"])])]),_:2},1032,["name"]))),256))]),_:1},8,["modelValue"])]),z("div",null,[u(H,null,{dropdown:_(()=>[u(S,null,{default:_(()=>[u(g,{onClick:h},{default:_(()=>[q("關閉其他")]),_:1}),u(g,{onClick:p},{default:_(()=>[q("關閉全部")]),_:1})]),_:1})]),default:_(()=>[z("span",To,[u(N,null,{default:_(()=>[u(M(Ft))]),_:1})])]),_:1})])])}}},xo=it(ko,[["__scopeId","data-v-29a0e63c"]]),Eo={class:"admin-layout"},Ao={class:"tabs-block"},So={class:"main-content"},Wo={__name:"AdminLayout",setup(e){const o=lt(),n=st(),s=A(!1),t=()=>{s.value=!s.value};y(()=>o.matched.filter(b=>b.meta.title)),y(()=>n.isMobile);const l=A(!0);return be("reload",()=>{l.value=!1,_e(()=>{l.value=!0})}),(b,r)=>{const h=yn,p=nt("router-view"),m=wn,d=Cn,v=gn;return k(),F("div",Eo,[u(v,null,{default:_(()=>[u(h,{width:"auto",class:"side-scroll"},{default:_(()=>[u(co,{collapse:s.value},null,8,["collapse"])]),_:1}),u(v,null,{default:_(()=>[z("div",null,[u(go,{collapse:s.value,onToggleClospe:t},null,8,["collapse"])]),u(m,null,{default:_(()=>[z("div",Ao,[u(xo)]),z("div",So,[l.value?(k(),U(p,{key:0})):ot("",!0)])]),_:1}),u(d,null,{default:_(()=>[q("2023 © copyright ZL ")]),_:1})]),_:1})]),_:1})])}}};export{Wo as default}; diff --git a/app/public/admin/assets/AdminLayout-6d3ea206.css b/app/public/admin/assets/AdminLayout-6d3ea206.css new file mode 100644 index 0000000..543902e --- /dev/null +++ b/app/public/admin/assets/AdminLayout-6d3ea206.css @@ -0,0 +1 @@ +.el-container{display:flex;flex-direction:row;flex:1;flex-basis:auto;box-sizing:border-box;min-width:0}.el-container.is-vertical{flex-direction:column}.el-aside{overflow:auto;box-sizing:border-box;flex-shrink:0;width:var(--el-aside-width,300px)}.el-footer{--el-footer-padding:0 20px;--el-footer-height:60px;padding:var(--el-footer-padding);box-sizing:border-box;flex-shrink:0;height:var(--el-footer-height)}.el-header{--el-header-padding:0 20px;--el-header-height:60px;padding:var(--el-header-padding);box-sizing:border-box;flex-shrink:0;height:var(--el-header-height)}.el-main{--el-main-padding:20px;display:block;flex:1;flex-basis:auto;overflow:auto;box-sizing:border-box;padding:var(--el-main-padding)}.fade-in-linear-enter-active,.fade-in-linear-leave-active{transition:var(--el-transition-fade-linear)}.fade-in-linear-enter-from,.fade-in-linear-leave-to{opacity:0}.el-fade-in-linear-enter-active,.el-fade-in-linear-leave-active{transition:var(--el-transition-fade-linear)}.el-fade-in-linear-enter-from,.el-fade-in-linear-leave-to{opacity:0}.el-fade-in-enter-active,.el-fade-in-leave-active{transition:all var(--el-transition-duration) cubic-bezier(.55,0,.1,1)}.el-fade-in-enter-from,.el-fade-in-leave-active{opacity:0}.el-zoom-in-center-enter-active,.el-zoom-in-center-leave-active{transition:all var(--el-transition-duration) cubic-bezier(.55,0,.1,1)}.el-zoom-in-center-enter-from,.el-zoom-in-center-leave-active{opacity:0;transform:scaleX(0)}.el-zoom-in-top-enter-active,.el-zoom-in-top-leave-active{opacity:1;transform:scaleY(1);transition:var(--el-transition-md-fade);transform-origin:center top}.el-zoom-in-top-enter-active[data-popper-placement^=top],.el-zoom-in-top-leave-active[data-popper-placement^=top]{transform-origin:center bottom}.el-zoom-in-top-enter-from,.el-zoom-in-top-leave-active{opacity:0;transform:scaleY(0)}.el-zoom-in-bottom-enter-active,.el-zoom-in-bottom-leave-active{opacity:1;transform:scaleY(1);transition:var(--el-transition-md-fade);transform-origin:center bottom}.el-zoom-in-bottom-enter-from,.el-zoom-in-bottom-leave-active{opacity:0;transform:scaleY(0)}.el-zoom-in-left-enter-active,.el-zoom-in-left-leave-active{opacity:1;transform:scale(1);transition:var(--el-transition-md-fade);transform-origin:top left}.el-zoom-in-left-enter-from,.el-zoom-in-left-leave-active{opacity:0;transform:scale(.45)}.collapse-transition{transition:var(--el-transition-duration) height ease-in-out,var(--el-transition-duration) padding-top ease-in-out,var(--el-transition-duration) padding-bottom ease-in-out}.el-collapse-transition-enter-active,.el-collapse-transition-leave-active{transition:var(--el-transition-duration) max-height ease-in-out,var(--el-transition-duration) padding-top ease-in-out,var(--el-transition-duration) padding-bottom ease-in-out}.horizontal-collapse-transition{transition:var(--el-transition-duration) width ease-in-out,var(--el-transition-duration) padding-left ease-in-out,var(--el-transition-duration) padding-right ease-in-out}.el-list-enter-active,.el-list-leave-active{transition:all 1s}.el-list-enter-from,.el-list-leave-to{opacity:0;transform:translateY(-30px)}.el-list-leave-active{position:absolute!important}.el-opacity-transition{transition:opacity var(--el-transition-duration) cubic-bezier(.55,0,.1,1)}:root{--el-menu-active-color:var(--el-color-primary);--el-menu-text-color:var(--el-text-color-primary);--el-menu-hover-text-color:var(--el-color-primary);--el-menu-bg-color:var(--el-fill-color-blank);--el-menu-hover-bg-color:var(--el-color-primary-light-9);--el-menu-item-height:56px;--el-menu-sub-item-height:calc(var(--el-menu-item-height) - 6px);--el-menu-horizontal-sub-item-height:36px;--el-menu-item-font-size:var(--el-font-size-base);--el-menu-item-hover-fill:var(--el-color-primary-light-9);--el-menu-border-color:var(--el-border-color);--el-menu-base-level-padding:20px;--el-menu-level-padding:20px;--el-menu-icon-width:24px}.el-menu{border-right:solid 1px var(--el-menu-border-color);list-style:none;position:relative;margin:0;padding-left:0;background-color:var(--el-menu-bg-color);box-sizing:border-box}.el-menu--vertical:not(.el-menu--collapse):not(.el-menu--popup-container) .el-menu-item,.el-menu--vertical:not(.el-menu--collapse):not(.el-menu--popup-container) .el-menu-item-group__title,.el-menu--vertical:not(.el-menu--collapse):not(.el-menu--popup-container) .el-sub-menu__title{white-space:nowrap;padding-left:calc(var(--el-menu-base-level-padding) + var(--el-menu-level) * var(--el-menu-level-padding))}.el-menu--horizontal{display:flex;flex-wrap:nowrap;border-right:none}.el-menu--horizontal.el-menu{border-bottom:solid 1px var(--el-menu-border-color)}.el-menu--horizontal>.el-menu-item{display:inline-flex;justify-content:center;align-items:center;height:100%;margin:0;border-bottom:2px solid transparent;color:var(--el-menu-text-color)}.el-menu--horizontal>.el-menu-item a,.el-menu--horizontal>.el-menu-item a:hover{color:inherit}.el-menu--horizontal>.el-sub-menu:focus,.el-menu--horizontal>.el-sub-menu:hover{outline:0}.el-menu--horizontal>.el-sub-menu:hover .el-sub-menu__title{color:var(--el-menu-hover-text-color)}.el-menu--horizontal>.el-sub-menu.is-active .el-sub-menu__title{border-bottom:2px solid var(--el-menu-active-color);color:var(--el-menu-active-color)}.el-menu--horizontal>.el-sub-menu .el-sub-menu__title{height:100%;border-bottom:2px solid transparent;color:var(--el-menu-text-color)}.el-menu--horizontal>.el-sub-menu .el-sub-menu__title:hover{background-color:var(--el-bg-color-overlay)}.el-menu--horizontal .el-menu .el-menu-item,.el-menu--horizontal .el-menu .el-sub-menu__title{background-color:var(--el-menu-bg-color);display:flex;align-items:center;height:var(--el-menu-horizontal-sub-item-height);line-height:var(--el-menu-horizontal-sub-item-height);padding:0 10px;color:var(--el-menu-text-color)}.el-menu--horizontal .el-menu .el-sub-menu__title{padding-right:40px}.el-menu--horizontal .el-menu .el-menu-item.is-active,.el-menu--horizontal .el-menu .el-sub-menu.is-active>.el-sub-menu__title{color:var(--el-menu-active-color)}.el-menu--horizontal .el-menu-item:not(.is-disabled):focus,.el-menu--horizontal .el-menu-item:not(.is-disabled):hover{outline:0;color:var(--el-menu-hover-text-color);background-color:var(--el-menu-hover-bg-color)}.el-menu--horizontal>.el-menu-item.is-active{border-bottom:2px solid var(--el-menu-active-color);color:var(--el-menu-active-color)!important}.el-menu--collapse{width:calc(var(--el-menu-icon-width) + var(--el-menu-base-level-padding) * 2)}.el-menu--collapse>.el-menu-item [class^=el-icon],.el-menu--collapse>.el-menu-item-group>ul>.el-sub-menu>.el-sub-menu__title [class^=el-icon],.el-menu--collapse>.el-sub-menu>.el-sub-menu__title [class^=el-icon]{margin:0;vertical-align:middle;width:var(--el-menu-icon-width);text-align:center}.el-menu--collapse>.el-menu-item .el-sub-menu__icon-arrow,.el-menu--collapse>.el-menu-item-group>ul>.el-sub-menu>.el-sub-menu__title .el-sub-menu__icon-arrow,.el-menu--collapse>.el-sub-menu>.el-sub-menu__title .el-sub-menu__icon-arrow{display:none}.el-menu--collapse>.el-menu-item-group>ul>.el-sub-menu>.el-sub-menu__title>span,.el-menu--collapse>.el-menu-item>span,.el-menu--collapse>.el-sub-menu>.el-sub-menu__title>span{height:0;width:0;overflow:hidden;visibility:hidden;display:inline-block}.el-menu--collapse>.el-menu-item.is-active i{color:inherit}.el-menu--collapse .el-menu .el-sub-menu{min-width:200px}.el-menu--popup{z-index:100;min-width:200px;border:none;padding:5px 0;border-radius:var(--el-border-radius-small);box-shadow:var(--el-box-shadow-light)}.el-menu .el-icon{flex-shrink:0}.el-menu-item{display:flex;align-items:center;height:var(--el-menu-item-height);line-height:var(--el-menu-item-height);font-size:var(--el-menu-item-font-size);color:var(--el-menu-text-color);padding:0 var(--el-menu-base-level-padding);list-style:none;cursor:pointer;position:relative;transition:border-color var(--el-transition-duration),background-color var(--el-transition-duration),color var(--el-transition-duration);box-sizing:border-box;white-space:nowrap}.el-menu-item *{vertical-align:bottom}.el-menu-item i{color:inherit}.el-menu-item:focus,.el-menu-item:hover{outline:0}.el-menu-item:hover{background-color:var(--el-menu-hover-bg-color)}.el-menu-item.is-disabled{opacity:.25;cursor:not-allowed;background:0 0!important}.el-menu-item [class^=el-icon]{margin-right:5px;width:var(--el-menu-icon-width);text-align:center;font-size:18px;vertical-align:middle}.el-menu-item.is-active{color:var(--el-menu-active-color)}.el-menu-item.is-active i{color:inherit}.el-menu-item .el-menu-tooltip__trigger{position:absolute;left:0;top:0;height:100%;width:100%;display:inline-flex;align-items:center;box-sizing:border-box;padding:0 var(--el-menu-base-level-padding)}.el-sub-menu{list-style:none;margin:0;padding-left:0}.el-sub-menu__title{display:flex;align-items:center;height:var(--el-menu-item-height);line-height:var(--el-menu-item-height);font-size:var(--el-menu-item-font-size);color:var(--el-menu-text-color);padding:0 var(--el-menu-base-level-padding);list-style:none;cursor:pointer;position:relative;transition:border-color var(--el-transition-duration),background-color var(--el-transition-duration),color var(--el-transition-duration);box-sizing:border-box;white-space:nowrap;padding-right:calc(var(--el-menu-base-level-padding) + var(--el-menu-icon-width))}.el-sub-menu__title *{vertical-align:bottom}.el-sub-menu__title i{color:inherit}.el-sub-menu__title:focus,.el-sub-menu__title:hover{outline:0}.el-sub-menu__title.is-disabled{opacity:.25;cursor:not-allowed;background:0 0!important}.el-sub-menu__title:hover{background-color:var(--el-menu-hover-bg-color)}.el-sub-menu .el-menu{border:none}.el-sub-menu .el-menu-item{height:var(--el-menu-sub-item-height);line-height:var(--el-menu-sub-item-height)}.el-sub-menu__hide-arrow .el-sub-menu__icon-arrow{display:none!important}.el-sub-menu.is-active .el-sub-menu__title{border-bottom-color:var(--el-menu-active-color)}.el-sub-menu.is-disabled .el-menu-item,.el-sub-menu.is-disabled .el-sub-menu__title{opacity:.25;cursor:not-allowed;background:0 0!important}.el-sub-menu .el-icon{vertical-align:middle;margin-right:5px;width:var(--el-menu-icon-width);text-align:center;font-size:18px}.el-sub-menu .el-icon.el-sub-menu__icon-more{margin-right:0!important}.el-sub-menu .el-sub-menu__icon-arrow{position:absolute;top:50%;right:var(--el-menu-base-level-padding);margin-top:-6px;transition:transform var(--el-transition-duration);font-size:12px;margin-right:0;width:inherit}.el-menu-item-group>ul{padding:0}.el-menu-item-group__title{padding:7px 0 7px var(--el-menu-base-level-padding);line-height:normal;font-size:12px;color:var(--el-text-color-secondary)}.horizontal-collapse-transition .el-sub-menu__title .el-sub-menu__icon-arrow{transition:var(--el-transition-duration-fast);opacity:0}.logo[data-v-1e400709]{display:flex;justify-content:center;align-items:center;height:50px}.el-menu-vertical[data-v-1e400709]:not(.el-menu--collapse){width:220px}.el-menu[data-v-1e400709]{min-height:100vh;border:none}.el-menu .el-menu-item.is-active[data-v-1e400709]{background-color:#13c2c2}.admin-header{display:flex;justify-content:space-between;align-items:center;height:50px;padding:0 5px;background-color:#fff;box-shadow:0 2px 4px #0000001f,0 0 2px #00000014}.admin-header .el-icon{cursor:pointer}.admin-header .header-nav{background:0 0}.admin-header .header-nav .header-nav-item{margin:0 10px}.el-dropdown-link{cursor:pointer;color:var(--el-color-primary);display:flex;align-items:center}.header-avatar{display:inline-flex;padding:5px 10px;color:#ddd;border:1px #ff7e4f solid;border-radius:20px}.header-avatar .avatar,.header-avatar .name{align-self:center}.header-avatar .avatar{margin-right:8px}.header-avatar .name{font-weight:500}.el-tabs{--el-tabs-header-height:40px}.el-tabs__header{padding:0;position:relative;margin:0 0 15px}.el-tabs__active-bar{position:absolute;bottom:0;left:0;height:2px;background-color:var(--el-color-primary);z-index:1;transition:width var(--el-transition-duration) var(--el-transition-function-ease-in-out-bezier),transform var(--el-transition-duration) var(--el-transition-function-ease-in-out-bezier);list-style:none}.el-tabs__new-tab{display:flex;align-items:center;justify-content:center;float:right;border:1px solid var(--el-border-color);height:20px;width:20px;line-height:20px;margin:10px 0 10px 10px;border-radius:3px;text-align:center;font-size:12px;color:var(--el-text-color-primary);cursor:pointer;transition:all .15s}.el-tabs__new-tab .is-icon-plus{height:inherit;width:inherit;transform:scale(.8)}.el-tabs__new-tab .is-icon-plus svg{vertical-align:middle}.el-tabs__new-tab:hover{color:var(--el-color-primary)}.el-tabs__nav-wrap{overflow:hidden;margin-bottom:-1px;position:relative}.el-tabs__nav-wrap:after{content:"";position:absolute;left:0;bottom:0;width:100%;height:2px;background-color:var(--el-border-color-light);z-index:var(--el-index-normal)}.el-tabs__nav-wrap.is-scrollable{padding:0 20px;box-sizing:border-box}.el-tabs__nav-scroll{overflow:hidden}.el-tabs__nav-next,.el-tabs__nav-prev{position:absolute;cursor:pointer;line-height:44px;font-size:12px;color:var(--el-text-color-secondary);width:20px;text-align:center}.el-tabs__nav-next{right:0}.el-tabs__nav-prev{left:0}.el-tabs__nav{display:flex;white-space:nowrap;position:relative;transition:transform var(--el-transition-duration);float:left;z-index:calc(var(--el-index-normal) + 1)}.el-tabs__nav.is-stretch{min-width:100%;display:flex}.el-tabs__nav.is-stretch>*{flex:1;text-align:center}.el-tabs__item{padding:0 20px;height:var(--el-tabs-header-height);box-sizing:border-box;display:flex;align-items:center;justify-content:center;list-style:none;font-size:var(--el-font-size-base);font-weight:500;color:var(--el-text-color-primary);position:relative}.el-tabs__item:focus,.el-tabs__item:focus:active{outline:0}.el-tabs__item:focus-visible{box-shadow:0 0 2px 2px var(--el-color-primary) inset;border-radius:3px}.el-tabs__item .is-icon-close{border-radius:50%;text-align:center;transition:all var(--el-transition-duration) var(--el-transition-function-ease-in-out-bezier);margin-left:5px}.el-tabs__item .is-icon-close:before{transform:scale(.9);display:inline-block}.el-tabs__item .is-icon-close:hover{background-color:var(--el-text-color-placeholder);color:#fff}.el-tabs__item.is-active{color:var(--el-color-primary)}.el-tabs__item:hover{color:var(--el-color-primary);cursor:pointer}.el-tabs__item.is-disabled{color:var(--el-disabled-text-color);cursor:not-allowed}.el-tabs__content{overflow:hidden;position:relative}.el-tabs--card>.el-tabs__header{border-bottom:1px solid var(--el-border-color-light);height:var(--el-tabs-header-height)}.el-tabs--card>.el-tabs__header .el-tabs__nav-wrap:after{content:none}.el-tabs--card>.el-tabs__header .el-tabs__nav{border:1px solid var(--el-border-color-light);border-bottom:none;border-radius:4px 4px 0 0;box-sizing:border-box}.el-tabs--card>.el-tabs__header .el-tabs__active-bar{display:none}.el-tabs--card>.el-tabs__header .el-tabs__item .is-icon-close{position:relative;font-size:12px;width:0;height:14px;overflow:hidden;right:-2px;transform-origin:100% 50%}.el-tabs--card>.el-tabs__header .el-tabs__item{border-bottom:1px solid transparent;border-left:1px solid var(--el-border-color-light);transition:color var(--el-transition-duration) var(--el-transition-function-ease-in-out-bezier),padding var(--el-transition-duration) var(--el-transition-function-ease-in-out-bezier)}.el-tabs--card>.el-tabs__header .el-tabs__item:first-child{border-left:none}.el-tabs--card>.el-tabs__header .el-tabs__item.is-closable:hover{padding-left:13px;padding-right:13px}.el-tabs--card>.el-tabs__header .el-tabs__item.is-closable:hover .is-icon-close{width:14px}.el-tabs--card>.el-tabs__header .el-tabs__item.is-active{border-bottom-color:var(--el-bg-color)}.el-tabs--card>.el-tabs__header .el-tabs__item.is-active.is-closable{padding-left:20px;padding-right:20px}.el-tabs--card>.el-tabs__header .el-tabs__item.is-active.is-closable .is-icon-close{width:14px}.el-tabs--border-card{background:var(--el-bg-color-overlay);border:1px solid var(--el-border-color)}.el-tabs--border-card>.el-tabs__content{padding:15px}.el-tabs--border-card>.el-tabs__header{background-color:var(--el-fill-color-light);border-bottom:1px solid var(--el-border-color-light);margin:0}.el-tabs--border-card>.el-tabs__header .el-tabs__nav-wrap:after{content:none}.el-tabs--border-card>.el-tabs__header .el-tabs__item{transition:all var(--el-transition-duration) var(--el-transition-function-ease-in-out-bezier);border:1px solid transparent;margin-top:-1px;color:var(--el-text-color-secondary)}.el-tabs--border-card>.el-tabs__header .el-tabs__item:first-child{margin-left:-1px}.el-tabs--border-card>.el-tabs__header .el-tabs__item+.el-tabs__item{margin-left:-1px}.el-tabs--border-card>.el-tabs__header .el-tabs__item.is-active{color:var(--el-color-primary);background-color:var(--el-bg-color-overlay);border-right-color:var(--el-border-color);border-left-color:var(--el-border-color)}.el-tabs--border-card>.el-tabs__header .el-tabs__item:not(.is-disabled):hover{color:var(--el-color-primary)}.el-tabs--border-card>.el-tabs__header .el-tabs__item.is-disabled{color:var(--el-disabled-text-color)}.el-tabs--border-card>.el-tabs__header .is-scrollable .el-tabs__item:first-child{margin-left:0}.el-tabs--bottom .el-tabs__item.is-bottom:nth-child(2),.el-tabs--bottom .el-tabs__item.is-top:nth-child(2),.el-tabs--top .el-tabs__item.is-bottom:nth-child(2),.el-tabs--top .el-tabs__item.is-top:nth-child(2){padding-left:0}.el-tabs--bottom .el-tabs__item.is-bottom:last-child,.el-tabs--bottom .el-tabs__item.is-top:last-child,.el-tabs--top .el-tabs__item.is-bottom:last-child,.el-tabs--top .el-tabs__item.is-top:last-child{padding-right:0}.el-tabs--bottom .el-tabs--left>.el-tabs__header .el-tabs__item:nth-child(2),.el-tabs--bottom .el-tabs--right>.el-tabs__header .el-tabs__item:nth-child(2),.el-tabs--bottom.el-tabs--border-card>.el-tabs__header .el-tabs__item:nth-child(2),.el-tabs--bottom.el-tabs--card>.el-tabs__header .el-tabs__item:nth-child(2),.el-tabs--top .el-tabs--left>.el-tabs__header .el-tabs__item:nth-child(2),.el-tabs--top .el-tabs--right>.el-tabs__header .el-tabs__item:nth-child(2),.el-tabs--top.el-tabs--border-card>.el-tabs__header .el-tabs__item:nth-child(2),.el-tabs--top.el-tabs--card>.el-tabs__header .el-tabs__item:nth-child(2){padding-left:20px}.el-tabs--bottom .el-tabs--left>.el-tabs__header .el-tabs__item:nth-child(2):not(.is-active).is-closable:hover,.el-tabs--bottom .el-tabs--right>.el-tabs__header .el-tabs__item:nth-child(2):not(.is-active).is-closable:hover,.el-tabs--bottom.el-tabs--border-card>.el-tabs__header .el-tabs__item:nth-child(2):not(.is-active).is-closable:hover,.el-tabs--bottom.el-tabs--card>.el-tabs__header .el-tabs__item:nth-child(2):not(.is-active).is-closable:hover,.el-tabs--top .el-tabs--left>.el-tabs__header .el-tabs__item:nth-child(2):not(.is-active).is-closable:hover,.el-tabs--top .el-tabs--right>.el-tabs__header .el-tabs__item:nth-child(2):not(.is-active).is-closable:hover,.el-tabs--top.el-tabs--border-card>.el-tabs__header .el-tabs__item:nth-child(2):not(.is-active).is-closable:hover,.el-tabs--top.el-tabs--card>.el-tabs__header .el-tabs__item:nth-child(2):not(.is-active).is-closable:hover{padding-left:13px}.el-tabs--bottom .el-tabs--left>.el-tabs__header .el-tabs__item:last-child,.el-tabs--bottom .el-tabs--right>.el-tabs__header .el-tabs__item:last-child,.el-tabs--bottom.el-tabs--border-card>.el-tabs__header .el-tabs__item:last-child,.el-tabs--bottom.el-tabs--card>.el-tabs__header .el-tabs__item:last-child,.el-tabs--top .el-tabs--left>.el-tabs__header .el-tabs__item:last-child,.el-tabs--top .el-tabs--right>.el-tabs__header .el-tabs__item:last-child,.el-tabs--top.el-tabs--border-card>.el-tabs__header .el-tabs__item:last-child,.el-tabs--top.el-tabs--card>.el-tabs__header .el-tabs__item:last-child{padding-right:20px}.el-tabs--bottom .el-tabs--left>.el-tabs__header .el-tabs__item:last-child:not(.is-active).is-closable:hover,.el-tabs--bottom .el-tabs--right>.el-tabs__header .el-tabs__item:last-child:not(.is-active).is-closable:hover,.el-tabs--bottom.el-tabs--border-card>.el-tabs__header .el-tabs__item:last-child:not(.is-active).is-closable:hover,.el-tabs--bottom.el-tabs--card>.el-tabs__header .el-tabs__item:last-child:not(.is-active).is-closable:hover,.el-tabs--top .el-tabs--left>.el-tabs__header .el-tabs__item:last-child:not(.is-active).is-closable:hover,.el-tabs--top .el-tabs--right>.el-tabs__header .el-tabs__item:last-child:not(.is-active).is-closable:hover,.el-tabs--top.el-tabs--border-card>.el-tabs__header .el-tabs__item:last-child:not(.is-active).is-closable:hover,.el-tabs--top.el-tabs--card>.el-tabs__header .el-tabs__item:last-child:not(.is-active).is-closable:hover{padding-right:13px}.el-tabs--bottom .el-tabs__header.is-bottom{margin-bottom:0;margin-top:10px}.el-tabs--bottom.el-tabs--border-card .el-tabs__header.is-bottom{border-bottom:0;border-top:1px solid var(--el-border-color)}.el-tabs--bottom.el-tabs--border-card .el-tabs__nav-wrap.is-bottom{margin-top:-1px;margin-bottom:0}.el-tabs--bottom.el-tabs--border-card .el-tabs__item.is-bottom:not(.is-active){border:1px solid transparent}.el-tabs--bottom.el-tabs--border-card .el-tabs__item.is-bottom{margin:0 -1px -1px}.el-tabs--left,.el-tabs--right{overflow:hidden}.el-tabs--left .el-tabs__header.is-left,.el-tabs--left .el-tabs__header.is-right,.el-tabs--left .el-tabs__nav-scroll,.el-tabs--left .el-tabs__nav-wrap.is-left,.el-tabs--left .el-tabs__nav-wrap.is-right,.el-tabs--right .el-tabs__header.is-left,.el-tabs--right .el-tabs__header.is-right,.el-tabs--right .el-tabs__nav-scroll,.el-tabs--right .el-tabs__nav-wrap.is-left,.el-tabs--right .el-tabs__nav-wrap.is-right{height:100%}.el-tabs--left .el-tabs__active-bar.is-left,.el-tabs--left .el-tabs__active-bar.is-right,.el-tabs--right .el-tabs__active-bar.is-left,.el-tabs--right .el-tabs__active-bar.is-right{top:0;bottom:auto;width:2px;height:auto}.el-tabs--left .el-tabs__nav-wrap.is-left,.el-tabs--left .el-tabs__nav-wrap.is-right,.el-tabs--right .el-tabs__nav-wrap.is-left,.el-tabs--right .el-tabs__nav-wrap.is-right{margin-bottom:0}.el-tabs--left .el-tabs__nav-wrap.is-left>.el-tabs__nav-next,.el-tabs--left .el-tabs__nav-wrap.is-left>.el-tabs__nav-prev,.el-tabs--left .el-tabs__nav-wrap.is-right>.el-tabs__nav-next,.el-tabs--left .el-tabs__nav-wrap.is-right>.el-tabs__nav-prev,.el-tabs--right .el-tabs__nav-wrap.is-left>.el-tabs__nav-next,.el-tabs--right .el-tabs__nav-wrap.is-left>.el-tabs__nav-prev,.el-tabs--right .el-tabs__nav-wrap.is-right>.el-tabs__nav-next,.el-tabs--right .el-tabs__nav-wrap.is-right>.el-tabs__nav-prev{height:30px;line-height:30px;width:100%;text-align:center;cursor:pointer}.el-tabs--left .el-tabs__nav-wrap.is-left>.el-tabs__nav-next i,.el-tabs--left .el-tabs__nav-wrap.is-left>.el-tabs__nav-prev i,.el-tabs--left .el-tabs__nav-wrap.is-right>.el-tabs__nav-next i,.el-tabs--left .el-tabs__nav-wrap.is-right>.el-tabs__nav-prev i,.el-tabs--right .el-tabs__nav-wrap.is-left>.el-tabs__nav-next i,.el-tabs--right .el-tabs__nav-wrap.is-left>.el-tabs__nav-prev i,.el-tabs--right .el-tabs__nav-wrap.is-right>.el-tabs__nav-next i,.el-tabs--right .el-tabs__nav-wrap.is-right>.el-tabs__nav-prev i{transform:rotate(90deg)}.el-tabs--left .el-tabs__nav-wrap.is-left>.el-tabs__nav-prev,.el-tabs--left .el-tabs__nav-wrap.is-right>.el-tabs__nav-prev,.el-tabs--right .el-tabs__nav-wrap.is-left>.el-tabs__nav-prev,.el-tabs--right .el-tabs__nav-wrap.is-right>.el-tabs__nav-prev{left:auto;top:0}.el-tabs--left .el-tabs__nav-wrap.is-left>.el-tabs__nav-next,.el-tabs--left .el-tabs__nav-wrap.is-right>.el-tabs__nav-next,.el-tabs--right .el-tabs__nav-wrap.is-left>.el-tabs__nav-next,.el-tabs--right .el-tabs__nav-wrap.is-right>.el-tabs__nav-next{right:auto;bottom:0}.el-tabs--left .el-tabs__nav-wrap.is-left.is-scrollable,.el-tabs--left .el-tabs__nav-wrap.is-right.is-scrollable,.el-tabs--right .el-tabs__nav-wrap.is-left.is-scrollable,.el-tabs--right .el-tabs__nav-wrap.is-right.is-scrollable{padding:30px 0}.el-tabs--left .el-tabs__nav-wrap.is-left:after,.el-tabs--left .el-tabs__nav-wrap.is-right:after,.el-tabs--right .el-tabs__nav-wrap.is-left:after,.el-tabs--right .el-tabs__nav-wrap.is-right:after{height:100%;width:2px;bottom:auto;top:0}.el-tabs--left .el-tabs__nav.is-left,.el-tabs--left .el-tabs__nav.is-right,.el-tabs--right .el-tabs__nav.is-left,.el-tabs--right .el-tabs__nav.is-right{flex-direction:column}.el-tabs--left .el-tabs__item.is-left,.el-tabs--right .el-tabs__item.is-left{justify-content:flex-end}.el-tabs--left .el-tabs__item.is-right,.el-tabs--right .el-tabs__item.is-right{justify-content:flex-start}.el-tabs--left .el-tabs__header.is-left{float:left;margin-bottom:0;margin-right:10px}.el-tabs--left .el-tabs__nav-wrap.is-left{margin-right:-1px}.el-tabs--left .el-tabs__nav-wrap.is-left:after{left:auto;right:0}.el-tabs--left .el-tabs__active-bar.is-left{right:0;left:auto}.el-tabs--left .el-tabs__item.is-left{text-align:right}.el-tabs--left.el-tabs--card .el-tabs__active-bar.is-left{display:none}.el-tabs--left.el-tabs--card .el-tabs__item.is-left{border-left:none;border-right:1px solid var(--el-border-color-light);border-bottom:none;border-top:1px solid var(--el-border-color-light);text-align:left}.el-tabs--left.el-tabs--card .el-tabs__item.is-left:first-child{border-right:1px solid var(--el-border-color-light);border-top:none}.el-tabs--left.el-tabs--card .el-tabs__item.is-left.is-active{border:1px solid var(--el-border-color-light);border-right-color:#fff;border-left:none;border-bottom:none}.el-tabs--left.el-tabs--card .el-tabs__item.is-left.is-active:first-child{border-top:none}.el-tabs--left.el-tabs--card .el-tabs__item.is-left.is-active:last-child{border-bottom:none}.el-tabs--left.el-tabs--card .el-tabs__nav{border-radius:4px 0 0 4px;border-bottom:1px solid var(--el-border-color-light);border-right:none}.el-tabs--left.el-tabs--card .el-tabs__new-tab{float:none}.el-tabs--left.el-tabs--border-card .el-tabs__header.is-left{border-right:1px solid var(--el-border-color)}.el-tabs--left.el-tabs--border-card .el-tabs__item.is-left{border:1px solid transparent;margin:-1px 0 -1px -1px}.el-tabs--left.el-tabs--border-card .el-tabs__item.is-left.is-active{border-color:transparent;border-top-color:#d1dbe5;border-bottom-color:#d1dbe5}.el-tabs--right .el-tabs__header.is-right{float:right;margin-bottom:0;margin-left:10px}.el-tabs--right .el-tabs__nav-wrap.is-right{margin-left:-1px}.el-tabs--right .el-tabs__nav-wrap.is-right:after{left:0;right:auto}.el-tabs--right .el-tabs__active-bar.is-right{left:0}.el-tabs--right.el-tabs--card .el-tabs__active-bar.is-right{display:none}.el-tabs--right.el-tabs--card .el-tabs__item.is-right{border-bottom:none;border-top:1px solid var(--el-border-color-light)}.el-tabs--right.el-tabs--card .el-tabs__item.is-right:first-child{border-left:1px solid var(--el-border-color-light);border-top:none}.el-tabs--right.el-tabs--card .el-tabs__item.is-right.is-active{border:1px solid var(--el-border-color-light);border-left-color:#fff;border-right:none;border-bottom:none}.el-tabs--right.el-tabs--card .el-tabs__item.is-right.is-active:first-child{border-top:none}.el-tabs--right.el-tabs--card .el-tabs__item.is-right.is-active:last-child{border-bottom:none}.el-tabs--right.el-tabs--card .el-tabs__nav{border-radius:0 4px 4px 0;border-bottom:1px solid var(--el-border-color-light);border-left:none}.el-tabs--right.el-tabs--border-card .el-tabs__header.is-right{border-left:1px solid var(--el-border-color)}.el-tabs--right.el-tabs--border-card .el-tabs__item.is-right{border:1px solid transparent;margin:-1px -1px -1px 0}.el-tabs--right.el-tabs--border-card .el-tabs__item.is-right.is-active{border-color:transparent;border-top-color:#d1dbe5;border-bottom-color:#d1dbe5}.slideInLeft-transition,.slideInRight-transition{display:inline-block}.slideInRight-enter{-webkit-animation:slideInRight-enter var(--el-transition-duration);animation:slideInRight-enter var(--el-transition-duration)}.slideInRight-leave{position:absolute;left:0;right:0;-webkit-animation:slideInRight-leave var(--el-transition-duration);animation:slideInRight-leave var(--el-transition-duration)}.slideInLeft-enter{-webkit-animation:slideInLeft-enter var(--el-transition-duration);animation:slideInLeft-enter var(--el-transition-duration)}.slideInLeft-leave{position:absolute;left:0;right:0;-webkit-animation:slideInLeft-leave var(--el-transition-duration);animation:slideInLeft-leave var(--el-transition-duration)}@-webkit-keyframes slideInRight-enter{0%{opacity:0;transform-origin:0 0;transform:translate(100%)}to{opacity:1;transform-origin:0 0;transform:translate(0)}}@keyframes slideInRight-enter{0%{opacity:0;transform-origin:0 0;transform:translate(100%)}to{opacity:1;transform-origin:0 0;transform:translate(0)}}@-webkit-keyframes slideInRight-leave{0%{transform-origin:0 0;transform:translate(0);opacity:1}to{transform-origin:0 0;transform:translate(100%);opacity:0}}@keyframes slideInRight-leave{0%{transform-origin:0 0;transform:translate(0);opacity:1}to{transform-origin:0 0;transform:translate(100%);opacity:0}}@-webkit-keyframes slideInLeft-enter{0%{opacity:0;transform-origin:0 0;transform:translate(-100%)}to{opacity:1;transform-origin:0 0;transform:translate(0)}}@keyframes slideInLeft-enter{0%{opacity:0;transform-origin:0 0;transform:translate(-100%)}to{opacity:1;transform-origin:0 0;transform:translate(0)}}@-webkit-keyframes slideInLeft-leave{0%{transform-origin:0 0;transform:translate(0);opacity:1}to{transform-origin:0 0;transform:translate(-100%);opacity:0}}@keyframes slideInLeft-leave{0%{transform-origin:0 0;transform:translate(0);opacity:1}to{transform-origin:0 0;transform:translate(-100%);opacity:0}}.main-tabs-view[data-v-29a0e63c]{display:flex;justify-content:space-between;align-items:center;height:100%}.main-tabs-view div[data-v-29a0e63c]:nth-child(1){flex:1 0 0%;overflow:hidden;overflow-x:auto}.main-tabs-view div[data-v-29a0e63c]:nth-child(2){flex:0 0 auto}[data-v-29a0e63c] .el-tabs{background-color:#f0f2f5}[data-v-29a0e63c] .el-tabs .el-tabs__nav{background-color:#fff}[data-v-29a0e63c] .el-tabs .el-tabs__header{margin:0!important}[data-v-29a0e63c] .el-tabs .el-tabs__header .el-tabs__item.is-active{border-bottom:2px solid #409eff;color:#409eff} diff --git a/app/public/admin/assets/Index-030f861c.js b/app/public/admin/assets/Index-030f861c.js new file mode 100644 index 0000000..840534d --- /dev/null +++ b/app/public/admin/assets/Index-030f861c.js @@ -0,0 +1 @@ +import{p as M,E as N,B as A,C as q,A as P,b as Q}from"./el-button-46177dcd.js";import{E as H}from"./el-drawer-02c97c36.js";import{E as g}from"./el-message-606f6f33.js";import{E as G,a as J,b as K}from"./el-breadcrumb-item-c6d267fc.js";import{E as W,a as X}from"./el-tag-6812ee36.js";import"./el-scrollbar-d5ea4c53.js";import{E as Y,a as Z,b as ee}from"./el-dropdown-item-98b90066.js";import{E as L}from"./el-input-2a068f59.js";import{E as le}from"./el-dialog-fc2b58cd.js";import{E as ae,a as oe}from"./el-form-item-879dedb6.js";import{E as te}from"./el-progress-1ff82264.js";import{a as B,u as se}from"./request-3180202a.js";import{f as ne}from"./style-08aad7ab.js";import{_ as re}from"./_plugin-vue_export-helper-c27b6911.js";import{q as d,z as O,o as x,f as U,M as c,Q as e,w as l,c as de,a as V,N as m,O as ue,V as ie,F as S,v as ce,a3 as pe}from"./index-b8bd6c45.js";import"./el-message-box-1764db92.js";import{E as me}from"./index-bcdc2cd6.js";import"./index-ec296065.js";import"./castArray-edcf4c72.js";import"./aria-bc8e8b0f.js";import"./validator-33a7a7f5.js";const _e=async()=>B("/branch/getBranchList","GET"),fe=async p=>B("/branch/getBranch","GET",{id:p}),ve=async p=>B("/branch/deleteBranch","GET",{id:p}),ge=async p=>B("/branch/updateBranch","POST",p),be=async p=>B("/branch/addBranch","POST",p);const ye=["src"],we={class:"demo-drawer__footer",style:{"text-align":"right"}},he={key:0,class:"cropper-section"},Ee={class:"crop-area"},Ve={class:"crop-btn"},xe={__name:"Form",props:{editid:{type:Number,default:0}},emits:["close"],setup(p,{emit:C}){const b=p,_=d("insert"),f=d(!1),y=d(null),t=d({id:0});O(async()=>{if(b.editid){let s=await fe(b.editid);s.code===200&&(t.value=s.data,_.value="update")}});const D=d({name:[{required:!0,message:"供應商名稱必填",trigger:"blur"}]}),u=d({show:!1,img:null,ratio:1.875}),w=d(null),F=s=>s.type!=="image/jpeg"&&s.type!=="image/png"&&s.type!=="image/jpg"?(g.error("圖片格式只能是jpeg/png/jpg!"),!1):(u.value.show=!0,u.value.img=URL.createObjectURL(s),!1),i=()=>{const{canvas:s}=w.value.getResult();if(s){const a=new FormData;s.toBlob(async r=>{let n=new File([r],"image.jpg");a.append("fileType","IMAGE"),a.append("file",n),u.value.show=!1,f.value=!0;let v=await se("/branch/uploadImage",a);v.code===200?(t.value.imageurl=v.data,g.success("上傳成功")):g.error("上傳失敗"),f.value=!1},"image/jpeg")}},h=()=>{u.value.show=!1},k=()=>{C("close",!1)},T=s=>{s&&s.validate(async a=>{if(a){let r,n;_.value==="update"?(t.value.id=b.editid,r=await ge(t.value),n="修改成功."):(r=await be(t.value),n="新增成功."),r.code===200&&(g({message:n,type:"success"}),C("close",!0))}else return g({message:"操作失敗.",type:"error"}),!1})};return(s,a)=>{const r=L,n=ae,v=N,I=te,j=oe,R=G,E=A,$=le;return x(),U(S,null,[c("div",null,[e(R,null,{default:l(()=>[e(j,{ref_key:"formRef",ref:y,model:t.value,"status-icon":"",rules:D.value,"label-width":"120px"},{default:l(()=>[e(n,{label:"據點名稱",prop:"name"},{default:l(()=>[e(r,{modelValue:t.value.name,"onUpdate:modelValue":a[0]||(a[0]=o=>t.value.name=o)},null,8,["modelValue"])]),_:1}),e(n,{label:"地址",prop:"address"},{default:l(()=>[e(r,{modelValue:t.value.address,"onUpdate:modelValue":a[1]||(a[1]=o=>t.value.address=o)},null,8,["modelValue"])]),_:1}),e(n,{label:"電話",prop:"tel"},{default:l(()=>[e(r,{modelValue:t.value.tel,"onUpdate:modelValue":a[2]||(a[2]=o=>t.value.tel=o)},null,8,["modelValue"])]),_:1}),e(n,{label:"傳真",prop:"fax"},{default:l(()=>[e(r,{modelValue:t.value.fax,"onUpdate:modelValue":a[3]||(a[3]=o=>t.value.fax=o)},null,8,["modelValue"])]),_:1}),e(n,{label:"網址",prop:"url"},{default:l(()=>[e(r,{modelValue:t.value.url,"onUpdate:modelValue":a[4]||(a[4]=o=>t.value.url=o)},null,8,["modelValue"])]),_:1}),e(n,{label:"Email",prop:"email"},{default:l(()=>[e(r,{modelValue:t.value.email,"onUpdate:modelValue":a[5]||(a[5]=o=>t.value.email=o)},null,8,["modelValue"])]),_:1}),e(n,{label:"據點圖片",prop:"imageurl"},{default:l(()=>[e(I,{class:"avatar-uploader",action:"#",accept:"image/*","show-file-list":!1,"auto-upload":!0,"before-upload":o=>F(o)},{default:l(()=>[t.value.imageurl?(x(),U("img",{key:0,src:"http://localhost:6060"+t.value.imageurl,class:"avatar",id:"imageurl"},null,8,ye)):(x(),de(v,{key:1,class:"avatar-uploader-icon"},{default:l(()=>[e(V(M))]),_:1}))]),_:1},8,["before-upload"])]),_:1})]),_:1},8,["model","rules"])]),_:1}),c("div",we,[e(E,{onClick:k},{default:l(()=>[m("取消")]),_:1}),e(E,{type:"primary",loading:f.value,onClick:a[6]||(a[6]=o=>T(y.value))},{default:l(()=>[m(ue(f.value?"處理中...":"確認"),1)]),_:1},8,["loading"])])]),c("div",null,[e($,{modelValue:u.value.show,"onUpdate:modelValue":a[7]||(a[7]=o=>u.value.show=o),title:"Tips","before-close":h},{default:l(()=>[u.value.show?(x(),U("div",he,[c("div",Ee,[e(V(ne),{class:"cropper",ref_key:"myCrop",ref:w,src:u.value.img,"stencil-props":{aspectRatio:u.value.ratio},"auto-zoom":!0},null,8,["src","stencil-props"])]),c("div",Ve,[e(E,{type:"primary",size:"small",text:"",onClick:h},{default:l(()=>[m("取消")]),_:1}),e(E,{type:"primary",size:"small",onClick:i},{default:l(()=>[m("剪裁")]),_:1})])])):ie("",!0)]),_:1},8,["modelValue"])])],64)}}},Be=re(xe,[["__scopeId","data-v-0c2531e5"]]),Ce={class:"main"},ke={class:"breadcrumb-section"},Ue=c("a",{href:"/"},"公司據點",-1),We={__name:"Index",setup(p){const C=ce({page:1,pageSize:10});pe(C),d(0);const b=d(!1),_=d(!1),f=d([]);O(()=>{y()});const y=async()=>{b.value=!0;let i=await _e();i.code===200&&(f.value=i.data),b.value=!1},t=()=>{w.value=0,_.value=!0},D=i=>{w.value=i,_.value=!0},u=i=>{me.confirm("確認刪除此紀錄?").then(async()=>{(await ve(i)).code===200?(g({message:"刪除成功.",type:"success"}),y()):g({message:"刪除失敗.",type:"error"})}).catch(()=>{})},w=d(0),F=i=>{_.value=!1,i&&y()};return(i,h)=>{const k=J,T=K,s=A,a=W,r=L,n=N,v=Y,I=Z,j=ee,R=X,E=G,$=H;return x(),U(S,null,[c("div",Ce,[c("div",ke,[c("div",null,[e(T,{separator:"/"},{default:l(()=>[e(k,null,{default:l(()=>[m(" 聯絡我們 ")]),_:1}),e(k,null,{default:l(()=>[Ue]),_:1})]),_:1})]),c("div",null,[e(s,{type:"primary",icon:V(M),onClick:t},{default:l(()=>[m(" 新增據點 ")]),_:1},8,["icon"])])]),e(E,{"body-style":{padding:"0px"}},{default:l(()=>[e(R,{data:f.value,style:{width:"100%"}},{default:l(()=>[e(a,{prop:"id",label:"#",width:"50"}),e(a,{prop:"name",label:"據點名稱"}),e(a,{prop:"address",label:"據點地址"}),e(a,{prop:"tel",label:"電話"}),e(a,{prop:"fax",label:"傳真"}),e(a,{prop:"status",label:"是否有效"}),e(a,{prop:"sort",label:"排序",width:"80"},{default:l(o=>[e(r,{modelValue:o.row.sort_order,"onUpdate:modelValue":z=>o.row.sort_order=z,style:{width:"40px"}},null,8,["modelValue","onUpdate:modelValue"])]),_:1}),e(a,{label:"操作",width:"105",fixed:"right"},{default:l(o=>[e(j,null,{dropdown:l(()=>[e(I,null,{default:l(()=>[e(v,{icon:V(q),onClick:z=>D(o.row.id)},{default:l(()=>[m("修改")]),_:2},1032,["icon","onClick"]),e(v,{icon:V(P),onClick:z=>u(o.row.id)},{default:l(()=>[m("刪除")]),_:2},1032,["icon","onClick"])]),_:2},1024)]),default:l(()=>[e(s,{type:"danger"},{default:l(()=>[m(" 操作"),e(n,{class:"el-icon--right"},{default:l(()=>[e(V(Q))]),_:1})]),_:1})]),_:2},1024)]),_:1})]),_:1},8,["data"])]),_:1})]),c("div",null,[e($,{ref:"drawerRef",modelValue:_.value,"onUpdate:modelValue":h[0]||(h[0]=o=>_.value=o),"destroy-on-close":!0,title:"首頁輪撥",direction:"rtl",size:"50%"},{default:l(()=>[e(Be,{editid:w.value,onClose:F},null,8,["editid"])]),_:1},8,["modelValue"])])],64)}}};export{We as default}; diff --git a/app/public/admin/assets/Index-04d7c68a.js b/app/public/admin/assets/Index-04d7c68a.js new file mode 100644 index 0000000..8cd9b4d --- /dev/null +++ b/app/public/admin/assets/Index-04d7c68a.js @@ -0,0 +1 @@ +import{B as g}from"./el-button-98327865.js";import{a as y,b as C,E as I}from"./el-breadcrumb-item-c62d9403.js";import{C as h}from"./ckeditor-328b34e2.js";import{g as B,u as E}from"./article-0bb8b752.js";import{_ as V}from"./_plugin-vue_export-helper-c27b6911.js";import{q as l,z as k,L as w,o as N,f as S,M as o,Q as e,w as a,N as _,a as A,a5 as M,a6 as q}from"./index-7ade0fa6.js";import"./request-5a9b7645.js";const i=s=>(M("data-v-9cb8691f"),s=s(),q(),s),z={class:"main"},F={class:"breadcrumb-section"},L=i(()=>o("a",{href:"/"},"經營理念",-1)),Q=i(()=>o("div",null,null,-1)),T={style:{padding:"10px"}},U={class:"card-footer"},$={__name:"Index",setup(s){const u=h,n=l(""),p=l({});k(async()=>{let t=await B(2);console.log("res",t),t.code===200&&(n.value=t.data.content)});const m=async()=>{(await E({id:2,content:n.value})).code===200&&console.log("更新成功")};return(t,d)=>{const c=y,f=C,v=w("ckeditor"),b=g,x=I;return N(),S("div",z,[o("div",F,[o("div",null,[e(f,{separator:"/"},{default:a(()=>[e(c,null,{default:a(()=>[_(" 經銷系統 ")]),_:1}),e(c,null,{default:a(()=>[L]),_:1})]),_:1})]),Q]),e(x,{"body-style":{padding:"0px"}},{default:a(()=>[o("div",T,[e(v,{editor:A(u),modelValue:n.value,"onUpdate:modelValue":d[0]||(d[0]=r=>n.value=r),config:p.value},null,8,["editor","modelValue","config"])]),o("div",U,[e(b,{type:"primary",onClick:d[1]||(d[1]=r=>m())},{default:a(()=>[_("確認")]),_:1})])]),_:1})])}}},P=V($,[["__scopeId","data-v-9cb8691f"]]);export{P as default}; diff --git a/app/public/admin/assets/Index-0919d309.js b/app/public/admin/assets/Index-0919d309.js new file mode 100644 index 0000000..c775bbc --- /dev/null +++ b/app/public/admin/assets/Index-0919d309.js @@ -0,0 +1 @@ +import{p as M,E as N,B as A,C as q,A as P,b as Q}from"./el-button-98327865.js";import{E as H}from"./el-drawer-1b116d0e.js";import{E as g}from"./el-message-01c953f1.js";import{E as G,a as J,b as K}from"./el-breadcrumb-item-c62d9403.js";import{E as W,a as X}from"./el-tag-f3a08928.js";import"./el-scrollbar-7a0c56b8.js";import{E as Y,a as Z,b as ee}from"./el-dropdown-item-16e508f0.js";import{E as L}from"./el-input-7c688efc.js";import{E as le}from"./el-dialog-b09332e2.js";import{E as ae,a as oe}from"./el-form-item-6a713521.js";import{E as te}from"./el-progress-37539b38.js";import{a as B,u as se}from"./request-5a9b7645.js";import{f as ne}from"./style-b9d5d7ae.js";import{_ as re}from"./_plugin-vue_export-helper-c27b6911.js";import{q as d,z as O,o as x,f as U,M as c,Q as e,w as l,c as de,a as V,N as m,O as ue,V as ie,F as S,v as ce,a3 as pe}from"./index-7ade0fa6.js";import"./el-message-box-35f36743.js";import{E as me}from"./index-ff1306d3.js";import"./index-82e080df.js";import"./castArray-7f2a9c68.js";import"./aria-bc8e8b0f.js";import"./validator-d3f529a0.js";const _e=async()=>B("/branch/getBranchList","GET"),fe=async p=>B("/branch/getBranch","GET",{id:p}),ve=async p=>B("/branch/deleteBranch","GET",{id:p}),ge=async p=>B("/branch/updateBranch","POST",p),be=async p=>B("/branch/addBranch","POST",p);const ye=["src"],we={class:"demo-drawer__footer",style:{"text-align":"right"}},he={key:0,class:"cropper-section"},Ee={class:"crop-area"},Ve={class:"crop-btn"},xe={__name:"Form",props:{editid:{type:Number,default:0}},emits:["close"],setup(p,{emit:C}){const b=p,_=d("insert"),f=d(!1),y=d(null),t=d({id:0});O(async()=>{if(b.editid){let s=await fe(b.editid);s.code===200&&(t.value=s.data,_.value="update")}});const D=d({name:[{required:!0,message:"供應商名稱必填",trigger:"blur"}]}),u=d({show:!1,img:null,ratio:1.875}),w=d(null),F=s=>s.type!=="image/jpeg"&&s.type!=="image/png"&&s.type!=="image/jpg"?(g.error("圖片格式只能是jpeg/png/jpg!"),!1):(u.value.show=!0,u.value.img=URL.createObjectURL(s),!1),i=()=>{const{canvas:s}=w.value.getResult();if(s){const a=new FormData;s.toBlob(async r=>{let n=new File([r],"image.jpg");a.append("fileType","IMAGE"),a.append("file",n),u.value.show=!1,f.value=!0;let v=await se("/branch/uploadImage",a);v.code===200?(t.value.imageurl=v.data,g.success("上傳成功")):g.error("上傳失敗"),f.value=!1},"image/jpeg")}},h=()=>{u.value.show=!1},k=()=>{C("close",!1)},T=s=>{s&&s.validate(async a=>{if(a){let r,n;_.value==="update"?(t.value.id=b.editid,r=await ge(t.value),n="修改成功."):(r=await be(t.value),n="新增成功."),r.code===200&&(g({message:n,type:"success"}),C("close",!0))}else return g({message:"操作失敗.",type:"error"}),!1})};return(s,a)=>{const r=L,n=ae,v=N,I=te,j=oe,R=G,E=A,$=le;return x(),U(S,null,[c("div",null,[e(R,null,{default:l(()=>[e(j,{ref_key:"formRef",ref:y,model:t.value,"status-icon":"",rules:D.value,"label-width":"120px"},{default:l(()=>[e(n,{label:"據點名稱",prop:"name"},{default:l(()=>[e(r,{modelValue:t.value.name,"onUpdate:modelValue":a[0]||(a[0]=o=>t.value.name=o)},null,8,["modelValue"])]),_:1}),e(n,{label:"地址",prop:"address"},{default:l(()=>[e(r,{modelValue:t.value.address,"onUpdate:modelValue":a[1]||(a[1]=o=>t.value.address=o)},null,8,["modelValue"])]),_:1}),e(n,{label:"電話",prop:"tel"},{default:l(()=>[e(r,{modelValue:t.value.tel,"onUpdate:modelValue":a[2]||(a[2]=o=>t.value.tel=o)},null,8,["modelValue"])]),_:1}),e(n,{label:"傳真",prop:"fax"},{default:l(()=>[e(r,{modelValue:t.value.fax,"onUpdate:modelValue":a[3]||(a[3]=o=>t.value.fax=o)},null,8,["modelValue"])]),_:1}),e(n,{label:"網址",prop:"url"},{default:l(()=>[e(r,{modelValue:t.value.url,"onUpdate:modelValue":a[4]||(a[4]=o=>t.value.url=o)},null,8,["modelValue"])]),_:1}),e(n,{label:"Email",prop:"email"},{default:l(()=>[e(r,{modelValue:t.value.email,"onUpdate:modelValue":a[5]||(a[5]=o=>t.value.email=o)},null,8,["modelValue"])]),_:1}),e(n,{label:"據點圖片",prop:"imageurl"},{default:l(()=>[e(I,{class:"avatar-uploader",action:"#",accept:"image/*","show-file-list":!1,"auto-upload":!0,"before-upload":o=>F(o)},{default:l(()=>[t.value.imageurl?(x(),U("img",{key:0,src:"http://localhost:6060"+t.value.imageurl,class:"avatar",id:"imageurl"},null,8,ye)):(x(),de(v,{key:1,class:"avatar-uploader-icon"},{default:l(()=>[e(V(M))]),_:1}))]),_:1},8,["before-upload"])]),_:1})]),_:1},8,["model","rules"])]),_:1}),c("div",we,[e(E,{onClick:k},{default:l(()=>[m("取消")]),_:1}),e(E,{type:"primary",loading:f.value,onClick:a[6]||(a[6]=o=>T(y.value))},{default:l(()=>[m(ue(f.value?"處理中...":"確認"),1)]),_:1},8,["loading"])])]),c("div",null,[e($,{modelValue:u.value.show,"onUpdate:modelValue":a[7]||(a[7]=o=>u.value.show=o),title:"Tips","before-close":h},{default:l(()=>[u.value.show?(x(),U("div",he,[c("div",Ee,[e(V(ne),{class:"cropper",ref_key:"myCrop",ref:w,src:u.value.img,"stencil-props":{aspectRatio:u.value.ratio},"auto-zoom":!0},null,8,["src","stencil-props"])]),c("div",Ve,[e(E,{type:"primary",size:"small",text:"",onClick:h},{default:l(()=>[m("取消")]),_:1}),e(E,{type:"primary",size:"small",onClick:i},{default:l(()=>[m("剪裁")]),_:1})])])):ie("",!0)]),_:1},8,["modelValue"])])],64)}}},Be=re(xe,[["__scopeId","data-v-0c2531e5"]]),Ce={class:"main"},ke={class:"breadcrumb-section"},Ue=c("a",{href:"/"},"公司據點",-1),We={__name:"Index",setup(p){const C=ce({page:1,pageSize:10});pe(C),d(0);const b=d(!1),_=d(!1),f=d([]);O(()=>{y()});const y=async()=>{b.value=!0;let i=await _e();i.code===200&&(f.value=i.data),b.value=!1},t=()=>{w.value=0,_.value=!0},D=i=>{w.value=i,_.value=!0},u=i=>{me.confirm("確認刪除此紀錄?").then(async()=>{(await ve(i)).code===200?(g({message:"刪除成功.",type:"success"}),y()):g({message:"刪除失敗.",type:"error"})}).catch(()=>{})},w=d(0),F=i=>{_.value=!1,i&&y()};return(i,h)=>{const k=J,T=K,s=A,a=W,r=L,n=N,v=Y,I=Z,j=ee,R=X,E=G,$=H;return x(),U(S,null,[c("div",Ce,[c("div",ke,[c("div",null,[e(T,{separator:"/"},{default:l(()=>[e(k,null,{default:l(()=>[m(" 聯絡我們 ")]),_:1}),e(k,null,{default:l(()=>[Ue]),_:1})]),_:1})]),c("div",null,[e(s,{type:"primary",icon:V(M),onClick:t},{default:l(()=>[m(" 新增據點 ")]),_:1},8,["icon"])])]),e(E,{"body-style":{padding:"0px"}},{default:l(()=>[e(R,{data:f.value,style:{width:"100%"}},{default:l(()=>[e(a,{prop:"id",label:"#",width:"50"}),e(a,{prop:"name",label:"據點名稱"}),e(a,{prop:"address",label:"據點地址"}),e(a,{prop:"tel",label:"電話"}),e(a,{prop:"fax",label:"傳真"}),e(a,{prop:"status",label:"是否有效"}),e(a,{prop:"sort",label:"排序",width:"80"},{default:l(o=>[e(r,{modelValue:o.row.sort_order,"onUpdate:modelValue":z=>o.row.sort_order=z,style:{width:"40px"}},null,8,["modelValue","onUpdate:modelValue"])]),_:1}),e(a,{label:"操作",width:"105",fixed:"right"},{default:l(o=>[e(j,null,{dropdown:l(()=>[e(I,null,{default:l(()=>[e(v,{icon:V(q),onClick:z=>D(o.row.id)},{default:l(()=>[m("修改")]),_:2},1032,["icon","onClick"]),e(v,{icon:V(P),onClick:z=>u(o.row.id)},{default:l(()=>[m("刪除")]),_:2},1032,["icon","onClick"])]),_:2},1024)]),default:l(()=>[e(s,{type:"danger"},{default:l(()=>[m(" 操作"),e(n,{class:"el-icon--right"},{default:l(()=>[e(V(Q))]),_:1})]),_:1})]),_:2},1024)]),_:1})]),_:1},8,["data"])]),_:1})]),c("div",null,[e($,{ref:"drawerRef",modelValue:_.value,"onUpdate:modelValue":h[0]||(h[0]=o=>_.value=o),"destroy-on-close":!0,title:"首頁輪撥",direction:"rtl",size:"50%"},{default:l(()=>[e(Be,{editid:w.value,onClose:F},null,8,["editid"])]),_:1},8,["modelValue"])])],64)}}};export{We as default}; diff --git a/app/public/admin/assets/Index-09e4e4ce.js b/app/public/admin/assets/Index-09e4e4ce.js new file mode 100644 index 0000000..01ebb4a --- /dev/null +++ b/app/public/admin/assets/Index-09e4e4ce.js @@ -0,0 +1 @@ +import{B as x}from"./el-button-46177dcd.js";import{a as g,b as y,E as C}from"./el-breadcrumb-item-c6d267fc.js";import{C as I}from"./ckeditor-d8de2f1a.js";import{g as B,u as E}from"./article-5a407624.js";import{_ as h}from"./_plugin-vue_export-helper-c27b6911.js";import{q as l,z as V,L as k,o as w,f as N,M as a,Q as e,w as t,N as _,a as S,a5 as A,a6 as M}from"./index-b8bd6c45.js";import"./request-3180202a.js";const q=s=>(A("data-v-529e7cd4"),s=s(),M(),s),z={class:"main"},F={class:"breadcrumb-section"},L=q(()=>a("a",{href:"/"},"公司簡介",-1)),Q={style:{padding:"10px"}},T={class:"card-footer"},U={__name:"Index",setup(s){const i=I,n=l(""),p=l({});V(async()=>{let o=await B(1);console.log("res",o),o.code===200&&(n.value=o.data.content)});const m=async()=>{(await E({id:1,content:n.value})).code===200&&console.log("更新成功")};return(o,d)=>{const c=g,u=y,f=k("ckeditor"),v=x,b=C;return w(),N("div",z,[a("div",F,[a("div",null,[e(u,{separator:"/"},{default:t(()=>[e(c,null,{default:t(()=>[_(" 經銷系統 ")]),_:1}),e(c,null,{default:t(()=>[L]),_:1})]),_:1})])]),e(b,{"body-style":{padding:"0px"}},{default:t(()=>[a("div",Q,[e(f,{editor:S(i),modelValue:n.value,"onUpdate:modelValue":d[0]||(d[0]=r=>n.value=r),config:p.value},null,8,["editor","modelValue","config"])]),a("div",T,[e(v,{type:"primary",onClick:d[1]||(d[1]=r=>m())},{default:t(()=>[_("確認")]),_:1})])]),_:1})])}}},O=h(U,[["__scopeId","data-v-529e7cd4"]]);export{O as default}; diff --git a/app/public/admin/assets/Index-200c3f94.css b/app/public/admin/assets/Index-200c3f94.css new file mode 100644 index 0000000..1b00f78 --- /dev/null +++ b/app/public/admin/assets/Index-200c3f94.css @@ -0,0 +1 @@ +[data-v-03450bfa] .ck-editor__editable_inline{height:400px}.imgGroup[data-v-328578ec]{margin:10px}.imgGroup .el-image[data-v-328578ec]{margin:4px} diff --git a/app/public/admin/assets/Index-4653f85e.css b/app/public/admin/assets/Index-4653f85e.css new file mode 100644 index 0000000..c91fc48 --- /dev/null +++ b/app/public/admin/assets/Index-4653f85e.css @@ -0,0 +1 @@ +.avatar-uploader .avatar1[data-v-b630865f]{width:178px;height:89px;display:block}.avatar-uploader .avatar2[data-v-b630865f]{width:89px;height:178px;display:block}[data-v-b630865f] .avatar-uploader .el-upload{border:1px dashed var(--el-border-color);border-radius:6px;cursor:pointer;position:relative;overflow:hidden;transition:var(--el-transition-duration-fast)}.avatar-uploader .el-upload[data-v-b630865f]:hover{border-color:var(--el-color-primary)}.el-icon.avatar-uploader-icon1[data-v-b630865f]{font-size:28px;color:#8c939d;width:178px;height:89px;text-align:center}.el-icon.avatar-uploader-icon2[data-v-b630865f]{font-size:28px;color:#8c939d;width:89px;height:178px;text-align:center}[data-v-b630865f] .el-dialog{width:40%!important}.crop-btn[data-v-b630865f]{text-align:right;margin-top:10px} diff --git a/app/public/admin/assets/Index-49354333.css b/app/public/admin/assets/Index-49354333.css new file mode 100644 index 0000000..96b70f9 --- /dev/null +++ b/app/public/admin/assets/Index-49354333.css @@ -0,0 +1 @@ +.card-footer[data-v-529e7cd4]{background-color:#f5f7fa;border-top:1px solid #ebeef5;padding:10px;text-align:right}[data-v-529e7cd4] .ck-editor__editable_inline{height:400px} diff --git a/app/public/admin/assets/Index-4d18e729.js b/app/public/admin/assets/Index-4d18e729.js new file mode 100644 index 0000000..ba7c69b --- /dev/null +++ b/app/public/admin/assets/Index-4d18e729.js @@ -0,0 +1 @@ +import{N as M,_ as L,O as oe,P as ie,A as re,b as ce,E as de,B as pe}from"./el-button-98327865.js";import{E as ue}from"./el-dialog-b09332e2.js";import{E as U}from"./el-message-01c953f1.js";import{E as O,a as me,b as _e}from"./el-breadcrumb-item-c62d9403.js";import{E as fe}from"./el-pagination-a97189de.js";import"./el-input-7c688efc.js";import{E as ge,a as be}from"./el-tag-f3a08928.js";import"./el-select-b96ee322.js";import"./el-scrollbar-7a0c56b8.js";import{g as he,f as ve,E as ye,a as we,b as Ee}from"./el-dropdown-item-16e508f0.js";import{a as G}from"./request-5a9b7645.js";import{d as B,p as K,u as q,B as I,k as Q,a as i,o as _,f as E,M as r,F as D,W as A,c as T,Q as e,al as Ce,b as Se,y as ke,e as De,n as x,r as W,N as y,O as N,V as Ne,h as $e,j as ze,w as t,v as xe,a3 as Be,q as P,z as Ie,a4 as F}from"./index-7ade0fa6.js";import{i as Pe}from"./index-82e080df.js";import"./el-message-box-35f36743.js";import{E as Ve}from"./index-ff1306d3.js";import"./strings-00472fe2.js";import"./validator-d3f529a0.js";import"./castArray-7f2a9c68.js";import"./aria-bc8e8b0f.js";const R=Symbol("elDescriptions");var V=B({name:"ElDescriptionsCell",props:{cell:{type:Object},tag:{type:String},type:{type:String}},setup(){return{descriptions:K(R,{})}},render(){var p,n,s,u,o,f;const c=he(this.cell),{border:$,direction:l}=this.descriptions,b=l==="vertical",h=((s=(n=(p=this.cell)==null?void 0:p.children)==null?void 0:n.label)==null?void 0:s.call(n))||c.label,g=(f=(o=(u=this.cell)==null?void 0:u.children)==null?void 0:o.default)==null?void 0:f.call(o),v=c.span,S=c.align?`is-${c.align}`:"",w=c.labelAlign?`is-${c.labelAlign}`:S,C=c.className,a=c.labelClassName,d={width:M(c.width),minWidth:M(c.minWidth)},m=q("descriptions");switch(this.type){case"label":return I(this.tag,{style:d,class:[m.e("cell"),m.e("label"),m.is("bordered-label",$),m.is("vertical-label",b),w,a],colSpan:b?v:1},h);case"content":return I(this.tag,{style:d,class:[m.e("cell"),m.e("content"),m.is("bordered-content",$),m.is("vertical-content",b),S,C],colSpan:b?v:v*2-1},g);default:return I("td",{style:d,class:[m.e("cell"),S],colSpan:v},[Pe(h)?void 0:I("span",{class:[m.e("label"),a]},h),I("span",{class:[m.e("content"),C]},g)])}}});const Te=Q({row:{type:Array,default:()=>[]}}),Ae={key:1},Re=B({name:"ElDescriptionsRow"}),je=B({...Re,props:Te,setup(p){const n=K(R,{});return(s,u)=>i(n).direction==="vertical"?(_(),E(D,{key:0},[r("tr",null,[(_(!0),E(D,null,A(s.row,(o,f)=>(_(),T(i(V),{key:`tr1-${f}`,cell:o,tag:"th",type:"label"},null,8,["cell"]))),128))]),r("tr",null,[(_(!0),E(D,null,A(s.row,(o,f)=>(_(),T(i(V),{key:`tr2-${f}`,cell:o,tag:"td",type:"content"},null,8,["cell"]))),128))])],64)):(_(),E("tr",Ae,[(_(!0),E(D,null,A(s.row,(o,f)=>(_(),E(D,{key:`tr3-${f}`},[i(n).border?(_(),E(D,{key:0},[e(i(V),{cell:o,tag:"td",type:"label"},null,8,["cell"]),e(i(V),{cell:o,tag:"td",type:"content"},null,8,["cell"])],64)):(_(),T(i(V),{key:1,cell:o,tag:"td",type:"both"},null,8,["cell"]))],64))),128))]))}});var Me=L(je,[["__file","/home/runner/work/element-plus/element-plus/packages/components/descriptions/src/descriptions-row.vue"]]);const Ue=Q({border:{type:Boolean,default:!1},column:{type:Number,default:3},direction:{type:String,values:["horizontal","vertical"],default:"horizontal"},size:Ce,title:{type:String,default:""},extra:{type:String,default:""}}),We=B({name:"ElDescriptions"}),Fe=B({...We,props:Ue,setup(p){const n=p,s=q("descriptions"),u=oe(),o=Se();ke(R,n);const f=De(()=>[s.b(),s.m(u.value)]),c=(l,b,h,g=!1)=>(l.props||(l.props={}),b>h&&(l.props.span=h),g&&(l.props.span=b),l),$=()=>{var l;const b=ve((l=o.default)==null?void 0:l.call(o)).filter(w=>{var C;return((C=w==null?void 0:w.type)==null?void 0:C.name)==="ElDescriptionsItem"}),h=[];let g=[],v=n.column,S=0;return b.forEach((w,C)=>{var a;const d=((a=w.props)==null?void 0:a.span)||1;if(Cv?v:d),C===b.length-1){const m=n.column-S%n.column;g.push(c(w,m,v,!0)),h.push(g);return}d(_(),E("div",{class:x(i(f))},[l.title||l.extra||l.$slots.title||l.$slots.extra?(_(),E("div",{key:0,class:x(i(s).e("header"))},[r("div",{class:x(i(s).e("title"))},[W(l.$slots,"title",{},()=>[y(N(l.title),1)])],2),r("div",{class:x(i(s).e("extra"))},[W(l.$slots,"extra",{},()=>[y(N(l.extra),1)])],2)],2)):Ne("v-if",!0),r("div",{class:x(i(s).e("body"))},[r("table",{class:x([i(s).e("table"),i(s).is("bordered",l.border)])},[r("tbody",null,[(_(!0),E(D,null,A($(),(h,g)=>(_(),T(Me,{key:g,row:h},null,8,["row"]))),128))])],2)],2)],2))}});var Le=L(Fe,[["__file","/home/runner/work/element-plus/element-plus/packages/components/descriptions/src/description.vue"]]),H=B({name:"ElDescriptionsItem",props:{label:{type:String,default:""},span:{type:Number,default:1},width:{type:[String,Number],default:""},minWidth:{type:[String,Number],default:""},align:{type:String,default:"left"},labelAlign:{type:String,default:""},className:{type:String,default:""},labelClassName:{type:String,default:""}}});const Oe=$e(Le,{DescriptionsItem:H}),Ge=ze(H),Ke=async()=>G("/contact/getContactList","GET"),qe=async p=>G("/contact/deleteContact","GET",{id:p});const Qe=r("div",{class:"cell-item"},"客戶姓名",-1),He=r("div",{class:"cell-item"},"聯絡電話",-1),Je=r("div",{class:"cell-item"},"聯絡地址",-1),Xe=r("div",{class:"cell-item"},"電子信箱",-1),Ye=r("div",{class:"cell-item"},"留言內容",-1),Ze=r("div",{class:"cell-item"},"留言時間",-1),et={__name:"content",props:["data"],setup(p){return(n,s)=>{const u=Ge,o=Oe,f=O;return _(),T(f,{"body-style":{padding:"0px"}},{default:t(()=>[e(o,{column:1,border:""},{default:t(()=>[e(u,{"min-width":"90px","label-align":"right"},{label:t(()=>[Qe]),default:t(()=>[y(" "+N(p.data.name),1)]),_:1}),e(u,{"min-width":"90px","label-align":"right"},{label:t(()=>[He]),default:t(()=>[y(" "+N(p.data.tel),1)]),_:1}),e(u,{"min-width":"90px","label-align":"right"},{label:t(()=>[Je]),default:t(()=>[y(" "+N(p.data.address),1)]),_:1}),e(u,{"min-width":"90px","label-align":"right"},{label:t(()=>[Xe]),default:t(()=>[y(" "+N(p.data.email),1)]),_:1}),e(u,{"min-width":"90px","label-align":"right"},{label:t(()=>[Ye]),default:t(()=>[y(" "+N(p.data.content),1)]),_:1}),e(u,{"min-width":"90px","label-align":"right"},{label:t(()=>[Ze]),default:t(()=>[y(" "+N(p.data.create_time),1)]),_:1})]),_:1})]),_:1})}}},tt={class:"main"},lt={class:"breadcrumb-section"},at=r("div",null,null,-1),st={class:"pagination-block"},St={__name:"Index",setup(p){const n=xe({page:1,pageSize:10}),{page:s,pageSize:u}=Be(n),o=P(0),f=P(!1),c=P(!1),$=P([]);Ie(()=>{l()});const l=async()=>{f.value=!0;let a=await Ke();a.code===200&&($.value=a.data.list,o.value=a.data.total),f.value=!1},b=a=>{Ve.confirm("確認刪除此紀錄?").then(async()=>{(await qe(a)).code===200?(U({message:"刪除成功.",type:"success"}),l()):U({message:"刪除失敗.",type:"error"})}).catch(()=>{})},h=a=>{n.pageSize=a,l()},g=a=>{n.page=a,l()},v=a=>{n.page=a,l()},S=a=>{n.page=a,l()},w=P({}),C=a=>{w.value=a,c.value=!0};return(a,d)=>{const m=me,J=_e,z=ge,X=de,Y=pe,j=ye,Z=we,ee=Ee,te=be,le=fe,ae=O,se=ue;return _(),E(D,null,[r("div",tt,[r("div",lt,[r("div",null,[e(J,{separator:"/"},{default:t(()=>[e(m,null,{default:t(()=>[y(" 聯絡我們 ")]),_:1}),e(m,null,{default:t(()=>[y(" 表單信件 ")]),_:1})]),_:1})]),at]),e(ae,{"body-style":{padding:"0px"}},{default:t(()=>[e(te,{data:$.value},{default:t(()=>[e(z,{fixed:"",prop:"id",label:"#",width:"50"}),e(z,{prop:"name",label:"聯絡人",width:"180"}),e(z,{prop:"email",label:"E-mail"}),e(z,{prop:"tel",label:"聯絡電話"}),e(z,{prop:"address",label:"地址"}),e(z,{label:"操作",width:"105",fixed:"right"},{default:t(k=>[e(ee,null,{dropdown:t(()=>[e(Z,null,{default:t(()=>[e(j,{icon:i(ie),onClick:ne=>C(k.row)},{default:t(()=>[y("內容")]),_:2},1032,["icon","onClick"]),e(j,{icon:i(re),onClick:ne=>b(k.row.id)},{default:t(()=>[y("刪除")]),_:2},1032,["icon","onClick"])]),_:2},1024)]),default:t(()=>[e(Y,{type:"danger"},{default:t(()=>[y(" 操作"),e(X,{class:"el-icon--right"},{default:t(()=>[e(i(ce))]),_:1})]),_:1})]),_:2},1024)]),_:1})]),_:1},8,["data"]),r("div",st,[e(le,{"current-page":i(s),"onUpdate:currentPage":d[0]||(d[0]=k=>F(s)?s.value=k:null),"page-size":i(u),"onUpdate:pageSize":d[1]||(d[1]=k=>F(u)?u.value=k:null),"page-sizes":[10,20,50,100],layout:"->,total, sizes, prev, pager, next, jumper",total:o.value,onSizeChange:h,onCurrentChange:g,onPrevClick:v,onNextClick:S},null,8,["current-page","page-size","total"])])]),_:1})]),r("div",null,[e(se,{modelValue:c.value,"onUpdate:modelValue":d[2]||(d[2]=k=>c.value=k),title:"留言內容","destroy-on-close":!0},{default:t(()=>[e(et,{data:w.value},null,8,["data"])]),_:1},8,["modelValue"])])],64)}}};export{St as default}; diff --git a/app/public/admin/assets/Index-5a718dcd.js b/app/public/admin/assets/Index-5a718dcd.js new file mode 100644 index 0000000..190f94a --- /dev/null +++ b/app/public/admin/assets/Index-5a718dcd.js @@ -0,0 +1 @@ +import{p as L,E as M,B as P,C as Y,A as Z,b as ee}from"./el-button-46177dcd.js";import{E as le}from"./el-drawer-02c97c36.js";import{E as A}from"./el-message-606f6f33.js";import{E as q,a as j}from"./el-form-item-879dedb6.js";import{E as G}from"./el-progress-1ff82264.js";import{a as te,b as oe,E as ae}from"./el-breadcrumb-item-c6d267fc.js";import{E as ne,a as se}from"./el-tag-6812ee36.js";import"./el-scrollbar-d5ea4c53.js";import{E as de,a as re,b as ie}from"./el-dropdown-item-98b90066.js";import{E as O}from"./el-input-2a068f59.js";import{E as ue}from"./el-image-viewer-59f7d0f4.js";import{E as me}from"./el-dialog-fc2b58cd.js";import{g as pe,u as _e,a as ce,b as fe}from"./news-82858fb1.js";import{u as ve}from"./request-3180202a.js";import{_ as Q}from"./_plugin-vue_export-helper-c27b6911.js";import{q as r,z as W,v as H,o as D,f as S,M as d,Q as e,w as l,a as I,N as u,O as J,F as T,a3 as we,W as ge,c as be,a5 as ye,a6 as Ee}from"./index-b8bd6c45.js";import"./el-message-box-1764db92.js";import"./index-ec296065.js";import"./castArray-edcf4c72.js";const he={class:"demo-drawer__footer",style:{"text-align":"right"}},Ve=["src"],Ie={__name:"Form",props:{editid:{type:Number,default:0}},emits:["close"],setup(g,{emit:y}){const E=g,c=r("insert"),m=r(!1),f=r(null),i=r({id:0,title:"",content:""});W(async()=>{if(E.editid){let o=await pe(E.editid);o.code===200&&(i.value=o.data,c.value="update")}});const x=H({}),k=()=>{y("close",!1)},F=o=>{o&&o.validate(async a=>{if(a){let p,_;console.log("formType",c.value),c.value==="update"?(i.value.id=E.editid,p=await _e(i.value),_="修改成功."):(p=await ce(i.value),_="新增成功."),p.code===200&&(A({message:_,type:"success"}),y("close",!0))}else return A({message:"操作失敗.",type:"error"}),!1})},t=r([]),n=r(""),b=r(!1),N=async o=>{const a=new FormData;a.append("file",o.file),m.value=!0;let p=await ve("/activity/uploadImage",a);console.log("res",t.value),p.code===200||A.error("上傳失敗"),m.value=!1},w=(o,a)=>{console.log(o,a)},U=o=>{n.value=o.url,b.value=!0};return(o,a)=>{const p=O,_=q,$=M,B=G,R=j,h=P,C=me;return D(),S(T,null,[d("div",null,[e(R,{ref_key:"formRef",ref:f,model:i.value,"status-icon":"",rules:x,"label-width":"120px"},{default:l(()=>[e(_,{label:"標題",prop:"title"},{default:l(()=>[e(p,{modelValue:i.value.title,"onUpdate:modelValue":a[0]||(a[0]=v=>i.value.title=v)},null,8,["modelValue"])]),_:1}),e(_,{label:"活動照片",prop:"content"},{default:l(()=>[e(B,{"file-list":t.value,"onUpdate:fileList":a[1]||(a[1]=v=>t.value=v),action:"#","http-request":N,"list-type":"picture-card","on-preview":U,"on-remove":w},{default:l(()=>[e($,null,{default:l(()=>[e(I(L))]),_:1})]),_:1},8,["file-list"])]),_:1})]),_:1},8,["model","rules"]),d("div",he,[e(h,{onClick:k},{default:l(()=>[u("取消")]),_:1}),e(h,{type:"primary",loading:m.value,onClick:a[2]||(a[2]=v=>F(f.value))},{default:l(()=>[u(J(m.value?"提交中 ...":"確認"),1)]),_:1},8,["loading"])])]),e(C,{modelValue:b.value,"onUpdate:modelValue":a[3]||(a[3]=v=>b.value=v)},{default:l(()=>[d("img",{"w-full":"",src:n.value,alt:"Preview Image"},null,8,Ve)]),_:1},8,["modelValue"])],64)}}},ke=Q(Ie,[["__scopeId","data-v-03450bfa"]]);const K=g=>(ye("data-v-328578ec"),g=g(),Ee(),g),Ce={class:"main"},De={class:"breadcrumb-section"},xe=K(()=>d("a",{href:"/"},"產業動態",-1)),Fe={class:"imgGroup"},Ne=K(()=>d("small",{class:"el-upload__tip"}," ※ 請上傳500kb以內jpg檔案。",-1)),Ue={class:"demo-drawer__footer",style:{"text-align":"right"}},$e={__name:"Index",setup(g){const y=H({page:1,pageSize:10});we(y);const E=r(0),c=r(!1),m=r(!1),f=r([]);W(()=>{i()});const i=async()=>{c.value=!0;let t=await fe(y);t.code===200&&(f.value=t.data.list,E.value=t.data.total),c.value=!1},x=()=>{k.value=0,m.value=!0},k=r(0),F=t=>{m.value=!1,t&&i()};return(t,n)=>{const b=te,N=oe,w=P,U=ue,o=ne,a=O,p=M,_=de,$=re,B=ie,R=se,h=ae,C=q,v=G,X=j,z=le;return D(),S(T,null,[d("div",Ce,[d("div",De,[d("div",null,[e(N,{separator:"/"},{default:l(()=>[e(b,null,{default:l(()=>[u(" 經銷系統 ")]),_:1}),e(b,null,{default:l(()=>[xe]),_:1})]),_:1})]),d("div",null,[e(w,{type:"primary",icon:I(L),onClick:x},{default:l(()=>[u(" 新增動態 ")]),_:1},8,["icon"])])]),e(h,{"body-style":{padding:"0px"}},{default:l(()=>[e(R,{data:f.value,style:{width:"100%"}},{default:l(()=>[e(o,{type:"expand",label:"相簿",width:"80"},{default:l(s=>[d("div",Fe,[(D(!0),S(T,null,ge(f.value[s.$index].imgs,V=>(D(),be(U,{key:t.index,style:{width:"100px",height:"60px"},src:V,fit:"cover"},null,8,["src"]))),128))])]),_:1}),e(o,{prop:"id",label:"#",width:"50"}),e(o,{prop:"title",label:"標題"}),e(o,{prop:"date",label:"建立時間"}),e(o,{prop:"sort",label:"排序",width:"80"},{default:l(s=>[e(a,{modelValue:f.value[s.$index].sort,"onUpdate:modelValue":V=>f.value[s.$index].sort=V,style:{width:"40px"}},null,8,["modelValue","onUpdate:modelValue"])]),_:1}),e(o,{label:"其他項目",width:"105",fixed:"right"},{default:l(s=>[e(B,null,{dropdown:l(()=>[e($,null,{default:l(()=>[e(_,{icon:I(Y),onClick:n[0]||(n[0]=V=>t.showEditNewsDrawer=!0)},{default:l(()=>[u("修改")]),_:1},8,["icon"]),e(_,{icon:I(Z),onClick:V=>t.deleteRow(s.$index)},{default:l(()=>[u("刪除")]),_:2},1032,["icon","onClick"])]),_:2},1024)]),default:l(()=>[e(w,{type:"danger"},{default:l(()=>[u(" 操作"),e(p,{class:"el-icon--right"},{default:l(()=>[e(I(ee))]),_:1})]),_:1})]),_:2},1024)]),_:1})]),_:1},8,["data"])]),_:1})]),d("div",null,[e(z,{ref:"drawerRef",modelValue:t.showAddNewsDrawer,"onUpdate:modelValue":n[3]||(n[3]=s=>t.showAddNewsDrawer=s),title:"新增動態",direction:"rtl",size:"550"},{default:l(()=>[e(h,null,{default:l(()=>[e(X,{model:t.initform,"label-width":"120px"},{default:l(()=>[e(C,{label:"標題"},{default:l(()=>[e(a,{modelValue:t.initform.title,"onUpdate:modelValue":n[1]||(n[1]=s=>t.initform.title=s)},null,8,["modelValue"])]),_:1}),e(C,{label:"相簿上傳"},{default:l(()=>[e(v,{class:"upload-demo",action:"https://run.mocky.io/v3/9d059bf9-4660-45f2-925d-ce80ad6c4d15","on-preview":t.handlePreview,"on-remove":t.handleRemove,"list-type":"picture"},{tip:l(()=>[Ne]),default:l(()=>[e(w,{type:"primary"},{default:l(()=>[u("上傳圖片")]),_:1})]),_:1},8,["on-preview","on-remove"])]),_:1})]),_:1},8,["model"])]),_:1}),d("div",Ue,[e(w,{onClick:n[2]||(n[2]=s=>t.showAddNewsDrawer=!1)},{default:l(()=>[u("取消")]),_:1}),e(w,{type:"primary",loading:c.value,onClick:t.onClick},{default:l(()=>[u(J(c.value?"Submitting ...":"確認"),1)]),_:1},8,["loading","onClick"])])]),_:1},8,["modelValue"])]),d("div",null,[e(z,{ref:"drawerRef",modelValue:m.value,"onUpdate:modelValue":n[4]||(n[4]=s=>m.value=s),"destroy-on-close":!0,title:"新增管理員",direction:"rtl",size:"70%"},{default:l(()=>[e(ke,{editid:k.value,onClose:F},null,8,["editid"])]),_:1},8,["modelValue"])])],64)}}},Ye=Q($e,[["__scopeId","data-v-328578ec"]]);export{Ye as default}; diff --git a/app/public/admin/assets/Index-662285c0.css b/app/public/admin/assets/Index-662285c0.css new file mode 100644 index 0000000..aeae2d2 --- /dev/null +++ b/app/public/admin/assets/Index-662285c0.css @@ -0,0 +1 @@ +.el-descriptions{--el-descriptions-table-border:1px solid var(--el-border-color-lighter);--el-descriptions-item-bordered-label-background:var(--el-fill-color-light);box-sizing:border-box;font-size:var(--el-font-size-base);color:var(--el-text-color-primary)}.el-descriptions__header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.el-descriptions__title{color:var(--el-text-color-primary);font-size:16px;font-weight:700}.el-descriptions__body{background-color:var(--el-fill-color-blank)}.el-descriptions__body .el-descriptions__table{border-collapse:collapse;width:100%}.el-descriptions__body .el-descriptions__table .el-descriptions__cell{box-sizing:border-box;text-align:left;font-weight:400;line-height:23px;font-size:14px}.el-descriptions__body .el-descriptions__table .el-descriptions__cell.is-left{text-align:left}.el-descriptions__body .el-descriptions__table .el-descriptions__cell.is-center{text-align:center}.el-descriptions__body .el-descriptions__table .el-descriptions__cell.is-right{text-align:right}.el-descriptions__body .el-descriptions__table.is-bordered .el-descriptions__cell{border:var(--el-descriptions-table-border);padding:8px 11px}.el-descriptions__body .el-descriptions__table:not(.is-bordered) .el-descriptions__cell{padding-bottom:12px}.el-descriptions--large{font-size:14px}.el-descriptions--large .el-descriptions__header{margin-bottom:20px}.el-descriptions--large .el-descriptions__header .el-descriptions__title{font-size:16px}.el-descriptions--large .el-descriptions__body .el-descriptions__table .el-descriptions__cell{font-size:14px}.el-descriptions--large .el-descriptions__body .el-descriptions__table.is-bordered .el-descriptions__cell{padding:12px 15px}.el-descriptions--large .el-descriptions__body .el-descriptions__table:not(.is-bordered) .el-descriptions__cell{padding-bottom:16px}.el-descriptions--small{font-size:12px}.el-descriptions--small .el-descriptions__header{margin-bottom:12px}.el-descriptions--small .el-descriptions__header .el-descriptions__title{font-size:14px}.el-descriptions--small .el-descriptions__body .el-descriptions__table .el-descriptions__cell{font-size:12px}.el-descriptions--small .el-descriptions__body .el-descriptions__table.is-bordered .el-descriptions__cell{padding:4px 7px}.el-descriptions--small .el-descriptions__body .el-descriptions__table:not(.is-bordered) .el-descriptions__cell{padding-bottom:8px}.el-descriptions__label.el-descriptions__cell.is-bordered-label{font-weight:700;color:var(--el-text-color-regular);background:var(--el-descriptions-item-bordered-label-background)}.el-descriptions__label:not(.is-bordered-label){color:var(--el-text-color-primary);margin-right:16px}.el-descriptions__label.el-descriptions__cell:not(.is-bordered-label).is-vertical-label{padding-bottom:6px}.el-descriptions__content.el-descriptions__cell.is-bordered-content{color:var(--el-text-color-primary)}.el-descriptions__content:not(.is-bordered-label){color:var(--el-text-color-regular)}.el-descriptions--large .el-descriptions__label:not(.is-bordered-label){margin-right:16px}.el-descriptions--large .el-descriptions__label.el-descriptions__cell:not(.is-bordered-label).is-vertical-label{padding-bottom:8px}.el-descriptions--small .el-descriptions__label:not(.is-bordered-label){margin-right:12px}.el-descriptions--small .el-descriptions__label.el-descriptions__cell:not(.is-bordered-label).is-vertical-label{padding-bottom:4px} diff --git a/app/public/admin/assets/Index-6a1e3789.js b/app/public/admin/assets/Index-6a1e3789.js new file mode 100644 index 0000000..9e97468 --- /dev/null +++ b/app/public/admin/assets/Index-6a1e3789.js @@ -0,0 +1 @@ +import{p as A,E as M,B as O,C as Z,A as ee,b as ae}from"./el-button-46177dcd.js";import{E as oe}from"./el-drawer-02c97c36.js";import{E as b}from"./el-message-606f6f33.js";import{E as L,a as te,b as le}from"./el-breadcrumb-item-c6d267fc.js";import{E as se}from"./el-pagination-e3dfa5c4.js";import{E as P}from"./el-input-2a068f59.js";import{E as ne,a as re}from"./el-tag-6812ee36.js";import"./el-select-aff362a8.js";import"./el-scrollbar-d5ea4c53.js";import{E as ie,a as ue,b as de}from"./el-dropdown-item-98b90066.js";import{E as pe}from"./el-image-viewer-59f7d0f4.js";import{E as ce}from"./el-dialog-fc2b58cd.js";import{E as me,a as _e}from"./el-form-item-879dedb6.js";import{E as fe}from"./el-progress-1ff82264.js";import{g as ge,u as ve,a as be,b as we,d as ye}from"./supplier-bfeb02e8.js";import{u as he}from"./request-3180202a.js";import{f as Ee}from"./style-08aad7ab.js";import{_ as Ce}from"./_plugin-vue_export-helper-c27b6911.js";import{q as d,z as q,o as E,f as S,M as p,Q as e,w as a,c as ke,a as g,N as m,O as xe,V as Ve,F as G,v as ze,a3 as Se,a4 as T}from"./index-b8bd6c45.js";import"./el-message-box-1764db92.js";import{E as De}from"./index-bcdc2cd6.js";import"./index-ec296065.js";import"./strings-6a1386cb.js";import"./validator-33a7a7f5.js";import"./castArray-edcf4c72.js";import"./aria-bc8e8b0f.js";const Fe=["src"],Ue={class:"demo-drawer__footer",style:{"text-align":"right"}},Be={key:0,class:"cropper-section"},Ie={class:"crop-area"},Re={class:"crop-btn"},je={__name:"Form",props:{editid:{type:Number,default:0}},emits:["close"],setup(N,{emit:_}){const v=N,w=d("insert"),y=d(!1),h=d(null),s=d({id:0});q(async()=>{if(v.editid){let l=await ge(v.editid);l.code===200&&(s.value=l.data,w.value="update")}});const C=d({imageurl:[{required:!0,message:"供應商LOGO必需要有",trigger:"blur"}],name:[{required:!0,message:"供應商名稱必填",trigger:"blur"}]}),t=d({show:!1,img:null,ratio:1.875}),k=d(null),D=l=>l.type!=="image/jpeg"&&l.type!=="image/png"&&l.type!=="image/jpg"?(b.error("圖片格式只能是jpeg/png/jpg!"),!1):(t.value.show=!0,t.value.img=URL.createObjectURL(l),!1),F=()=>{const{canvas:l}=k.value.getResult();if(l){const n=new FormData;l.toBlob(async c=>{let o=new File([c],"image.jpg");n.append("fileType","IMAGE"),n.append("file",o),t.value.show=!1,y.value=!0;let r=await he("/supplier/uploadSupplierImage",n);r.code===200?(s.value.imageurl=r.data,b.success("上傳成功")):b.error("上傳失敗"),y.value=!1},"image/jpeg")}},x=()=>{t.value.show=!1},U=()=>{_("close",!1)},B=l=>{l&&l.validate(async n=>{if(n){let c,o;w.value==="update"?(s.value.id=v.editid,c=await ve(s.value),o="修改成功."):(c=await be(s.value),o="新增成功."),c.code===200&&(b({message:o,type:"success"}),_("close",!0))}else return b({message:"操作失敗.",type:"error"}),!1})};return(l,n)=>{const c=M,o=fe,r=me,V=P,I=_e,z=L,u=O,R=ce;return E(),S(G,null,[p("div",null,[e(z,null,{default:a(()=>[e(I,{ref_key:"formRef",ref:h,model:s.value,"status-icon":"",rules:C.value,"label-width":"120px"},{default:a(()=>[e(r,{label:"供應商LOGO",prop:"imageurl"},{default:a(()=>[e(o,{class:"avatar-uploader",action:"#",accept:"image/*","show-file-list":!1,"auto-upload":!0,"on-success":l.handleAvatarSuccess,"before-upload":f=>D(f)},{default:a(()=>[s.value.imageurl?(E(),S("img",{key:0,src:"http://localhost:6060"+s.value.imageurl,class:"avatar",id:"imageurl"},null,8,Fe)):(E(),ke(c,{key:1,class:"avatar-uploader-icon"},{default:a(()=>[e(g(A))]),_:1}))]),_:1},8,["on-success","before-upload"])]),_:1}),e(r,{label:"供應商名稱",prop:"name"},{default:a(()=>[e(V,{modelValue:s.value.name,"onUpdate:modelValue":n[0]||(n[0]=f=>s.value.name=f)},null,8,["modelValue"])]),_:1})]),_:1},8,["model","rules"])]),_:1}),p("div",Ue,[e(u,{onClick:U},{default:a(()=>[m("取消")]),_:1}),e(u,{type:"primary",loading:y.value,onClick:n[1]||(n[1]=f=>B(h.value))},{default:a(()=>[m(xe(y.value?"處理中...":"確認"),1)]),_:1},8,["loading"])])]),p("div",null,[e(R,{modelValue:t.value.show,"onUpdate:modelValue":n[2]||(n[2]=f=>t.value.show=f),title:"Tips","before-close":x},{default:a(()=>[t.value.show?(E(),S("div",Be,[p("div",Ie,[e(g(Ee),{class:"cropper",ref_key:"myCrop",ref:k,src:t.value.img,"stencil-props":{aspectRatio:t.value.ratio},"auto-zoom":!0},null,8,["src","stencil-props"])]),p("div",Re,[e(u,{type:"primary",size:"small",text:"",onClick:x},{default:a(()=>[m("取消")]),_:1}),e(u,{type:"primary",size:"small",onClick:F},{default:a(()=>[m("剪裁")]),_:1})])])):Ve("",!0)]),_:1},8,["modelValue"])])],64)}}},Ne=Ce(je,[["__scopeId","data-v-e9bfc185"]]),$e={class:"main"},Te={class:"breadcrumb-section"},Ae=p("a",{href:"/"},"產品列表",-1),Me={class:"pagination-block"},ma={__name:"Index",setup(N){const _=ze({page:1,pageSize:10}),{page:v,pageSize:w}=Se(_),y=d(0),h=d(!1),s=d(!1),C=d([]);q(()=>{t()});const t=async()=>{h.value=!0;let o=await we();o.code===200&&(C.value=o.data),h.value=!1},k=()=>{n.value=0,s.value=!0},D=o=>{n.value=o,s.value=!0},F=o=>{De.confirm("確認刪除此紀錄?").then(async()=>{(await ye(o)).code===200?(b({message:"刪除成功.",type:"success"}),t()):b({message:"刪除失敗.",type:"error"})}).catch(()=>{})},x=o=>{_.pageSize=o,t()},U=o=>{_.page=o,t()},B=o=>{_.page=o,t()},l=o=>{_.page=o,t()},n=d(0),c=o=>{s.value=!1,o&&t()};return(o,r)=>{const V=te,I=le,z=O,u=ne,R=pe,f=P,Q=M,$=ie,H=ue,J=de,K=re,W=se,X=L,Y=oe;return E(),S(G,null,[p("div",$e,[p("div",Te,[p("div",null,[e(I,{separator:"/"},{default:a(()=>[e(V,null,{default:a(()=>[m(" 首頁 ")]),_:1}),e(V,null,{default:a(()=>[Ae]),_:1})]),_:1})]),p("div",null,[e(z,{type:"primary",icon:g(A),onClick:k},{default:a(()=>[m(" 新增產品 ")]),_:1},8,["icon"])])]),e(X,{"body-style":{padding:"0px"}},{default:a(()=>[e(K,{data:C.value,style:{width:"100%"}},{default:a(()=>[e(u,{prop:"id",label:"#",width:"50"}),e(u,{label:"產品圖片"},{default:a(i=>[e(R,{style:{width:"150px",height:"80px"},src:i.row.imageurl,fit:"cover"},null,8,["src"])]),_:1}),e(u,{prop:"name",label:"產品名稱"}),e(u,{prop:"desc",label:"產品簡述"}),e(u,{prop:"is_home",label:"首頁顯示"}),e(u,{prop:"sort",label:"排序",width:"80"},{default:a(i=>[e(f,{modelValue:i.row.sort_order,"onUpdate:modelValue":j=>i.row.sort_order=j,style:{width:"40px"}},null,8,["modelValue","onUpdate:modelValue"])]),_:1}),e(u,{label:"操作",width:"105",fixed:"right"},{default:a(i=>[e(J,null,{dropdown:a(()=>[e(H,null,{default:a(()=>[e($,{icon:g(Z),onClick:j=>D(i.row.id)},{default:a(()=>[m("修改")]),_:2},1032,["icon","onClick"]),e($,{icon:g(ee),onClick:j=>F(i.row.id)},{default:a(()=>[m("刪除")]),_:2},1032,["icon","onClick"])]),_:2},1024)]),default:a(()=>[e(z,{type:"danger"},{default:a(()=>[m(" 操作"),e(Q,{class:"el-icon--right"},{default:a(()=>[e(g(ae))]),_:1})]),_:1})]),_:2},1024)]),_:1})]),_:1},8,["data"]),p("div",Me,[e(W,{"current-page":g(v),"onUpdate:currentPage":r[0]||(r[0]=i=>T(v)?v.value=i:null),"page-size":g(w),"onUpdate:pageSize":r[1]||(r[1]=i=>T(w)?w.value=i:null),"page-sizes":[10,20,50,100],layout:"->,total, sizes, prev, pager, next, jumper",total:y.value,onSizeChange:x,onCurrentChange:U,onPrevClick:B,onNextClick:l},null,8,["current-page","page-size","total"])])]),_:1})]),p("div",null,[e(Y,{ref:"drawerRef",modelValue:s.value,"onUpdate:modelValue":r[2]||(r[2]=i=>s.value=i),"destroy-on-close":!0,title:"首頁輪撥",direction:"rtl",size:"50%"},{default:a(()=>[e(Ne,{editid:n.value,onClose:c},null,8,["editid"])]),_:1},8,["modelValue"])])],64)}}};export{ma as default}; diff --git a/app/public/admin/assets/Index-6a801734.js b/app/public/admin/assets/Index-6a801734.js new file mode 100644 index 0000000..4d572ea --- /dev/null +++ b/app/public/admin/assets/Index-6a801734.js @@ -0,0 +1 @@ +import{N as M,_ as L,O as oe,P as ie,A as re,b as ce,E as de,B as pe}from"./el-button-46177dcd.js";import{E as ue}from"./el-dialog-fc2b58cd.js";import{E as U}from"./el-message-606f6f33.js";import{E as O,a as me,b as _e}from"./el-breadcrumb-item-c6d267fc.js";import{E as fe}from"./el-pagination-e3dfa5c4.js";import"./el-input-2a068f59.js";import{E as ge,a as be}from"./el-tag-6812ee36.js";import"./el-select-aff362a8.js";import"./el-scrollbar-d5ea4c53.js";import{g as he,f as ve,E as ye,a as we,b as Ee}from"./el-dropdown-item-98b90066.js";import{a as G}from"./request-3180202a.js";import{d as B,p as K,u as q,B as I,k as Q,a as i,o as _,f as E,M as r,F as D,W as A,c as T,Q as e,al as Ce,b as Se,y as ke,e as De,n as x,r as W,N as y,O as N,V as Ne,h as $e,j as ze,w as t,v as xe,a3 as Be,q as P,z as Ie,a4 as F}from"./index-b8bd6c45.js";import{i as Pe}from"./index-ec296065.js";import"./el-message-box-1764db92.js";import{E as Ve}from"./index-bcdc2cd6.js";import"./strings-6a1386cb.js";import"./validator-33a7a7f5.js";import"./castArray-edcf4c72.js";import"./aria-bc8e8b0f.js";const R=Symbol("elDescriptions");var V=B({name:"ElDescriptionsCell",props:{cell:{type:Object},tag:{type:String},type:{type:String}},setup(){return{descriptions:K(R,{})}},render(){var p,n,s,u,o,f;const c=he(this.cell),{border:$,direction:l}=this.descriptions,b=l==="vertical",h=((s=(n=(p=this.cell)==null?void 0:p.children)==null?void 0:n.label)==null?void 0:s.call(n))||c.label,g=(f=(o=(u=this.cell)==null?void 0:u.children)==null?void 0:o.default)==null?void 0:f.call(o),v=c.span,S=c.align?`is-${c.align}`:"",w=c.labelAlign?`is-${c.labelAlign}`:S,C=c.className,a=c.labelClassName,d={width:M(c.width),minWidth:M(c.minWidth)},m=q("descriptions");switch(this.type){case"label":return I(this.tag,{style:d,class:[m.e("cell"),m.e("label"),m.is("bordered-label",$),m.is("vertical-label",b),w,a],colSpan:b?v:1},h);case"content":return I(this.tag,{style:d,class:[m.e("cell"),m.e("content"),m.is("bordered-content",$),m.is("vertical-content",b),S,C],colSpan:b?v:v*2-1},g);default:return I("td",{style:d,class:[m.e("cell"),S],colSpan:v},[Pe(h)?void 0:I("span",{class:[m.e("label"),a]},h),I("span",{class:[m.e("content"),C]},g)])}}});const Te=Q({row:{type:Array,default:()=>[]}}),Ae={key:1},Re=B({name:"ElDescriptionsRow"}),je=B({...Re,props:Te,setup(p){const n=K(R,{});return(s,u)=>i(n).direction==="vertical"?(_(),E(D,{key:0},[r("tr",null,[(_(!0),E(D,null,A(s.row,(o,f)=>(_(),T(i(V),{key:`tr1-${f}`,cell:o,tag:"th",type:"label"},null,8,["cell"]))),128))]),r("tr",null,[(_(!0),E(D,null,A(s.row,(o,f)=>(_(),T(i(V),{key:`tr2-${f}`,cell:o,tag:"td",type:"content"},null,8,["cell"]))),128))])],64)):(_(),E("tr",Ae,[(_(!0),E(D,null,A(s.row,(o,f)=>(_(),E(D,{key:`tr3-${f}`},[i(n).border?(_(),E(D,{key:0},[e(i(V),{cell:o,tag:"td",type:"label"},null,8,["cell"]),e(i(V),{cell:o,tag:"td",type:"content"},null,8,["cell"])],64)):(_(),T(i(V),{key:1,cell:o,tag:"td",type:"both"},null,8,["cell"]))],64))),128))]))}});var Me=L(je,[["__file","/home/runner/work/element-plus/element-plus/packages/components/descriptions/src/descriptions-row.vue"]]);const Ue=Q({border:{type:Boolean,default:!1},column:{type:Number,default:3},direction:{type:String,values:["horizontal","vertical"],default:"horizontal"},size:Ce,title:{type:String,default:""},extra:{type:String,default:""}}),We=B({name:"ElDescriptions"}),Fe=B({...We,props:Ue,setup(p){const n=p,s=q("descriptions"),u=oe(),o=Se();ke(R,n);const f=De(()=>[s.b(),s.m(u.value)]),c=(l,b,h,g=!1)=>(l.props||(l.props={}),b>h&&(l.props.span=h),g&&(l.props.span=b),l),$=()=>{var l;const b=ve((l=o.default)==null?void 0:l.call(o)).filter(w=>{var C;return((C=w==null?void 0:w.type)==null?void 0:C.name)==="ElDescriptionsItem"}),h=[];let g=[],v=n.column,S=0;return b.forEach((w,C)=>{var a;const d=((a=w.props)==null?void 0:a.span)||1;if(Cv?v:d),C===b.length-1){const m=n.column-S%n.column;g.push(c(w,m,v,!0)),h.push(g);return}d(_(),E("div",{class:x(i(f))},[l.title||l.extra||l.$slots.title||l.$slots.extra?(_(),E("div",{key:0,class:x(i(s).e("header"))},[r("div",{class:x(i(s).e("title"))},[W(l.$slots,"title",{},()=>[y(N(l.title),1)])],2),r("div",{class:x(i(s).e("extra"))},[W(l.$slots,"extra",{},()=>[y(N(l.extra),1)])],2)],2)):Ne("v-if",!0),r("div",{class:x(i(s).e("body"))},[r("table",{class:x([i(s).e("table"),i(s).is("bordered",l.border)])},[r("tbody",null,[(_(!0),E(D,null,A($(),(h,g)=>(_(),T(Me,{key:g,row:h},null,8,["row"]))),128))])],2)],2)],2))}});var Le=L(Fe,[["__file","/home/runner/work/element-plus/element-plus/packages/components/descriptions/src/description.vue"]]),H=B({name:"ElDescriptionsItem",props:{label:{type:String,default:""},span:{type:Number,default:1},width:{type:[String,Number],default:""},minWidth:{type:[String,Number],default:""},align:{type:String,default:"left"},labelAlign:{type:String,default:""},className:{type:String,default:""},labelClassName:{type:String,default:""}}});const Oe=$e(Le,{DescriptionsItem:H}),Ge=ze(H),Ke=async()=>G("/contact/getContactList","GET"),qe=async p=>G("/contact/deleteContact","GET",{id:p});const Qe=r("div",{class:"cell-item"},"客戶姓名",-1),He=r("div",{class:"cell-item"},"聯絡電話",-1),Je=r("div",{class:"cell-item"},"聯絡地址",-1),Xe=r("div",{class:"cell-item"},"電子信箱",-1),Ye=r("div",{class:"cell-item"},"留言內容",-1),Ze=r("div",{class:"cell-item"},"留言時間",-1),et={__name:"content",props:["data"],setup(p){return(n,s)=>{const u=Ge,o=Oe,f=O;return _(),T(f,{"body-style":{padding:"0px"}},{default:t(()=>[e(o,{column:1,border:""},{default:t(()=>[e(u,{"min-width":"90px","label-align":"right"},{label:t(()=>[Qe]),default:t(()=>[y(" "+N(p.data.name),1)]),_:1}),e(u,{"min-width":"90px","label-align":"right"},{label:t(()=>[He]),default:t(()=>[y(" "+N(p.data.tel),1)]),_:1}),e(u,{"min-width":"90px","label-align":"right"},{label:t(()=>[Je]),default:t(()=>[y(" "+N(p.data.address),1)]),_:1}),e(u,{"min-width":"90px","label-align":"right"},{label:t(()=>[Xe]),default:t(()=>[y(" "+N(p.data.email),1)]),_:1}),e(u,{"min-width":"90px","label-align":"right"},{label:t(()=>[Ye]),default:t(()=>[y(" "+N(p.data.content),1)]),_:1}),e(u,{"min-width":"90px","label-align":"right"},{label:t(()=>[Ze]),default:t(()=>[y(" "+N(p.data.create_time),1)]),_:1})]),_:1})]),_:1})}}},tt={class:"main"},lt={class:"breadcrumb-section"},at=r("div",null,null,-1),st={class:"pagination-block"},St={__name:"Index",setup(p){const n=xe({page:1,pageSize:10}),{page:s,pageSize:u}=Be(n),o=P(0),f=P(!1),c=P(!1),$=P([]);Ie(()=>{l()});const l=async()=>{f.value=!0;let a=await Ke();a.code===200&&($.value=a.data.list,o.value=a.data.total),f.value=!1},b=a=>{Ve.confirm("確認刪除此紀錄?").then(async()=>{(await qe(a)).code===200?(U({message:"刪除成功.",type:"success"}),l()):U({message:"刪除失敗.",type:"error"})}).catch(()=>{})},h=a=>{n.pageSize=a,l()},g=a=>{n.page=a,l()},v=a=>{n.page=a,l()},S=a=>{n.page=a,l()},w=P({}),C=a=>{w.value=a,c.value=!0};return(a,d)=>{const m=me,J=_e,z=ge,X=de,Y=pe,j=ye,Z=we,ee=Ee,te=be,le=fe,ae=O,se=ue;return _(),E(D,null,[r("div",tt,[r("div",lt,[r("div",null,[e(J,{separator:"/"},{default:t(()=>[e(m,null,{default:t(()=>[y(" 聯絡我們 ")]),_:1}),e(m,null,{default:t(()=>[y(" 表單信件 ")]),_:1})]),_:1})]),at]),e(ae,{"body-style":{padding:"0px"}},{default:t(()=>[e(te,{data:$.value},{default:t(()=>[e(z,{fixed:"",prop:"id",label:"#",width:"50"}),e(z,{prop:"name",label:"聯絡人",width:"180"}),e(z,{prop:"email",label:"E-mail"}),e(z,{prop:"tel",label:"聯絡電話"}),e(z,{prop:"address",label:"地址"}),e(z,{label:"操作",width:"105",fixed:"right"},{default:t(k=>[e(ee,null,{dropdown:t(()=>[e(Z,null,{default:t(()=>[e(j,{icon:i(ie),onClick:ne=>C(k.row)},{default:t(()=>[y("內容")]),_:2},1032,["icon","onClick"]),e(j,{icon:i(re),onClick:ne=>b(k.row.id)},{default:t(()=>[y("刪除")]),_:2},1032,["icon","onClick"])]),_:2},1024)]),default:t(()=>[e(Y,{type:"danger"},{default:t(()=>[y(" 操作"),e(X,{class:"el-icon--right"},{default:t(()=>[e(i(ce))]),_:1})]),_:1})]),_:2},1024)]),_:1})]),_:1},8,["data"]),r("div",st,[e(le,{"current-page":i(s),"onUpdate:currentPage":d[0]||(d[0]=k=>F(s)?s.value=k:null),"page-size":i(u),"onUpdate:pageSize":d[1]||(d[1]=k=>F(u)?u.value=k:null),"page-sizes":[10,20,50,100],layout:"->,total, sizes, prev, pager, next, jumper",total:o.value,onSizeChange:h,onCurrentChange:g,onPrevClick:v,onNextClick:S},null,8,["current-page","page-size","total"])])]),_:1})]),r("div",null,[e(se,{modelValue:c.value,"onUpdate:modelValue":d[2]||(d[2]=k=>c.value=k),title:"留言內容","destroy-on-close":!0},{default:t(()=>[e(et,{data:w.value},null,8,["data"])]),_:1},8,["modelValue"])])],64)}}};export{St as default}; diff --git a/app/public/admin/assets/Index-7531cee6.js b/app/public/admin/assets/Index-7531cee6.js new file mode 100644 index 0000000..41bd786 --- /dev/null +++ b/app/public/admin/assets/Index-7531cee6.js @@ -0,0 +1 @@ +import{p as A,E as M,B as O,C as Z,A as ee,b as ae}from"./el-button-98327865.js";import{E as oe}from"./el-drawer-1b116d0e.js";import{E as b}from"./el-message-01c953f1.js";import{E as L,a as te,b as le}from"./el-breadcrumb-item-c62d9403.js";import{E as se}from"./el-pagination-a97189de.js";import{E as P}from"./el-input-7c688efc.js";import{E as ne,a as re}from"./el-tag-f3a08928.js";import"./el-select-b96ee322.js";import"./el-scrollbar-7a0c56b8.js";import{E as ie,a as ue,b as de}from"./el-dropdown-item-16e508f0.js";import{E as pe}from"./el-image-viewer-048d9c29.js";import{E as ce}from"./el-dialog-b09332e2.js";import{E as me,a as _e}from"./el-form-item-6a713521.js";import{E as fe}from"./el-progress-37539b38.js";import{g as ge,u as ve,a as be,b as we,d as ye}from"./supplier-4686e802.js";import{u as he}from"./request-5a9b7645.js";import{f as Ee}from"./style-b9d5d7ae.js";import{_ as Ce}from"./_plugin-vue_export-helper-c27b6911.js";import{q as d,z as q,o as E,f as S,M as p,Q as e,w as a,c as ke,a as g,N as m,O as xe,V as Ve,F as G,v as ze,a3 as Se,a4 as T}from"./index-7ade0fa6.js";import"./el-message-box-35f36743.js";import{E as De}from"./index-ff1306d3.js";import"./index-82e080df.js";import"./strings-00472fe2.js";import"./validator-d3f529a0.js";import"./castArray-7f2a9c68.js";import"./aria-bc8e8b0f.js";const Fe=["src"],Ue={class:"demo-drawer__footer",style:{"text-align":"right"}},Be={key:0,class:"cropper-section"},Ie={class:"crop-area"},Re={class:"crop-btn"},je={__name:"Form",props:{editid:{type:Number,default:0}},emits:["close"],setup(N,{emit:_}){const v=N,w=d("insert"),y=d(!1),h=d(null),s=d({id:0});q(async()=>{if(v.editid){let l=await ge(v.editid);l.code===200&&(s.value=l.data,w.value="update")}});const C=d({imageurl:[{required:!0,message:"供應商LOGO必需要有",trigger:"blur"}],name:[{required:!0,message:"供應商名稱必填",trigger:"blur"}]}),t=d({show:!1,img:null,ratio:1.875}),k=d(null),D=l=>l.type!=="image/jpeg"&&l.type!=="image/png"&&l.type!=="image/jpg"?(b.error("圖片格式只能是jpeg/png/jpg!"),!1):(t.value.show=!0,t.value.img=URL.createObjectURL(l),!1),F=()=>{const{canvas:l}=k.value.getResult();if(l){const n=new FormData;l.toBlob(async c=>{let o=new File([c],"image.jpg");n.append("fileType","IMAGE"),n.append("file",o),t.value.show=!1,y.value=!0;let r=await he("/supplier/uploadSupplierImage",n);r.code===200?(s.value.imageurl=r.data,b.success("上傳成功")):b.error("上傳失敗"),y.value=!1},"image/jpeg")}},x=()=>{t.value.show=!1},U=()=>{_("close",!1)},B=l=>{l&&l.validate(async n=>{if(n){let c,o;w.value==="update"?(s.value.id=v.editid,c=await ve(s.value),o="修改成功."):(c=await be(s.value),o="新增成功."),c.code===200&&(b({message:o,type:"success"}),_("close",!0))}else return b({message:"操作失敗.",type:"error"}),!1})};return(l,n)=>{const c=M,o=fe,r=me,V=P,I=_e,z=L,u=O,R=ce;return E(),S(G,null,[p("div",null,[e(z,null,{default:a(()=>[e(I,{ref_key:"formRef",ref:h,model:s.value,"status-icon":"",rules:C.value,"label-width":"120px"},{default:a(()=>[e(r,{label:"供應商LOGO",prop:"imageurl"},{default:a(()=>[e(o,{class:"avatar-uploader",action:"#",accept:"image/*","show-file-list":!1,"auto-upload":!0,"on-success":l.handleAvatarSuccess,"before-upload":f=>D(f)},{default:a(()=>[s.value.imageurl?(E(),S("img",{key:0,src:"http://localhost:6060"+s.value.imageurl,class:"avatar",id:"imageurl"},null,8,Fe)):(E(),ke(c,{key:1,class:"avatar-uploader-icon"},{default:a(()=>[e(g(A))]),_:1}))]),_:1},8,["on-success","before-upload"])]),_:1}),e(r,{label:"供應商名稱",prop:"name"},{default:a(()=>[e(V,{modelValue:s.value.name,"onUpdate:modelValue":n[0]||(n[0]=f=>s.value.name=f)},null,8,["modelValue"])]),_:1})]),_:1},8,["model","rules"])]),_:1}),p("div",Ue,[e(u,{onClick:U},{default:a(()=>[m("取消")]),_:1}),e(u,{type:"primary",loading:y.value,onClick:n[1]||(n[1]=f=>B(h.value))},{default:a(()=>[m(xe(y.value?"處理中...":"確認"),1)]),_:1},8,["loading"])])]),p("div",null,[e(R,{modelValue:t.value.show,"onUpdate:modelValue":n[2]||(n[2]=f=>t.value.show=f),title:"Tips","before-close":x},{default:a(()=>[t.value.show?(E(),S("div",Be,[p("div",Ie,[e(g(Ee),{class:"cropper",ref_key:"myCrop",ref:k,src:t.value.img,"stencil-props":{aspectRatio:t.value.ratio},"auto-zoom":!0},null,8,["src","stencil-props"])]),p("div",Re,[e(u,{type:"primary",size:"small",text:"",onClick:x},{default:a(()=>[m("取消")]),_:1}),e(u,{type:"primary",size:"small",onClick:F},{default:a(()=>[m("剪裁")]),_:1})])])):Ve("",!0)]),_:1},8,["modelValue"])])],64)}}},Ne=Ce(je,[["__scopeId","data-v-e9bfc185"]]),$e={class:"main"},Te={class:"breadcrumb-section"},Ae=p("a",{href:"/"},"產品列表",-1),Me={class:"pagination-block"},ma={__name:"Index",setup(N){const _=ze({page:1,pageSize:10}),{page:v,pageSize:w}=Se(_),y=d(0),h=d(!1),s=d(!1),C=d([]);q(()=>{t()});const t=async()=>{h.value=!0;let o=await we();o.code===200&&(C.value=o.data),h.value=!1},k=()=>{n.value=0,s.value=!0},D=o=>{n.value=o,s.value=!0},F=o=>{De.confirm("確認刪除此紀錄?").then(async()=>{(await ye(o)).code===200?(b({message:"刪除成功.",type:"success"}),t()):b({message:"刪除失敗.",type:"error"})}).catch(()=>{})},x=o=>{_.pageSize=o,t()},U=o=>{_.page=o,t()},B=o=>{_.page=o,t()},l=o=>{_.page=o,t()},n=d(0),c=o=>{s.value=!1,o&&t()};return(o,r)=>{const V=te,I=le,z=O,u=ne,R=pe,f=P,Q=M,$=ie,H=ue,J=de,K=re,W=se,X=L,Y=oe;return E(),S(G,null,[p("div",$e,[p("div",Te,[p("div",null,[e(I,{separator:"/"},{default:a(()=>[e(V,null,{default:a(()=>[m(" 首頁 ")]),_:1}),e(V,null,{default:a(()=>[Ae]),_:1})]),_:1})]),p("div",null,[e(z,{type:"primary",icon:g(A),onClick:k},{default:a(()=>[m(" 新增產品 ")]),_:1},8,["icon"])])]),e(X,{"body-style":{padding:"0px"}},{default:a(()=>[e(K,{data:C.value,style:{width:"100%"}},{default:a(()=>[e(u,{prop:"id",label:"#",width:"50"}),e(u,{label:"產品圖片"},{default:a(i=>[e(R,{style:{width:"150px",height:"80px"},src:i.row.imageurl,fit:"cover"},null,8,["src"])]),_:1}),e(u,{prop:"name",label:"產品名稱"}),e(u,{prop:"desc",label:"產品簡述"}),e(u,{prop:"is_home",label:"首頁顯示"}),e(u,{prop:"sort",label:"排序",width:"80"},{default:a(i=>[e(f,{modelValue:i.row.sort_order,"onUpdate:modelValue":j=>i.row.sort_order=j,style:{width:"40px"}},null,8,["modelValue","onUpdate:modelValue"])]),_:1}),e(u,{label:"操作",width:"105",fixed:"right"},{default:a(i=>[e(J,null,{dropdown:a(()=>[e(H,null,{default:a(()=>[e($,{icon:g(Z),onClick:j=>D(i.row.id)},{default:a(()=>[m("修改")]),_:2},1032,["icon","onClick"]),e($,{icon:g(ee),onClick:j=>F(i.row.id)},{default:a(()=>[m("刪除")]),_:2},1032,["icon","onClick"])]),_:2},1024)]),default:a(()=>[e(z,{type:"danger"},{default:a(()=>[m(" 操作"),e(Q,{class:"el-icon--right"},{default:a(()=>[e(g(ae))]),_:1})]),_:1})]),_:2},1024)]),_:1})]),_:1},8,["data"]),p("div",Me,[e(W,{"current-page":g(v),"onUpdate:currentPage":r[0]||(r[0]=i=>T(v)?v.value=i:null),"page-size":g(w),"onUpdate:pageSize":r[1]||(r[1]=i=>T(w)?w.value=i:null),"page-sizes":[10,20,50,100],layout:"->,total, sizes, prev, pager, next, jumper",total:y.value,onSizeChange:x,onCurrentChange:U,onPrevClick:B,onNextClick:l},null,8,["current-page","page-size","total"])])]),_:1})]),p("div",null,[e(Y,{ref:"drawerRef",modelValue:s.value,"onUpdate:modelValue":r[2]||(r[2]=i=>s.value=i),"destroy-on-close":!0,title:"首頁輪撥",direction:"rtl",size:"50%"},{default:a(()=>[e(Ne,{editid:n.value,onClose:c},null,8,["editid"])]),_:1},8,["modelValue"])])],64)}}};export{ma as default}; diff --git a/app/public/admin/assets/Index-7b994848.js b/app/public/admin/assets/Index-7b994848.js new file mode 100644 index 0000000..9cd7028 --- /dev/null +++ b/app/public/admin/assets/Index-7b994848.js @@ -0,0 +1 @@ +import{p as M,E as S,B as G,C as Q,A as H,b as J}from"./el-button-98327865.js";import{E as K}from"./el-drawer-1b116d0e.js";import{E as b}from"./el-message-01c953f1.js";import{E as L,a as W,b as X}from"./el-breadcrumb-item-c62d9403.js";import{E as Y,a as Z}from"./el-tag-f3a08928.js";import"./el-scrollbar-7a0c56b8.js";import{E as ee,a as ae,b as le}from"./el-dropdown-item-16e508f0.js";import{E as O}from"./el-input-7c688efc.js";import{E as oe}from"./el-image-viewer-048d9c29.js";import{E as te}from"./el-dialog-b09332e2.js";import{E as se,a as ne}from"./el-form-item-6a713521.js";import{E as re}from"./el-progress-37539b38.js";import{a as D,u as ue}from"./request-5a9b7645.js";import{f as de}from"./style-b9d5d7ae.js";import{_ as ie}from"./_plugin-vue_export-helper-c27b6911.js";import{q as u,z as q,o as y,f as k,M as p,Q as e,w as a,c as N,a as w,N as _,O as ce,V as pe,F as P,v as me,a3 as _e}from"./index-7ade0fa6.js";import"./el-message-box-35f36743.js";import{E as fe}from"./index-ff1306d3.js";import"./index-82e080df.js";import"./castArray-7f2a9c68.js";import"./aria-bc8e8b0f.js";import"./validator-d3f529a0.js";const ve=async()=>D("/index/getBannerList","GET"),ge=async m=>D("/index/getBanner","GET",{id:m}),ye=async m=>D("/index/deleteBanner","GET",{id:m}),be=async m=>D("/index/updateBanner","POST",m),we=async m=>D("/index/addBanner","POST",m);const he=["src"],Ee=["src"],xe={class:"demo-drawer__footer",style:{"text-align":"right"}},Be={key:0,class:"cropper-section"},Ve={class:"crop-area"},Ce={class:"crop-btn"},ke={__name:"Form",props:{editid:{type:Number,default:0}},emits:["close"],setup(m,{emit:F}){const h=m,f=u("insert"),g=u(!1),E=u(null),t=u({id:0});q(async()=>{if(h.editid){let o=await ge(h.editid);o.code===200&&(t.value=o.data,f.value="update")}});const U=u({imageurl1:[{required:!0,message:"電腦版背景圖必填",trigger:"blur"}],imageurl2:[{required:!0,message:"手機版背景圖必填",trigger:"blur"}]}),s=u({show:!1,img:null,ratio:2}),x=u(null),T=(o,l)=>o.type!=="image/jpeg"&&o.type!=="image/png"&&o.type!=="image/jpg"?(b.error("圖片格式只能是jpeg/png/jpg!"),!1):(s.value.show=!0,s.value.img=URL.createObjectURL(o),l===1?(s.value.type=1,s.value.ratio=2):(s.value.type=2,s.value.ratio=.5),!1),d=()=>{const{canvas:o}=x.value.getResult();if(o){const l=new FormData;o.toBlob(async i=>{let n=new File([i],"image.jpg");l.append("fileType","IMAGE"),l.append("file",n),s.value.show=!1,g.value=!0;let v=await ue("/index/uploadBannerImage",l);v.code===200?(s.value.type===1?t.value.imageurl1=v.data:t.value.imageurl2=v.data,b.success("上傳成功")):b.error("上傳失敗"),g.value=!1},"image/jpeg")}},B=()=>{s.value.show=!1},I=()=>{F("close",!1)},j=o=>{o&&o.validate(async l=>{if(l){let i,n;f.value==="update"?(t.value.id=h.editid,i=await be(t.value),n="修改成功."):(i=await we(t.value),n="新增成功."),i.code===200&&(b({message:n,type:"success"}),F("close",!0))}else return b({message:"操作失敗.",type:"error"}),!1})};return(o,l)=>{const i=O,n=se,v=S,C=re,R=ne,A=L,V=G,$=te;return y(),k(P,null,[p("div",null,[e(A,null,{default:a(()=>[e(R,{ref_key:"formRef",ref:E,model:t.value,"status-icon":"",rules:U.value,"label-width":"120px"},{default:a(()=>[e(n,{label:"標語"},{default:a(()=>[e(i,{modelValue:t.value.slogon,"onUpdate:modelValue":l[0]||(l[0]=r=>t.value.slogon=r)},null,8,["modelValue"])]),_:1}),e(n,{label:"描述"},{default:a(()=>[e(i,{modelValue:t.value.describe,"onUpdate:modelValue":l[1]||(l[1]=r=>t.value.describe=r)},null,8,["modelValue"])]),_:1}),e(n,{label:"電腦版背景圖",prop:"imageurl1"},{default:a(()=>[e(C,{class:"avatar-uploader",action:"#",accept:"image/*","show-file-list":!1,"auto-upload":!0,"on-success":o.handleAvatarSuccess,"before-upload":r=>T(r,1)},{default:a(()=>[t.value.imageurl1?(y(),k("img",{key:0,src:"http://localhost:6060"+t.value.imageurl1,class:"avatar1",id:"imageurl1"},null,8,he)):(y(),N(v,{key:1,class:"avatar-uploader-icon1"},{default:a(()=>[e(w(M))]),_:1}))]),_:1},8,["on-success","before-upload"])]),_:1}),e(n,{label:"手機版背景圖",prop:"imageurl2"},{default:a(()=>[e(C,{class:"avatar-uploader",action:"#",accept:"image/*","show-file-list":!1,"auto-upload":!0,"on-success":o.handleAvatarSuccess,"before-upload":r=>T(r,2)},{default:a(()=>[t.value.imageurl2?(y(),k("img",{key:0,src:"http://localhost:6060"+t.value.imageurl2,class:"avatar2",id:"imageurl1"},null,8,Ee)):(y(),N(v,{key:1,class:"avatar-uploader-icon2"},{default:a(()=>[e(w(M))]),_:1}))]),_:1},8,["on-success","before-upload"])]),_:1})]),_:1},8,["model","rules"])]),_:1}),p("div",xe,[e(V,{onClick:I},{default:a(()=>[_("取消")]),_:1}),e(V,{type:"primary",loading:g.value,onClick:l[2]||(l[2]=r=>j(E.value))},{default:a(()=>[_(ce(g.value?"處理中...":"確認"),1)]),_:1},8,["loading"])])]),p("div",null,[e($,{modelValue:s.value.show,"onUpdate:modelValue":l[3]||(l[3]=r=>s.value.show=r),title:"Tips","before-close":B},{default:a(()=>[s.value.show?(y(),k("div",Be,[p("div",Ve,[e(w(de),{class:"cropper",ref_key:"myCrop",ref:x,src:s.value.img,"stencil-props":{aspectRatio:s.value.ratio},"auto-zoom":!0},null,8,["src","stencil-props"])]),p("div",Ce,[e(V,{type:"primary",size:"small",text:"",onClick:B},{default:a(()=>[_("取消")]),_:1}),e(V,{type:"primary",size:"small",onClick:d},{default:a(()=>[_("剪裁")]),_:1})])])):pe("",!0)]),_:1},8,["modelValue"])])],64)}}},De=ie(ke,[["__scopeId","data-v-b630865f"]]),Fe={class:"main"},Te={class:"breadcrumb-section"},Ie=p("a",{href:"/"},"首頁輪播列表",-1),ea={__name:"Index",setup(m){const F=me({page:1,pageSize:10});_e(F),u(0);const h=u(!1),f=u(!1),g=u([]);q(()=>{E()});const E=async()=>{h.value=!0;let d=await ve();d.code===200&&(g.value=d.data),h.value=!1},t=()=>{x.value=0,f.value=!0},U=d=>{x.value=d,f.value=!0},s=d=>{fe.confirm("確認刪除此紀錄?").then(async()=>{(await ye(d)).code===200?(b({message:"刪除成功.",type:"success"}),E()):b({message:"刪除失敗.",type:"error"})}).catch(()=>{})},x=u(0),T=d=>{f.value=!1,d&&E()};return(d,B)=>{const I=W,j=X,o=G,l=Y,i=oe,n=O,v=S,C=ee,R=ae,A=le,V=Z,$=L,r=K;return y(),k(P,null,[p("div",Fe,[p("div",Te,[p("div",null,[e(j,{separator:"/"},{default:a(()=>[e(I,null,{default:a(()=>[_(" 首頁 ")]),_:1}),e(I,null,{default:a(()=>[Ie]),_:1})]),_:1})]),p("div",null,[e(o,{type:"primary",icon:w(M),onClick:t},{default:a(()=>[_(" 新增輪播 ")]),_:1},8,["icon"])])]),e($,{"body-style":{padding:"0px"}},{default:a(()=>[e(V,{data:g.value,style:{width:"100%"}},{default:a(()=>[e(l,{prop:"id",label:"#",width:"50"}),e(l,{label:"電腦版背景"},{default:a(c=>[e(i,{style:{width:"100px",height:"50px"},src:c.row.imageurl1,fit:"cover"},null,8,["src"])]),_:1}),e(l,{label:"手機版背景"},{default:a(c=>[e(i,{style:{width:"50px",height:"100px"},src:c.row.imageurl2,fit:"cover"},null,8,["src"])]),_:1}),e(l,{prop:"slogon",label:"標題"}),e(l,{prop:"describe",label:"描述"}),e(l,{prop:"sort",label:"排序",width:"80"},{default:a(c=>[e(n,{modelValue:c.row.sort_order,"onUpdate:modelValue":z=>c.row.sort_order=z,style:{width:"40px"}},null,8,["modelValue","onUpdate:modelValue"])]),_:1}),e(l,{label:"其他項目",width:"105",fixed:"right"},{default:a(c=>[e(A,null,{dropdown:a(()=>[e(R,null,{default:a(()=>[e(C,{icon:w(Q),onClick:z=>U(c.row.id)},{default:a(()=>[_("修改")]),_:2},1032,["icon","onClick"]),e(C,{icon:w(H),onClick:z=>s(c.row.id)},{default:a(()=>[_("刪除")]),_:2},1032,["icon","onClick"])]),_:2},1024)]),default:a(()=>[e(o,{type:"danger"},{default:a(()=>[_(" 操作"),e(v,{class:"el-icon--right"},{default:a(()=>[e(w(J))]),_:1})]),_:1})]),_:2},1024)]),_:1})]),_:1},8,["data"])]),_:1})]),p("div",null,[e(r,{ref:"drawerRef",modelValue:f.value,"onUpdate:modelValue":B[0]||(B[0]=c=>f.value=c),"destroy-on-close":!0,title:"首頁輪撥",direction:"rtl",size:"50%"},{default:a(()=>[e(De,{editid:x.value,onClose:T},null,8,["editid"])]),_:1},8,["modelValue"])])],64)}}};export{ea as default}; diff --git a/app/public/admin/assets/Index-7f5327cc.js b/app/public/admin/assets/Index-7f5327cc.js new file mode 100644 index 0000000..134a9c2 --- /dev/null +++ b/app/public/admin/assets/Index-7f5327cc.js @@ -0,0 +1 @@ +import{B as g}from"./el-button-46177dcd.js";import{a as y,b as C,E as I}from"./el-breadcrumb-item-c6d267fc.js";import{C as h}from"./ckeditor-d8de2f1a.js";import{g as B,u as E}from"./article-5a407624.js";import{_ as V}from"./_plugin-vue_export-helper-c27b6911.js";import{q as l,z as k,L as w,o as N,f as S,M as o,Q as e,w as a,N as _,a as A,a5 as M,a6 as q}from"./index-b8bd6c45.js";import"./request-3180202a.js";const i=s=>(M("data-v-9cb8691f"),s=s(),q(),s),z={class:"main"},F={class:"breadcrumb-section"},L=i(()=>o("a",{href:"/"},"經營理念",-1)),Q=i(()=>o("div",null,null,-1)),T={style:{padding:"10px"}},U={class:"card-footer"},$={__name:"Index",setup(s){const u=h,n=l(""),p=l({});k(async()=>{let t=await B(2);console.log("res",t),t.code===200&&(n.value=t.data.content)});const m=async()=>{(await E({id:2,content:n.value})).code===200&&console.log("更新成功")};return(t,d)=>{const c=y,f=C,v=w("ckeditor"),b=g,x=I;return N(),S("div",z,[o("div",F,[o("div",null,[e(f,{separator:"/"},{default:a(()=>[e(c,null,{default:a(()=>[_(" 經銷系統 ")]),_:1}),e(c,null,{default:a(()=>[L]),_:1})]),_:1})]),Q]),e(x,{"body-style":{padding:"0px"}},{default:a(()=>[o("div",T,[e(v,{editor:A(u),modelValue:n.value,"onUpdate:modelValue":d[0]||(d[0]=r=>n.value=r),config:p.value},null,8,["editor","modelValue","config"])]),o("div",U,[e(b,{type:"primary",onClick:d[1]||(d[1]=r=>m())},{default:a(()=>[_("確認")]),_:1})])]),_:1})])}}},P=V($,[["__scopeId","data-v-9cb8691f"]]);export{P as default}; diff --git a/app/public/admin/assets/Index-875b11a1.js b/app/public/admin/assets/Index-875b11a1.js new file mode 100644 index 0000000..7b4a5f3 --- /dev/null +++ b/app/public/admin/assets/Index-875b11a1.js @@ -0,0 +1 @@ +import{p as $,E as z,B as A,C as q,A as Q,b as H}from"./el-button-46177dcd.js";import{E as J}from"./el-drawer-02c97c36.js";import{E as g}from"./el-message-606f6f33.js";import{E as L,a as K,b as P}from"./el-breadcrumb-item-c6d267fc.js";import{E as W,a as X}from"./el-tag-6812ee36.js";import"./el-scrollbar-d5ea4c53.js";import{E as Y,a as Z,b as ee}from"./el-dropdown-item-98b90066.js";import{E as M}from"./el-input-2a068f59.js";import{E as ae}from"./el-image-viewer-59f7d0f4.js";import{E as oe}from"./el-dialog-fc2b58cd.js";import{E as te,a as le}from"./el-form-item-879dedb6.js";import{E as se}from"./el-progress-1ff82264.js";import{g as re,u as ne,a as ie,b as ue,d as de}from"./supplier-bfeb02e8.js";import{u as ce}from"./request-3180202a.js";import{f as pe}from"./style-08aad7ab.js";import{_ as me}from"./_plugin-vue_export-helper-c27b6911.js";import{q as s,z as N,o as V,f as F,M as i,Q as e,w as a,c as _e,a as C,N as p,O as fe,V as ve,F as G,v as ge,a3 as we}from"./index-b8bd6c45.js";import"./el-message-box-1764db92.js";import{E as be}from"./index-bcdc2cd6.js";import"./index-ec296065.js";import"./castArray-edcf4c72.js";import"./aria-bc8e8b0f.js";import"./validator-33a7a7f5.js";const ye=["src"],he={class:"demo-drawer__footer",style:{"text-align":"right"}},Ee={key:0,class:"cropper-section"},Ce={class:"crop-area"},Ve={class:"crop-btn"},ke={__name:"Form",props:{editid:{type:Number,default:0}},emits:["close"],setup(T,{emit:k}){const w=T,m=s("insert"),f=s(!1),b=s(null),l=s({id:0});N(async()=>{if(w.editid){let o=await re(w.editid);o.code===200&&(l.value=o.data,m.value="update")}});const B=s({imageurl:[{required:!0,message:"供應商LOGO必需要有",trigger:"blur"}],name:[{required:!0,message:"供應商名稱必填",trigger:"blur"}]}),r=s({show:!1,img:null,ratio:1.875}),y=s(null),I=o=>o.type!=="image/jpeg"&&o.type!=="image/png"&&o.type!=="image/jpg"?(g.error("圖片格式只能是jpeg/png/jpg!"),!1):(r.value.show=!0,r.value.img=URL.createObjectURL(o),!1),n=()=>{const{canvas:o}=y.value.getResult();if(o){const t=new FormData;o.toBlob(async u=>{let d=new File([u],"image.jpg");t.append("fileType","IMAGE"),t.append("file",d),r.value.show=!1,f.value=!0;let v=await ce("/supplier/uploadSupplierImage",t);v.code===200?(l.value.imageurl=v.data,g.success("上傳成功")):g.error("上傳失敗"),f.value=!1},"image/jpeg")}},h=()=>{r.value.show=!1},x=()=>{k("close",!1)},S=o=>{o&&o.validate(async t=>{if(t){let u,d;m.value==="update"?(l.value.id=w.editid,u=await ne(l.value),d="修改成功."):(u=await ie(l.value),d="新增成功."),u.code===200&&(g({message:d,type:"success"}),k("close",!0))}else return g({message:"操作失敗.",type:"error"}),!1})};return(o,t)=>{const u=z,d=se,v=te,D=M,U=le,O=L,E=A,R=oe;return V(),F(G,null,[i("div",null,[e(O,null,{default:a(()=>[e(U,{ref_key:"formRef",ref:b,model:l.value,"status-icon":"",rules:B.value,"label-width":"120px"},{default:a(()=>[e(v,{label:"供應商LOGO",prop:"imageurl"},{default:a(()=>[e(d,{class:"avatar-uploader",action:"#",accept:"image/*","show-file-list":!1,"auto-upload":!0,"on-success":o.handleAvatarSuccess,"before-upload":_=>I(_)},{default:a(()=>[l.value.imageurl?(V(),F("img",{key:0,src:"http://localhost:6060"+l.value.imageurl,class:"avatar",id:"imageurl"},null,8,ye)):(V(),_e(u,{key:1,class:"avatar-uploader-icon"},{default:a(()=>[e(C($))]),_:1}))]),_:1},8,["on-success","before-upload"])]),_:1}),e(v,{label:"供應商名稱",prop:"name"},{default:a(()=>[e(D,{modelValue:l.value.name,"onUpdate:modelValue":t[0]||(t[0]=_=>l.value.name=_)},null,8,["modelValue"])]),_:1})]),_:1},8,["model","rules"])]),_:1}),i("div",he,[e(E,{onClick:x},{default:a(()=>[p("取消")]),_:1}),e(E,{type:"primary",loading:f.value,onClick:t[1]||(t[1]=_=>S(b.value))},{default:a(()=>[p(fe(f.value?"處理中...":"確認"),1)]),_:1},8,["loading"])])]),i("div",null,[e(R,{modelValue:r.value.show,"onUpdate:modelValue":t[2]||(t[2]=_=>r.value.show=_),title:"Tips","before-close":h},{default:a(()=>[r.value.show?(V(),F("div",Ee,[i("div",Ce,[e(C(pe),{class:"cropper",ref_key:"myCrop",ref:y,src:r.value.img,"stencil-props":{aspectRatio:r.value.ratio},"auto-zoom":!0},null,8,["src","stencil-props"])]),i("div",Ve,[e(E,{type:"primary",size:"small",text:"",onClick:h},{default:a(()=>[p("取消")]),_:1}),e(E,{type:"primary",size:"small",onClick:n},{default:a(()=>[p("剪裁")]),_:1})])])):ve("",!0)]),_:1},8,["modelValue"])])],64)}}},xe=me(ke,[["__scopeId","data-v-b14593e0"]]),De={class:"main"},Fe={class:"breadcrumb-section"},Be=i("a",{href:"/"},"供應商列表",-1),Ze={__name:"Index",setup(T){const k=ge({page:1,pageSize:10});we(k),s(0);const w=s(!1),m=s(!1),f=s([]);N(()=>{b()});const b=async()=>{w.value=!0;let n=await ue();n.code===200&&(f.value=n.data),w.value=!1},l=()=>{y.value=0,m.value=!0},B=n=>{y.value=n,m.value=!0},r=n=>{be.confirm("確認刪除此紀錄?").then(async()=>{(await de(n)).code===200?(g({message:"刪除成功.",type:"success"}),b()):g({message:"刪除失敗.",type:"error"})}).catch(()=>{})},y=s(0),I=n=>{m.value=!1,n&&b()};return(n,h)=>{const x=K,S=P,o=A,t=W,u=ae,d=M,v=z,D=Y,U=Z,O=ee,E=X,R=L,_=J;return V(),F(G,null,[i("div",De,[i("div",Fe,[i("div",null,[e(S,{separator:"/"},{default:a(()=>[e(x,null,{default:a(()=>[p(" 首頁 ")]),_:1}),e(x,null,{default:a(()=>[Be]),_:1})]),_:1})]),i("div",null,[e(o,{type:"primary",icon:C($),onClick:l},{default:a(()=>[p(" 新增供應商 ")]),_:1},8,["icon"])])]),e(R,{"body-style":{padding:"0px"}},{default:a(()=>[e(E,{data:f.value,style:{width:"100%"}},{default:a(()=>[e(t,{prop:"id",label:"#",width:"50"}),e(t,{label:"供應商LOGO"},{default:a(c=>[e(u,{style:{width:"150px",height:"80px"},src:c.row.imageurl,fit:"cover"},null,8,["src"])]),_:1}),e(t,{prop:"name",label:"供應商名稱"}),e(t,{prop:"sort",label:"排序",width:"80"},{default:a(c=>[e(d,{modelValue:c.row.sort_order,"onUpdate:modelValue":j=>c.row.sort_order=j,style:{width:"40px"}},null,8,["modelValue","onUpdate:modelValue"])]),_:1}),e(t,{label:"操作",width:"105",fixed:"right"},{default:a(c=>[e(O,null,{dropdown:a(()=>[e(U,null,{default:a(()=>[e(D,{icon:C(q),onClick:j=>B(c.row.id)},{default:a(()=>[p("修改")]),_:2},1032,["icon","onClick"]),e(D,{icon:C(Q),onClick:j=>r(c.row.id)},{default:a(()=>[p("刪除")]),_:2},1032,["icon","onClick"])]),_:2},1024)]),default:a(()=>[e(o,{type:"danger"},{default:a(()=>[p(" 操作"),e(v,{class:"el-icon--right"},{default:a(()=>[e(C(H))]),_:1})]),_:1})]),_:2},1024)]),_:1})]),_:1},8,["data"])]),_:1})]),i("div",null,[e(_,{ref:"drawerRef",modelValue:m.value,"onUpdate:modelValue":h[0]||(h[0]=c=>m.value=c),"destroy-on-close":!0,title:"首頁輪撥",direction:"rtl",size:"50%"},{default:a(()=>[e(xe,{editid:y.value,onClose:I},null,8,["editid"])]),_:1},8,["modelValue"])])],64)}}};export{Ze as default}; diff --git a/app/public/admin/assets/Index-8b9e690e.js b/app/public/admin/assets/Index-8b9e690e.js new file mode 100644 index 0000000..8dcceec --- /dev/null +++ b/app/public/admin/assets/Index-8b9e690e.js @@ -0,0 +1 @@ +import{p as M,E as S,B as G,C as Q,A as H,b as J}from"./el-button-46177dcd.js";import{E as K}from"./el-drawer-02c97c36.js";import{E as b}from"./el-message-606f6f33.js";import{E as L,a as W,b as X}from"./el-breadcrumb-item-c6d267fc.js";import{E as Y,a as Z}from"./el-tag-6812ee36.js";import"./el-scrollbar-d5ea4c53.js";import{E as ee,a as ae,b as le}from"./el-dropdown-item-98b90066.js";import{E as O}from"./el-input-2a068f59.js";import{E as oe}from"./el-image-viewer-59f7d0f4.js";import{E as te}from"./el-dialog-fc2b58cd.js";import{E as se,a as ne}from"./el-form-item-879dedb6.js";import{E as re}from"./el-progress-1ff82264.js";import{a as D,u as ue}from"./request-3180202a.js";import{f as de}from"./style-08aad7ab.js";import{_ as ie}from"./_plugin-vue_export-helper-c27b6911.js";import{q as u,z as q,o as y,f as k,M as p,Q as e,w as a,c as N,a as w,N as _,O as ce,V as pe,F as P,v as me,a3 as _e}from"./index-b8bd6c45.js";import"./el-message-box-1764db92.js";import{E as fe}from"./index-bcdc2cd6.js";import"./index-ec296065.js";import"./castArray-edcf4c72.js";import"./aria-bc8e8b0f.js";import"./validator-33a7a7f5.js";const ve=async()=>D("/index/getBannerList","GET"),ge=async m=>D("/index/getBanner","GET",{id:m}),ye=async m=>D("/index/deleteBanner","GET",{id:m}),be=async m=>D("/index/updateBanner","POST",m),we=async m=>D("/index/addBanner","POST",m);const he=["src"],Ee=["src"],xe={class:"demo-drawer__footer",style:{"text-align":"right"}},Be={key:0,class:"cropper-section"},Ve={class:"crop-area"},Ce={class:"crop-btn"},ke={__name:"Form",props:{editid:{type:Number,default:0}},emits:["close"],setup(m,{emit:F}){const h=m,f=u("insert"),g=u(!1),E=u(null),t=u({id:0});q(async()=>{if(h.editid){let o=await ge(h.editid);o.code===200&&(t.value=o.data,f.value="update")}});const U=u({imageurl1:[{required:!0,message:"電腦版背景圖必填",trigger:"blur"}],imageurl2:[{required:!0,message:"手機版背景圖必填",trigger:"blur"}]}),s=u({show:!1,img:null,ratio:2}),x=u(null),T=(o,l)=>o.type!=="image/jpeg"&&o.type!=="image/png"&&o.type!=="image/jpg"?(b.error("圖片格式只能是jpeg/png/jpg!"),!1):(s.value.show=!0,s.value.img=URL.createObjectURL(o),l===1?(s.value.type=1,s.value.ratio=2):(s.value.type=2,s.value.ratio=.5),!1),d=()=>{const{canvas:o}=x.value.getResult();if(o){const l=new FormData;o.toBlob(async i=>{let n=new File([i],"image.jpg");l.append("fileType","IMAGE"),l.append("file",n),s.value.show=!1,g.value=!0;let v=await ue("/index/uploadBannerImage",l);v.code===200?(s.value.type===1?t.value.imageurl1=v.data:t.value.imageurl2=v.data,b.success("上傳成功")):b.error("上傳失敗"),g.value=!1},"image/jpeg")}},B=()=>{s.value.show=!1},I=()=>{F("close",!1)},j=o=>{o&&o.validate(async l=>{if(l){let i,n;f.value==="update"?(t.value.id=h.editid,i=await be(t.value),n="修改成功."):(i=await we(t.value),n="新增成功."),i.code===200&&(b({message:n,type:"success"}),F("close",!0))}else return b({message:"操作失敗.",type:"error"}),!1})};return(o,l)=>{const i=O,n=se,v=S,C=re,R=ne,A=L,V=G,$=te;return y(),k(P,null,[p("div",null,[e(A,null,{default:a(()=>[e(R,{ref_key:"formRef",ref:E,model:t.value,"status-icon":"",rules:U.value,"label-width":"120px"},{default:a(()=>[e(n,{label:"標語"},{default:a(()=>[e(i,{modelValue:t.value.slogon,"onUpdate:modelValue":l[0]||(l[0]=r=>t.value.slogon=r)},null,8,["modelValue"])]),_:1}),e(n,{label:"描述"},{default:a(()=>[e(i,{modelValue:t.value.describe,"onUpdate:modelValue":l[1]||(l[1]=r=>t.value.describe=r)},null,8,["modelValue"])]),_:1}),e(n,{label:"電腦版背景圖",prop:"imageurl1"},{default:a(()=>[e(C,{class:"avatar-uploader",action:"#",accept:"image/*","show-file-list":!1,"auto-upload":!0,"on-success":o.handleAvatarSuccess,"before-upload":r=>T(r,1)},{default:a(()=>[t.value.imageurl1?(y(),k("img",{key:0,src:"http://localhost:6060"+t.value.imageurl1,class:"avatar1",id:"imageurl1"},null,8,he)):(y(),N(v,{key:1,class:"avatar-uploader-icon1"},{default:a(()=>[e(w(M))]),_:1}))]),_:1},8,["on-success","before-upload"])]),_:1}),e(n,{label:"手機版背景圖",prop:"imageurl2"},{default:a(()=>[e(C,{class:"avatar-uploader",action:"#",accept:"image/*","show-file-list":!1,"auto-upload":!0,"on-success":o.handleAvatarSuccess,"before-upload":r=>T(r,2)},{default:a(()=>[t.value.imageurl2?(y(),k("img",{key:0,src:"http://localhost:6060"+t.value.imageurl2,class:"avatar2",id:"imageurl1"},null,8,Ee)):(y(),N(v,{key:1,class:"avatar-uploader-icon2"},{default:a(()=>[e(w(M))]),_:1}))]),_:1},8,["on-success","before-upload"])]),_:1})]),_:1},8,["model","rules"])]),_:1}),p("div",xe,[e(V,{onClick:I},{default:a(()=>[_("取消")]),_:1}),e(V,{type:"primary",loading:g.value,onClick:l[2]||(l[2]=r=>j(E.value))},{default:a(()=>[_(ce(g.value?"處理中...":"確認"),1)]),_:1},8,["loading"])])]),p("div",null,[e($,{modelValue:s.value.show,"onUpdate:modelValue":l[3]||(l[3]=r=>s.value.show=r),title:"Tips","before-close":B},{default:a(()=>[s.value.show?(y(),k("div",Be,[p("div",Ve,[e(w(de),{class:"cropper",ref_key:"myCrop",ref:x,src:s.value.img,"stencil-props":{aspectRatio:s.value.ratio},"auto-zoom":!0},null,8,["src","stencil-props"])]),p("div",Ce,[e(V,{type:"primary",size:"small",text:"",onClick:B},{default:a(()=>[_("取消")]),_:1}),e(V,{type:"primary",size:"small",onClick:d},{default:a(()=>[_("剪裁")]),_:1})])])):pe("",!0)]),_:1},8,["modelValue"])])],64)}}},De=ie(ke,[["__scopeId","data-v-b630865f"]]),Fe={class:"main"},Te={class:"breadcrumb-section"},Ie=p("a",{href:"/"},"首頁輪播列表",-1),ea={__name:"Index",setup(m){const F=me({page:1,pageSize:10});_e(F),u(0);const h=u(!1),f=u(!1),g=u([]);q(()=>{E()});const E=async()=>{h.value=!0;let d=await ve();d.code===200&&(g.value=d.data),h.value=!1},t=()=>{x.value=0,f.value=!0},U=d=>{x.value=d,f.value=!0},s=d=>{fe.confirm("確認刪除此紀錄?").then(async()=>{(await ye(d)).code===200?(b({message:"刪除成功.",type:"success"}),E()):b({message:"刪除失敗.",type:"error"})}).catch(()=>{})},x=u(0),T=d=>{f.value=!1,d&&E()};return(d,B)=>{const I=W,j=X,o=G,l=Y,i=oe,n=O,v=S,C=ee,R=ae,A=le,V=Z,$=L,r=K;return y(),k(P,null,[p("div",Fe,[p("div",Te,[p("div",null,[e(j,{separator:"/"},{default:a(()=>[e(I,null,{default:a(()=>[_(" 首頁 ")]),_:1}),e(I,null,{default:a(()=>[Ie]),_:1})]),_:1})]),p("div",null,[e(o,{type:"primary",icon:w(M),onClick:t},{default:a(()=>[_(" 新增輪播 ")]),_:1},8,["icon"])])]),e($,{"body-style":{padding:"0px"}},{default:a(()=>[e(V,{data:g.value,style:{width:"100%"}},{default:a(()=>[e(l,{prop:"id",label:"#",width:"50"}),e(l,{label:"電腦版背景"},{default:a(c=>[e(i,{style:{width:"100px",height:"50px"},src:c.row.imageurl1,fit:"cover"},null,8,["src"])]),_:1}),e(l,{label:"手機版背景"},{default:a(c=>[e(i,{style:{width:"50px",height:"100px"},src:c.row.imageurl2,fit:"cover"},null,8,["src"])]),_:1}),e(l,{prop:"slogon",label:"標題"}),e(l,{prop:"describe",label:"描述"}),e(l,{prop:"sort",label:"排序",width:"80"},{default:a(c=>[e(n,{modelValue:c.row.sort_order,"onUpdate:modelValue":z=>c.row.sort_order=z,style:{width:"40px"}},null,8,["modelValue","onUpdate:modelValue"])]),_:1}),e(l,{label:"其他項目",width:"105",fixed:"right"},{default:a(c=>[e(A,null,{dropdown:a(()=>[e(R,null,{default:a(()=>[e(C,{icon:w(Q),onClick:z=>U(c.row.id)},{default:a(()=>[_("修改")]),_:2},1032,["icon","onClick"]),e(C,{icon:w(H),onClick:z=>s(c.row.id)},{default:a(()=>[_("刪除")]),_:2},1032,["icon","onClick"])]),_:2},1024)]),default:a(()=>[e(o,{type:"danger"},{default:a(()=>[_(" 操作"),e(v,{class:"el-icon--right"},{default:a(()=>[e(w(J))]),_:1})]),_:1})]),_:2},1024)]),_:1})]),_:1},8,["data"])]),_:1})]),p("div",null,[e(r,{ref:"drawerRef",modelValue:f.value,"onUpdate:modelValue":B[0]||(B[0]=c=>f.value=c),"destroy-on-close":!0,title:"首頁輪撥",direction:"rtl",size:"50%"},{default:a(()=>[e(De,{editid:x.value,onClose:T},null,8,["editid"])]),_:1},8,["modelValue"])])],64)}}};export{ea as default}; diff --git a/app/public/admin/assets/Index-9793c007.js b/app/public/admin/assets/Index-9793c007.js new file mode 100644 index 0000000..786f79a --- /dev/null +++ b/app/public/admin/assets/Index-9793c007.js @@ -0,0 +1 @@ +import{B as $,p as N,C as U,A as M,b as P,E as R}from"./el-button-98327865.js";import{E as L}from"./el-drawer-1b116d0e.js";import{E as T}from"./el-message-01c953f1.js";import{a as S,b as q,E as z}from"./el-breadcrumb-item-c62d9403.js";import{E as j,a as G}from"./el-tag-f3a08928.js";import"./el-scrollbar-7a0c56b8.js";import{E as Q,a as W,b as H}from"./el-dropdown-item-16e508f0.js";import{E as J,a as K}from"./el-form-item-6a713521.js";import{E as X}from"./el-input-7c688efc.js";import{E as Y,a as Z}from"./el-select-b96ee322.js";import{q as i,z as A,x as ee,v as le,o as C,f as h,Q as e,w as l,F as I,W as oe,M as _,N as c,O as te,a as w,c as ae,V as ne}from"./index-7ade0fa6.js";import{a as se}from"./request-5a9b7645.js";import"./index-82e080df.js";import"./castArray-7f2a9c68.js";import"./strings-00472fe2.js";import"./validator-d3f529a0.js";const re={class:"demo-drawer__footer",style:{"text-align":"right"}},de={__name:"Form",props:{editid:{type:Number,default:0}},emits:["close"],setup(F,{emit:f}){const d=F,v=i("insert"),b=i(!1),m=i(null),n=i({id:0}),V=[{value:"Option1",label:"Option1"},{value:"Option2",label:"Option2"},{value:"Option3",label:"Option3"},{value:"Option4",label:"Option4"},{value:"Option5",label:"Option5"}];A(async()=>{if(console.log("props.editid",d.editid),d.editid){let o=await getAminUser(d.editid);console.log("res",o),o.code===200&&(n.value=o.data,v.value="update")}}),ee(()=>d.editid,o=>{console.log("nVal",o)},{immediate:!0});const g=le({username:[{required:!0,message:"管理員帳號必填",trigger:"blur"}],password:[{validator:(o,t,a)=>{if(n.cfm_password!==""){if(!m.value)return;m.value.validateField("cfm_password",()=>null)}a()},trigger:"blur"}],cfm_password:[{validator:(o,t,a)=>{console.log("value",t),t&&t!==n.value.password?a(new Error("二個密碼不一致!")):a()},trigger:"blur"}]}),k=()=>{console.log("cancel!"),f("close",!1)},E=o=>{o&&o.validate(async t=>{if(console.log("valid",t),t){let a,u;console.log("formType",v.value),v.value==="update"?(n.value.id=d.editid,a=await updateAdminUser(n.value),u="修改成功."):(a=await addAdminUser(n.value),u="新增成功."),a.code===200&&(T({message:u,type:"success"}),f("close",!0))}else return T({message:"操作失敗.",type:"error"}),!1})};return(o,t)=>{const a=X,u=J,x=Y,O=Z,D=K,y=$;return C(),h("div",null,[e(D,{ref_key:"formRef",ref:m,model:n.value,"status-icon":"",rules:g,"label-width":"120px"},{default:l(()=>[e(u,{label:"分類名稱",prop:"name"},{default:l(()=>[e(a,{modelValue:n.value.name,"onUpdate:modelValue":t[0]||(t[0]=s=>n.value.name=s),rows:4,type:"textarea"},null,8,["modelValue"])]),_:1}),e(u,{label:"上級分類"},{default:l(()=>[e(O,{modelValue:n.value.parent_id,"onUpdate:modelValue":t[1]||(t[1]=s=>n.value.parent_id=s),class:"m-2",placeholder:"Select"},{default:l(()=>[(C(),h(I,null,oe(V,s=>e(x,{key:s.value,label:s.label,value:s.value},null,8,["label","value"])),64))]),_:1},8,["modelValue"])]),_:1})]),_:1},8,["model","rules"]),_("div",re,[e(y,{onClick:k},{default:l(()=>[c("取消")]),_:1}),e(y,{type:"primary",loading:b.value,onClick:t[2]||(t[2]=s=>E(m.value))},{default:l(()=>[c(te(b.value?"提交中 ...":"確認"),1)]),_:1},8,["loading"])])])}}},ie=async()=>se("/cate/getCateList","GET"),ue={class:"main"},ce={class:"breadcrumb-section"},me=_("a",{href:"/"},"產品類別",-1),Fe={__name:"Index",setup(F){const f=i([]);i("");const d=i(!1);i(!1),A(()=>{v()});const v=async()=>{let r=await ie();r.code===200&&(f.value=r.data)},b=r=>{console.log(r),f.value.splice(r,1)},m=i(0),n=()=>{m.value=0,d.value=!0},V=r=>{d.value=!1,r&&v()};return(r,p)=>{const g=S,k=q,E=$,o=j,t=R,a=Q,u=W,x=H,O=G,D=z,y=L;return C(),h(I,null,[_("div",ue,[_("div",ce,[_("div",null,[e(k,{separator:"/"},{default:l(()=>[e(g,null,{default:l(()=>[c(" 經銷系統 ")]),_:1}),e(g,null,{default:l(()=>[me]),_:1})]),_:1})]),_("div",null,[e(E,{type:"primary",icon:w(N),onClick:n},{default:l(()=>[c("新增產品類別")]),_:1},8,["icon"])])]),e(D,{"body-style":{padding:"0px"}},{default:l(()=>[e(O,{data:f.value,style:{width:"100%"},"row-key":"id","default-expand-all":""},{default:l(()=>[e(o,{prop:"name",label:"類別名稱"}),e(o,{prop:"num",label:"產品數"}),e(o,{prop:"sort_order",label:"排序",width:"80"}),e(o,{label:"其他項目",width:"105",fixed:"right"},{default:l(s=>[e(x,null,{dropdown:l(()=>[e(u,null,{default:l(()=>[s.row.parent_id===0?(C(),ae(a,{key:0,icon:w(N),onClick:p[0]||(p[0]=B=>r.showAddNewsDrawer=!0)},{default:l(()=>[c("新增下層分類")]),_:1},8,["icon"])):ne("",!0),e(a,{icon:w(U),onClick:p[1]||(p[1]=B=>r.showEditNewsDrawer=!0)},{default:l(()=>[c("修改分類")]),_:1},8,["icon"]),e(a,{icon:w(M),onClick:B=>b(s.$index)},{default:l(()=>[c("刪除分類")]),_:2},1032,["icon","onClick"])]),_:2},1024)]),default:l(()=>[e(E,{type:"danger"},{default:l(()=>[c(" 操作"),e(t,{class:"el-icon--right"},{default:l(()=>[e(w(P))]),_:1})]),_:1})]),_:2},1024)]),_:1})]),_:1},8,["data"])]),_:1})]),_("div",null,[e(y,{ref:"drawerRef",modelValue:d.value,"onUpdate:modelValue":p[2]||(p[2]=s=>d.value=s),"destroy-on-close":!0,title:"新增管理員",direction:"rtl",size:"50%"},{default:l(()=>[e(de,{editid:m.value,onClose:V},null,8,["editid"])]),_:1},8,["modelValue"])])],64)}}};export{Fe as default}; diff --git a/app/public/admin/assets/Index-aa6822a3.css b/app/public/admin/assets/Index-aa6822a3.css new file mode 100644 index 0000000..4686f93 --- /dev/null +++ b/app/public/admin/assets/Index-aa6822a3.css @@ -0,0 +1 @@ +.avatar-uploader .avatar[data-v-e9bfc185]{width:150px;height:80px;display:block}[data-v-e9bfc185] .avatar-uploader .el-upload{border:1px dashed var(--el-border-color);border-radius:6px;cursor:pointer;position:relative;overflow:hidden;transition:var(--el-transition-duration-fast)}.avatar-uploader .el-upload[data-v-e9bfc185]:hover{border-color:var(--el-color-primary)}.el-icon.avatar-uploader-icon[data-v-e9bfc185]{font-size:28px;color:#8c939d;width:178px;height:89px;text-align:center}[data-v-e9bfc185] .el-dialog{width:40%!important}.crop-btn[data-v-e9bfc185]{text-align:right;margin-top:10px} diff --git a/app/public/admin/assets/Index-bead79bb.css b/app/public/admin/assets/Index-bead79bb.css new file mode 100644 index 0000000..13035a7 --- /dev/null +++ b/app/public/admin/assets/Index-bead79bb.css @@ -0,0 +1 @@ +.avatar-uploader .avatar[data-v-0c2531e5]{width:150px;height:80px;display:block}[data-v-0c2531e5] .avatar-uploader .el-upload{border:1px dashed var(--el-border-color);border-radius:6px;cursor:pointer;position:relative;overflow:hidden;transition:var(--el-transition-duration-fast)}.avatar-uploader .el-upload[data-v-0c2531e5]:hover{border-color:var(--el-color-primary)}.el-icon.avatar-uploader-icon[data-v-0c2531e5]{font-size:28px;color:#8c939d;width:178px;height:89px;text-align:center}[data-v-0c2531e5] .el-dialog{width:40%!important}.crop-btn[data-v-0c2531e5]{text-align:right;margin-top:10px} diff --git a/app/public/admin/assets/Index-c1b30cf0.css b/app/public/admin/assets/Index-c1b30cf0.css new file mode 100644 index 0000000..a70ca0e --- /dev/null +++ b/app/public/admin/assets/Index-c1b30cf0.css @@ -0,0 +1 @@ +.card-footer[data-v-9cb8691f]{background-color:#f5f7fa;border-top:1px solid #ebeef5;padding:10px;text-align:right}[data-v-9cb8691f] .ck-editor__editable_inline{height:400px} diff --git a/app/public/admin/assets/Index-ce71f781.js b/app/public/admin/assets/Index-ce71f781.js new file mode 100644 index 0000000..ef95698 --- /dev/null +++ b/app/public/admin/assets/Index-ce71f781.js @@ -0,0 +1 @@ +import{p as $,E as z,B as A,C as q,A as Q,b as H}from"./el-button-98327865.js";import{E as J}from"./el-drawer-1b116d0e.js";import{E as g}from"./el-message-01c953f1.js";import{E as L,a as K,b as P}from"./el-breadcrumb-item-c62d9403.js";import{E as W,a as X}from"./el-tag-f3a08928.js";import"./el-scrollbar-7a0c56b8.js";import{E as Y,a as Z,b as ee}from"./el-dropdown-item-16e508f0.js";import{E as M}from"./el-input-7c688efc.js";import{E as ae}from"./el-image-viewer-048d9c29.js";import{E as oe}from"./el-dialog-b09332e2.js";import{E as te,a as le}from"./el-form-item-6a713521.js";import{E as se}from"./el-progress-37539b38.js";import{g as re,u as ne,a as ie,b as ue,d as de}from"./supplier-4686e802.js";import{u as ce}from"./request-5a9b7645.js";import{f as pe}from"./style-b9d5d7ae.js";import{_ as me}from"./_plugin-vue_export-helper-c27b6911.js";import{q as s,z as N,o as V,f as F,M as i,Q as e,w as a,c as _e,a as C,N as p,O as fe,V as ve,F as G,v as ge,a3 as we}from"./index-7ade0fa6.js";import"./el-message-box-35f36743.js";import{E as be}from"./index-ff1306d3.js";import"./index-82e080df.js";import"./castArray-7f2a9c68.js";import"./aria-bc8e8b0f.js";import"./validator-d3f529a0.js";const ye=["src"],he={class:"demo-drawer__footer",style:{"text-align":"right"}},Ee={key:0,class:"cropper-section"},Ce={class:"crop-area"},Ve={class:"crop-btn"},ke={__name:"Form",props:{editid:{type:Number,default:0}},emits:["close"],setup(T,{emit:k}){const w=T,m=s("insert"),f=s(!1),b=s(null),l=s({id:0});N(async()=>{if(w.editid){let o=await re(w.editid);o.code===200&&(l.value=o.data,m.value="update")}});const B=s({imageurl:[{required:!0,message:"供應商LOGO必需要有",trigger:"blur"}],name:[{required:!0,message:"供應商名稱必填",trigger:"blur"}]}),r=s({show:!1,img:null,ratio:1.875}),y=s(null),I=o=>o.type!=="image/jpeg"&&o.type!=="image/png"&&o.type!=="image/jpg"?(g.error("圖片格式只能是jpeg/png/jpg!"),!1):(r.value.show=!0,r.value.img=URL.createObjectURL(o),!1),n=()=>{const{canvas:o}=y.value.getResult();if(o){const t=new FormData;o.toBlob(async u=>{let d=new File([u],"image.jpg");t.append("fileType","IMAGE"),t.append("file",d),r.value.show=!1,f.value=!0;let v=await ce("/supplier/uploadSupplierImage",t);v.code===200?(l.value.imageurl=v.data,g.success("上傳成功")):g.error("上傳失敗"),f.value=!1},"image/jpeg")}},h=()=>{r.value.show=!1},x=()=>{k("close",!1)},S=o=>{o&&o.validate(async t=>{if(t){let u,d;m.value==="update"?(l.value.id=w.editid,u=await ne(l.value),d="修改成功."):(u=await ie(l.value),d="新增成功."),u.code===200&&(g({message:d,type:"success"}),k("close",!0))}else return g({message:"操作失敗.",type:"error"}),!1})};return(o,t)=>{const u=z,d=se,v=te,D=M,U=le,O=L,E=A,R=oe;return V(),F(G,null,[i("div",null,[e(O,null,{default:a(()=>[e(U,{ref_key:"formRef",ref:b,model:l.value,"status-icon":"",rules:B.value,"label-width":"120px"},{default:a(()=>[e(v,{label:"供應商LOGO",prop:"imageurl"},{default:a(()=>[e(d,{class:"avatar-uploader",action:"#",accept:"image/*","show-file-list":!1,"auto-upload":!0,"on-success":o.handleAvatarSuccess,"before-upload":_=>I(_)},{default:a(()=>[l.value.imageurl?(V(),F("img",{key:0,src:"http://localhost:6060"+l.value.imageurl,class:"avatar",id:"imageurl"},null,8,ye)):(V(),_e(u,{key:1,class:"avatar-uploader-icon"},{default:a(()=>[e(C($))]),_:1}))]),_:1},8,["on-success","before-upload"])]),_:1}),e(v,{label:"供應商名稱",prop:"name"},{default:a(()=>[e(D,{modelValue:l.value.name,"onUpdate:modelValue":t[0]||(t[0]=_=>l.value.name=_)},null,8,["modelValue"])]),_:1})]),_:1},8,["model","rules"])]),_:1}),i("div",he,[e(E,{onClick:x},{default:a(()=>[p("取消")]),_:1}),e(E,{type:"primary",loading:f.value,onClick:t[1]||(t[1]=_=>S(b.value))},{default:a(()=>[p(fe(f.value?"處理中...":"確認"),1)]),_:1},8,["loading"])])]),i("div",null,[e(R,{modelValue:r.value.show,"onUpdate:modelValue":t[2]||(t[2]=_=>r.value.show=_),title:"Tips","before-close":h},{default:a(()=>[r.value.show?(V(),F("div",Ee,[i("div",Ce,[e(C(pe),{class:"cropper",ref_key:"myCrop",ref:y,src:r.value.img,"stencil-props":{aspectRatio:r.value.ratio},"auto-zoom":!0},null,8,["src","stencil-props"])]),i("div",Ve,[e(E,{type:"primary",size:"small",text:"",onClick:h},{default:a(()=>[p("取消")]),_:1}),e(E,{type:"primary",size:"small",onClick:n},{default:a(()=>[p("剪裁")]),_:1})])])):ve("",!0)]),_:1},8,["modelValue"])])],64)}}},xe=me(ke,[["__scopeId","data-v-b14593e0"]]),De={class:"main"},Fe={class:"breadcrumb-section"},Be=i("a",{href:"/"},"供應商列表",-1),Ze={__name:"Index",setup(T){const k=ge({page:1,pageSize:10});we(k),s(0);const w=s(!1),m=s(!1),f=s([]);N(()=>{b()});const b=async()=>{w.value=!0;let n=await ue();n.code===200&&(f.value=n.data),w.value=!1},l=()=>{y.value=0,m.value=!0},B=n=>{y.value=n,m.value=!0},r=n=>{be.confirm("確認刪除此紀錄?").then(async()=>{(await de(n)).code===200?(g({message:"刪除成功.",type:"success"}),b()):g({message:"刪除失敗.",type:"error"})}).catch(()=>{})},y=s(0),I=n=>{m.value=!1,n&&b()};return(n,h)=>{const x=K,S=P,o=A,t=W,u=ae,d=M,v=z,D=Y,U=Z,O=ee,E=X,R=L,_=J;return V(),F(G,null,[i("div",De,[i("div",Fe,[i("div",null,[e(S,{separator:"/"},{default:a(()=>[e(x,null,{default:a(()=>[p(" 首頁 ")]),_:1}),e(x,null,{default:a(()=>[Be]),_:1})]),_:1})]),i("div",null,[e(o,{type:"primary",icon:C($),onClick:l},{default:a(()=>[p(" 新增供應商 ")]),_:1},8,["icon"])])]),e(R,{"body-style":{padding:"0px"}},{default:a(()=>[e(E,{data:f.value,style:{width:"100%"}},{default:a(()=>[e(t,{prop:"id",label:"#",width:"50"}),e(t,{label:"供應商LOGO"},{default:a(c=>[e(u,{style:{width:"150px",height:"80px"},src:c.row.imageurl,fit:"cover"},null,8,["src"])]),_:1}),e(t,{prop:"name",label:"供應商名稱"}),e(t,{prop:"sort",label:"排序",width:"80"},{default:a(c=>[e(d,{modelValue:c.row.sort_order,"onUpdate:modelValue":j=>c.row.sort_order=j,style:{width:"40px"}},null,8,["modelValue","onUpdate:modelValue"])]),_:1}),e(t,{label:"操作",width:"105",fixed:"right"},{default:a(c=>[e(O,null,{dropdown:a(()=>[e(U,null,{default:a(()=>[e(D,{icon:C(q),onClick:j=>B(c.row.id)},{default:a(()=>[p("修改")]),_:2},1032,["icon","onClick"]),e(D,{icon:C(Q),onClick:j=>r(c.row.id)},{default:a(()=>[p("刪除")]),_:2},1032,["icon","onClick"])]),_:2},1024)]),default:a(()=>[e(o,{type:"danger"},{default:a(()=>[p(" 操作"),e(v,{class:"el-icon--right"},{default:a(()=>[e(C(H))]),_:1})]),_:1})]),_:2},1024)]),_:1})]),_:1},8,["data"])]),_:1})]),i("div",null,[e(_,{ref:"drawerRef",modelValue:m.value,"onUpdate:modelValue":h[0]||(h[0]=c=>m.value=c),"destroy-on-close":!0,title:"首頁輪撥",direction:"rtl",size:"50%"},{default:a(()=>[e(xe,{editid:y.value,onClose:I},null,8,["editid"])]),_:1},8,["modelValue"])])],64)}}};export{Ze as default}; diff --git a/app/public/admin/assets/Index-ce90eda5.js b/app/public/admin/assets/Index-ce90eda5.js new file mode 100644 index 0000000..2e7b45b --- /dev/null +++ b/app/public/admin/assets/Index-ce90eda5.js @@ -0,0 +1 @@ +import{B as $,p as N,C as U,A as M,b as P,E as R}from"./el-button-46177dcd.js";import{E as L}from"./el-drawer-02c97c36.js";import{E as T}from"./el-message-606f6f33.js";import{a as S,b as q,E as z}from"./el-breadcrumb-item-c6d267fc.js";import{E as j,a as G}from"./el-tag-6812ee36.js";import"./el-scrollbar-d5ea4c53.js";import{E as Q,a as W,b as H}from"./el-dropdown-item-98b90066.js";import{E as J,a as K}from"./el-form-item-879dedb6.js";import{E as X}from"./el-input-2a068f59.js";import{E as Y,a as Z}from"./el-select-aff362a8.js";import{q as i,z as A,x as ee,v as le,o as C,f as h,Q as e,w as l,F as I,W as oe,M as _,N as c,O as te,a as w,c as ae,V as ne}from"./index-b8bd6c45.js";import{a as se}from"./request-3180202a.js";import"./index-ec296065.js";import"./castArray-edcf4c72.js";import"./strings-6a1386cb.js";import"./validator-33a7a7f5.js";const re={class:"demo-drawer__footer",style:{"text-align":"right"}},de={__name:"Form",props:{editid:{type:Number,default:0}},emits:["close"],setup(F,{emit:f}){const d=F,v=i("insert"),b=i(!1),m=i(null),n=i({id:0}),V=[{value:"Option1",label:"Option1"},{value:"Option2",label:"Option2"},{value:"Option3",label:"Option3"},{value:"Option4",label:"Option4"},{value:"Option5",label:"Option5"}];A(async()=>{if(console.log("props.editid",d.editid),d.editid){let o=await getAminUser(d.editid);console.log("res",o),o.code===200&&(n.value=o.data,v.value="update")}}),ee(()=>d.editid,o=>{console.log("nVal",o)},{immediate:!0});const g=le({username:[{required:!0,message:"管理員帳號必填",trigger:"blur"}],password:[{validator:(o,t,a)=>{if(n.cfm_password!==""){if(!m.value)return;m.value.validateField("cfm_password",()=>null)}a()},trigger:"blur"}],cfm_password:[{validator:(o,t,a)=>{console.log("value",t),t&&t!==n.value.password?a(new Error("二個密碼不一致!")):a()},trigger:"blur"}]}),k=()=>{console.log("cancel!"),f("close",!1)},E=o=>{o&&o.validate(async t=>{if(console.log("valid",t),t){let a,u;console.log("formType",v.value),v.value==="update"?(n.value.id=d.editid,a=await updateAdminUser(n.value),u="修改成功."):(a=await addAdminUser(n.value),u="新增成功."),a.code===200&&(T({message:u,type:"success"}),f("close",!0))}else return T({message:"操作失敗.",type:"error"}),!1})};return(o,t)=>{const a=X,u=J,x=Y,O=Z,D=K,y=$;return C(),h("div",null,[e(D,{ref_key:"formRef",ref:m,model:n.value,"status-icon":"",rules:g,"label-width":"120px"},{default:l(()=>[e(u,{label:"分類名稱",prop:"name"},{default:l(()=>[e(a,{modelValue:n.value.name,"onUpdate:modelValue":t[0]||(t[0]=s=>n.value.name=s),rows:4,type:"textarea"},null,8,["modelValue"])]),_:1}),e(u,{label:"上級分類"},{default:l(()=>[e(O,{modelValue:n.value.parent_id,"onUpdate:modelValue":t[1]||(t[1]=s=>n.value.parent_id=s),class:"m-2",placeholder:"Select"},{default:l(()=>[(C(),h(I,null,oe(V,s=>e(x,{key:s.value,label:s.label,value:s.value},null,8,["label","value"])),64))]),_:1},8,["modelValue"])]),_:1})]),_:1},8,["model","rules"]),_("div",re,[e(y,{onClick:k},{default:l(()=>[c("取消")]),_:1}),e(y,{type:"primary",loading:b.value,onClick:t[2]||(t[2]=s=>E(m.value))},{default:l(()=>[c(te(b.value?"提交中 ...":"確認"),1)]),_:1},8,["loading"])])])}}},ie=async()=>se("/cate/getCateList","GET"),ue={class:"main"},ce={class:"breadcrumb-section"},me=_("a",{href:"/"},"產品類別",-1),Fe={__name:"Index",setup(F){const f=i([]);i("");const d=i(!1);i(!1),A(()=>{v()});const v=async()=>{let r=await ie();r.code===200&&(f.value=r.data)},b=r=>{console.log(r),f.value.splice(r,1)},m=i(0),n=()=>{m.value=0,d.value=!0},V=r=>{d.value=!1,r&&v()};return(r,p)=>{const g=S,k=q,E=$,o=j,t=R,a=Q,u=W,x=H,O=G,D=z,y=L;return C(),h(I,null,[_("div",ue,[_("div",ce,[_("div",null,[e(k,{separator:"/"},{default:l(()=>[e(g,null,{default:l(()=>[c(" 經銷系統 ")]),_:1}),e(g,null,{default:l(()=>[me]),_:1})]),_:1})]),_("div",null,[e(E,{type:"primary",icon:w(N),onClick:n},{default:l(()=>[c("新增產品類別")]),_:1},8,["icon"])])]),e(D,{"body-style":{padding:"0px"}},{default:l(()=>[e(O,{data:f.value,style:{width:"100%"},"row-key":"id","default-expand-all":""},{default:l(()=>[e(o,{prop:"name",label:"類別名稱"}),e(o,{prop:"num",label:"產品數"}),e(o,{prop:"sort_order",label:"排序",width:"80"}),e(o,{label:"其他項目",width:"105",fixed:"right"},{default:l(s=>[e(x,null,{dropdown:l(()=>[e(u,null,{default:l(()=>[s.row.parent_id===0?(C(),ae(a,{key:0,icon:w(N),onClick:p[0]||(p[0]=B=>r.showAddNewsDrawer=!0)},{default:l(()=>[c("新增下層分類")]),_:1},8,["icon"])):ne("",!0),e(a,{icon:w(U),onClick:p[1]||(p[1]=B=>r.showEditNewsDrawer=!0)},{default:l(()=>[c("修改分類")]),_:1},8,["icon"]),e(a,{icon:w(M),onClick:B=>b(s.$index)},{default:l(()=>[c("刪除分類")]),_:2},1032,["icon","onClick"])]),_:2},1024)]),default:l(()=>[e(E,{type:"danger"},{default:l(()=>[c(" 操作"),e(t,{class:"el-icon--right"},{default:l(()=>[e(w(P))]),_:1})]),_:1})]),_:2},1024)]),_:1})]),_:1},8,["data"])]),_:1})]),_("div",null,[e(y,{ref:"drawerRef",modelValue:d.value,"onUpdate:modelValue":p[2]||(p[2]=s=>d.value=s),"destroy-on-close":!0,title:"新增管理員",direction:"rtl",size:"50%"},{default:l(()=>[e(de,{editid:m.value,onClose:V},null,8,["editid"])]),_:1},8,["modelValue"])])],64)}}};export{Fe as default}; diff --git a/app/public/admin/assets/Index-d91fe019.css b/app/public/admin/assets/Index-d91fe019.css new file mode 100644 index 0000000..95ddcbc --- /dev/null +++ b/app/public/admin/assets/Index-d91fe019.css @@ -0,0 +1 @@ +.avatar-uploader .avatar[data-v-b14593e0]{width:150px;height:80px;display:block}[data-v-b14593e0] .avatar-uploader .el-upload{border:1px dashed var(--el-border-color);border-radius:6px;cursor:pointer;position:relative;overflow:hidden;transition:var(--el-transition-duration-fast)}.avatar-uploader .el-upload[data-v-b14593e0]:hover{border-color:var(--el-color-primary)}.el-icon.avatar-uploader-icon[data-v-b14593e0]{font-size:28px;color:#8c939d;width:178px;height:89px;text-align:center}[data-v-b14593e0] .el-dialog{width:40%!important}.crop-btn[data-v-b14593e0]{text-align:right;margin-top:10px} diff --git a/app/public/admin/assets/Index-e58bccb2.js b/app/public/admin/assets/Index-e58bccb2.js new file mode 100644 index 0000000..018b04c --- /dev/null +++ b/app/public/admin/assets/Index-e58bccb2.js @@ -0,0 +1 @@ +import{p as L,E as M,B as P,C as Y,A as Z,b as ee}from"./el-button-98327865.js";import{E as le}from"./el-drawer-1b116d0e.js";import{E as A}from"./el-message-01c953f1.js";import{E as q,a as j}from"./el-form-item-6a713521.js";import{E as G}from"./el-progress-37539b38.js";import{a as te,b as oe,E as ae}from"./el-breadcrumb-item-c62d9403.js";import{E as ne,a as se}from"./el-tag-f3a08928.js";import"./el-scrollbar-7a0c56b8.js";import{E as de,a as re,b as ie}from"./el-dropdown-item-16e508f0.js";import{E as O}from"./el-input-7c688efc.js";import{E as ue}from"./el-image-viewer-048d9c29.js";import{E as me}from"./el-dialog-b09332e2.js";import{g as pe,u as _e,a as ce,b as fe}from"./news-3e708e7d.js";import{u as ve}from"./request-5a9b7645.js";import{_ as Q}from"./_plugin-vue_export-helper-c27b6911.js";import{q as r,z as W,v as H,o as D,f as S,M as d,Q as e,w as l,a as I,N as u,O as J,F as T,a3 as we,W as ge,c as be,a5 as ye,a6 as Ee}from"./index-7ade0fa6.js";import"./el-message-box-35f36743.js";import"./index-82e080df.js";import"./castArray-7f2a9c68.js";const he={class:"demo-drawer__footer",style:{"text-align":"right"}},Ve=["src"],Ie={__name:"Form",props:{editid:{type:Number,default:0}},emits:["close"],setup(g,{emit:y}){const E=g,c=r("insert"),m=r(!1),f=r(null),i=r({id:0,title:"",content:""});W(async()=>{if(E.editid){let o=await pe(E.editid);o.code===200&&(i.value=o.data,c.value="update")}});const x=H({}),k=()=>{y("close",!1)},F=o=>{o&&o.validate(async a=>{if(a){let p,_;console.log("formType",c.value),c.value==="update"?(i.value.id=E.editid,p=await _e(i.value),_="修改成功."):(p=await ce(i.value),_="新增成功."),p.code===200&&(A({message:_,type:"success"}),y("close",!0))}else return A({message:"操作失敗.",type:"error"}),!1})},t=r([]),n=r(""),b=r(!1),N=async o=>{const a=new FormData;a.append("file",o.file),m.value=!0;let p=await ve("/activity/uploadImage",a);console.log("res",t.value),p.code===200||A.error("上傳失敗"),m.value=!1},w=(o,a)=>{console.log(o,a)},U=o=>{n.value=o.url,b.value=!0};return(o,a)=>{const p=O,_=q,$=M,B=G,R=j,h=P,C=me;return D(),S(T,null,[d("div",null,[e(R,{ref_key:"formRef",ref:f,model:i.value,"status-icon":"",rules:x,"label-width":"120px"},{default:l(()=>[e(_,{label:"標題",prop:"title"},{default:l(()=>[e(p,{modelValue:i.value.title,"onUpdate:modelValue":a[0]||(a[0]=v=>i.value.title=v)},null,8,["modelValue"])]),_:1}),e(_,{label:"活動照片",prop:"content"},{default:l(()=>[e(B,{"file-list":t.value,"onUpdate:fileList":a[1]||(a[1]=v=>t.value=v),action:"#","http-request":N,"list-type":"picture-card","on-preview":U,"on-remove":w},{default:l(()=>[e($,null,{default:l(()=>[e(I(L))]),_:1})]),_:1},8,["file-list"])]),_:1})]),_:1},8,["model","rules"]),d("div",he,[e(h,{onClick:k},{default:l(()=>[u("取消")]),_:1}),e(h,{type:"primary",loading:m.value,onClick:a[2]||(a[2]=v=>F(f.value))},{default:l(()=>[u(J(m.value?"提交中 ...":"確認"),1)]),_:1},8,["loading"])])]),e(C,{modelValue:b.value,"onUpdate:modelValue":a[3]||(a[3]=v=>b.value=v)},{default:l(()=>[d("img",{"w-full":"",src:n.value,alt:"Preview Image"},null,8,Ve)]),_:1},8,["modelValue"])],64)}}},ke=Q(Ie,[["__scopeId","data-v-03450bfa"]]);const K=g=>(ye("data-v-328578ec"),g=g(),Ee(),g),Ce={class:"main"},De={class:"breadcrumb-section"},xe=K(()=>d("a",{href:"/"},"產業動態",-1)),Fe={class:"imgGroup"},Ne=K(()=>d("small",{class:"el-upload__tip"}," ※ 請上傳500kb以內jpg檔案。",-1)),Ue={class:"demo-drawer__footer",style:{"text-align":"right"}},$e={__name:"Index",setup(g){const y=H({page:1,pageSize:10});we(y);const E=r(0),c=r(!1),m=r(!1),f=r([]);W(()=>{i()});const i=async()=>{c.value=!0;let t=await fe(y);t.code===200&&(f.value=t.data.list,E.value=t.data.total),c.value=!1},x=()=>{k.value=0,m.value=!0},k=r(0),F=t=>{m.value=!1,t&&i()};return(t,n)=>{const b=te,N=oe,w=P,U=ue,o=ne,a=O,p=M,_=de,$=re,B=ie,R=se,h=ae,C=q,v=G,X=j,z=le;return D(),S(T,null,[d("div",Ce,[d("div",De,[d("div",null,[e(N,{separator:"/"},{default:l(()=>[e(b,null,{default:l(()=>[u(" 經銷系統 ")]),_:1}),e(b,null,{default:l(()=>[xe]),_:1})]),_:1})]),d("div",null,[e(w,{type:"primary",icon:I(L),onClick:x},{default:l(()=>[u(" 新增動態 ")]),_:1},8,["icon"])])]),e(h,{"body-style":{padding:"0px"}},{default:l(()=>[e(R,{data:f.value,style:{width:"100%"}},{default:l(()=>[e(o,{type:"expand",label:"相簿",width:"80"},{default:l(s=>[d("div",Fe,[(D(!0),S(T,null,ge(f.value[s.$index].imgs,V=>(D(),be(U,{key:t.index,style:{width:"100px",height:"60px"},src:V,fit:"cover"},null,8,["src"]))),128))])]),_:1}),e(o,{prop:"id",label:"#",width:"50"}),e(o,{prop:"title",label:"標題"}),e(o,{prop:"date",label:"建立時間"}),e(o,{prop:"sort",label:"排序",width:"80"},{default:l(s=>[e(a,{modelValue:f.value[s.$index].sort,"onUpdate:modelValue":V=>f.value[s.$index].sort=V,style:{width:"40px"}},null,8,["modelValue","onUpdate:modelValue"])]),_:1}),e(o,{label:"其他項目",width:"105",fixed:"right"},{default:l(s=>[e(B,null,{dropdown:l(()=>[e($,null,{default:l(()=>[e(_,{icon:I(Y),onClick:n[0]||(n[0]=V=>t.showEditNewsDrawer=!0)},{default:l(()=>[u("修改")]),_:1},8,["icon"]),e(_,{icon:I(Z),onClick:V=>t.deleteRow(s.$index)},{default:l(()=>[u("刪除")]),_:2},1032,["icon","onClick"])]),_:2},1024)]),default:l(()=>[e(w,{type:"danger"},{default:l(()=>[u(" 操作"),e(p,{class:"el-icon--right"},{default:l(()=>[e(I(ee))]),_:1})]),_:1})]),_:2},1024)]),_:1})]),_:1},8,["data"])]),_:1})]),d("div",null,[e(z,{ref:"drawerRef",modelValue:t.showAddNewsDrawer,"onUpdate:modelValue":n[3]||(n[3]=s=>t.showAddNewsDrawer=s),title:"新增動態",direction:"rtl",size:"550"},{default:l(()=>[e(h,null,{default:l(()=>[e(X,{model:t.initform,"label-width":"120px"},{default:l(()=>[e(C,{label:"標題"},{default:l(()=>[e(a,{modelValue:t.initform.title,"onUpdate:modelValue":n[1]||(n[1]=s=>t.initform.title=s)},null,8,["modelValue"])]),_:1}),e(C,{label:"相簿上傳"},{default:l(()=>[e(v,{class:"upload-demo",action:"https://run.mocky.io/v3/9d059bf9-4660-45f2-925d-ce80ad6c4d15","on-preview":t.handlePreview,"on-remove":t.handleRemove,"list-type":"picture"},{tip:l(()=>[Ne]),default:l(()=>[e(w,{type:"primary"},{default:l(()=>[u("上傳圖片")]),_:1})]),_:1},8,["on-preview","on-remove"])]),_:1})]),_:1},8,["model"])]),_:1}),d("div",Ue,[e(w,{onClick:n[2]||(n[2]=s=>t.showAddNewsDrawer=!1)},{default:l(()=>[u("取消")]),_:1}),e(w,{type:"primary",loading:c.value,onClick:t.onClick},{default:l(()=>[u(J(c.value?"Submitting ...":"確認"),1)]),_:1},8,["loading","onClick"])])]),_:1},8,["modelValue"])]),d("div",null,[e(z,{ref:"drawerRef",modelValue:m.value,"onUpdate:modelValue":n[4]||(n[4]=s=>m.value=s),"destroy-on-close":!0,title:"新增管理員",direction:"rtl",size:"70%"},{default:l(()=>[e(ke,{editid:k.value,onClose:F},null,8,["editid"])]),_:1},8,["modelValue"])])],64)}}},Ye=Q($e,[["__scopeId","data-v-328578ec"]]);export{Ye as default}; diff --git a/app/public/admin/assets/Index-f5002646.js b/app/public/admin/assets/Index-f5002646.js new file mode 100644 index 0000000..8d7e1b9 --- /dev/null +++ b/app/public/admin/assets/Index-f5002646.js @@ -0,0 +1 @@ +import{B as x}from"./el-button-98327865.js";import{a as g,b as y,E as C}from"./el-breadcrumb-item-c62d9403.js";import{C as I}from"./ckeditor-328b34e2.js";import{g as B,u as E}from"./article-0bb8b752.js";import{_ as h}from"./_plugin-vue_export-helper-c27b6911.js";import{q as l,z as V,L as k,o as w,f as N,M as a,Q as e,w as t,N as _,a as S,a5 as A,a6 as M}from"./index-7ade0fa6.js";import"./request-5a9b7645.js";const q=s=>(A("data-v-529e7cd4"),s=s(),M(),s),z={class:"main"},F={class:"breadcrumb-section"},L=q(()=>a("a",{href:"/"},"公司簡介",-1)),Q={style:{padding:"10px"}},T={class:"card-footer"},U={__name:"Index",setup(s){const i=I,n=l(""),p=l({});V(async()=>{let o=await B(1);console.log("res",o),o.code===200&&(n.value=o.data.content)});const m=async()=>{(await E({id:1,content:n.value})).code===200&&console.log("更新成功")};return(o,d)=>{const c=g,u=y,f=k("ckeditor"),v=x,b=C;return w(),N("div",z,[a("div",F,[a("div",null,[e(u,{separator:"/"},{default:t(()=>[e(c,null,{default:t(()=>[_(" 經銷系統 ")]),_:1}),e(c,null,{default:t(()=>[L]),_:1})]),_:1})])]),e(b,{"body-style":{padding:"0px"}},{default:t(()=>[a("div",Q,[e(f,{editor:S(i),modelValue:n.value,"onUpdate:modelValue":d[0]||(d[0]=r=>n.value=r),config:p.value},null,8,["editor","modelValue","config"])]),a("div",T,[e(v,{type:"primary",onClick:d[1]||(d[1]=r=>m())},{default:t(()=>[_("確認")]),_:1})])]),_:1})])}}},O=h(U,[["__scopeId","data-v-529e7cd4"]]);export{O as default}; diff --git a/app/public/admin/assets/_plugin-vue_export-helper-c27b6911.js b/app/public/admin/assets/_plugin-vue_export-helper-c27b6911.js new file mode 100644 index 0000000..718edd3 --- /dev/null +++ b/app/public/admin/assets/_plugin-vue_export-helper-c27b6911.js @@ -0,0 +1 @@ +const s=(t,r)=>{const o=t.__vccOpts||t;for(const[c,e]of r)o[c]=e;return o};export{s as _}; diff --git a/app/public/admin/assets/adminuser-84775daa.js b/app/public/admin/assets/adminuser-84775daa.js new file mode 100644 index 0000000..99555c7 --- /dev/null +++ b/app/public/admin/assets/adminuser-84775daa.js @@ -0,0 +1 @@ +import{a as e}from"./request-3180202a.js";const a=async s=>e("/adminUser/getAdminUserList","POST",s),d=async s=>e("/adminUser/addAdminUser","POST",s),i=async s=>e("/adminUser/deleteAdminUser","GET",{id:s}),m=async s=>e("/adminUser/getAdminUser","GET",{id:s}),t=async s=>e("/adminUser/updateAdminUser","POST",s),r=async s=>e("/adminUser/getAdminLog","POST",s);export{d as a,a as b,r as c,i as d,m as g,t as u}; diff --git a/app/public/admin/assets/adminuser-a45b57f3.js b/app/public/admin/assets/adminuser-a45b57f3.js new file mode 100644 index 0000000..ca94fb4 --- /dev/null +++ b/app/public/admin/assets/adminuser-a45b57f3.js @@ -0,0 +1 @@ +import{a as e}from"./request-5a9b7645.js";const a=async s=>e("/adminUser/getAdminUserList","POST",s),d=async s=>e("/adminUser/addAdminUser","POST",s),i=async s=>e("/adminUser/deleteAdminUser","GET",{id:s}),m=async s=>e("/adminUser/getAdminUser","GET",{id:s}),t=async s=>e("/adminUser/updateAdminUser","POST",s),r=async s=>e("/adminUser/getAdminLog","POST",s);export{d as a,a as b,r as c,i as d,m as g,t as u}; diff --git a/app/public/admin/assets/aria-bc8e8b0f.js b/app/public/admin/assets/aria-bc8e8b0f.js new file mode 100644 index 0000000..f347704 --- /dev/null +++ b/app/public/admin/assets/aria-bc8e8b0f.js @@ -0,0 +1 @@ +const i='a[href],button:not([disabled]),button:not([hidden]),:not([tabindex="-1"]),input:not([disabled]),input:not([type="hidden"]),select:not([disabled]),textarea:not([disabled])',o=t=>getComputedStyle(t).position==="fixed"?!1:t.offsetParent!==null,u=t=>Array.from(t.querySelectorAll(i)).filter(e=>d(e)&&o(e)),d=t=>{if(t.tabIndex>0||t.tabIndex===0&&t.getAttribute("tabIndex")!==null)return!0;if(t.disabled)return!1;switch(t.nodeName){case"A":return!!t.href&&t.rel!=="ignore";case"INPUT":return!(t.type==="hidden"||t.type==="file");case"BUTTON":case"SELECT":case"TEXTAREA":return!0;default:return!1}},a=function(t,e,...r){let n;e.includes("mouse")||e.includes("click")?n="MouseEvents":e.includes("key")?n="KeyboardEvent":n="HTMLEvents";const s=document.createEvent(n);return s.initEvent(e,...r),t.dispatchEvent(s),t};export{u as o,a as t}; diff --git a/app/public/admin/assets/article-0bb8b752.js b/app/public/admin/assets/article-0bb8b752.js new file mode 100644 index 0000000..fc87ac6 --- /dev/null +++ b/app/public/admin/assets/article-0bb8b752.js @@ -0,0 +1 @@ +import{a}from"./request-5a9b7645.js";const c=async t=>a("/article/getArticle","GET",{id:t}),r=async t=>a("/article/updateArticle","POST",t);export{c as g,r as u}; diff --git a/app/public/admin/assets/article-5a407624.js b/app/public/admin/assets/article-5a407624.js new file mode 100644 index 0000000..80bf0cd --- /dev/null +++ b/app/public/admin/assets/article-5a407624.js @@ -0,0 +1 @@ +import{a}from"./request-3180202a.js";const c=async t=>a("/article/getArticle","GET",{id:t}),r=async t=>a("/article/updateArticle","POST",t);export{c as g,r as u}; diff --git a/app/public/admin/assets/castArray-7f2a9c68.js b/app/public/admin/assets/castArray-7f2a9c68.js new file mode 100644 index 0000000..6bc05b3 --- /dev/null +++ b/app/public/admin/assets/castArray-7f2a9c68.js @@ -0,0 +1 @@ +import{aV as a}from"./index-7ade0fa6.js";function e(){if(!arguments.length)return[];var r=arguments[0];return a(r)?r:[r]}export{e as c}; diff --git a/app/public/admin/assets/castArray-edcf4c72.js b/app/public/admin/assets/castArray-edcf4c72.js new file mode 100644 index 0000000..a6f1439 --- /dev/null +++ b/app/public/admin/assets/castArray-edcf4c72.js @@ -0,0 +1 @@ +import{aV as a}from"./index-b8bd6c45.js";function e(){if(!arguments.length)return[];var r=arguments[0];return a(r)?r:[r]}export{e as c}; diff --git a/app/public/admin/assets/ckeditor-328b34e2.js b/app/public/admin/assets/ckeditor-328b34e2.js new file mode 100644 index 0000000..bb791b0 --- /dev/null +++ b/app/public/admin/assets/ckeditor-328b34e2.js @@ -0,0 +1,7293 @@ +import{aa as Fi,ab as q3}from"./index-7ade0fa6.js";var Vi={exports:{}};Vi.exports;(function(pe,xe){(function(Un){const Ge=Un.zh=Un.zh||{};Ge.dictionary=Object.assign(Ge.dictionary||{},{"%0 of %1":"%0/%1",Accept:"接受","Align cell text to the bottom":"向下對齊","Align cell text to the center":"置中對齊","Align cell text to the left":"靠左對齊","Align cell text to the middle":"置中對齊","Align cell text to the right":"靠右對齊","Align cell text to the top":"向上對齊","Align table to the left":"靠左對齊","Align table to the right":"靠右對齊",Alignment:"對齊",Aquamarine:"淺綠色",Background:"背景顏色",Black:"黑色","Block quote":"段落引用",Blue:"藍色",Bold:"粗體",Border:"邊框","Break text":"上及下","Bulleted List":"符號清單","Bulleted list styles toolbar":"無序清單工具列",Cancel:"取消","Caption for image: %0":"影像標題:%0","Caption for the image":"影像的標題","Cell properties":"儲存格屬性","Center table":"置中對齊","Centered image":"置中圖片","Change image text alternative":"修改圖片的替代文字","Choose heading":"選取標題",Circle:"空心圓點",Clear:"清除","Click to edit block":"點擊來編輯區塊",Code:"代碼",Color:"文字顏色","Color picker":"顏色選擇",Column:"欄",Dashed:"虛線",Decimal:"數字","Decimal with leading zero":"0開頭的數字","Decrease indent":"減少縮排","Delete column":"刪除欄","Delete row":"刪除列","Dim grey":"淡灰色",Dimensions:"尺寸",Disc:"實心圓點",Dotted:"點線",Double:"雙線",Downloadable:"可下載","Drag to move":"拖曳來移動","Dropdown toolbar":"下拉選單","Edit block":"編輯區塊","Edit link":"編輯連結","Editor block content toolbar":"編輯器區塊內容工具列","Editor contextual toolbar":"編輯器關聯式工具列","Editor editing area: %0":"編輯器編輯區:%0","Editor toolbar":"編輯器工具","Enter image caption":"輸入圖片說明","Enter table caption":"輸入表標題","Full size image":"完整尺寸圖片",Green:"綠色",Grey:"灰色",Groove:"內凹線","Header column":"標題欄","Header row":"標題列",Heading:"標題","Heading 1":"標題 1","Heading 2":"標題 2","Heading 3":"標題 3","Heading 4":"標題 4","Heading 5":"標題 5","Heading 6":"標題 6",Height:"高度",HEX:"十六進位","Horizontal text alignment toolbar":"水平對齊","Image resize list":"圖片縮放清單","Image toolbar":"圖片工具","image widget":"圖片小工具","In line":"行中","Increase indent":"增加縮排",Insert:"插入","Insert column left":"插入左方欄","Insert column right":"插入右方欄","Insert image":"插入圖片","Insert image via URL":"使用連結插入圖片","Insert media":"插入影音","Insert paragraph after block":"在這個區塊後面插入一個段落","Insert paragraph before block":"在這個區塊前面插入一個段落","Insert row above":"插入上方列","Insert row below":"插入下方列","Insert table":"插入表格",Inset:"內邊線",Italic:"斜體","Justify cell text":"分散對齊","Left aligned image":"向左對齊圖片","Light blue":"亮藍色","Light green":"亮綠色","Light grey":"亮灰色",Link:"連結","Link image":"圖片連結","Link URL":"連結˙ URL","List properties":"清單屬性","Lower-latin":"小寫拉丁字母","Lower–roman":"小寫羅馬數字","Media toolbar":"影音工具","Media URL":"影音網址","media widget":"影音小工具","Merge cell down":"合併下方儲存格","Merge cell left":"合併左方儲存格","Merge cell right":"合併右方儲存格","Merge cell up":"合併上方儲存格","Merge cells":"合併儲存格",Next:"下一","No results found":"找不到結果","No searchable items":"沒有可搜尋的項目",None:"無","Numbered List":"有序清單","Numbered list styles toolbar":"有序清單工具列","Open in a new tab":"在新視窗開啟","Open link in new tab":"在新視窗開啟連結","Open media in new tab":"在新分頁打開媒體",Orange:"橘色",Original:"原始圖片",Outset:"外框線",Padding:"儲存格留白",Paragraph:"段落","Paste the media URL in the input.":"在輸入框貼上影音網址。","Press Enter to type after or press Shift + Enter to type before the widget":"按下 Enter 在小工具後輸入,或按下 Shift + Enter 在小工具前輸入",Previous:"上一",Purple:"紫色",Red:"紅色",Redo:"重做","Remove color":"移除顏色","Replace from computer":"從電腦替換","Replace image":"替換圖片","Replace image from computer":"從電腦替換圖片","Resize image":"縮放圖片","Resize image to %0":"縮放圖片到 %0","Resize image to the original size":"縮放圖片到原始尺寸","Restore default":"重設至預設值","Reversed order":"反轉順序","Rich Text Editor":"富文本編輯器",Ridge:"凸起線","Right aligned image":"向右對齊圖片",Row:"列",Save:"儲存","Select all":"選取全部","Select column":"選擇欄","Select row":"選擇列","Show more items":"顯示更多","Side image":"側邊圖片",Solid:"實線",Source:"原始碼","Split cell horizontally":"水平分割儲存格","Split cell vertically":"垂直分割儲存格",Square:"方形","Start at":"起始於","Start index must be greater than 0.":"起始索引須大於 0。",Strikethrough:"刪除線",Style:"樣式",Subscript:"下標",Superscript:"上標","Table alignment toolbar":"表格對齊","Table cell text alignment":"儲存格文字對齊","Table properties":"表格屬性","Table toolbar":"表格工具","Text alternative":"替代文字",'The color is invalid. Try "#FF0000" or "rgb(255,0,0)" or "red".':'顏色代碼錯誤。試試看 "#FF0000" 或 "rgb(255, 0, 0)" 或 "red"。',"The URL must not be empty.":"網址不能空白。",'The value is invalid. Try "10px" or "2em" or simply "2".':'尺寸代碼錯誤。試試看 "10px" 或 "2em" 或簡單寫 "2"。',"This link has no URL":"此連結沒有URL","This media URL is not supported.":"不支援此影音網址。","Tip: Paste the URL into the content to embed faster.":"提示:在內容貼上網址更快崁入。","To-do List":"代辦清單","Toggle caption off":"關閉表標題","Toggle caption on":"開啟表標題","Toggle the circle list style":"切換為空心圓點標示","Toggle the decimal list style":"切換為數字標示","Toggle the decimal with leading zero list style":"切換為0開頭的數字標示","Toggle the disc list style":"切換為實心圓點標示","Toggle the lower–latin list style":"切換為小寫拉丁文字標示","Toggle the lower–roman list style":"切換為小寫羅馬數字標示","Toggle the square list style":"切換為方形標示","Toggle the upper–latin list style":"切換為大寫拉丁文字標示","Toggle the upper–roman list style":"切換為大寫羅馬數字標示",Turquoise:"藍綠色","Type or paste your content here.":"在此輸入或貼上你的內容。","Type your title":"輸入你的標題",Underline:"底線",Undo:"取消",Unlink:"移除連結",Update:"更新","Update image URL":"更新圖片連結","Upload failed":"上傳失敗","Upload from computer":"從電腦上傳","Upload image from computer":"從電腦上傳圖片","Upload in progress":"正在上傳","Upper-latin":"大寫拉丁字母","Upper-roman":"大寫羅馬數字","Vertical text alignment toolbar":"垂直對齊",White:"白色","Widget toolbar":"小工具",Width:"寬度","Wrap text":"文繞圖",Yellow:"黃色"}),Ge.getPluralForm=function(L){return 0}})(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));/*! + * @license Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved. + * For licensing, see LICENSE.md. + */(function(Ge,L){pe.exports=L()})(self,()=>(()=>{var Un={8168:(_,x,h)=>{const y=h(8874),E={};for(const g of Object.keys(y))E[y[g]]=g;const k={rgb:{channels:3,labels:"rgb"},hsl:{channels:3,labels:"hsl"},hsv:{channels:3,labels:"hsv"},hwb:{channels:3,labels:"hwb"},cmyk:{channels:4,labels:"cmyk"},xyz:{channels:3,labels:"xyz"},lab:{channels:3,labels:"lab"},lch:{channels:3,labels:"lch"},hex:{channels:1,labels:["hex"]},keyword:{channels:1,labels:["keyword"]},ansi16:{channels:1,labels:["ansi16"]},ansi256:{channels:1,labels:["ansi256"]},hcg:{channels:3,labels:["h","c","g"]},apple:{channels:3,labels:["r16","g16","b16"]},gray:{channels:1,labels:["gray"]}};_.exports=k;for(const g of Object.keys(k)){if(!("channels"in k[g]))throw new Error("missing channels property: "+g);if(!("labels"in k[g]))throw new Error("missing channel labels property: "+g);if(k[g].labels.length!==k[g].channels)throw new Error("channel and label counts mismatch: "+g);const{channels:m,labels:A}=k[g];delete k[g].channels,delete k[g].labels,Object.defineProperty(k[g],"channels",{value:m}),Object.defineProperty(k[g],"labels",{value:A})}k.rgb.hsl=function(g){const m=g[0]/255,A=g[1]/255,C=g[2]/255,v=Math.min(m,A,C),I=Math.max(m,A,C),M=I-v;let j,W;I===v?j=0:m===I?j=(A-C)/M:A===I?j=2+(C-m)/M:C===I&&(j=4+(m-A)/M),j=Math.min(j*60,360),j<0&&(j+=360);const R=(v+I)/2;return I===v?W=0:R<=.5?W=M/(I+v):W=M/(2-I-v),[j,W*100,R*100]},k.rgb.hsv=function(g){let m,A,C,v,I;const M=g[0]/255,j=g[1]/255,W=g[2]/255,R=Math.max(M,j,W),G=R-Math.min(M,j,W),$=function(nt){return(R-nt)/6/G+1/2};return G===0?(v=0,I=0):(I=G/R,m=$(M),A=$(j),C=$(W),M===R?v=C-A:j===R?v=.3333333333333333+m-C:W===R&&(v=.6666666666666666+A-m),v<0?v+=1:v>1&&(v-=1)),[v*360,I*100,R*100]},k.rgb.hwb=function(g){const m=g[0],A=g[1];let C=g[2];const v=k.rgb.hsl(g)[0],I=1/255*Math.min(m,Math.min(A,C));return C=1-.00392156862745098*Math.max(m,Math.max(A,C)),[v,I*100,C*100]},k.rgb.cmyk=function(g){const m=g[0]/255,A=g[1]/255,C=g[2]/255,v=Math.min(1-m,1-A,1-C),I=(1-m-v)/(1-v)||0,M=(1-A-v)/(1-v)||0,j=(1-C-v)/(1-v)||0;return[I*100,M*100,j*100,v*100]};function D(g,m){return(g[0]-m[0])**2+(g[1]-m[1])**2+(g[2]-m[2])**2}k.rgb.keyword=function(g){const m=E[g];if(m)return m;let A=1/0,C;for(const v of Object.keys(y)){const I=y[v],M=D(g,I);M.04045?((m+.055)/1.055)**2.4:m/12.92,A=A>.04045?((A+.055)/1.055)**2.4:A/12.92,C=C>.04045?((C+.055)/1.055)**2.4:C/12.92;const v=m*.4124+A*.3576+C*.1805,I=m*.2126+A*.7152+C*.0722,M=m*.0193+A*.1192+C*.9505;return[v*100,I*100,M*100]},k.rgb.lab=function(g){const m=k.rgb.xyz(g);let A=m[0],C=m[1],v=m[2];A/=95.047,C/=100,v/=108.883,A=A>.008856?A**.3333333333333333:7.787*A+.13793103448275862,C=C>.008856?C**.3333333333333333:7.787*C+.13793103448275862,v=v>.008856?v**.3333333333333333:7.787*v+.13793103448275862;const I=116*C-16,M=500*(A-C),j=200*(C-v);return[I,M,j]},k.hsl.rgb=function(g){const m=g[0]/360,A=g[1]/100,C=g[2]/100;let v,I,M;if(A===0)return M=C*255,[M,M,M];C<.5?v=C*(1+A):v=C+A-C*A;const j=2*C-v,W=[0,0,0];for(let R=0;R<3;R++)I=m+.3333333333333333*-(R-1),I<0&&I++,I>1&&I--,6*I<1?M=j+(v-j)*6*I:2*I<1?M=v:3*I<2?M=j+(v-j)*(.6666666666666666-I)*6:M=j,W[R]=M*255;return W},k.hsl.hsv=function(g){const m=g[0];let A=g[1]/100,C=g[2]/100,v=A;const I=Math.max(C,.01);C*=2,A*=C<=1?C:2-C,v*=I<=1?I:2-I;const M=(C+A)/2,j=C===0?2*v/(I+v):2*A/(C+A);return[m,j*100,M*100]},k.hsv.rgb=function(g){const m=g[0]/60,A=g[1]/100;let C=g[2]/100;const v=Math.floor(m)%6,I=m-Math.floor(m),M=255*C*(1-A),j=255*C*(1-A*I),W=255*C*(1-A*(1-I));switch(C*=255,v){case 0:return[C,W,M];case 1:return[j,C,M];case 2:return[M,C,W];case 3:return[M,j,C];case 4:return[W,M,C];case 5:return[C,M,j]}},k.hsv.hsl=function(g){const m=g[0],A=g[1]/100,C=g[2]/100,v=Math.max(C,.01);let I,M;M=(2-A)*C;const j=(2-A)*v;return I=A*v,I/=j<=1?j:2-j,I=I||0,M/=2,[m,I*100,M*100]},k.hwb.rgb=function(g){const m=g[0]/360;let A=g[1]/100,C=g[2]/100;const v=A+C;let I;v>1&&(A/=v,C/=v);const M=Math.floor(6*m),j=1-C;I=6*m-M,M&1&&(I=1-I);const W=A+I*(j-A);let R,G,$;switch(M){default:case 6:case 0:R=j,G=W,$=A;break;case 1:R=W,G=j,$=A;break;case 2:R=A,G=j,$=W;break;case 3:R=A,G=W,$=j;break;case 4:R=W,G=A,$=j;break;case 5:R=j,G=A,$=W;break}return[R*255,G*255,$*255]},k.cmyk.rgb=function(g){const m=g[0]/100,A=g[1]/100,C=g[2]/100,v=g[3]/100,I=1-Math.min(1,m*(1-v)+v),M=1-Math.min(1,A*(1-v)+v),j=1-Math.min(1,C*(1-v)+v);return[I*255,M*255,j*255]},k.xyz.rgb=function(g){const m=g[0]/100,A=g[1]/100,C=g[2]/100;let v,I,M;return v=m*3.2406+A*-1.5372+C*-.4986,I=m*-.9689+A*1.8758+C*.0415,M=m*.0557+A*-.204+C*1.057,v=v>.0031308?1.055*v**.4166666666666667-.055:v*12.92,I=I>.0031308?1.055*I**.4166666666666667-.055:I*12.92,M=M>.0031308?1.055*M**.4166666666666667-.055:M*12.92,v=Math.min(Math.max(0,v),1),I=Math.min(Math.max(0,I),1),M=Math.min(Math.max(0,M),1),[v*255,I*255,M*255]},k.xyz.lab=function(g){let m=g[0],A=g[1],C=g[2];m/=95.047,A/=100,C/=108.883,m=m>.008856?m**.3333333333333333:7.787*m+.13793103448275862,A=A>.008856?A**.3333333333333333:7.787*A+.13793103448275862,C=C>.008856?C**.3333333333333333:7.787*C+.13793103448275862;const v=116*A-16,I=500*(m-A),M=200*(A-C);return[v,I,M]},k.lab.xyz=function(g){const m=g[0],A=g[1],C=g[2];let v,I,M;I=(m+16)/116,v=A/500+I,M=I-C/200;const j=I**3,W=v**3,R=M**3;return I=j>.008856?j:(I-.13793103448275862)/7.787,v=W>.008856?W:(v-.13793103448275862)/7.787,M=R>.008856?R:(M-.13793103448275862)/7.787,v*=95.047,I*=100,M*=108.883,[v,I,M]},k.lab.lch=function(g){const m=g[0],A=g[1],C=g[2];let v;v=Math.atan2(C,A)*360/2/Math.PI,v<0&&(v+=360);const M=Math.sqrt(A*A+C*C);return[m,M,v]},k.lch.lab=function(g){const m=g[0],A=g[1],v=g[2]/360*2*Math.PI,I=A*Math.cos(v),M=A*Math.sin(v);return[m,I,M]},k.rgb.ansi16=function(g,m=null){const[A,C,v]=g;let I=m===null?k.rgb.hsv(g)[2]:m;if(I=Math.round(I/50),I===0)return 30;let M=30+(Math.round(v/255)<<2|Math.round(C/255)<<1|Math.round(A/255));return I===2&&(M+=60),M},k.hsv.ansi16=function(g){return k.rgb.ansi16(k.hsv.rgb(g),g[2])},k.rgb.ansi256=function(g){const m=g[0],A=g[1],C=g[2];return m===A&&A===C?m<8?16:m>248?231:Math.round((m-8)/247*24)+232:16+36*Math.round(m/255*5)+6*Math.round(A/255*5)+Math.round(C/255*5)},k.ansi16.rgb=function(g){let m=g%10;if(m===0||m===7)return g>50&&(m+=3.5),m=m/10.5*255,[m,m,m];const A=(~~(g>50)+1)*.5,C=(m&1)*A*255,v=(m>>1&1)*A*255,I=(m>>2&1)*A*255;return[C,v,I]},k.ansi256.rgb=function(g){if(g>=232){const I=(g-232)*10+8;return[I,I,I]}g-=16;let m;const A=Math.floor(g/36)/5*255,C=Math.floor((m=g%36)/6)/5*255,v=m%6/5*255;return[A,C,v]},k.rgb.hex=function(g){const A=(((Math.round(g[0])&255)<<16)+((Math.round(g[1])&255)<<8)+(Math.round(g[2])&255)).toString(16).toUpperCase();return"000000".substring(A.length)+A},k.hex.rgb=function(g){const m=g.toString(16).match(/[a-f0-9]{6}|[a-f0-9]{3}/i);if(!m)return[0,0,0];let A=m[0];m[0].length===3&&(A=A.split("").map(j=>j+j).join(""));const C=parseInt(A,16),v=C>>16&255,I=C>>8&255,M=C&255;return[v,I,M]},k.rgb.hcg=function(g){const m=g[0]/255,A=g[1]/255,C=g[2]/255,v=Math.max(Math.max(m,A),C),I=Math.min(Math.min(m,A),C),M=v-I;let j,W;return M<1?j=I/(1-M):j=0,M<=0?W=0:v===m?W=(A-C)/M%6:v===A?W=2+(C-m)/M:W=4+(m-A)/M,W/=6,W%=1,[W*360,M*100,j*100]},k.hsl.hcg=function(g){const m=g[1]/100,A=g[2]/100,C=A<.5?2*m*A:2*m*(1-A);let v=0;return C<1&&(v=(A-.5*C)/(1-C)),[g[0],C*100,v*100]},k.hsv.hcg=function(g){const m=g[1]/100,A=g[2]/100,C=m*A;let v=0;return C<1&&(v=(A-C)/(1-C)),[g[0],C*100,v*100]},k.hcg.rgb=function(g){const m=g[0]/360,A=g[1]/100,C=g[2]/100;if(A===0)return[C*255,C*255,C*255];const v=[0,0,0],I=m%1*6,M=I%1,j=1-M;let W=0;switch(Math.floor(I)){case 0:v[0]=1,v[1]=M,v[2]=0;break;case 1:v[0]=j,v[1]=1,v[2]=0;break;case 2:v[0]=0,v[1]=1,v[2]=M;break;case 3:v[0]=0,v[1]=j,v[2]=1;break;case 4:v[0]=M,v[1]=0,v[2]=1;break;default:v[0]=1,v[1]=0,v[2]=j}return W=(1-A)*C,[(A*v[0]+W)*255,(A*v[1]+W)*255,(A*v[2]+W)*255]},k.hcg.hsv=function(g){const m=g[1]/100,A=g[2]/100,C=m+A*(1-m);let v=0;return C>0&&(v=m/C),[g[0],v*100,C*100]},k.hcg.hsl=function(g){const m=g[1]/100,C=g[2]/100*(1-m)+.5*m;let v=0;return C>0&&C<.5?v=m/(2*C):C>=.5&&C<1&&(v=m/(2*(1-C))),[g[0],v*100,C*100]},k.hcg.hwb=function(g){const m=g[1]/100,A=g[2]/100,C=m+A*(1-m);return[g[0],(C-m)*100,(1-C)*100]},k.hwb.hcg=function(g){const m=g[1]/100,C=1-g[2]/100,v=C-m;let I=0;return v<1&&(I=(C-v)/(1-v)),[g[0],v*100,I*100]},k.apple.rgb=function(g){return[g[0]/65535*255,g[1]/65535*255,g[2]/65535*255]},k.rgb.apple=function(g){return[g[0]/255*65535,g[1]/255*65535,g[2]/255*65535]},k.gray.rgb=function(g){return[g[0]/100*255,g[0]/100*255,g[0]/100*255]},k.gray.hsl=function(g){return[0,0,g[0]]},k.gray.hsv=k.gray.hsl,k.gray.hwb=function(g){return[0,100,g[0]]},k.gray.cmyk=function(g){return[0,0,0,g[0]]},k.gray.lab=function(g){return[g[0],0,0]},k.gray.hex=function(g){const m=Math.round(g[0]/100*255)&255,C=((m<<16)+(m<<8)+m).toString(16).toUpperCase();return"000000".substring(C.length)+C},k.rgb.gray=function(g){return[(g[0]+g[1]+g[2])/3/255*100]}},2085:(_,x,h)=>{const y=h(8168),E=h(4111),k={},D=Object.keys(y);function g(A){const C=function(...v){const I=v[0];return I==null?I:(I.length>1&&(v=I),A(v))};return"conversion"in A&&(C.conversion=A.conversion),C}function m(A){const C=function(...v){const I=v[0];if(I==null)return I;I.length>1&&(v=I);const M=A(v);if(typeof M=="object")for(let j=M.length,W=0;W{k[A]={},Object.defineProperty(k[A],"channels",{value:y[A].channels}),Object.defineProperty(k[A],"labels",{value:y[A].labels});const C=E(A);Object.keys(C).forEach(I=>{const M=C[I];k[A][I]=m(M),k[A][I].raw=g(M)})}),_.exports=k},4111:(_,x,h)=>{const y=h(8168);function E(){const m={},A=Object.keys(y);for(let C=A.length,v=0;v{_.exports={aliceblue:[240,248,255],antiquewhite:[250,235,215],aqua:[0,255,255],aquamarine:[127,255,212],azure:[240,255,255],beige:[245,245,220],bisque:[255,228,196],black:[0,0,0],blanchedalmond:[255,235,205],blue:[0,0,255],blueviolet:[138,43,226],brown:[165,42,42],burlywood:[222,184,135],cadetblue:[95,158,160],chartreuse:[127,255,0],chocolate:[210,105,30],coral:[255,127,80],cornflowerblue:[100,149,237],cornsilk:[255,248,220],crimson:[220,20,60],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgoldenrod:[184,134,11],darkgray:[169,169,169],darkgreen:[0,100,0],darkgrey:[169,169,169],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkseagreen:[143,188,143],darkslateblue:[72,61,139],darkslategray:[47,79,79],darkslategrey:[47,79,79],darkturquoise:[0,206,209],darkviolet:[148,0,211],deeppink:[255,20,147],deepskyblue:[0,191,255],dimgray:[105,105,105],dimgrey:[105,105,105],dodgerblue:[30,144,255],firebrick:[178,34,34],floralwhite:[255,250,240],forestgreen:[34,139,34],fuchsia:[255,0,255],gainsboro:[220,220,220],ghostwhite:[248,248,255],gold:[255,215,0],goldenrod:[218,165,32],gray:[128,128,128],green:[0,128,0],greenyellow:[173,255,47],grey:[128,128,128],honeydew:[240,255,240],hotpink:[255,105,180],indianred:[205,92,92],indigo:[75,0,130],ivory:[255,255,240],khaki:[240,230,140],lavender:[230,230,250],lavenderblush:[255,240,245],lawngreen:[124,252,0],lemonchiffon:[255,250,205],lightblue:[173,216,230],lightcoral:[240,128,128],lightcyan:[224,255,255],lightgoldenrodyellow:[250,250,210],lightgray:[211,211,211],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightsalmon:[255,160,122],lightseagreen:[32,178,170],lightskyblue:[135,206,250],lightslategray:[119,136,153],lightslategrey:[119,136,153],lightsteelblue:[176,196,222],lightyellow:[255,255,224],lime:[0,255,0],limegreen:[50,205,50],linen:[250,240,230],magenta:[255,0,255],maroon:[128,0,0],mediumaquamarine:[102,205,170],mediumblue:[0,0,205],mediumorchid:[186,85,211],mediumpurple:[147,112,219],mediumseagreen:[60,179,113],mediumslateblue:[123,104,238],mediumspringgreen:[0,250,154],mediumturquoise:[72,209,204],mediumvioletred:[199,21,133],midnightblue:[25,25,112],mintcream:[245,255,250],mistyrose:[255,228,225],moccasin:[255,228,181],navajowhite:[255,222,173],navy:[0,0,128],oldlace:[253,245,230],olive:[128,128,0],olivedrab:[107,142,35],orange:[255,165,0],orangered:[255,69,0],orchid:[218,112,214],palegoldenrod:[238,232,170],palegreen:[152,251,152],paleturquoise:[175,238,238],palevioletred:[219,112,147],papayawhip:[255,239,213],peachpuff:[255,218,185],peru:[205,133,63],pink:[255,192,203],plum:[221,160,221],powderblue:[176,224,230],purple:[128,0,128],rebeccapurple:[102,51,153],red:[255,0,0],rosybrown:[188,143,143],royalblue:[65,105,225],saddlebrown:[139,69,19],salmon:[250,128,114],sandybrown:[244,164,96],seagreen:[46,139,87],seashell:[255,245,238],sienna:[160,82,45],silver:[192,192,192],skyblue:[135,206,235],slateblue:[106,90,205],slategray:[112,128,144],slategrey:[112,128,144],snow:[255,250,250],springgreen:[0,255,127],steelblue:[70,130,180],tan:[210,180,140],teal:[0,128,128],thistle:[216,191,216],tomato:[255,99,71],turquoise:[64,224,208],violet:[238,130,238],wheat:[245,222,179],white:[255,255,255],whitesmoke:[245,245,245],yellow:[255,255,0],yellowgreen:[154,205,50]}},5363:(_,x,h)=>{h.d(x,{Z:()=>m});var y=h(4015),E=h.n(y),k=h(3645),D=h.n(k),g=D()(E());g.push([_.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:[`/* + * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved. + * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license + */ + +.ck-content code { + background-color: hsla(0, 0%, 78%, 0.3); + padding: .15em; + border-radius: 2px; +} + +.ck.ck-editor__editable .ck-code_selected { + background-color: hsla(0, 0%, 78%, 0.5); +} +`],sourceRoot:""}]);const m=g},3789:(_,x,h)=>{h.d(x,{Z:()=>m});var y=h(4015),E=h.n(y),k=h(3645),D=h.n(k),g=D()(E());g.push([_.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:[`/* + * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved. + * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license + */ + +.ck-content blockquote { + /* See #12 */ + overflow: hidden; + + /* https://github.com/ckeditor/ckeditor5-block-quote/issues/15 */ + padding-right: 1.5em; + padding-left: 1.5em; + + margin-left: 0; + margin-right: 0; + font-style: italic; + border-left: solid 5px hsl(0, 0%, 80%); +} + +.ck-content[dir="rtl"] blockquote { + border-left: 0; + border-right: solid 5px hsl(0, 0%, 80%); +} +`],sourceRoot:""}]);const m=g},799:(_,x,h)=>{h.d(x,{Z:()=>m});var y=h(4015),E=h.n(y),k=h(3645),D=h.n(k),g=D()(E());g.push([_.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}.ck.ck-clipboard-drop-target-line{pointer-events:none;position:absolute}: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}.ck.ck-clipboard-drop-target-line{background:var(--ck-clipboard-drop-target-color);border:1px solid var(--ck-clipboard-drop-target-color);height:0;margin-top:-1px}.ck.ck-clipboard-drop-target-line:before{border-style:solid;content:"";height:0;position:absolute;top:calc(var(--ck-clipboard-drop-target-dot-width)*-.5);width:0}[dir=ltr] .ck.ck-clipboard-drop-target-line:before{border-color:transparent transparent transparent var(--ck-clipboard-drop-target-color);border-width:calc(var(--ck-clipboard-drop-target-dot-width)*.5) 0 calc(var(--ck-clipboard-drop-target-dot-width)*.5) var(--ck-clipboard-drop-target-dot-height);left:-1px}[dir=rtl] .ck.ck-clipboard-drop-target-line:before{border-color:transparent var(--ck-clipboard-drop-target-color) transparent transparent;border-width:calc(var(--ck-clipboard-drop-target-dot-width)*.5) var(--ck-clipboard-drop-target-dot-height) calc(var(--ck-clipboard-drop-target-dot-width)*.5) 0;right:-1px}',"",{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,CAIF,kCAEC,mBAAoB,CADpB,iBAED,CC9BA,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,CAOF,kEACC,gGACD,CAKA,gDACC,OAAS,CACT,sBACD,CAGD,kCAGC,gDAAiD,CADjD,sDAAuD,CADvD,QAAS,CAGT,eAwBD,CAtBC,yCAMC,kBAAmB,CALnB,UAAW,CAIX,QAAS,CAHT,iBAAkB,CAClB,uDAA0D,CAC1D,OAiBD,CArBA,mDAYE,sFAAuF,CADvF,+JAAoK,CAFpK,SAYF,CArBA,mDAmBE,sFAAuF,CADvF,+JAAmK,CAFnK,UAKF",sourcesContent:[`/* + * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved. + * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license + */ + +.ck.ck-editor__editable { + /* + * Vertical drop target (in text). + */ + & .ck.ck-clipboard-drop-target-position { + display: inline; + position: relative; + pointer-events: none; + + & span { + position: absolute; + width: 0; + } + } + + /* + * Styles of the widget being dragged (its preview). + */ + & .ck-widget:-webkit-drag { + & > .ck-widget__selection-handle { + display: none; + } + + & > .ck-widget__type-around { + display: none; + } + } +} + +.ck.ck-clipboard-drop-target-line { + position: absolute; + pointer-events: none; +} +`,`/* + * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved. + * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license + */ + +@import "@ckeditor/ckeditor5-ui/theme/mixins/_dir.css"; + +: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 { + /* + * Vertical drop target (in text). + */ + & .ck.ck-clipboard-drop-target-position { + & span { + bottom: calc(-.5 * var(--ck-clipboard-drop-target-dot-height)); + top: calc(-.5 * var(--ck-clipboard-drop-target-dot-height)); + border: 1px solid var(--ck-clipboard-drop-target-color); + background: var(--ck-clipboard-drop-target-color); + margin-left: -1px; + + /* The triangle above the marker */ + &::after { + content: ''; + width: 0; + height: 0; + + display: block; + position: absolute; + left: 50%; + top: calc(-.5 * var(--ck-clipboard-drop-target-dot-height)); + + transform: translateX(-50%); + border-color: var(--ck-clipboard-drop-target-color) transparent transparent transparent; + border-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)); + border-style: solid; + } + } + } + + /* + * Styles of the widget that it a drop target. + */ + & .ck-widget.ck-clipboard-drop-target-range { + outline: var(--ck-widget-outline-thickness) solid var(--ck-clipboard-drop-target-color) !important; + } + + /* + * Styles of the widget being dragged (its preview). + */ + & .ck-widget:-webkit-drag { + zoom: 0.6; + outline: none !important; + } +} + +.ck.ck-clipboard-drop-target-line { + height: 0; + border: 1px solid var(--ck-clipboard-drop-target-color); + background: var(--ck-clipboard-drop-target-color); + margin-top: -1px; + + &::before { + content: ''; + position: absolute; + top: calc(-.5 * var(--ck-clipboard-drop-target-dot-width)); + width: 0; + height: 0; + border-style: solid; + + @mixin ck-dir ltr { + left: -1px; + + border-width: calc(.5 * var(--ck-clipboard-drop-target-dot-width)) 0 calc(.5 * var(--ck-clipboard-drop-target-dot-width)) var(--ck-clipboard-drop-target-dot-height); + border-color: transparent transparent transparent var(--ck-clipboard-drop-target-color); + } + + @mixin ck-dir rtl { + right: -1px; + + border-width:calc(.5 * var(--ck-clipboard-drop-target-dot-width)) var(--ck-clipboard-drop-target-dot-height) calc(.5 * var(--ck-clipboard-drop-target-dot-width)) 0; + border-color: transparent var(--ck-clipboard-drop-target-color) transparent transparent; + } + } +} +`],sourceRoot:""}]);const m=g},3624:(_,x,h)=>{h.d(x,{Z:()=>m});var y=h(4015),E=h.n(y),k=h(3645),D=h.n(k),g=D()(E());g.push([_.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:[`/* + * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved. + * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license + */ + +.ck.ck-editor { + /* All the elements within \`.ck-editor\` are positioned relatively to it. + If any element needs to be positioned with respect to the , etc., + it must land outside of the \`.ck-editor\` in DOM. */ + position: relative; + + & .ck-editor__top .ck-sticky-panel .ck-toolbar { + /* https://github.com/ckeditor/ckeditor5-editor-classic/issues/62 */ + z-index: var(--ck-z-modal); + } +} +`,`/* + * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved. + * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license + */ + +@import "../mixins/_rounded.css"; + +.ck.ck-editor__top { + & .ck-sticky-panel { + & .ck-toolbar { + @mixin ck-rounded-corners { + border-bottom-left-radius: 0; + border-bottom-right-radius: 0; + } + + border-bottom-width: 0; + } + + & .ck-sticky-panel__content_sticky .ck-toolbar { + border-bottom-width: 1px; + + @mixin ck-rounded-corners { + border-radius: 0; + } + } + } +} + +/* Note: Use ck-editor__main to make sure these styles don't apply to other editor types */ +.ck.ck-editor__main > .ck-editor__editable { + /* https://github.com/ckeditor/ckeditor5-theme-lark/issues/113 */ + background: var(--ck-color-base-background); + + @mixin ck-rounded-corners { + border-top-left-radius: 0; + border-top-right-radius: 0; + } + + &:not(.ck-focused) { + border-color: var(--ck-color-base-border); + } +} +`,`/* + * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved. + * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license + */ + +/** + * Implements rounded corner interface for .ck-rounded-corners class. + * + * @see $ck-border-radius + */ +@define-mixin ck-rounded-corners { + border-radius: 0; + + @nest .ck-rounded-corners &, + &.ck-rounded-corners { + border-radius: var(--ck-border-radius); + @mixin-content; + } +} +`],sourceRoot:""}]);const m=g},7372:(_,x,h)=>{h.d(x,{Z:()=>m});var y=h(4015),E=h.n(y),k=h(3645),D=h.n(k),g=D()(E());g.push([_.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:[`/* + * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved. + * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license + */ + +/* See ckeditor/ckeditor5#936. */ +.ck.ck-placeholder, +.ck .ck-placeholder { + position: relative; + + &::before { + position: absolute; + left: 0; + right: 0; + content: attr(data-placeholder); + + /* See ckeditor/ckeditor5#469. */ + pointer-events: none; + } +} + +/* See ckeditor/ckeditor5#1987. */ +.ck.ck-read-only .ck-placeholder { + &::before { + display: none; + } +} + +/* + * Rules for the \`ck-placeholder\` are loaded before the rules for \`ck-reset_all\` in the base CKEditor 5 DLL build. + * This fix overwrites the incorrectly set \`position: static\` from \`ck-reset_all\`. + * See https://github.com/ckeditor/ckeditor5/issues/11418. + */ +.ck.ck-reset_all .ck-placeholder { + position: relative; +} +`,`/* + * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved. + * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license + */ + +/* See ckeditor/ckeditor5#936. */ +.ck.ck-placeholder, .ck .ck-placeholder { + &::before { + cursor: text; + color: var(--ck-color-engine-placeholder-text); + } +} +`],sourceRoot:""}]);const m=g},5037:(_,x,h)=>{h.d(x,{Z:()=>m});var y=h(4015),E=h.n(y),k=h(3645),D=h.n(k),g=D()(E());g.push([_.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:[`/* + * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved. + * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license + */ + +/* Elements marked by the Renderer as hidden should be invisible in the editor. */ +.ck.ck-editor__editable span[data-ck-unsafe-element] { + display: none; +} +`],sourceRoot:""}]);const m=g},4249:(_,x,h)=>{h.d(x,{Z:()=>m});var y=h(4015),E=h.n(y),k=h(3645),D=h.n(k),g=D()(E());g.push([_.id,".ck.ck-heading_heading1{font-size:20px}.ck.ck-heading_heading2{font-size:17px}.ck.ck-heading_heading3{font-size:14px}.ck[class*=ck-heading_heading]{font-weight:700}.ck.ck-dropdown.ck-heading-dropdown .ck-dropdown__button .ck-button__label{width:8em}.ck.ck-dropdown.ck-heading-dropdown .ck-dropdown__panel .ck-list__item{min-width:18em}","",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-heading/theme/heading.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-heading/heading.css"],names:[],mappings:"AAKA,wBACC,cACD,CAEA,wBACC,cACD,CAEA,wBACC,cACD,CAEA,+BACC,eACD,CCZC,2EACC,SACD,CAEA,uEACC,cACD",sourcesContent:[`/* + * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved. + * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license + */ + +.ck.ck-heading_heading1 { + font-size: 20px; +} + +.ck.ck-heading_heading2 { + font-size: 17px; +} + +.ck.ck-heading_heading3 { + font-size: 14px; +} + +.ck[class*="ck-heading_heading"] { + font-weight: bold; +} +`,`/* + * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved. + * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license + */ + +/* Resize dropdown's button label. */ +.ck.ck-dropdown.ck-heading-dropdown { + & .ck-dropdown__button .ck-button__label { + width: 8em; + } + + & .ck-dropdown__panel .ck-list__item { + min-width: 18em; + } +} +`],sourceRoot:""}]);const m=g},2430:(_,x,h)=>{h.d(x,{Z:()=>m});var y=h(4015),E=h.n(y),k=h(3645),D=h.n(k),g=D()(E());g.push([_.id,".ck-content .image{clear:both;display:table;margin:.9em auto;min-width:50px;text-align:center}.ck-content .image img{display:block;height:auto;margin:0 auto;max-width:100%;min-width:100%}.ck-content .image-inline{align-items:flex-start;display:inline-flex;max-width:100%}.ck-content .image-inline picture{display:flex}.ck-content .image-inline img,.ck-content .image-inline picture{flex-grow:1;flex-shrink:1;max-width:100%}.ck.ck-editor__editable .image>figcaption.ck-placeholder:before{overflow:hidden;padding-left:inherit;padding-right:inherit;text-overflow:ellipsis;white-space:nowrap}.ck.ck-editor__editable .image{z-index:1}.ck.ck-editor__editable .image.ck-widget_selected{z-index:2}.ck.ck-editor__editable .image-inline{z-index:1}.ck.ck-editor__editable .image-inline.ck-widget_selected{z-index:2}.ck.ck-editor__editable .image-inline.ck-widget_selected ::selection{display:none}.ck.ck-editor__editable .image-inline img{height:auto}.ck.ck-editor__editable td .image-inline img,.ck.ck-editor__editable th .image-inline img{max-width:none}","",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-image/theme/image.css"],names:[],mappings:"AAMC,mBAEC,UAAW,CADX,aAAc,CAOd,gBAAkB,CAGlB,cAAe,CARf,iBA2BD,CAjBC,uBAEC,aAAc,CAad,WAAY,CAVZ,aAAc,CAGd,cAAe,CAGf,cAKD,CAGD,0BAYC,sBAAuB,CANvB,mBAAoB,CAGpB,cAoBD,CAdC,kCACC,YACD,CAGA,gEAGC,WAAY,CACZ,aAAc,CAGd,cACD,CAUD,gEASC,eAAgB,CARhB,oBAAqB,CACrB,qBAAsB,CAQtB,sBAAuB,CAFvB,kBAGD,CAKA,+BACC,SASD,CAHC,kDACC,SACD,CAMD,sCACC,SAkBD,CAZC,yDACC,SAUD,CAHC,qEACC,YACD,CAMF,0CACC,WACD,CAMC,0FACC,cACD",sourcesContent:[`/* + * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved. + * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license + */ + +.ck-content { + & .image { + display: table; + clear: both; + text-align: center; + + /* Make sure there is some space between the content and the image. Center image by default. */ + /* The first value should be equal to --ck-spacing-large variable if used in the editor context + to avoid the content jumping (See https://github.com/ckeditor/ckeditor5/issues/9825). */ + margin: 0.9em auto; + + /* Make sure the caption will be displayed properly (See: https://github.com/ckeditor/ckeditor5/issues/1870). */ + min-width: 50px; + + & img { + /* Prevent unnecessary margins caused by line-height (see #44). */ + display: block; + + /* Center the image if its width is smaller than the content's width. */ + margin: 0 auto; + + /* Make sure the image never exceeds the size of the parent container (ckeditor/ckeditor5-ui#67). */ + max-width: 100%; + + /* Make sure the image is never smaller than the parent container (See: https://github.com/ckeditor/ckeditor5/issues/9300). */ + min-width: 100%; + + /* Keep proportions of the block image if the height is set and the image is wider than the editor width. + See https://github.com/ckeditor/ckeditor5/issues/14542. */ + height: auto; + } + } + + & .image-inline { + /* + * Normally, the .image-inline would have "display: inline-block" and "img { width: 100% }" (to follow the wrapper while resizing). + * Unfortunately, together with "srcset", it gets automatically stretched up to the width of the editing root. + * This strange behavior does not happen with inline-flex. + */ + display: inline-flex; + + /* While being resized, don't allow the image to exceed the width of the editing root. */ + max-width: 100%; + + /* This is required by Safari to resize images in a sensible way. Without this, the browser breaks the ratio. */ + align-items: flex-start; + + /* When the picture is present it must act as a flex container to let the img resize properly */ + & picture { + display: flex; + } + + /* When the picture is present, it must act like a resizable img. */ + & picture, + & img { + /* This is necessary for the img to span the entire .image-inline wrapper and to resize properly. */ + flex-grow: 1; + flex-shrink: 1; + + /* Prevents overflowing the editing root boundaries when an inline image is very wide. */ + max-width: 100%; + } + } +} + +.ck.ck-editor__editable { + /* + * Inhertit the content styles padding of the
in case the integration overrides \`text-align: center\` + * of \`.image\` (e.g. to the left/right). This ensures the placeholder stays at the padding just like the native + * caret does, and not at the edge of
. + */ + & .image > figcaption.ck-placeholder::before { + padding-left: inherit; + padding-right: inherit; + + /* + * Make sure the image caption placeholder doesn't overflow the placeholder area. + * See https://github.com/ckeditor/ckeditor5/issues/9162. + */ + white-space: nowrap; + overflow: hidden; + text-overflow: ellipsis; + } + + /* + * See https://github.com/ckeditor/ckeditor5/issues/15115. + */ + & .image { + z-index: 1; + + /* + * Make sure the selected image always stays on top of its siblings. + * See https://github.com/ckeditor/ckeditor5/issues/9108. + */ + &.ck-widget_selected { + z-index: 2; + } + } + + /* + * See https://github.com/ckeditor/ckeditor5/issues/15115. + */ + & .image-inline { + z-index: 1; + + /* + * Make sure the selected inline image always stays on top of its siblings. + * See https://github.com/ckeditor/ckeditor5/issues/9108. + */ + &.ck-widget_selected { + z-index: 2; + + /* + * Make sure the native browser selection style is not displayed. + * Inline image widgets have their own styles for the selected state and + * leaving this up to the browser is asking for a visual collision. + */ + & ::selection { + display: none; + } + } + } + + /* Keep proportions of the inline image if the height is set and the image is wider than the editor width. + See https://github.com/ckeditor/ckeditor5/issues/14542. */ + & .image-inline img { + height: auto; + } + + /* The inline image nested in the table should have its original size if not resized. + See https://github.com/ckeditor/ckeditor5/issues/9117. */ + & td, + & th { + & .image-inline img { + max-width: none; + } + } +} +`],sourceRoot:""}]);const m=g},2423:(_,x,h)=>{h.d(x,{Z:()=>m});var y=h(4015),E=h.n(y),k=h(3645),D=h.n(k),g=D()(E());g.push([_.id,":root{--ck-color-image-caption-background:#f7f7f7;--ck-color-image-caption-text:#333;--ck-color-image-caption-highligted-background:#fd0}.ck-content .image>figcaption{background-color:var(--ck-color-image-caption-background);caption-side:bottom;color:var(--ck-color-image-caption-text);display:table-caption;font-size:.75em;outline-offset:-1px;padding:.6em;word-break:break-word}.ck.ck-editor__editable .image>figcaption.image__caption_highlighted{animation:ck-image-caption-highlight .6s ease-out}@keyframes ck-image-caption-highlight{0%{background-color:var(--ck-color-image-caption-highligted-background)}to{background-color:var(--ck-color-image-caption-background)}}","",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-image/theme/imagecaption.css"],names:[],mappings:"AAKA,MACC,2CAAoD,CACpD,kCAA8C,CAC9C,mDACD,CAGA,8BAKC,yDAA0D,CAH1D,mBAAoB,CAEpB,wCAAyC,CAHzC,qBAAsB,CAMtB,eAAgB,CAChB,mBAAoB,CAFpB,YAAa,CAHb,qBAMD,CAGA,qEACC,iDACD,CAEA,sCACC,GACC,oEACD,CAEA,GACC,yDACD,CACD",sourcesContent:[`/* + * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved. + * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license + */ + +:root { + --ck-color-image-caption-background: hsl(0, 0%, 97%); + --ck-color-image-caption-text: hsl(0, 0%, 20%); + --ck-color-image-caption-highligted-background: hsl(52deg 100% 50%); +} + +/* Content styles */ +.ck-content .image > figcaption { + display: table-caption; + caption-side: bottom; + word-break: break-word; + color: var(--ck-color-image-caption-text); + background-color: var(--ck-color-image-caption-background); + padding: .6em; + font-size: .75em; + outline-offset: -1px; +} + +/* Editing styles */ +.ck.ck-editor__editable .image > figcaption.image__caption_highlighted { + animation: ck-image-caption-highlight .6s ease-out; +} + +@keyframes ck-image-caption-highlight { + 0% { + background-color: var(--ck-color-image-caption-highligted-background); + } + + 100% { + background-color: var(--ck-color-image-caption-background); + } +} +`],sourceRoot:""}]);const m=g},8879:(_,x,h)=>{h.d(x,{Z:()=>m});var y=h(4015),E=h.n(y),k=h(3645),D=h.n(k),g=D()(E());g.push([_.id,".ck.ck-image-insert-url .ck-image-insert-url__action-row{display:grid;grid-template-columns:repeat(2,1fr)}:root{--ck-image-insert-insert-by-url-width:250px}.ck.ck-image-insert-url{--ck-input-width:100%}.ck.ck-image-insert-url .ck-image-insert-url__action-row{grid-column-gap:var(--ck-spacing-large);margin-top:var(--ck-spacing-large)}.ck.ck-image-insert-url .ck-image-insert-url__action-row .ck-button-cancel,.ck.ck-image-insert-url .ck-image-insert-url__action-row .ck-button-save{justify-content:center;min-width:auto}.ck.ck-image-insert-url .ck-image-insert-url__action-row .ck-button .ck-button__label{color:var(--ck-color-text)}.ck.ck-image-insert-form>.ck.ck-button{display:block;padding:var(--ck-list-button-padding);width:100%}[dir=ltr] .ck.ck-image-insert-form>.ck.ck-button{text-align:left}[dir=rtl] .ck.ck-image-insert-form>.ck.ck-button{text-align:right}.ck.ck-image-insert-form>.ck.ck-collapsible:not(:first-child){border-top:1px solid var(--ck-color-base-border)}.ck.ck-image-insert-form>.ck.ck-collapsible:not(:last-child){border-bottom:1px solid var(--ck-color-base-border)}.ck.ck-image-insert-form>.ck.ck-collapsible,.ck.ck-image-insert-form>.ck.ck-image-insert-url{min-width:var(--ck-image-insert-insert-by-url-width)}.ck.ck-image-insert-form>.ck.ck-image-insert-url{padding:var(--ck-spacing-large)}.ck.ck-image-insert-form:focus{outline:none}","",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-image/theme/imageinsert.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-image/imageinsert.css"],names:[],mappings:"AAMC,yDACC,YAAa,CACb,mCACD,CCFD,MACC,2CACD,CAEA,wBACC,qBAgBD,CAdC,yDACC,uCAAwC,CACxC,kCAWD,CATC,oJAEC,sBAAuB,CACvB,cACD,CAEA,sFACC,0BACD,CAKD,uCACC,aAAc,CAEd,qCAAsC,CADtC,UAUD,CAZA,iDAME,eAMF,CAZA,iDAUE,gBAEF,CAGC,8DACC,gDACD,CAEA,6DACC,mDACD,CAMD,6FAJC,oDAOD,CAHA,iDAEC,+BACD,CAEA,+BACC,YACD",sourcesContent:[`/* + * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved. + * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license + */ + +.ck.ck-image-insert-url { + & .ck-image-insert-url__action-row { + display: grid; + grid-template-columns: repeat(2, 1fr); + } +} +`,`/* + * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved. + * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license + */ + +@import "@ckeditor/ckeditor5-ui/theme/mixins/_dir.css"; + +:root { + --ck-image-insert-insert-by-url-width: 250px; +} + +.ck.ck-image-insert-url { + --ck-input-width: 100%; + + & .ck-image-insert-url__action-row { + grid-column-gap: var(--ck-spacing-large); + margin-top: var(--ck-spacing-large); + + & .ck-button-save, + & .ck-button-cancel { + justify-content: center; + min-width: auto; + } + + & .ck-button .ck-button__label { + color: var(--ck-color-text); + } + } +} + +.ck.ck-image-insert-form { + & > .ck.ck-button { + display: block; + width: 100%; + padding: var(--ck-list-button-padding); + + @mixin ck-dir ltr { + text-align: left; + } + + @mixin ck-dir rtl { + text-align: right; + } + } + + & > .ck.ck-collapsible { + &:not(:first-child) { + border-top: 1px solid var(--ck-color-base-border); + } + + &:not(:last-child) { + border-bottom: 1px solid var(--ck-color-base-border); + } + + min-width: var(--ck-image-insert-insert-by-url-width); + } + + /* This is the case when there are no other integrations configured than insert by URL */ + & > .ck.ck-image-insert-url { + min-width: var(--ck-image-insert-insert-by-url-width); + padding: var(--ck-spacing-large); + } + + &:focus { + outline: none; + } +} +`],sourceRoot:""}]);const m=g},31:(_,x,h)=>{h.d(x,{Z:()=>m});var y=h(4015),E=h.n(y),k=h(3645),D=h.n(k),g=D()(E());g.push([_.id,".ck.ck-editor__editable img.image_placeholder{background-size:100% 100%}","",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-image/theme/imageplaceholder.css"],names:[],mappings:"AAMC,8CACC,yBACD",sourcesContent:[`/* + * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved. + * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license + */ + +.ck.ck-editor__editable { + & img.image_placeholder { + background-size: 100% 100%; + } +} +`],sourceRoot:""}]);const m=g},2400:(_,x,h)=>{h.d(x,{Z:()=>m});var y=h(4015),E=h.n(y),k=h(3645),D=h.n(k),g=D()(E());g.push([_.id,".ck-content img.image_resized{height:auto}.ck-content .image.image_resized{box-sizing:border-box;display:block;max-width:100%}.ck-content .image.image_resized img{width:100%}.ck-content .image.image_resized>figcaption{display:block}.ck.ck-editor__editable td .image-inline.image_resized img,.ck.ck-editor__editable th .image-inline.image_resized img{max-width:100%}[dir=ltr] .ck.ck-button.ck-button_with-text.ck-resize-image-button .ck-button__icon{margin-right:var(--ck-spacing-standard)}[dir=rtl] .ck.ck-button.ck-button_with-text.ck-resize-image-button .ck-button__icon{margin-left:var(--ck-spacing-standard)}.ck.ck-dropdown .ck-button.ck-resize-image-button .ck-button__label{width:4em}","",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-image/theme/imageresize.css"],names:[],mappings:"AAMA,8BACC,WACD,CAEA,iCAQC,qBAAsB,CADtB,aAAc,CANd,cAkBD,CATC,qCAEC,UACD,CAEA,4CAEC,aACD,CAQC,sHACC,cACD,CAIF,oFACC,uCACD,CAEA,oFACC,sCACD,CAEA,oEACC,SACD",sourcesContent:[`/* + * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved. + * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license + */ + +/* Preserve aspect ratio of the resized image after introducing image height attribute. */ +.ck-content img.image_resized { + height: auto; +} + +.ck-content .image.image_resized { + max-width: 100%; + /* + The \`
\` element for resized images must not use \`display:table\` as browsers do not support \`max-width\` for it well. + See https://stackoverflow.com/questions/4019604/chrome-safari-ignoring-max-width-in-table/14420691#14420691 for more. + Fortunately, since we control the width, there is no risk that the image will look bad. + */ + display: block; + box-sizing: border-box; + + & img { + /* For resized images it is the \`
\` element that determines the image width. */ + width: 100%; + } + + & > figcaption { + /* The \`
\` element uses \`display:block\`, so \`
\` also has to. */ + display: block; + } +} + +.ck.ck-editor__editable { + /* The resized inline image nested in the table should respect its parent size. + See https://github.com/ckeditor/ckeditor5/issues/9117. */ + & td, + & th { + & .image-inline.image_resized img { + max-width: 100%; + } + } +} + +[dir="ltr"] .ck.ck-button.ck-button_with-text.ck-resize-image-button .ck-button__icon { + margin-right: var(--ck-spacing-standard); +} + +[dir="rtl"] .ck.ck-button.ck-button_with-text.ck-resize-image-button .ck-button__icon { + margin-left: var(--ck-spacing-standard); +} + +.ck.ck-dropdown .ck-button.ck-resize-image-button .ck-button__label { + width: 4em; +} +`],sourceRoot:""}]);const m=g},3534:(_,x,h)=>{h.d(x,{Z:()=>m});var y=h(4015),E=h.n(y),k=h(3645),D=h.n(k),g=D()(E());g.push([_.id,":root{--ck-image-style-spacing:1.5em;--ck-inline-image-style-spacing:calc(var(--ck-image-style-spacing)/2)}.ck-content .image-style-block-align-left,.ck-content .image-style-block-align-right{max-width:calc(100% - var(--ck-image-style-spacing))}.ck-content .image-style-align-left,.ck-content .image-style-align-right{clear:none}.ck-content .image-style-side{float:right;margin-left:var(--ck-image-style-spacing);max-width:50%}.ck-content .image-style-align-left{float:left;margin-right:var(--ck-image-style-spacing)}.ck-content .image-style-align-center{margin-left:auto;margin-right:auto}.ck-content .image-style-align-right{float:right;margin-left:var(--ck-image-style-spacing)}.ck-content .image-style-block-align-right{margin-left:auto;margin-right:0}.ck-content .image-style-block-align-left{margin-left:0;margin-right:auto}.ck-content p+.image-style-align-left,.ck-content p+.image-style-align-right,.ck-content p+.image-style-side{margin-top:0}.ck-content .image-inline.image-style-align-left,.ck-content .image-inline.image-style-align-right{margin-bottom:var(--ck-inline-image-style-spacing);margin-top:var(--ck-inline-image-style-spacing)}.ck-content .image-inline.image-style-align-left{margin-right:var(--ck-inline-image-style-spacing)}.ck-content .image-inline.image-style-align-right{margin-left:var(--ck-inline-image-style-spacing)}.ck.ck-splitbutton.ck-splitbutton_flatten.ck-splitbutton_open>.ck-splitbutton__action:not(.ck-disabled),.ck.ck-splitbutton.ck-splitbutton_flatten.ck-splitbutton_open>.ck-splitbutton__arrow:not(.ck-disabled),.ck.ck-splitbutton.ck-splitbutton_flatten.ck-splitbutton_open>.ck-splitbutton__arrow:not(.ck-disabled):not(:hover),.ck.ck-splitbutton.ck-splitbutton_flatten:hover>.ck-splitbutton__action:not(.ck-disabled),.ck.ck-splitbutton.ck-splitbutton_flatten:hover>.ck-splitbutton__arrow:not(.ck-disabled),.ck.ck-splitbutton.ck-splitbutton_flatten:hover>.ck-splitbutton__arrow:not(.ck-disabled):not(:hover){background-color:var(--ck-color-button-on-background)}.ck.ck-splitbutton.ck-splitbutton_flatten.ck-splitbutton_open>.ck-splitbutton__action:not(.ck-disabled):after,.ck.ck-splitbutton.ck-splitbutton_flatten.ck-splitbutton_open>.ck-splitbutton__arrow:not(.ck-disabled):after,.ck.ck-splitbutton.ck-splitbutton_flatten.ck-splitbutton_open>.ck-splitbutton__arrow:not(.ck-disabled):not(:hover):after,.ck.ck-splitbutton.ck-splitbutton_flatten:hover>.ck-splitbutton__action:not(.ck-disabled):after,.ck.ck-splitbutton.ck-splitbutton_flatten:hover>.ck-splitbutton__arrow:not(.ck-disabled):after,.ck.ck-splitbutton.ck-splitbutton_flatten:hover>.ck-splitbutton__arrow:not(.ck-disabled):not(:hover):after{display:none}.ck.ck-splitbutton.ck-splitbutton_flatten.ck-splitbutton_open:hover>.ck-splitbutton__action:not(.ck-disabled),.ck.ck-splitbutton.ck-splitbutton_flatten.ck-splitbutton_open:hover>.ck-splitbutton__arrow:not(.ck-disabled),.ck.ck-splitbutton.ck-splitbutton_flatten.ck-splitbutton_open:hover>.ck-splitbutton__arrow:not(.ck-disabled):not(:hover){background-color:var(--ck-color-button-on-hover-background)}","",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-image/theme/imagestyle.css"],names:[],mappings:"AAKA,MACC,8BAA+B,CAC/B,qEACD,CAMC,qFAEC,oDACD,CAIA,yEAEC,UACD,CAEA,8BACC,WAAY,CACZ,yCAA0C,CAC1C,aACD,CAEA,oCACC,UAAW,CACX,0CACD,CAEA,sCACC,gBAAiB,CACjB,iBACD,CAEA,qCACC,WAAY,CACZ,yCACD,CAEA,2CAEC,gBAAiB,CADjB,cAED,CAEA,0CACC,aAAc,CACd,iBACD,CAGA,6GAGC,YACD,CAGC,mGAGC,kDAAmD,CADnD,+CAED,CAEA,iDACC,iDACD,CAEA,kDACC,gDACD,CAUC,0lBAGC,qDAKD,CAHC,8nBACC,YACD,CAKD,oVAGC,2DACD",sourcesContent:[`/* + * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved. + * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license + */ + +:root { + --ck-image-style-spacing: 1.5em; + --ck-inline-image-style-spacing: calc(var(--ck-image-style-spacing) / 2); +} + +.ck-content { + /* Provides a minimal side margin for the left and right aligned images, so that the user has a visual feedback + confirming successful application of the style if image width exceeds the editor's size. + See https://github.com/ckeditor/ckeditor5/issues/9342 */ + & .image-style-block-align-left, + & .image-style-block-align-right { + max-width: calc(100% - var(--ck-image-style-spacing)); + } + + /* Allows displaying multiple floating images in the same line. + See https://github.com/ckeditor/ckeditor5/issues/9183#issuecomment-804988132 */ + & .image-style-align-left, + & .image-style-align-right { + clear: none; + } + + & .image-style-side { + float: right; + margin-left: var(--ck-image-style-spacing); + max-width: 50%; + } + + & .image-style-align-left { + float: left; + margin-right: var(--ck-image-style-spacing); + } + + & .image-style-align-center { + margin-left: auto; + margin-right: auto; + } + + & .image-style-align-right { + float: right; + margin-left: var(--ck-image-style-spacing); + } + + & .image-style-block-align-right { + margin-right: 0; + margin-left: auto; + } + + & .image-style-block-align-left { + margin-left: 0; + margin-right: auto; + } + + /* Simulates margin collapsing with the preceding paragraph, which does not work for the floating elements. */ + & p + .image-style-align-left, + & p + .image-style-align-right, + & p + .image-style-side { + margin-top: 0; + } + + & .image-inline { + &.image-style-align-left, + &.image-style-align-right { + margin-top: var(--ck-inline-image-style-spacing); + margin-bottom: var(--ck-inline-image-style-spacing); + } + + &.image-style-align-left { + margin-right: var(--ck-inline-image-style-spacing); + } + + &.image-style-align-right { + margin-left: var(--ck-inline-image-style-spacing); + } + } +} + +.ck.ck-splitbutton { + /* The button should display as a regular drop-down if the action button + is forced to fire the same action as the arrow button. */ + &.ck-splitbutton_flatten { + &:hover, + &.ck-splitbutton_open { + & > .ck-splitbutton__action:not(.ck-disabled), + & > .ck-splitbutton__arrow:not(.ck-disabled), + & > .ck-splitbutton__arrow:not(.ck-disabled):not(:hover) { + background-color: var(--ck-color-button-on-background); + + &::after { + display: none; + } + } + } + + &.ck-splitbutton_open:hover { + & > .ck-splitbutton__action:not(.ck-disabled), + & > .ck-splitbutton__arrow:not(.ck-disabled), + & > .ck-splitbutton__arrow:not(.ck-disabled):not(:hover) { + background-color: var(--ck-color-button-on-hover-background); + } + } + } +} +`],sourceRoot:""}]);const m=g},1547:(_,x,h)=>{h.d(x,{Z:()=>m});var y=h(4015),E=h.n(y),k=h(3645),D=h.n(k),g=D()(E());g.push([_.id,'.ck-image-upload-complete-icon{border-radius:50%;display:block;position:absolute;right:min(var(--ck-spacing-medium),6%);top:min(var(--ck-spacing-medium),6%);z-index:1}.ck-image-upload-complete-icon:after{content:"";position:absolute}:root{--ck-color-image-upload-icon:#fff;--ck-color-image-upload-icon-background:#008a00;--ck-image-upload-icon-size:20;--ck-image-upload-icon-width:2px;--ck-image-upload-icon-is-visible:clamp(0px,100% - 50px,1px)}.ck-image-upload-complete-icon{animation-delay:0ms,3s;animation-duration:.5s,.5s;animation-fill-mode:forwards,forwards;animation-name:ck-upload-complete-icon-show,ck-upload-complete-icon-hide;background:var(--ck-color-image-upload-icon-background);font-size:calc(1px*var(--ck-image-upload-icon-size));height:calc(var(--ck-image-upload-icon-is-visible)*var(--ck-image-upload-icon-size));opacity:0;overflow:hidden;width:calc(var(--ck-image-upload-icon-is-visible)*var(--ck-image-upload-icon-size))}.ck-image-upload-complete-icon:after{animation-delay:.5s;animation-duration:.5s;animation-fill-mode:forwards;animation-name:ck-upload-complete-icon-check;border-right:var(--ck-image-upload-icon-width) solid var(--ck-color-image-upload-icon);border-top:var(--ck-image-upload-icon-width) solid var(--ck-color-image-upload-icon);box-sizing:border-box;height:0;left:25%;opacity:0;top:50%;transform:scaleX(-1) rotate(135deg);transform-origin:left top;width:0}@keyframes ck-upload-complete-icon-show{0%{opacity:0}to{opacity:1}}@keyframes ck-upload-complete-icon-hide{0%{opacity:1}to{opacity:0}}@keyframes ck-upload-complete-icon-check{0%{height:0;opacity:1;width:0}33%{height:0;width:.3em}to{height:.45em;opacity:1;width:.3em}}',"",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-image/theme/imageuploadicon.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-image/imageuploadicon.css"],names:[],mappings:"AAKA,+BAUC,iBAAkB,CATlB,aAAc,CACd,iBAAkB,CAOlB,sCAAwC,CADxC,oCAAsC,CAGtC,SAMD,CAJC,qCACC,UAAW,CACX,iBACD,CChBD,MACC,iCAA8C,CAC9C,+CAA4D,CAG5D,8BAA+B,CAC/B,gCAAiC,CACjC,4DACD,CAEA,+BAWC,sBAA4B,CAN5B,0BAAgC,CADhC,qCAAuC,CADvC,wEAA0E,CAD1E,uDAAwD,CAMxD,oDAAuD,CAWvD,oFAAuF,CAlBvF,SAAU,CAgBV,eAAgB,CAChB,mFA0BD,CAtBC,qCAgBC,mBAAsB,CADtB,sBAAyB,CAEzB,4BAA6B,CAH7B,4CAA6C,CAF7C,sFAAuF,CADvF,oFAAqF,CASrF,qBAAsB,CAdtB,QAAS,CAJT,QAAS,CAGT,SAAU,CADV,OAAQ,CAKR,mCAAoC,CACpC,yBAA0B,CAH1B,OAcD,CAGD,wCACC,GACC,SACD,CAEA,GACC,SACD,CACD,CAEA,wCACC,GACC,SACD,CAEA,GACC,SACD,CACD,CAEA,yCACC,GAGC,QAAS,CAFT,SAAU,CACV,OAED,CACA,IAEC,QAAS,CADT,UAED,CACA,GAGC,YAAc,CAFd,SAAU,CACV,UAED,CACD",sourcesContent:[`/* + * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved. + * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license + */ + +.ck-image-upload-complete-icon { + display: block; + position: absolute; + + /* + * Smaller images should have the icon closer to the border. + * Match the icon position with the linked image indicator brought by the link image feature. + */ + top: min(var(--ck-spacing-medium), 6%); + right: min(var(--ck-spacing-medium), 6%); + border-radius: 50%; + z-index: 1; + + &::after { + content: ""; + position: absolute; + } +} +`,`/* + * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved. + * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license + */ + +:root { + --ck-color-image-upload-icon: hsl(0, 0%, 100%); + --ck-color-image-upload-icon-background: hsl(120, 100%, 27%); + + /* Match the icon size with the linked image indicator brought by the link image feature. */ + --ck-image-upload-icon-size: 20; + --ck-image-upload-icon-width: 2px; + --ck-image-upload-icon-is-visible: clamp(0px, 100% - 50px, 1px); +} + +.ck-image-upload-complete-icon { + opacity: 0; + background: var(--ck-color-image-upload-icon-background); + animation-name: ck-upload-complete-icon-show, ck-upload-complete-icon-hide; + animation-fill-mode: forwards, forwards; + animation-duration: 500ms, 500ms; + + /* To make animation scalable. */ + font-size: calc(1px * var(--ck-image-upload-icon-size)); + + /* Hide completed upload icon after 3 seconds. */ + animation-delay: 0ms, 3000ms; + + /* + * Use CSS math to simulate container queries. + * https://css-tricks.com/the-raven-technique-one-step-closer-to-container-queries/#what-about-showing-and-hiding-things + */ + overflow: hidden; + width: calc(var(--ck-image-upload-icon-is-visible) * var(--ck-image-upload-icon-size)); + height: calc(var(--ck-image-upload-icon-is-visible) * var(--ck-image-upload-icon-size)); + + /* This is check icon element made from border-width mixed with animations. */ + &::after { + /* Because of border transformation we need to "hard code" left position. */ + left: 25%; + + top: 50%; + opacity: 0; + height: 0; + width: 0; + + transform: scaleX(-1) rotate(135deg); + transform-origin: left top; + border-top: var(--ck-image-upload-icon-width) solid var(--ck-color-image-upload-icon); + border-right: var(--ck-image-upload-icon-width) solid var(--ck-color-image-upload-icon); + + animation-name: ck-upload-complete-icon-check; + animation-duration: 500ms; + animation-delay: 500ms; + animation-fill-mode: forwards; + + /* #1095. While reset is not providing proper box-sizing for pseudoelements, we need to handle it. */ + box-sizing: border-box; + } +} + +@keyframes ck-upload-complete-icon-show { + from { + opacity: 0; + } + + to { + opacity: 1; + } +} + +@keyframes ck-upload-complete-icon-hide { + from { + opacity: 1; + } + + to { + opacity: 0; + } +} + +@keyframes ck-upload-complete-icon-check { + 0% { + opacity: 1; + width: 0; + height: 0; + } + 33% { + width: 0.3em; + height: 0; + } + 100% { + opacity: 1; + width: 0.3em; + height: 0.45em; + } +} +`],sourceRoot:""}]);const m=g},6618:(_,x,h)=>{h.d(x,{Z:()=>m});var y=h(4015),E=h.n(y),k=h(3645),D=h.n(k),g=D()(E());g.push([_.id,'.ck .ck-upload-placeholder-loader{align-items:center;display:flex;justify-content:center;left:0;position:absolute;top:0}.ck .ck-upload-placeholder-loader:before{content:"";position:relative}:root{--ck-color-upload-placeholder-loader:#b3b3b3;--ck-upload-placeholder-loader-size:32px;--ck-upload-placeholder-image-aspect-ratio:2.8}.ck .ck-image-upload-placeholder{margin:0;width:100%}.ck .ck-image-upload-placeholder.image-inline{width:calc(var(--ck-upload-placeholder-loader-size)*2*var(--ck-upload-placeholder-image-aspect-ratio))}.ck .ck-image-upload-placeholder img{aspect-ratio:var(--ck-upload-placeholder-image-aspect-ratio)}.ck .ck-upload-placeholder-loader{height:100%;width:100%}.ck .ck-upload-placeholder-loader:before{animation:ck-upload-placeholder-loader 1s linear infinite;border-radius:50%;border-right:2px solid transparent;border-top:3px solid var(--ck-color-upload-placeholder-loader);height:var(--ck-upload-placeholder-loader-size);width:var(--ck-upload-placeholder-loader-size)}@keyframes ck-upload-placeholder-loader{to{transform:rotate(1turn)}}',"",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-image/theme/imageuploadloader.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-image/imageuploadloader.css"],names:[],mappings:"AAKA,kCAGC,kBAAmB,CADnB,YAAa,CAEb,sBAAuB,CAEvB,MAAO,CALP,iBAAkB,CAIlB,KAOD,CAJC,yCACC,UAAW,CACX,iBACD,CCXD,MACC,4CAAqD,CACrD,wCAAyC,CACzC,8CACD,CAEA,iCAGC,QAAS,CADT,UAgBD,CAbC,8CACC,sGACD,CAEA,qCAOC,4DACD,CAGD,kCAEC,WAAY,CADZ,UAWD,CARC,yCAMC,yDAA0D,CAH1D,iBAAkB,CAElB,kCAAmC,CADnC,8DAA+D,CAF/D,+CAAgD,CADhD,8CAMD,CAGD,wCACC,GACC,uBACD,CACD",sourcesContent:[`/* + * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved. + * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license + */ + +.ck .ck-upload-placeholder-loader { + position: absolute; + display: flex; + align-items: center; + justify-content: center; + top: 0; + left: 0; + + &::before { + content: ''; + position: relative; + } +} +`,`/* + * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved. + * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license + */ + +:root { + --ck-color-upload-placeholder-loader: hsl(0, 0%, 70%); + --ck-upload-placeholder-loader-size: 32px; + --ck-upload-placeholder-image-aspect-ratio: 2.8; +} + +.ck .ck-image-upload-placeholder { + /* We need to control the full width of the SVG gray background. */ + width: 100%; + margin: 0; + + &.image-inline { + width: calc( 2 * var(--ck-upload-placeholder-loader-size) * var(--ck-upload-placeholder-image-aspect-ratio) ); + } + + & img { + /* + * This is an arbitrary aspect for a 1x1 px GIF to display to the user. Not too tall, not too short. + * There's nothing special about this number except that it should make the image placeholder look like + * a real image during this short period after the upload started and before the image was read from the + * file system (and a rich preview was loaded). + */ + aspect-ratio: var(--ck-upload-placeholder-image-aspect-ratio); + } +} + +.ck .ck-upload-placeholder-loader { + width: 100%; + height: 100%; + + &::before { + width: var(--ck-upload-placeholder-loader-size); + height: var(--ck-upload-placeholder-loader-size); + border-radius: 50%; + border-top: 3px solid var(--ck-color-upload-placeholder-loader); + border-right: 2px solid transparent; + animation: ck-upload-placeholder-loader 1s linear infinite; + } +} + +@keyframes ck-upload-placeholder-loader { + to { + transform: rotate( 360deg ); + } +} +`],sourceRoot:""}]);const m=g},2926:(_,x,h)=>{h.d(x,{Z:()=>m});var y=h(4015),E=h.n(y),k=h(3645),D=h.n(k),g=D()(E());g.push([_.id,".ck.ck-editor__editable .image,.ck.ck-editor__editable .image-inline{position:relative}.ck.ck-editor__editable .image .ck-progress-bar,.ck.ck-editor__editable .image-inline .ck-progress-bar{left:0;position:absolute;top:0}.ck.ck-editor__editable .image-inline.ck-appear,.ck.ck-editor__editable .image.ck-appear{animation:fadeIn .7s}.ck.ck-editor__editable .image .ck-progress-bar,.ck.ck-editor__editable .image-inline .ck-progress-bar{background:var(--ck-color-upload-bar-background);height:2px;transition:width .1s;width:0}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}","",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-image/theme/imageuploadprogress.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-image/imageuploadprogress.css"],names:[],mappings:"AAMC,qEAEC,iBACD,CAGA,uGAIC,MAAO,CAFP,iBAAkB,CAClB,KAED,CCRC,yFACC,oBACD,CAID,uGAIC,gDAAiD,CAFjD,UAAW,CAGX,oBAAuB,CAFvB,OAGD,CAGD,kBACC,GAAO,SAAY,CACnB,GAAO,SAAY,CACpB",sourcesContent:[`/* + * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved. + * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license + */ + +.ck.ck-editor__editable { + & .image, + & .image-inline { + position: relative; + } + + /* Upload progress bar. */ + & .image .ck-progress-bar, + & .image-inline .ck-progress-bar { + position: absolute; + top: 0; + left: 0; + } +} +`,`/* + * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved. + * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license + */ + +.ck.ck-editor__editable { + & .image, + & .image-inline { + /* Showing animation. */ + &.ck-appear { + animation: fadeIn 700ms; + } + } + + /* Upload progress bar. */ + & .image .ck-progress-bar, + & .image-inline .ck-progress-bar { + height: 2px; + width: 0; + background: var(--ck-color-upload-bar-background); + transition: width 100ms; + } +} + +@keyframes fadeIn { + from { opacity: 0; } + to { opacity: 1; } +} +`],sourceRoot:""}]);const m=g},5269:(_,x,h)=>{h.d(x,{Z:()=>m});var y=h(4015),E=h.n(y),k=h(3645),D=h.n(k),g=D()(E());g.push([_.id,".ck.ck-text-alternative-form{display:flex;flex-direction:row;flex-wrap:nowrap}.ck.ck-text-alternative-form .ck-labeled-field-view{display:inline-block}.ck.ck-text-alternative-form .ck-label{display:none}@media screen and (max-width:600px){.ck.ck-text-alternative-form{flex-wrap:wrap}.ck.ck-text-alternative-form .ck-labeled-field-view{flex-basis:100%}.ck.ck-text-alternative-form .ck-button{flex-basis:50%}}","",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-image/theme/textalternativeform.css","webpack://./node_modules/@ckeditor/ckeditor5-ui/theme/mixins/_rwd.css"],names:[],mappings:"AAOA,6BACC,YAAa,CACb,kBAAmB,CACnB,gBAqBD,CAnBC,oDACC,oBACD,CAEA,uCACC,YACD,CCZA,oCDCD,6BAcE,cAUF,CARE,oDACC,eACD,CAEA,wCACC,cACD,CCrBD",sourcesContent:[`/* + * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved. + * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license + */ + +@import "@ckeditor/ckeditor5-ui/theme/mixins/_rwd.css"; + +.ck.ck-text-alternative-form { + display: flex; + flex-direction: row; + flex-wrap: nowrap; + + & .ck-labeled-field-view { + display: inline-block; + } + + & .ck-label { + display: none; + } + + @mixin ck-media-phone { + flex-wrap: wrap; + + & .ck-labeled-field-view { + flex-basis: 100%; + } + + & .ck-button { + flex-basis: 50%; + } + } +} +`,`/* + * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved. + * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license + */ + +@define-mixin ck-media-phone { + @media screen and (max-width: 600px) { + @mixin-content; + } +} +`],sourceRoot:""}]);const m=g},3925:(_,x,h)=>{h.d(x,{Z:()=>m});var y=h(4015),E=h.n(y),k=h(3645),D=h.n(k),g=D()(E());g.push([_.id,".ck .ck-link_selected{background:var(--ck-color-link-selected-background)}.ck .ck-link_selected span.image-inline{outline:var(--ck-widget-outline-thickness) solid var(--ck-color-link-selected-background)}.ck .ck-fake-link-selection{background:var(--ck-color-link-fake-selection)}.ck .ck-fake-link-selection_collapsed{border-right:1px solid var(--ck-color-base-text);height:100%;margin-right:-1px;outline:1px solid hsla(0,0%,100%,.5)}","",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-link/link.css"],names:[],mappings:"AAMA,sBACC,mDAMD,CAHC,wCACC,yFACD,CAOD,4BACC,8CACD,CAGA,sCAEC,gDAAiD,CADjD,WAAY,CAEZ,iBAAkB,CAClB,oCACD",sourcesContent:[`/* + * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved. + * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license + */ + +/* Class added to span element surrounding currently selected link. */ +.ck .ck-link_selected { + background: var(--ck-color-link-selected-background); + + /* Give linked inline images some outline to let the user know they are also part of the link. */ + & span.image-inline { + outline: var(--ck-widget-outline-thickness) solid var(--ck-color-link-selected-background); + } +} + +/* + * Classes used by the "fake visual selection" displayed in the content when an input + * in the link UI has focus (the browser does not render the native selection in this state). + */ +.ck .ck-fake-link-selection { + background: var(--ck-color-link-fake-selection); +} + +/* A collapsed fake visual selection. */ +.ck .ck-fake-link-selection_collapsed { + height: 100%; + border-right: 1px solid var(--ck-color-base-text); + margin-right: -1px; + outline: solid 1px hsla(0, 0%, 100%, .5); +} +`],sourceRoot:""}]);const m=g},7536:(_,x,h)=>{h.d(x,{Z:()=>m});var y=h(4015),E=h.n(y),k=h(3645),D=h.n(k),g=D()(E());g.push([_.id,".ck.ck-link-actions{display:flex;flex-direction:row;flex-wrap:nowrap}.ck.ck-link-actions .ck-link-actions__preview{display:inline-block}.ck.ck-link-actions .ck-link-actions__preview .ck-button__label{overflow:hidden}@media screen and (max-width:600px){.ck.ck-link-actions{flex-wrap:wrap}.ck.ck-link-actions .ck-link-actions__preview{flex-basis:100%}.ck.ck-link-actions .ck-button:not(.ck-link-actions__preview){flex-basis:50%}}.ck.ck-link-actions .ck-button.ck-link-actions__preview{padding-left:0;padding-right:0}.ck.ck-link-actions .ck-button.ck-link-actions__preview .ck-button__label{color:var(--ck-color-link-default);cursor:pointer;max-width:var(--ck-input-width);min-width:3em;padding:0 var(--ck-spacing-medium);text-align:center;text-overflow:ellipsis}.ck.ck-link-actions .ck-button.ck-link-actions__preview .ck-button__label:hover{text-decoration:underline}.ck.ck-link-actions .ck-button.ck-link-actions__preview,.ck.ck-link-actions .ck-button.ck-link-actions__preview:active,.ck.ck-link-actions .ck-button.ck-link-actions__preview:focus,.ck.ck-link-actions .ck-button.ck-link-actions__preview:hover{background:none}.ck.ck-link-actions .ck-button.ck-link-actions__preview:active{box-shadow:none}.ck.ck-link-actions .ck-button.ck-link-actions__preview:focus .ck-button__label{text-decoration:underline}[dir=ltr] .ck.ck-link-actions .ck-button:not(:first-child),[dir=rtl] .ck.ck-link-actions .ck-button:not(:last-child){margin-left:var(--ck-spacing-standard)}@media screen and (max-width:600px){.ck.ck-link-actions .ck-button.ck-link-actions__preview{margin:var(--ck-spacing-standard) var(--ck-spacing-standard) 0}.ck.ck-link-actions .ck-button.ck-link-actions__preview .ck-button__label{max-width:100%;min-width:0}[dir=ltr] .ck.ck-link-actions .ck-button:not(.ck-link-actions__preview),[dir=rtl] .ck.ck-link-actions .ck-button:not(.ck-link-actions__preview){margin-left:0}}","",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-link/theme/linkactions.css","webpack://./node_modules/@ckeditor/ckeditor5-ui/theme/mixins/_rwd.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-link/linkactions.css"],names:[],mappings:"AAOA,oBACC,YAAa,CACb,kBAAmB,CACnB,gBAqBD,CAnBC,8CACC,oBAKD,CAHC,gEACC,eACD,CCXD,oCDCD,oBAcE,cAUF,CARE,8CACC,eACD,CAEA,8DACC,cACD,CCrBD,CCIA,wDACC,cAAe,CACf,eAmCD,CAjCC,0EAEC,kCAAmC,CAEnC,cAAe,CAIf,+BAAgC,CAChC,aAAc,CARd,kCAAmC,CASnC,iBAAkB,CAPlB,sBAYD,CAHC,gFACC,yBACD,CAGD,mPAIC,eACD,CAEA,+DACC,eACD,CAGC,gFACC,yBACD,CAWD,qHACC,sCACD,CDtDD,oCC0DC,wDACC,8DAMD,CAJC,0EAEC,cAAe,CADf,WAED,CAGD,gJAME,aAEF,CDzED",sourcesContent:[`/* + * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved. + * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license + */ + +@import "@ckeditor/ckeditor5-ui/theme/mixins/_rwd.css"; + +.ck.ck-link-actions { + display: flex; + flex-direction: row; + flex-wrap: nowrap; + + & .ck-link-actions__preview { + display: inline-block; + + & .ck-button__label { + overflow: hidden; + } + } + + @mixin ck-media-phone { + flex-wrap: wrap; + + & .ck-link-actions__preview { + flex-basis: 100%; + } + + & .ck-button:not(.ck-link-actions__preview) { + flex-basis: 50%; + } + } +} +`,`/* + * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved. + * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license + */ + +@define-mixin ck-media-phone { + @media screen and (max-width: 600px) { + @mixin-content; + } +} +`,`/* + * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved. + * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license + */ + +@import "@ckeditor/ckeditor5-ui/theme/mixins/_unselectable.css"; +@import "@ckeditor/ckeditor5-ui/theme/mixins/_dir.css"; +@import "../mixins/_focus.css"; +@import "../mixins/_shadow.css"; +@import "@ckeditor/ckeditor5-ui/theme/mixins/_rwd.css"; + +.ck.ck-link-actions { + & .ck-button.ck-link-actions__preview { + padding-left: 0; + padding-right: 0; + + & .ck-button__label { + padding: 0 var(--ck-spacing-medium); + color: var(--ck-color-link-default); + text-overflow: ellipsis; + cursor: pointer; + + /* Match the box model of the link editor form's input so the balloon + does not change width when moving between actions and the form. */ + max-width: var(--ck-input-width); + min-width: 3em; + text-align: center; + + &:hover { + text-decoration: underline; + } + } + + &, + &:hover, + &:focus, + &:active { + background: none; + } + + &:active { + box-shadow: none; + } + + &:focus { + & .ck-button__label { + text-decoration: underline; + } + } + } + + @mixin ck-dir ltr { + & .ck-button:not(:first-child) { + margin-left: var(--ck-spacing-standard); + } + } + + @mixin ck-dir rtl { + & .ck-button:not(:last-child) { + margin-left: var(--ck-spacing-standard); + } + } + + @mixin ck-media-phone { + & .ck-button.ck-link-actions__preview { + margin: var(--ck-spacing-standard) var(--ck-spacing-standard) 0; + + & .ck-button__label { + min-width: 0; + max-width: 100%; + } + } + + & .ck-button:not(.ck-link-actions__preview) { + @mixin ck-dir ltr { + margin-left: 0; + } + + @mixin ck-dir rtl { + margin-left: 0; + } + } + } +} +`],sourceRoot:""}]);const m=g},4874:(_,x,h)=>{h.d(x,{Z:()=>m});var y=h(4015),E=h.n(y),k=h(3645),D=h.n(k),g=D()(E());g.push([_.id,".ck.ck-link-form{display:flex}.ck.ck-link-form .ck-label{display:none}@media screen and (max-width:600px){.ck.ck-link-form{flex-wrap:wrap}.ck.ck-link-form .ck-labeled-field-view{flex-basis:100%}.ck.ck-link-form .ck-button{flex-basis:50%}}.ck.ck-link-form_layout-vertical{display:block}.ck.ck-link-form_layout-vertical .ck-button.ck-button-cancel,.ck.ck-link-form_layout-vertical .ck-button.ck-button-save{margin-top:var(--ck-spacing-medium)}.ck.ck-link-form_layout-vertical{min-width:var(--ck-input-width);padding:0}.ck.ck-link-form_layout-vertical .ck-labeled-field-view{margin:var(--ck-spacing-large) var(--ck-spacing-large) var(--ck-spacing-small)}.ck.ck-link-form_layout-vertical .ck-labeled-field-view .ck-input-text{min-width:0;width:100%}.ck.ck-link-form_layout-vertical>.ck-button{border-radius:0;margin:0;padding:var(--ck-spacing-standard);width:50%}.ck.ck-link-form_layout-vertical>.ck-button:not(:focus){border-top:1px solid var(--ck-color-base-border)}[dir=ltr] .ck.ck-link-form_layout-vertical>.ck-button,[dir=rtl] .ck.ck-link-form_layout-vertical>.ck-button{margin-left:0}[dir=rtl] .ck.ck-link-form_layout-vertical>.ck-button:last-of-type{border-right:1px solid var(--ck-color-base-border)}.ck.ck-link-form_layout-vertical .ck.ck-list{margin:var(--ck-spacing-standard) var(--ck-spacing-large)}.ck.ck-link-form_layout-vertical .ck.ck-list .ck-button.ck-switchbutton{padding:0;width:100%}.ck.ck-link-form_layout-vertical .ck.ck-list .ck-button.ck-switchbutton:hover{background:none}","",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-link/theme/linkform.css","webpack://./node_modules/@ckeditor/ckeditor5-ui/theme/mixins/_rwd.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-link/linkform.css"],names:[],mappings:"AAOA,iBACC,YAiBD,CAfC,2BACC,YACD,CCNA,oCDCD,iBAQE,cAUF,CARE,wCACC,eACD,CAEA,4BACC,cACD,CCfD,CDuBD,iCACC,aAYD,CALE,wHAEC,mCACD,CE/BF,iCAEC,+BAAgC,CADhC,SAgDD,CA7CC,wDACC,8EAMD,CAJC,uEACC,WAAY,CACZ,UACD,CAGD,4CAIC,eAAgB,CAFhB,QAAS,CADT,kCAAmC,CAEnC,SAkBD,CAfC,wDACC,gDACD,CARD,4GAeE,aAMF,CAJE,mEACC,kDACD,CAKF,6CACC,yDAUD,CARC,wEACC,SAAU,CACV,UAKD,CAHC,8EACC,eACD",sourcesContent:[`/* + * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved. + * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license + */ + +@import "@ckeditor/ckeditor5-ui/theme/mixins/_rwd.css"; + +.ck.ck-link-form { + display: flex; + + & .ck-label { + display: none; + } + + @mixin ck-media-phone { + flex-wrap: wrap; + + & .ck-labeled-field-view { + flex-basis: 100%; + } + + & .ck-button { + flex-basis: 50%; + } + } +} + +/* + * Style link form differently when manual decorators are available. + * See: https://github.com/ckeditor/ckeditor5-link/issues/186. + */ +.ck.ck-link-form_layout-vertical { + display: block; + + /* + * Whether the form is in the responsive mode or not, if there are decorator buttons + * keep the top margin of action buttons medium. + */ + & .ck-button { + &.ck-button-save, + &.ck-button-cancel { + margin-top: var(--ck-spacing-medium); + } + } +} +`,`/* + * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved. + * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license + */ + +@define-mixin ck-media-phone { + @media screen and (max-width: 600px) { + @mixin-content; + } +} +`,`/* + * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved. + * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license + */ + +@import "@ckeditor/ckeditor5-ui/theme/mixins/_dir.css"; + +/* + * Style link form differently when manual decorators are available. + * See: https://github.com/ckeditor/ckeditor5-link/issues/186. + */ +.ck.ck-link-form_layout-vertical { + padding: 0; + min-width: var(--ck-input-width); + + & .ck-labeled-field-view { + margin: var(--ck-spacing-large) var(--ck-spacing-large) var(--ck-spacing-small); + + & .ck-input-text { + min-width: 0; + width: 100%; + } + } + + & > .ck-button { + padding: var(--ck-spacing-standard); + margin: 0; + width: 50%; + border-radius: 0; + + &:not(:focus) { + border-top: 1px solid var(--ck-color-base-border); + } + + @mixin ck-dir ltr { + margin-left: 0; + } + + @mixin ck-dir rtl { + margin-left: 0; + + &:last-of-type { + border-right: 1px solid var(--ck-color-base-border); + } + } + } + + /* Using additional \`.ck\` class for stronger CSS specificity than \`.ck.ck-link-form > :not(:first-child)\`. */ + & .ck.ck-list { + margin: var(--ck-spacing-standard) var(--ck-spacing-large); + + & .ck-button.ck-switchbutton { + padding: 0; + width: 100%; + + &:hover { + background: none; + } + } + } +} +`],sourceRoot:""}]);const m=g},4330:(_,x,h)=>{h.d(x,{Z:()=>m});var y=h(4015),E=h.n(y),k=h(3645),D=h.n(k),g=D()(E());g.push([_.id,'.ck.ck-editor__editable a span.image-inline:after,.ck.ck-editor__editable figure.image>a:after{display:block;position:absolute}:root{--ck-link-image-indicator-icon-size:20;--ck-link-image-indicator-icon-is-visible:clamp(0px,100% - 50px,1px)}.ck.ck-editor__editable a span.image-inline:after,.ck.ck-editor__editable figure.image>a:after{background-color:rgba(0,0,0,.4);background-image:url("data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgMjAgMjAiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZmlsbD0iI2ZmZiIgZD0ibTExLjA3NyAxNSAuOTkxLTEuNDE2YS43NS43NSAwIDEgMSAxLjIyOS44NmwtMS4xNDggMS42NGEuNzQ4Ljc0OCAwIDAgMS0uMjE3LjIwNiA1LjI1MSA1LjI1MSAwIDAgMS04LjUwMy01Ljk1NS43NDEuNzQxIDAgMCAxIC4xMi0uMjc0bDEuMTQ3LTEuNjM5YS43NS43NSAwIDEgMSAxLjIyOC44Nkw0LjkzMyAxMC43bC4wMDYuMDAzYTMuNzUgMy43NSAwIDAgMCA2LjEzMiA0LjI5NGwuMDA2LjAwNHptNS40OTQtNS4zMzVhLjc0OC43NDggMCAwIDEtLjEyLjI3NGwtMS4xNDcgMS42MzlhLjc1Ljc1IDAgMSAxLTEuMjI4LS44NmwuODYtMS4yM2EzLjc1IDMuNzUgMCAwIDAtNi4xNDQtNC4zMDFsLS44NiAxLjIyOWEuNzUuNzUgMCAwIDEtMS4yMjktLjg2bDEuMTQ4LTEuNjRhLjc0OC43NDggMCAwIDEgLjIxNy0uMjA2IDUuMjUxIDUuMjUxIDAgMCAxIDguNTAzIDUuOTU1em0tNC41NjMtMi41MzJhLjc1Ljc1IDAgMCAxIC4xODQgMS4wNDVsLTMuMTU1IDQuNTA1YS43NS43NSAwIDEgMS0xLjIyOS0uODZsMy4xNTUtNC41MDZhLjc1Ljc1IDAgMCAxIDEuMDQ1LS4xODR6Ii8+PC9zdmc+");background-position:50%;background-repeat:no-repeat;background-size:14px;border-radius:100%;content:"";height:calc(var(--ck-link-image-indicator-icon-is-visible)*var(--ck-link-image-indicator-icon-size));overflow:hidden;right:min(var(--ck-spacing-medium),6%);top:min(var(--ck-spacing-medium),6%);width:calc(var(--ck-link-image-indicator-icon-is-visible)*var(--ck-link-image-indicator-icon-size))}',"",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-link/theme/linkimage.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-link/linkimage.css"],names:[],mappings:"AASE,+FACC,aAAc,CACd,iBACD,CCPF,MAEC,sCAAuC,CACvC,oEACD,CAME,+FAUC,+BAAqC,CACrC,83BAA+3B,CAG/3B,uBAA2B,CAD3B,2BAA4B,CAD5B,oBAAqB,CAGrB,kBAAmB,CAdnB,UAAW,CAsBX,oGAAuG,CAFvG,eAAgB,CAbhB,sCAAwC,CADxC,oCAAsC,CAetC,mGAED",sourcesContent:[`/* + * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved. + * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license + */ + +.ck.ck-editor__editable { + /* Linked image indicator */ + & figure.image > a, + & a span.image-inline { + &::after { + display: block; + position: absolute; + } + } +} + +`,`/* + * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved. + * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license + */ + +:root { + /* Match the icon size with the upload indicator brought by the image upload feature. */ + --ck-link-image-indicator-icon-size: 20; + --ck-link-image-indicator-icon-is-visible: clamp(0px, 100% - 50px, 1px); +} + +.ck.ck-editor__editable { + /* Linked image indicator */ + & figure.image > a, + & a span.image-inline { + &::after { + content: ""; + + /* + * Smaller images should have the icon closer to the border. + * Match the icon position with the upload indicator brought by the image upload feature. + */ + top: min(var(--ck-spacing-medium), 6%); + right: min(var(--ck-spacing-medium), 6%); + + background-color: hsla(0, 0%, 0%, .4); + background-image: url("data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgMjAgMjAiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZmlsbD0iI2ZmZiIgZD0ibTExLjA3NyAxNSAuOTkxLTEuNDE2YS43NS43NSAwIDEgMSAxLjIyOS44NmwtMS4xNDggMS42NGEuNzQ4Ljc0OCAwIDAgMS0uMjE3LjIwNiA1LjI1MSA1LjI1MSAwIDAgMS04LjUwMy01Ljk1NS43NDEuNzQxIDAgMCAxIC4xMi0uMjc0bDEuMTQ3LTEuNjM5YS43NS43NSAwIDEgMSAxLjIyOC44Nkw0LjkzMyAxMC43bC4wMDYuMDAzYTMuNzUgMy43NSAwIDAgMCA2LjEzMiA0LjI5NGwuMDA2LjAwNHptNS40OTQtNS4zMzVhLjc0OC43NDggMCAwIDEtLjEyLjI3NGwtMS4xNDcgMS42MzlhLjc1Ljc1IDAgMSAxLTEuMjI4LS44NmwuODYtMS4yM2EzLjc1IDMuNzUgMCAwIDAtNi4xNDQtNC4zMDFsLS44NiAxLjIyOWEuNzUuNzUgMCAwIDEtMS4yMjktLjg2bDEuMTQ4LTEuNjRhLjc0OC43NDggMCAwIDEgLjIxNy0uMjA2IDUuMjUxIDUuMjUxIDAgMCAxIDguNTAzIDUuOTU1em0tNC41NjMtMi41MzJhLjc1Ljc1IDAgMCAxIC4xODQgMS4wNDVsLTMuMTU1IDQuNTA1YS43NS43NSAwIDEgMS0xLjIyOS0uODZsMy4xNTUtNC41MDZhLjc1Ljc1IDAgMCAxIDEuMDQ1LS4xODR6Ii8+PC9zdmc+"); + background-size: 14px; + background-repeat: no-repeat; + background-position: center; + border-radius: 100%; + + /* + * Use CSS math to simulate container queries. + * https://css-tricks.com/the-raven-technique-one-step-closer-to-container-queries/#what-about-showing-and-hiding-things + */ + overflow: hidden; + width: calc(var(--ck-link-image-indicator-icon-is-visible) * var(--ck-link-image-indicator-icon-size)); + height: calc(var(--ck-link-image-indicator-icon-is-visible) * var(--ck-link-image-indicator-icon-size)); + } + } +} + +`],sourceRoot:""}]);const m=g},3190:(_,x,h)=>{h.d(x,{Z:()=>m});var y=h(4015),E=h.n(y),k=h(3645),D=h.n(k),g=D()(E());g.push([_.id,".ck-editor__editable .ck-list-bogus-paragraph{display:block}","",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-list/theme/documentlist.css"],names:[],mappings:"AAKA,8CACC,aACD",sourcesContent:[`/* + * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved. + * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license + */ + +.ck-editor__editable .ck-list-bogus-paragraph { + display: block; +} +`],sourceRoot:""}]);const m=g},4784:(_,x,h)=>{h.d(x,{Z:()=>m});var y=h(4015),E=h.n(y),k=h(3645),D=h.n(k),g=D()(E());g.push([_.id,".ck-content ol{list-style-type:decimal}.ck-content ol ol{list-style-type:lower-latin}.ck-content ol ol ol{list-style-type:lower-roman}.ck-content ol ol ol ol{list-style-type:upper-latin}.ck-content ol ol ol ol ol{list-style-type:upper-roman}.ck-content ul{list-style-type:disc}.ck-content ul ul{list-style-type:circle}.ck-content ul ul ul,.ck-content ul ul ul ul{list-style-type:square}","",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-list/theme/list.css"],names:[],mappings:"AAKA,eACC,uBAiBD,CAfC,kBACC,2BAaD,CAXC,qBACC,2BASD,CAPC,wBACC,2BAKD,CAHC,2BACC,2BACD,CAMJ,eACC,oBAaD,CAXC,kBACC,sBASD,CAJE,6CACC,sBACD",sourcesContent:[`/* + * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved. + * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license + */ + +.ck-content ol { + list-style-type: decimal; + + & ol { + list-style-type: lower-latin; + + & ol { + list-style-type: lower-roman; + + & ol { + list-style-type: upper-latin; + + & ol { + list-style-type: upper-roman; + } + } + } + } +} + +.ck-content ul { + list-style-type: disc; + + & ul { + list-style-type: circle; + + & ul { + list-style-type: square; + + & ul { + list-style-type: square; + } + } + } +} +`],sourceRoot:""}]);const m=g},9938:(_,x,h)=>{h.d(x,{Z:()=>m});var y=h(4015),E=h.n(y),k=h(3645),D=h.n(k),g=D()(E());g.push([_.id,".ck.ck-list-properties.ck-list-properties_without-styles{padding:var(--ck-spacing-large)}.ck.ck-list-properties.ck-list-properties_without-styles>*{min-width:14em}.ck.ck-list-properties.ck-list-properties_without-styles>*+*{margin-top:var(--ck-spacing-standard)}.ck.ck-list-properties.ck-list-properties_with-numbered-properties>.ck-list-styles-list{grid-template-columns:repeat(4,auto)}.ck.ck-list-properties.ck-list-properties_with-numbered-properties>.ck-collapsible{border-top:1px solid var(--ck-color-base-border)}.ck.ck-list-properties.ck-list-properties_with-numbered-properties>.ck-collapsible>.ck-collapsible__children>*{width:100%}.ck.ck-list-properties.ck-list-properties_with-numbered-properties>.ck-collapsible>.ck-collapsible__children>*+*{margin-top:var(--ck-spacing-standard)}.ck.ck-list-properties .ck.ck-numbered-list-properties__start-index .ck-input{min-width:auto;width:100%}.ck.ck-list-properties .ck.ck-numbered-list-properties__reversed-order{background:transparent;margin-bottom:calc(var(--ck-spacing-tiny)*-1);padding-left:0;padding-right:0}.ck.ck-list-properties .ck.ck-numbered-list-properties__reversed-order:active,.ck.ck-list-properties .ck.ck-numbered-list-properties__reversed-order:hover{background:none;border-color:transparent;box-shadow:none}","",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-list/listproperties.css"],names:[],mappings:"AAOC,yDACC,+BASD,CAPC,2DACC,cAKD,CAHC,6DACC,qCACD,CASD,wFACC,oCACD,CAGA,mFACC,gDAWD,CARE,+GACC,UAKD,CAHC,iHACC,qCACD,CAMJ,8EACC,cAAe,CACf,UACD,CAEA,uEACC,sBAAuB,CAGvB,6CAAgD,CAFhD,cAAe,CACf,eAQD,CALC,2JAGC,eAAgB,CADhB,wBAAyB,CADzB,eAGD",sourcesContent:[`/* + * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved. + * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license + */ + +.ck.ck-list-properties { + /* When there are no list styles and there is no collapsible. */ + &.ck-list-properties_without-styles { + padding: var(--ck-spacing-large); + + & > * { + min-width: 14em; + + & + * { + margin-top: var(--ck-spacing-standard); + } + } + } + + /* + * When the numbered list property fields (start at, reversed) should be displayed, + * more horizontal space is needed. Reconfigure the style grid to create that space. + */ + &.ck-list-properties_with-numbered-properties { + & > .ck-list-styles-list { + grid-template-columns: repeat( 4, auto ); + } + + /* When list styles are rendered and property fields are in a collapsible. */ + & > .ck-collapsible { + border-top: 1px solid var(--ck-color-base-border); + + & > .ck-collapsible__children { + & > * { + width: 100%; + + & + * { + margin-top: var(--ck-spacing-standard); + } + } + } + } + } + + & .ck.ck-numbered-list-properties__start-index .ck-input { + min-width: auto; + width: 100%; + } + + & .ck.ck-numbered-list-properties__reversed-order { + background: transparent; + padding-left: 0; + padding-right: 0; + margin-bottom: calc(-1 * var(--ck-spacing-tiny)); + + &:active, &:hover { + box-shadow: none; + border-color: transparent; + background: none; + } + } +} +`],sourceRoot:""}]);const m=g},2591:(_,x,h)=>{h.d(x,{Z:()=>m});var y=h(4015),E=h.n(y),k=h(3645),D=h.n(k),g=D()(E());g.push([_.id,".ck.ck-list-styles-list{display:grid}:root{--ck-list-style-button-size:44px}.ck.ck-list-styles-list{column-gap:var(--ck-spacing-medium);grid-template-columns:repeat(3,auto);padding:var(--ck-spacing-large);row-gap:var(--ck-spacing-medium)}.ck.ck-list-styles-list .ck-button{box-sizing:content-box;margin:0;padding:0}.ck.ck-list-styles-list .ck-button,.ck.ck-list-styles-list .ck-button .ck-icon{height:var(--ck-list-style-button-size);width:var(--ck-list-style-button-size)}","",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-list/theme/liststyles.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-list/liststyles.css"],names:[],mappings:"AAKA,wBACC,YACD,CCFA,MACC,gCACD,CAEA,wBAGC,mCAAoC,CAFpC,oCAAwC,CAGxC,+BAAgC,CAFhC,gCA4BD,CAxBC,mCAiBC,sBAAuB,CAPvB,QAAS,CANT,SAmBD,CAJC,+EAhBA,uCAAwC,CADxC,sCAoBA",sourcesContent:[`/* + * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved. + * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license + */ + +.ck.ck-list-styles-list { + display: grid; +} +`,`/* + * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved. + * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license + */ + +:root { + --ck-list-style-button-size: 44px; +} + +.ck.ck-list-styles-list { + grid-template-columns: repeat( 3, auto ); + row-gap: var(--ck-spacing-medium); + column-gap: var(--ck-spacing-medium); + padding: var(--ck-spacing-large); + + & .ck-button { + /* Make the button look like a thumbnail (the icon "takes it all"). */ + width: var(--ck-list-style-button-size); + height: var(--ck-list-style-button-size); + padding: 0; + + /* + * Buttons are aligned by the grid so disable default button margins to not collide with the + * gaps in the grid. + */ + margin: 0; + + /* + * Make sure the button border (which is displayed on focus, BTW) does not steal pixels + * from the button dimensions and, as a result, decrease the size of the icon + * (which becomes blurry as it scales down). + */ + box-sizing: content-box; + + & .ck-icon { + width: var(--ck-list-style-button-size); + height: var(--ck-list-style-button-size); + } + } +} +`],sourceRoot:""}]);const m=g},9292:(_,x,h)=>{h.d(x,{Z:()=>m});var y=h(4015),E=h.n(y),k=h(3645),D=h.n(k),g=D()(E());g.push([_.id,':root{--ck-todo-list-checkmark-size:16px}.ck-content .todo-list{list-style:none}.ck-content .todo-list li{margin-bottom:5px;position:relative}.ck-content .todo-list li .todo-list{margin-top:5px}.ck-content .todo-list .todo-list__label>input{-webkit-appearance:none;border:0;display:inline-block;height:var(--ck-todo-list-checkmark-size);left:-25px;margin-left:0;margin-right:-15px;position:relative;right:0;vertical-align:middle;width:var(--ck-todo-list-checkmark-size)}.ck-content[dir=rtl] .todo-list .todo-list__label>input{left:0;margin-left:-15px;margin-right:0;right:-25px}.ck-content .todo-list .todo-list__label>input:before{border:1px solid #333;border-radius:2px;box-sizing:border-box;content:"";display:block;height:100%;position:absolute;transition:box-shadow .25s ease-in-out;width:100%}.ck-content .todo-list .todo-list__label>input:after{border-color:transparent;border-style:solid;border-width:0 calc(var(--ck-todo-list-checkmark-size)/8) calc(var(--ck-todo-list-checkmark-size)/8) 0;box-sizing:content-box;content:"";display:block;height:calc(var(--ck-todo-list-checkmark-size)/2.6);left:calc(var(--ck-todo-list-checkmark-size)/3);pointer-events:none;position:absolute;top:calc(var(--ck-todo-list-checkmark-size)/5.3);transform:rotate(45deg);width:calc(var(--ck-todo-list-checkmark-size)/5.3)}.ck-content .todo-list .todo-list__label>input[checked]:before{background:#26ab33;border-color:#26ab33}.ck-content .todo-list .todo-list__label>input[checked]:after{border-color:#fff}.ck-content .todo-list .todo-list__label .todo-list__label__description{vertical-align:middle}.ck-content .todo-list .todo-list__label.todo-list__label_without-description input[type=checkbox]{position:absolute}.ck-editor__editable.ck-content .todo-list .todo-list__label>input,.ck-editor__editable.ck-content .todo-list .todo-list__label>span[contenteditable=false]>input{cursor:pointer}.ck-editor__editable.ck-content .todo-list .todo-list__label>input:hover:before,.ck-editor__editable.ck-content .todo-list .todo-list__label>span[contenteditable=false]>input:hover:before{box-shadow:0 0 0 5px rgba(0,0,0,.1)}.ck-editor__editable.ck-content .todo-list .todo-list__label>span[contenteditable=false]>input{-webkit-appearance:none;border:0;display:inline-block;height:var(--ck-todo-list-checkmark-size);left:-25px;margin-left:0;margin-right:-15px;position:relative;right:0;vertical-align:middle;width:var(--ck-todo-list-checkmark-size)}.ck-editor__editable.ck-content[dir=rtl] .todo-list .todo-list__label>span[contenteditable=false]>input{left:0;margin-left:-15px;margin-right:0;right:-25px}.ck-editor__editable.ck-content .todo-list .todo-list__label>span[contenteditable=false]>input:before{border:1px solid #333;border-radius:2px;box-sizing:border-box;content:"";display:block;height:100%;position:absolute;transition:box-shadow .25s ease-in-out;width:100%}.ck-editor__editable.ck-content .todo-list .todo-list__label>span[contenteditable=false]>input:after{border-color:transparent;border-style:solid;border-width:0 calc(var(--ck-todo-list-checkmark-size)/8) calc(var(--ck-todo-list-checkmark-size)/8) 0;box-sizing:content-box;content:"";display:block;height:calc(var(--ck-todo-list-checkmark-size)/2.6);left:calc(var(--ck-todo-list-checkmark-size)/3);pointer-events:none;position:absolute;top:calc(var(--ck-todo-list-checkmark-size)/5.3);transform:rotate(45deg);width:calc(var(--ck-todo-list-checkmark-size)/5.3)}.ck-editor__editable.ck-content .todo-list .todo-list__label>span[contenteditable=false]>input[checked]:before{background:#26ab33;border-color:#26ab33}.ck-editor__editable.ck-content .todo-list .todo-list__label>span[contenteditable=false]>input[checked]:after{border-color:#fff}.ck-editor__editable.ck-content .todo-list .todo-list__label.todo-list__label_without-description input[type=checkbox]{position:absolute}',"",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-list/theme/todolist.css"],names:[],mappings:"AAKA,MACC,kCACD,CAwEA,uBACC,eAwBD,CAtBC,0BAEC,iBAAkB,CADlB,iBAMD,CAHC,qCACC,cACD,CAIA,+CAlFD,uBAAwB,CAQxB,QAAS,CAPT,oBAAqB,CAGrB,yCAA0C,CAO1C,UAAW,CAGX,aAAc,CAFd,kBAAmB,CAVnB,iBAAkB,CAWlB,OAAQ,CARR,qBAAsB,CAFtB,wCAiFC,CAFA,wDAhEA,MAAO,CAGP,iBAAkB,CAFlB,cAAe,CACf,WAgEA,CA5DD,sDAOC,qBAAiC,CACjC,iBAAkB,CALlB,qBAAsB,CACtB,UAAW,CAHX,aAAc,CAKd,WAAY,CAJZ,iBAAkB,CAOlB,sCAAwC,CAJxC,UAKD,CAEA,qDAaC,wBAAyB,CADzB,kBAAmB,CAEnB,sGAA+G,CAX/G,sBAAuB,CAEvB,UAAW,CAJX,aAAc,CAUd,mDAAwD,CAHxD,+CAAoD,CAJpD,mBAAoB,CAFpB,iBAAkB,CAOlB,gDAAqD,CAMrD,uBAAwB,CALxB,kDAMD,CAGC,+DACC,kBAA8B,CAC9B,oBACD,CAEA,8DACC,iBACD,CAwBA,wEACC,qBACD,CAEA,mGACC,iBACD,CAYD,kKAEC,cAKD,CAHC,4LACC,mCACD,CAMD,+FApHA,uBAAwB,CAQxB,QAAS,CAPT,oBAAqB,CAGrB,yCAA0C,CAO1C,UAAW,CAGX,aAAc,CAFd,kBAAmB,CAVnB,iBAAkB,CAWlB,OAAQ,CARR,qBAAsB,CAFtB,wCAmHA,CAFA,wGAlGC,MAAO,CAGP,iBAAkB,CAFlB,cAAe,CACf,WAkGD,CA9FA,sGAOC,qBAAiC,CACjC,iBAAkB,CALlB,qBAAsB,CACtB,UAAW,CAHX,aAAc,CAKd,WAAY,CAJZ,iBAAkB,CAOlB,sCAAwC,CAJxC,UAKD,CAEA,qGAaC,wBAAyB,CADzB,kBAAmB,CAEnB,sGAA+G,CAX/G,sBAAuB,CAEvB,UAAW,CAJX,aAAc,CAUd,mDAAwD,CAHxD,+CAAoD,CAJpD,mBAAoB,CAFpB,iBAAkB,CAOlB,gDAAqD,CAMrD,uBAAwB,CALxB,kDAMD,CAGC,+GACC,kBAA8B,CAC9B,oBACD,CAEA,8GACC,iBACD,CA2DA,uHACC,iBACD",sourcesContent:[`/* + * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved. + * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license + */ + +:root { + --ck-todo-list-checkmark-size: 16px; +} + +@define-mixin todo-list-checkbox { + -webkit-appearance: none; + display: inline-block; + position: relative; + width: var(--ck-todo-list-checkmark-size); + height: var(--ck-todo-list-checkmark-size); + vertical-align: middle; + + /* Needed on iOS */ + border: 0; + + /* LTR styles */ + left: -25px; + margin-right: -15px; + right: 0; + margin-left: 0; + + /* RTL styles */ + @nest [dir=rtl]& { + left: 0; + margin-right: 0; + right: -25px; + margin-left: -15px; + } + + &::before { + display: block; + position: absolute; + box-sizing: border-box; + content: ''; + width: 100%; + height: 100%; + border: 1px solid hsl(0, 0%, 20%); + border-radius: 2px; + transition: 250ms ease-in-out box-shadow; + } + + &::after { + display: block; + position: absolute; + box-sizing: content-box; + pointer-events: none; + content: ''; + + /* Calculate tick position, size and border-width proportional to the checkmark size. */ + left: calc( var(--ck-todo-list-checkmark-size) / 3 ); + top: calc( var(--ck-todo-list-checkmark-size) / 5.3 ); + width: calc( var(--ck-todo-list-checkmark-size) / 5.3 ); + height: calc( var(--ck-todo-list-checkmark-size) / 2.6 ); + border-style: solid; + border-color: transparent; + border-width: 0 calc( var(--ck-todo-list-checkmark-size) / 8 ) calc( var(--ck-todo-list-checkmark-size) / 8 ) 0; + transform: rotate(45deg); + } + + &[checked] { + &::before { + background: hsl(126, 64%, 41%); + border-color: hsl(126, 64%, 41%); + } + + &::after { + border-color: hsl(0, 0%, 100%); + } + } +} + +/* + * To-do list content styles. + */ +.ck-content .todo-list { + list-style: none; + + & li { + position: relative; + margin-bottom: 5px; + + & .todo-list { + margin-top: 5px; + } + } + + & .todo-list__label { + & > input { + @mixin todo-list-checkbox; + } + + & .todo-list__label__description { + vertical-align: middle; + } + + &.todo-list__label_without-description input[type=checkbox] { + position: absolute; + } + } +} + +/* + * To-do list editing view styles. + */ +.ck-editor__editable.ck-content .todo-list .todo-list__label { + /* + * To-do list should be interactive only during the editing + * (https://github.com/ckeditor/ckeditor5/issues/2090). + */ + & > input, + & > span[contenteditable=false] > input { + cursor: pointer; + + &:hover::before { + box-shadow: 0 0 0 5px hsla(0, 0%, 0%, 0.1); + } + } + + /* + * Document Lists - editing view has an additional span around checkbox. + */ + & > span[contenteditable=false] > input { + @mixin todo-list-checkbox; + } + + &.todo-list__label_without-description { + & input[type=checkbox] { + position: absolute; + } + } +} +`],sourceRoot:""}]);const m=g},8705:(_,x,h)=>{h.d(x,{Z:()=>m});var y=h(4015),E=h.n(y),k=h(3645),D=h.n(k),g=D()(E());g.push([_.id,".ck-content .media{clear:both;display:block;margin:.9em 0;min-width:15em}","",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-media-embed/theme/mediaembed.css"],names:[],mappings:"AAKA,mBAGC,UAAW,CASX,aAAc,CAJd,aAAe,CAQf,cACD",sourcesContent:[`/* + * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved. + * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license + */ + +.ck-content .media { + /* Don't allow floated content overlap the media. + https://github.com/ckeditor/ckeditor5-media-embed/issues/53 */ + clear: both; + + /* Make sure there is some space between the content and the media. */ + /* The first value should be equal to --ck-spacing-large variable if used in the editor context + to avoid the content jumping (See https://github.com/ckeditor/ckeditor5/issues/9825). */ + margin: 0.9em 0; + + /* Make sure media is not overriden with Bootstrap default \`flex\` value. + See: https://github.com/ckeditor/ckeditor5/issues/1373. */ + display: block; + + /* Give the media some minimal width in the content to prevent them + from being "squashed" in tight spaces, e.g. in table cells (#44) */ + min-width: 15em; +} +`],sourceRoot:""}]);const m=g},1922:(_,x,h)=>{h.d(x,{Z:()=>m});var y=h(4015),E=h.n(y),k=h(3645),D=h.n(k),g=D()(E());g.push([_.id,'.ck-media__wrapper .ck-media__placeholder{align-items:center;display:flex;flex-direction:column}.ck-media__wrapper .ck-media__placeholder .ck-media__placeholder__url{max-width:100%;position:relative}.ck-media__wrapper .ck-media__placeholder .ck-media__placeholder__url .ck-media__placeholder__url__text{display:block;overflow:hidden}.ck-media__wrapper[data-oembed-url*="facebook.com"] .ck-media__placeholder__icon *,.ck-media__wrapper[data-oembed-url*="goo.gl/maps"] .ck-media__placeholder__icon *,.ck-media__wrapper[data-oembed-url*="google.com/maps"] .ck-media__placeholder__icon *,.ck-media__wrapper[data-oembed-url*="instagram.com"] .ck-media__placeholder__icon *,.ck-media__wrapper[data-oembed-url*="maps.app.goo.gl"] .ck-media__placeholder__icon *,.ck-media__wrapper[data-oembed-url*="maps.google.com"] .ck-media__placeholder__icon *,.ck-media__wrapper[data-oembed-url*="twitter.com"] .ck-media__placeholder__icon *{display:none}.ck-editor__editable:not(.ck-read-only) .ck-media__wrapper>:not(.ck-media__placeholder),.ck-editor__editable:not(.ck-read-only) .ck-widget:not(.ck-widget_selected) .ck-media__placeholder{pointer-events:none}:root{--ck-media-embed-placeholder-icon-size:3em;--ck-color-media-embed-placeholder-url-text:#757575;--ck-color-media-embed-placeholder-url-text-hover:var(--ck-color-base-text)}.ck-media__wrapper{margin:0 auto}.ck-media__wrapper .ck-media__placeholder{background:var(--ck-color-base-foreground);padding:calc(var(--ck-spacing-standard)*3)}.ck-media__wrapper .ck-media__placeholder .ck-media__placeholder__icon{background-position:50%;background-size:cover;height:var(--ck-media-embed-placeholder-icon-size);margin-bottom:var(--ck-spacing-large);min-width:var(--ck-media-embed-placeholder-icon-size)}.ck-media__wrapper .ck-media__placeholder .ck-media__placeholder__icon .ck-icon{height:100%;width:100%}.ck-media__wrapper .ck-media__placeholder .ck-media__placeholder__url__text{color:var(--ck-color-media-embed-placeholder-url-text);font-style:italic;text-align:center;text-overflow:ellipsis;white-space:nowrap}.ck-media__wrapper .ck-media__placeholder .ck-media__placeholder__url__text:hover{color:var(--ck-color-media-embed-placeholder-url-text-hover);cursor:pointer;text-decoration:underline}.ck-media__wrapper[data-oembed-url*="open.spotify.com"]{max-height:380px;max-width:300px}.ck-media__wrapper[data-oembed-url*="goo.gl/maps"] .ck-media__placeholder__icon,.ck-media__wrapper[data-oembed-url*="google.com/maps"] .ck-media__placeholder__icon,.ck-media__wrapper[data-oembed-url*="maps.app.goo.gl"] .ck-media__placeholder__icon,.ck-media__wrapper[data-oembed-url*="maps.google.com"] .ck-media__placeholder__icon{background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNTAuMzc4IiBoZWlnaHQ9IjI1NC4xNjciIHZpZXdCb3g9IjAgMCA2Ni4yNDYgNjcuMjQ4Ij48ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtMTcyLjUzMSAtMjE4LjQ1NSkgc2NhbGUoLjk4MDEyKSI+PHJlY3Qgcnk9IjUuMjM4IiByeD0iNS4yMzgiIHk9IjIzMS4zOTkiIHg9IjE3Ni4wMzEiIGhlaWdodD0iNjAuMDk5IiB3aWR0aD0iNjAuMDk5IiBmaWxsPSIjMzRhNjY4IiBwYWludC1vcmRlcj0ibWFya2VycyBzdHJva2UgZmlsbCIvPjxwYXRoIGQ9Im0yMDYuNDc3IDI2MC45LTI4Ljk4NyAyOC45ODdhNS4yMTggNS4yMTggMCAwIDAgMy43OCAxLjYxaDQ5LjYyMWMxLjY5NCAwIDMuMTktLjc5OCA0LjE0Ni0yLjAzN3oiIGZpbGw9IiM1Yzg4YzUiLz48cGF0aCBkPSJNMjI2Ljc0MiAyMjIuOTg4Yy05LjI2NiAwLTE2Ljc3NyA3LjE3LTE2Ljc3NyAxNi4wMTQuMDA3IDIuNzYyLjY2MyA1LjQ3NCAyLjA5MyA3Ljg3NS40My43MDMuODMgMS40MDggMS4xOSAyLjEwNy4zMzMuNTAyLjY1IDEuMDA1Ljk1IDEuNTA4LjM0My40NzcuNjczLjk1Ny45ODggMS40NCAxLjMxIDEuNzY5IDIuNSAzLjUwMiAzLjYzNyA1LjE2OC43OTMgMS4yNzUgMS42ODMgMi42NCAyLjQ2NiAzLjk5IDIuMzYzIDQuMDk0IDQuMDA3IDguMDkyIDQuNiAxMy45MTR2LjAxMmMuMTgyLjQxMi41MTYuNjY2Ljg3OS42NjcuNDAzLS4wMDEuNzY4LS4zMTQuOTMtLjc5OS42MDMtNS43NTYgMi4yMzgtOS43MjkgNC41ODUtMTMuNzk0Ljc4Mi0xLjM1IDEuNjczLTIuNzE1IDIuNDY1LTMuOTkgMS4xMzctMS42NjYgMi4zMjgtMy40IDMuNjM4LTUuMTY5LjMxNS0uNDgyLjY0NS0uOTYyLjk4OC0xLjQzOS4zLS41MDMuNjE3LTEuMDA2Ljk1LTEuNTA4LjM1OS0uNy43Ni0xLjQwNCAxLjE5LTIuMTA3IDEuNDI2LTIuNDAyIDItNS4xMTQgMi4wMDQtNy44NzUgMC04Ljg0NC03LjUxMS0xNi4wMTQtMTYuNzc2LTE2LjAxNHoiIGZpbGw9IiNkZDRiM2UiIHBhaW50LW9yZGVyPSJtYXJrZXJzIHN0cm9rZSBmaWxsIi8+PGVsbGlwc2Ugcnk9IjUuNTY0IiByeD0iNS44MjgiIGN5PSIyMzkuMDAyIiBjeD0iMjI2Ljc0MiIgZmlsbD0iIzgwMmQyNyIgcGFpbnQtb3JkZXI9Im1hcmtlcnMgc3Ryb2tlIGZpbGwiLz48cGF0aCBkPSJNMTkwLjMwMSAyMzcuMjgzYy00LjY3IDAtOC40NTcgMy44NTMtOC40NTcgOC42MDZzMy43ODYgOC42MDcgOC40NTcgOC42MDdjMy4wNDMgMCA0LjgwNi0uOTU4IDYuMzM3LTIuNTE2IDEuNTMtMS41NTcgMi4wODctMy45MTMgMi4wODctNi4yOSAwLS4zNjItLjAyMy0uNzIyLS4wNjQtMS4wNzloLTguMjU3djMuMDQzaDQuODVjLS4xOTcuNzU5LS41MzEgMS40NS0xLjA1OCAxLjk4Ni0uOTQyLjk1OC0yLjAyOCAxLjU0OC0zLjkwMSAxLjU0OC0yLjg3NiAwLTUuMjA4LTIuMzcyLTUuMjA4LTUuMjk5IDAtMi45MjYgMi4zMzItNS4yOTkgNS4yMDgtNS4yOTkgMS4zOTkgMCAyLjYxOC40MDcgMy41ODQgMS4yOTNsMi4zODEtMi4zOGMwLS4wMDItLjAwMy0uMDA0LS4wMDQtLjAwNS0xLjU4OC0xLjUyNC0zLjYyLTIuMjE1LTUuOTU1LTIuMjE1em00LjQzIDUuNjYuMDAzLjAwNnYtLjAwM3oiIGZpbGw9IiNmZmYiIHBhaW50LW9yZGVyPSJtYXJrZXJzIHN0cm9rZSBmaWxsIi8+PHBhdGggZD0ibTIxNS4xODQgMjUxLjkyOS03Ljk4IDcuOTc5IDI4LjQ3NyAyOC40NzVhNS4yMzMgNS4yMzMgMCAwIDAgLjQ0OS0yLjEyM3YtMzEuMTY1Yy0uNDY5LjY3NS0uOTM0IDEuMzQ5LTEuMzgyIDIuMDA1LS43OTIgMS4yNzUtMS42ODIgMi42NC0yLjQ2NSAzLjk5LTIuMzQ3IDQuMDY1LTMuOTgyIDguMDM4LTQuNTg1IDEzLjc5NC0uMTYyLjQ4NS0uNTI3Ljc5OC0uOTMuNzk5LS4zNjMtLjAwMS0uNjk3LS4yNTUtLjg3OS0uNjY3di0uMDEyYy0uNTkzLTUuODIyLTIuMjM3LTkuODItNC42LTEzLjkxNC0uNzgzLTEuMzUtMS42NzMtMi43MTUtMi40NjYtMy45OS0xLjEzNy0xLjY2Ni0yLjMyNy0zLjQtMy42MzctNS4xNjlsLS4wMDItLjAwM3oiIGZpbGw9IiNjM2MzYzMiLz48cGF0aCBkPSJtMjEyLjk4MyAyNDguNDk1LTM2Ljk1MiAzNi45NTN2LjgxMmE1LjIyNyA1LjIyNyAwIDAgMCA1LjIzOCA1LjIzOGgxLjAxNWwzNS42NjYtMzUuNjY2YTEzNi4yNzUgMTM2LjI3NSAwIDAgMC0yLjc2NC0zLjkgMzcuNTc1IDM3LjU3NSAwIDAgMC0uOTg5LTEuNDQgMzUuMTI3IDM1LjEyNyAwIDAgMC0uOTUtMS41MDhjLS4wODMtLjE2Mi0uMTc2LS4zMjYtLjI2NC0uNDg5eiIgZmlsbD0iI2ZkZGM0ZiIgcGFpbnQtb3JkZXI9Im1hcmtlcnMgc3Ryb2tlIGZpbGwiLz48cGF0aCBkPSJtMjExLjk5OCAyNjEuMDgzLTYuMTUyIDYuMTUxIDI0LjI2NCAyNC4yNjRoLjc4MWE1LjIyNyA1LjIyNyAwIDAgMCA1LjIzOS01LjIzOHYtMS4wNDV6IiBmaWxsPSIjZmZmIiBwYWludC1vcmRlcj0ibWFya2VycyBzdHJva2UgZmlsbCIvPjwvZz48L3N2Zz4=)}.ck-media__wrapper[data-oembed-url*="facebook.com"] .ck-media__placeholder{background:#4268b3}.ck-media__wrapper[data-oembed-url*="facebook.com"] .ck-media__placeholder .ck-media__placeholder__icon{background-image:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTAyNCIgaGVpZ2h0PSIxMDI0IiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjxwYXRoIGQ9Ik05NjcuNDg0IDBINTYuNTE3QzI1LjMwNCAwIDAgMjUuMzA0IDAgNTYuNTE3djkxMC45NjZDMCA5OTguNjk0IDI1LjI5NyAxMDI0IDU2LjUyMiAxMDI0SDU0N1Y2MjhINDE0VjQ3M2gxMzNWMzU5LjAyOWMwLTEzMi4yNjIgODAuNzczLTIwNC4yODIgMTk4Ljc1Ni0yMDQuMjgyIDU2LjUxMyAwIDEwNS4wODYgNC4yMDggMTE5LjI0NCA2LjA4OVYyOTlsLTgxLjYxNi4wMzdjLTYzLjk5MyAwLTc2LjM4NCAzMC40OTItNzYuMzg0IDc1LjIzNlY0NzNoMTUzLjQ4N2wtMTkuOTg2IDE1NUg3MDd2Mzk2aDI2MC40ODRjMzEuMjEzIDAgNTYuNTE2LTI1LjMwMyA1Ni41MTYtNTYuNTE2VjU2LjUxNUMxMDI0IDI1LjMwMyA5OTguNjk3IDAgOTY3LjQ4NCAwIiBmaWxsPSIjRkZGRkZFIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiLz48L3N2Zz4=)}.ck-media__wrapper[data-oembed-url*="facebook.com"] .ck-media__placeholder .ck-media__placeholder__url__text{color:#cdf}.ck-media__wrapper[data-oembed-url*="facebook.com"] .ck-media__placeholder .ck-media__placeholder__url__text:hover{color:#fff}.ck-media__wrapper[data-oembed-url*="instagram.com"] .ck-media__placeholder{background:linear-gradient(-135deg,#1400c7,#b800b1,#f50000)}.ck-media__wrapper[data-oembed-url*="instagram.com"] .ck-media__placeholder .ck-media__placeholder__icon{background-image:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNTA0IiBoZWlnaHQ9IjUwNCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+PGRlZnM+PHBhdGggaWQ9ImEiIGQ9Ik0wIC4xNTloNTAzLjg0MVY1MDMuOTRIMHoiLz48L2RlZnM+PGcgZmlsbD0ibm9uZSIgZmlsbC1ydWxlPSJldmVub2RkIj48bWFzayBpZD0iYiIgZmlsbD0iI2ZmZiI+PHVzZSB4bGluazpocmVmPSIjYSIvPjwvbWFzaz48cGF0aCBkPSJNMjUxLjkyMS4xNTljLTY4LjQxOCAwLTc2Ljk5Ny4yOS0xMDMuODY3IDEuNTE2LTI2LjgxNCAxLjIyMy00NS4xMjcgNS40ODItNjEuMTUxIDExLjcxLTE2LjU2NiA2LjQzNy0zMC42MTUgMTUuMDUxLTQ0LjYyMSAyOS4wNTYtMTQuMDA1IDE0LjAwNi0yMi42MTkgMjguMDU1LTI5LjA1NiA0NC42MjEtNi4yMjggMTYuMDI0LTEwLjQ4NyAzNC4zMzctMTEuNzEgNjEuMTUxQy4yOSAxNzUuMDgzIDAgMTgzLjY2MiAwIDI1Mi4wOGMwIDY4LjQxNy4yOSA3Ni45OTYgMS41MTYgMTAzLjg2NiAxLjIyMyAyNi44MTQgNS40ODIgNDUuMTI3IDExLjcxIDYxLjE1MSA2LjQzNyAxNi41NjYgMTUuMDUxIDMwLjYxNSAyOS4wNTYgNDQuNjIxIDE0LjAwNiAxNC4wMDUgMjguMDU1IDIyLjYxOSA0NC42MjEgMjkuMDU3IDE2LjAyNCA2LjIyNyAzNC4zMzcgMTAuNDg2IDYxLjE1MSAxMS43MDkgMjYuODcgMS4yMjYgMzUuNDQ5IDEuNTE2IDEwMy44NjcgMS41MTYgNjguNDE3IDAgNzYuOTk2LS4yOSAxMDMuODY2LTEuNTE2IDI2LjgxNC0xLjIyMyA0NS4xMjctNS40ODIgNjEuMTUxLTExLjcwOSAxNi41NjYtNi40MzggMzAuNjE1LTE1LjA1MiA0NC42MjEtMjkuMDU3IDE0LjAwNS0xNC4wMDYgMjIuNjE5LTI4LjA1NSAyOS4wNTctNDQuNjIxIDYuMjI3LTE2LjAyNCAxMC40ODYtMzQuMzM3IDExLjcwOS02MS4xNTEgMS4yMjYtMjYuODcgMS41MTYtMzUuNDQ5IDEuNTE2LTEwMy44NjYgMC02OC40MTgtLjI5LTc2Ljk5Ny0xLjUxNi0xMDMuODY3LTEuMjIzLTI2LjgxNC01LjQ4Mi00NS4xMjctMTEuNzA5LTYxLjE1MS02LjQzOC0xNi41NjYtMTUuMDUyLTMwLjYxNS0yOS4wNTctNDQuNjIxLTE0LjAwNi0xNC4wMDUtMjguMDU1LTIyLjYxOS00NC42MjEtMjkuMDU2LTE2LjAyNC02LjIyOC0zNC4zMzctMTAuNDg3LTYxLjE1MS0xMS43MUMzMjguOTE3LjQ0OSAzMjAuMzM4LjE1OSAyNTEuOTIxLjE1OVptMCA0NS4zOTFjNjcuMjY1IDAgNzUuMjMzLjI1NyAxMDEuNzk3IDEuNDY5IDI0LjU2MiAxLjEyIDM3LjkwMSA1LjIyNCA0Ni43NzggOC42NzQgMTEuNzU5IDQuNTcgMjAuMTUxIDEwLjAyOSAyOC45NjYgMTguODQ1IDguODE2IDguODE1IDE0LjI3NSAxNy4yMDcgMTguODQ1IDI4Ljk2NiAzLjQ1IDguODc3IDcuNTU0IDIyLjIxNiA4LjY3NCA0Ni43NzggMS4yMTIgMjYuNTY0IDEuNDY5IDM0LjUzMiAxLjQ2OSAxMDEuNzk4IDAgNjcuMjY1LS4yNTcgNzUuMjMzLTEuNDY5IDEwMS43OTctMS4xMiAyNC41NjItNS4yMjQgMzcuOTAxLTguNjc0IDQ2Ljc3OC00LjU3IDExLjc1OS0xMC4wMjkgMjAuMTUxLTE4Ljg0NSAyOC45NjYtOC44MTUgOC44MTYtMTcuMjA3IDE0LjI3NS0yOC45NjYgMTguODQ1LTguODc3IDMuNDUtMjIuMjE2IDcuNTU0LTQ2Ljc3OCA4LjY3NC0yNi41NiAxLjIxMi0zNC41MjcgMS40NjktMTAxLjc5NyAxLjQ2OS02Ny4yNzEgMC03NS4yMzctLjI1Ny0xMDEuNzk4LTEuNDY5LTI0LjU2Mi0xLjEyLTM3LjkwMS01LjIyNC00Ni43NzgtOC42NzQtMTEuNzU5LTQuNTctMjAuMTUxLTEwLjAyOS0yOC45NjYtMTguODQ1LTguODE1LTguODE1LTE0LjI3NS0xNy4yMDctMTguODQ1LTI4Ljk2Ni0zLjQ1LTguODc3LTcuNTU0LTIyLjIxNi04LjY3NC00Ni43NzgtMS4yMTItMjYuNTY0LTEuNDY5LTM0LjUzMi0xLjQ2OS0xMDEuNzk3IDAtNjcuMjY2LjI1Ny03NS4yMzQgMS40NjktMTAxLjc5OCAxLjEyLTI0LjU2MiA1LjIyNC0zNy45MDEgOC42NzQtNDYuNzc4IDQuNTctMTEuNzU5IDEwLjAyOS0yMC4xNTEgMTguODQ1LTI4Ljk2NiA4LjgxNS04LjgxNiAxNy4yMDctMTQuMjc1IDI4Ljk2Ni0xOC44NDUgOC44NzctMy40NSAyMi4yMTYtNy41NTQgNDYuNzc4LTguNjc0IDI2LjU2NC0xLjIxMiAzNC41MzItMS40NjkgMTAxLjc5OC0xLjQ2OVoiIGZpbGw9IiNGRkYiIG1hc2s9InVybCgjYikiLz48cGF0aCBkPSJNMjUxLjkyMSAzMzYuMDUzYy00Ni4zNzggMC04My45NzQtMzcuNTk2LTgzLjk3NC04My45NzMgMC00Ni4zNzggMzcuNTk2LTgzLjk3NCA4My45NzQtODMuOTc0IDQ2LjM3NyAwIDgzLjk3MyAzNy41OTYgODMuOTczIDgzLjk3NCAwIDQ2LjM3Ny0zNy41OTYgODMuOTczLTgzLjk3MyA4My45NzNabTAtMjEzLjMzOGMtNzEuNDQ3IDAtMTI5LjM2NSA1Ny45MTgtMTI5LjM2NSAxMjkuMzY1IDAgNzEuNDQ2IDU3LjkxOCAxMjkuMzY0IDEyOS4zNjUgMTI5LjM2NCA3MS40NDYgMCAxMjkuMzY0LTU3LjkxOCAxMjkuMzY0LTEyOS4zNjQgMC03MS40NDctNTcuOTE4LTEyOS4zNjUtMTI5LjM2NC0xMjkuMzY1Wk00MTYuNjI3IDExNy42MDRjMCAxNi42OTYtMTMuNTM1IDMwLjIzLTMwLjIzMSAzMC4yMy0xNi42OTUgMC0zMC4yMy0xMy41MzQtMzAuMjMtMzAuMjMgMC0xNi42OTYgMTMuNTM1LTMwLjIzMSAzMC4yMy0zMC4yMzEgMTYuNjk2IDAgMzAuMjMxIDEzLjUzNSAzMC4yMzEgMzAuMjMxIiBmaWxsPSIjRkZGIi8+PC9nPjwvc3ZnPg==)}.ck-media__wrapper[data-oembed-url*="instagram.com"] .ck-media__placeholder .ck-media__placeholder__url__text{color:#ffe0fe}.ck-media__wrapper[data-oembed-url*="instagram.com"] .ck-media__placeholder .ck-media__placeholder__url__text:hover{color:#fff}.ck-media__wrapper[data-oembed-url*="twitter.com"] .ck.ck-media__placeholder{background:linear-gradient(90deg,#71c6f4,#0d70a5)}.ck-media__wrapper[data-oembed-url*="twitter.com"] .ck.ck-media__placeholder .ck-media__placeholder__icon{background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA0MDAgNDAwIiBzdHlsZT0iZW5hYmxlLWJhY2tncm91bmQ6bmV3IDAgMCA0MDAgNDAwIiB4bWw6c3BhY2U9InByZXNlcnZlIj48cGF0aCBkPSJNNDAwIDIwMGMwIDExMC41LTg5LjUgMjAwLTIwMCAyMDBTMCAzMTAuNSAwIDIwMCA4OS41IDAgMjAwIDBzMjAwIDg5LjUgMjAwIDIwMHpNMTYzLjQgMzA1LjVjODguNyAwIDEzNy4yLTczLjUgMTM3LjItMTM3LjIgMC0yLjEgMC00LjItLjEtNi4yIDkuNC02LjggMTcuNi0xNS4zIDI0LjEtMjUtOC42IDMuOC0xNy45IDYuNC0yNy43IDcuNiAxMC02IDE3LjYtMTUuNCAyMS4yLTI2LjctOS4zIDUuNS0xOS42IDkuNS0zMC42IDExLjctOC44LTkuNC0yMS4zLTE1LjItMzUuMi0xNS4yLTI2LjYgMC00OC4yIDIxLjYtNDguMiA0OC4yIDAgMy44LjQgNy41IDEuMyAxMS00MC4xLTItNzUuNi0yMS4yLTk5LjQtNTAuNC00LjEgNy4xLTYuNSAxNS40LTYuNSAyNC4yIDAgMTYuNyA4LjUgMzEuNSAyMS41IDQwLjEtNy45LS4yLTE1LjMtMi40LTIxLjgtNnYuNmMwIDIzLjQgMTYuNiA0Mi44IDM4LjcgNDcuMy00IDEuMS04LjMgMS43LTEyLjcgMS43LTMuMSAwLTYuMS0uMy05LjEtLjkgNi4xIDE5LjIgMjMuOSAzMy4xIDQ1IDMzLjUtMTYuNSAxMi45LTM3LjMgMjAuNi01OS45IDIwLjYtMy45IDAtNy43LS4yLTExLjUtLjcgMjEuMSAxMy44IDQ2LjUgMjEuOCA3My43IDIxLjgiIHN0eWxlPSJmaWxsOiNmZmYiLz48L3N2Zz4=)}.ck-media__wrapper[data-oembed-url*="twitter.com"] .ck.ck-media__placeholder .ck-media__placeholder__url__text{color:#b8e6ff}.ck-media__wrapper[data-oembed-url*="twitter.com"] .ck.ck-media__placeholder .ck-media__placeholder__url__text:hover{color:#fff}',"",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-media-embed/theme/mediaembedediting.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-media-embed/mediaembedediting.css"],names:[],mappings:"AAMC,0CAGC,kBAAmB,CAFnB,YAAa,CACb,qBAcD,CAXC,sEAEC,cAAe,CAEf,iBAMD,CAJC,wGAEC,aAAc,CADd,eAED,CAWD,6kBACC,YACD,CAYF,2LACC,mBACD,CC1CA,MACC,0CAA2C,CAE3C,mDAA4D,CAC5D,2EACD,CAEA,mBACC,aA+FD,CA7FC,0CAEC,0CAA2C,CAD3C,0CA6BD,CA1BC,uEAIC,uBAA2B,CAC3B,qBAAsB,CAHtB,kDAAmD,CACnD,qCAAsC,CAFtC,qDAUD,CAJC,gFAEC,WAAY,CADZ,UAED,CAGD,4EACC,sDAAuD,CAGvD,iBAAkB,CADlB,iBAAkB,CAElB,sBAAuB,CAHvB,kBAUD,CALC,kFACC,4DAA6D,CAC7D,cAAe,CACf,yBACD,CAIF,wDAEC,gBAAiB,CADjB,eAED,CAEA,4UAIC,wvGACD,CAEA,2EACC,kBAaD,CAXC,wGACC,orBACD,CAEA,6GACC,UAKD,CAHC,mHACC,UACD,CAIF,4EACC,2DAcD,CAZC,yGACC,4jHACD,CAGA,8GACC,aAKD,CAHC,oHACC,UACD,CAIF,6EAEC,iDAaD,CAXC,0GACC,wiCACD,CAEA,+GACC,aAKD,CAHC,qHACC,UACD",sourcesContent:[`/* + * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved. + * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license + */ + +.ck-media__wrapper { + & .ck-media__placeholder { + display: flex; + flex-direction: column; + align-items: center; + + & .ck-media__placeholder__url { + /* Otherwise the URL will overflow when the content is very narrow. */ + max-width: 100%; + + position: relative; + + & .ck-media__placeholder__url__text { + overflow: hidden; + display: block; + } + } + } + + &[data-oembed-url*="twitter.com"], + &[data-oembed-url*="google.com/maps"], + &[data-oembed-url*="goo.gl/maps"], + &[data-oembed-url*="maps.google.com"], + &[data-oembed-url*="maps.app.goo.gl"], + &[data-oembed-url*="facebook.com"], + &[data-oembed-url*="instagram.com"] { + & .ck-media__placeholder__icon * { + display: none; + } + } +} + +/* Disable all mouse interaction as long as the editor is not read–only. + https://github.com/ckeditor/ckeditor5-media-embed/issues/58 */ +.ck-editor__editable:not(.ck-read-only) .ck-media__wrapper > *:not(.ck-media__placeholder) { + pointer-events: none; +} + +/* Disable all mouse interaction when the widget is not selected (e.g. to avoid opening links by accident). + https://github.com/ckeditor/ckeditor5-media-embed/issues/18 */ +.ck-editor__editable:not(.ck-read-only) .ck-widget:not(.ck-widget_selected) .ck-media__placeholder { + pointer-events: none; +} +`,`/* + * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved. + * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license + */ + +:root { + --ck-media-embed-placeholder-icon-size: 3em; + + --ck-color-media-embed-placeholder-url-text: hsl(0, 0%, 46%); + --ck-color-media-embed-placeholder-url-text-hover: var(--ck-color-base-text); +} + +.ck-media__wrapper { + margin: 0 auto; + + & .ck-media__placeholder { + padding: calc( 3 * var(--ck-spacing-standard) ); + background: var(--ck-color-base-foreground); + + & .ck-media__placeholder__icon { + min-width: var(--ck-media-embed-placeholder-icon-size); + height: var(--ck-media-embed-placeholder-icon-size); + margin-bottom: var(--ck-spacing-large); + background-position: center; + background-size: cover; + + & .ck-icon { + width: 100%; + height: 100%; + } + } + + & .ck-media__placeholder__url__text { + color: var(--ck-color-media-embed-placeholder-url-text); + white-space: nowrap; + text-align: center; + font-style: italic; + text-overflow: ellipsis; + + &:hover { + color: var(--ck-color-media-embed-placeholder-url-text-hover); + cursor: pointer; + text-decoration: underline; + } + } + } + + &[data-oembed-url*="open.spotify.com"] { + max-width: 300px; + max-height: 380px; + } + + &[data-oembed-url*="google.com/maps"] .ck-media__placeholder__icon, + &[data-oembed-url*="goo.gl/maps"] .ck-media__placeholder__icon, + &[data-oembed-url*="maps.google.com"] .ck-media__placeholder__icon, + &[data-oembed-url*="maps.app.goo.gl"] .ck-media__placeholder__icon { + background-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNTAuMzc4IiBoZWlnaHQ9IjI1NC4xNjciIHZpZXdCb3g9IjAgMCA2Ni4yNDYgNjcuMjQ4Ij48ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtMTcyLjUzMSAtMjE4LjQ1NSkgc2NhbGUoLjk4MDEyKSI+PHJlY3Qgcnk9IjUuMjM4IiByeD0iNS4yMzgiIHk9IjIzMS4zOTkiIHg9IjE3Ni4wMzEiIGhlaWdodD0iNjAuMDk5IiB3aWR0aD0iNjAuMDk5IiBmaWxsPSIjMzRhNjY4IiBwYWludC1vcmRlcj0ibWFya2VycyBzdHJva2UgZmlsbCIvPjxwYXRoIGQ9Ik0yMDYuNDc3IDI2MC45bC0yOC45ODcgMjguOTg3YTUuMjE4IDUuMjE4IDAgMCAwIDMuNzggMS42MWg0OS42MjFjMS42OTQgMCAzLjE5LS43OTggNC4xNDYtMi4wMzd6IiBmaWxsPSIjNWM4OGM1Ii8+PHBhdGggZD0iTTIyNi43NDIgMjIyLjk4OGMtOS4yNjYgMC0xNi43NzcgNy4xNy0xNi43NzcgMTYuMDE0LjAwNyAyLjc2Mi42NjMgNS40NzQgMi4wOTMgNy44NzUuNDMuNzAzLjgzIDEuNDA4IDEuMTkgMi4xMDcuMzMzLjUwMi42NSAxLjAwNS45NSAxLjUwOC4zNDMuNDc3LjY3My45NTcuOTg4IDEuNDQgMS4zMSAxLjc2OSAyLjUgMy41MDIgMy42MzcgNS4xNjguNzkzIDEuMjc1IDEuNjgzIDIuNjQgMi40NjYgMy45OSAyLjM2MyA0LjA5NCA0LjAwNyA4LjA5MiA0LjYgMTMuOTE0di4wMTJjLjE4Mi40MTIuNTE2LjY2Ni44NzkuNjY3LjQwMy0uMDAxLjc2OC0uMzE0LjkzLS43OTkuNjAzLTUuNzU2IDIuMjM4LTkuNzI5IDQuNTg1LTEzLjc5NC43ODItMS4zNSAxLjY3My0yLjcxNSAyLjQ2NS0zLjk5IDEuMTM3LTEuNjY2IDIuMzI4LTMuNCAzLjYzOC01LjE2OS4zMTUtLjQ4Mi42NDUtLjk2Mi45ODgtMS40MzkuMy0uNTAzLjYxNy0xLjAwNi45NS0xLjUwOC4zNTktLjcuNzYtMS40MDQgMS4xOS0yLjEwNyAxLjQyNi0yLjQwMiAyLTUuMTE0IDIuMDA0LTcuODc1IDAtOC44NDQtNy41MTEtMTYuMDE0LTE2Ljc3Ni0xNi4wMTR6IiBmaWxsPSIjZGQ0YjNlIiBwYWludC1vcmRlcj0ibWFya2VycyBzdHJva2UgZmlsbCIvPjxlbGxpcHNlIHJ5PSI1LjU2NCIgcng9IjUuODI4IiBjeT0iMjM5LjAwMiIgY3g9IjIyNi43NDIiIGZpbGw9IiM4MDJkMjciIHBhaW50LW9yZGVyPSJtYXJrZXJzIHN0cm9rZSBmaWxsIi8+PHBhdGggZD0iTTE5MC4zMDEgMjM3LjI4M2MtNC42NyAwLTguNDU3IDMuODUzLTguNDU3IDguNjA2czMuNzg2IDguNjA3IDguNDU3IDguNjA3YzMuMDQzIDAgNC44MDYtLjk1OCA2LjMzNy0yLjUxNiAxLjUzLTEuNTU3IDIuMDg3LTMuOTEzIDIuMDg3LTYuMjkgMC0uMzYyLS4wMjMtLjcyMi0uMDY0LTEuMDc5aC04LjI1N3YzLjA0M2g0Ljg1Yy0uMTk3Ljc1OS0uNTMxIDEuNDUtMS4wNTggMS45ODYtLjk0Mi45NTgtMi4wMjggMS41NDgtMy45MDEgMS41NDgtMi44NzYgMC01LjIwOC0yLjM3Mi01LjIwOC01LjI5OSAwLTIuOTI2IDIuMzMyLTUuMjk5IDUuMjA4LTUuMjk5IDEuMzk5IDAgMi42MTguNDA3IDMuNTg0IDEuMjkzbDIuMzgxLTIuMzhjMC0uMDAyLS4wMDMtLjAwNC0uMDA0LS4wMDUtMS41ODgtMS41MjQtMy42Mi0yLjIxNS01Ljk1NS0yLjIxNXptNC40MyA1LjY2bC4wMDMuMDA2di0uMDAzeiIgZmlsbD0iI2ZmZiIgcGFpbnQtb3JkZXI9Im1hcmtlcnMgc3Ryb2tlIGZpbGwiLz48cGF0aCBkPSJNMjE1LjE4NCAyNTEuOTI5bC03Ljk4IDcuOTc5IDI4LjQ3NyAyOC40NzVjLjI4Ny0uNjQ5LjQ0OS0xLjM2Ni40NDktMi4xMjN2LTMxLjE2NWMtLjQ2OS42NzUtLjkzNCAxLjM0OS0xLjM4MiAyLjAwNS0uNzkyIDEuMjc1LTEuNjgyIDIuNjQtMi40NjUgMy45OS0yLjM0NyA0LjA2NS0zLjk4MiA4LjAzOC00LjU4NSAxMy43OTQtLjE2Mi40ODUtLjUyNy43OTgtLjkzLjc5OS0uMzYzLS4wMDEtLjY5Ny0uMjU1LS44NzktLjY2N3YtLjAxMmMtLjU5My01LjgyMi0yLjIzNy05LjgyLTQuNi0xMy45MTQtLjc4My0xLjM1LTEuNjczLTIuNzE1LTIuNDY2LTMuOTktMS4xMzctMS42NjYtMi4zMjctMy40LTMuNjM3LTUuMTY5bC0uMDAyLS4wMDN6IiBmaWxsPSIjYzNjM2MzIi8+PHBhdGggZD0iTTIxMi45ODMgMjQ4LjQ5NWwtMzYuOTUyIDM2Ljk1M3YuODEyYTUuMjI3IDUuMjI3IDAgMCAwIDUuMjM4IDUuMjM4aDEuMDE1bDM1LjY2Ni0zNS42NjZhMTM2LjI3NSAxMzYuMjc1IDAgMCAwLTIuNzY0LTMuOSAzNy41NzUgMzcuNTc1IDAgMCAwLS45ODktMS40NGMtLjI5OS0uNTAzLS42MTYtMS4wMDYtLjk1LTEuNTA4LS4wODMtLjE2Mi0uMTc2LS4zMjYtLjI2NC0uNDg5eiIgZmlsbD0iI2ZkZGM0ZiIgcGFpbnQtb3JkZXI9Im1hcmtlcnMgc3Ryb2tlIGZpbGwiLz48cGF0aCBkPSJNMjExLjk5OCAyNjEuMDgzbC02LjE1MiA2LjE1MSAyNC4yNjQgMjQuMjY0aC43ODFhNS4yMjcgNS4yMjcgMCAwIDAgNS4yMzktNS4yMzh2LTEuMDQ1eiIgZmlsbD0iI2ZmZiIgcGFpbnQtb3JkZXI9Im1hcmtlcnMgc3Ryb2tlIGZpbGwiLz48L2c+PC9zdmc+); + } + + &[data-oembed-url*="facebook.com"] .ck-media__placeholder { + background: hsl(220, 46%, 48%); + + & .ck-media__placeholder__icon { + background-image: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48c3ZnIHdpZHRoPSIxMDI0cHgiIGhlaWdodD0iMTAyNHB4IiB2aWV3Qm94PSIwIDAgMTAyNCAxMDI0IiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPiAgICAgICAgPHRpdGxlPkZpbGwgMTwvdGl0bGU+ICAgIDxkZXNjPkNyZWF0ZWQgd2l0aCBTa2V0Y2guPC9kZXNjPiAgICA8ZGVmcz48L2RlZnM+ICAgIDxnIGlkPSJQYWdlLTEiIHN0cm9rZT0ibm9uZSIgc3Ryb2tlLXdpZHRoPSIxIiBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPiAgICAgICAgPGcgaWQ9ImZMb2dvX1doaXRlIiBmaWxsPSIjRkZGRkZFIj4gICAgICAgICAgICA8cGF0aCBkPSJNOTY3LjQ4NCwwIEw1Ni41MTcsMCBDMjUuMzA0LDAgMCwyNS4zMDQgMCw1Ni41MTcgTDAsOTY3LjQ4MyBDMCw5OTguNjk0IDI1LjI5NywxMDI0IDU2LjUyMiwxMDI0IEw1NDcsMTAyNCBMNTQ3LDYyOCBMNDE0LDYyOCBMNDE0LDQ3MyBMNTQ3LDQ3MyBMNTQ3LDM1OS4wMjkgQzU0NywyMjYuNzY3IDYyNy43NzMsMTU0Ljc0NyA3NDUuNzU2LDE1NC43NDcgQzgwMi4yNjksMTU0Ljc0NyA4NTAuODQyLDE1OC45NTUgODY1LDE2MC44MzYgTDg2NSwyOTkgTDc4My4zODQsMjk5LjAzNyBDNzE5LjM5MSwyOTkuMDM3IDcwNywzMjkuNTI5IDcwNywzNzQuMjczIEw3MDcsNDczIEw4NjAuNDg3LDQ3MyBMODQwLjUwMSw2MjggTDcwNyw2MjggTDcwNywxMDI0IEw5NjcuNDg0LDEwMjQgQzk5OC42OTcsMTAyNCAxMDI0LDk5OC42OTcgMTAyNCw5NjcuNDg0IEwxMDI0LDU2LjUxNSBDMTAyNCwyNS4zMDMgOTk4LjY5NywwIDk2Ny40ODQsMCIgaWQ9IkZpbGwtMSI+PC9wYXRoPiAgICAgICAgPC9nPiAgICA8L2c+PC9zdmc+); + } + + & .ck-media__placeholder__url__text { + color: hsl(220, 100%, 90%); + + &:hover { + color: hsl(0, 0%, 100%); + } + } + } + + &[data-oembed-url*="instagram.com"] .ck-media__placeholder { + background: linear-gradient(-135deg,hsl(246, 100%, 39%),hsl(302, 100%, 36%),hsl(0, 100%, 48%)); + + & .ck-media__placeholder__icon { + background-image: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48c3ZnIHdpZHRoPSI1MDRweCIgaGVpZ2h0PSI1MDRweCIgdmlld0JveD0iMCAwIDUwNCA1MDQiIHZlcnNpb249IjEuMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+ICAgICAgICA8dGl0bGU+Z2x5cGgtbG9nb19NYXkyMDE2PC90aXRsZT4gICAgPGRlc2M+Q3JlYXRlZCB3aXRoIFNrZXRjaC48L2Rlc2M+ICAgIDxkZWZzPiAgICAgICAgPHBvbHlnb24gaWQ9InBhdGgtMSIgcG9pbnRzPSIwIDAuMTU5IDUwMy44NDEgMC4xNTkgNTAzLjg0MSA1MDMuOTQgMCA1MDMuOTQiPjwvcG9seWdvbj4gICAgPC9kZWZzPiAgICA8ZyBpZD0iZ2x5cGgtbG9nb19NYXkyMDE2IiBzdHJva2U9Im5vbmUiIHN0cm9rZS13aWR0aD0iMSIgZmlsbD0ibm9uZSIgZmlsbC1ydWxlPSJldmVub2RkIj4gICAgICAgIDxnIGlkPSJHcm91cC0zIj4gICAgICAgICAgICA8bWFzayBpZD0ibWFzay0yIiBmaWxsPSJ3aGl0ZSI+ICAgICAgICAgICAgICAgIDx1c2UgeGxpbms6aHJlZj0iI3BhdGgtMSI+PC91c2U+ICAgICAgICAgICAgPC9tYXNrPiAgICAgICAgICAgIDxnIGlkPSJDbGlwLTIiPjwvZz4gICAgICAgICAgICA8cGF0aCBkPSJNMjUxLjkyMSwwLjE1OSBDMTgzLjUwMywwLjE1OSAxNzQuOTI0LDAuNDQ5IDE0OC4wNTQsMS42NzUgQzEyMS4yNCwyLjg5OCAxMDIuOTI3LDcuMTU3IDg2LjkwMywxMy4zODUgQzcwLjMzNywxOS44MjIgNTYuMjg4LDI4LjQzNiA0Mi4yODIsNDIuNDQxIEMyOC4yNzcsNTYuNDQ3IDE5LjY2Myw3MC40OTYgMTMuMjI2LDg3LjA2MiBDNi45OTgsMTAzLjA4NiAyLjczOSwxMjEuMzk5IDEuNTE2LDE0OC4yMTMgQzAuMjksMTc1LjA4MyAwLDE4My42NjIgMCwyNTIuMDggQzAsMzIwLjQ5NyAwLjI5LDMyOS4wNzYgMS41MTYsMzU1Ljk0NiBDMi43MzksMzgyLjc2IDYuOTk4LDQwMS4wNzMgMTMuMjI2LDQxNy4wOTcgQzE5LjY2Myw0MzMuNjYzIDI4LjI3Nyw0NDcuNzEyIDQyLjI4Miw0NjEuNzE4IEM1Ni4yODgsNDc1LjcyMyA3MC4zMzcsNDg0LjMzNyA4Ni45MDMsNDkwLjc3NSBDMTAyLjkyNyw0OTcuMDAyIDEyMS4yNCw1MDEuMjYxIDE0OC4wNTQsNTAyLjQ4NCBDMTc0LjkyNCw1MDMuNzEgMTgzLjUwMyw1MDQgMjUxLjkyMSw1MDQgQzMyMC4zMzgsNTA0IDMyOC45MTcsNTAzLjcxIDM1NS43ODcsNTAyLjQ4NCBDMzgyLjYwMSw1MDEuMjYxIDQwMC45MTQsNDk3LjAwMiA0MTYuOTM4LDQ5MC43NzUgQzQzMy41MDQsNDg0LjMzNyA0NDcuNTUzLDQ3NS43MjMgNDYxLjU1OSw0NjEuNzE4IEM0NzUuNTY0LDQ0Ny43MTIgNDg0LjE3OCw0MzMuNjYzIDQ5MC42MTYsNDE3LjA5NyBDNDk2Ljg0Myw0MDEuMDczIDUwMS4xMDIsMzgyLjc2IDUwMi4zMjUsMzU1Ljk0NiBDNTAzLjU1MSwzMjkuMDc2IDUwMy44NDEsMzIwLjQ5NyA1MDMuODQxLDI1Mi4wOCBDNTAzLjg0MSwxODMuNjYyIDUwMy41NTEsMTc1LjA4MyA1MDIuMzI1LDE0OC4yMTMgQzUwMS4xMDIsMTIxLjM5OSA0OTYuODQzLDEwMy4wODYgNDkwLjYxNiw4Ny4wNjIgQzQ4NC4xNzgsNzAuNDk2IDQ3NS41NjQsNTYuNDQ3IDQ2MS41NTksNDIuNDQxIEM0NDcuNTUzLDI4LjQzNiA0MzMuNTA0LDE5LjgyMiA0MTYuOTM4LDEzLjM4NSBDNDAwLjkxNCw3LjE1NyAzODIuNjAxLDIuODk4IDM1NS43ODcsMS42NzUgQzMyOC45MTcsMC40NDkgMzIwLjMzOCwwLjE1OSAyNTEuOTIxLDAuMTU5IFogTTI1MS45MjEsNDUuNTUgQzMxOS4xODYsNDUuNTUgMzI3LjE1NCw0NS44MDcgMzUzLjcxOCw0Ny4wMTkgQzM3OC4yOCw0OC4xMzkgMzkxLjYxOSw1Mi4yNDMgNDAwLjQ5Niw1NS42OTMgQzQxMi4yNTUsNjAuMjYzIDQyMC42NDcsNjUuNzIyIDQyOS40NjIsNzQuNTM4IEM0MzguMjc4LDgzLjM1MyA0NDMuNzM3LDkxLjc0NSA0NDguMzA3LDEwMy41MDQgQzQ1MS43NTcsMTEyLjM4MSA0NTUuODYxLDEyNS43MiA0NTYuOTgxLDE1MC4yODIgQzQ1OC4xOTMsMTc2Ljg0NiA0NTguNDUsMTg0LjgxNCA0NTguNDUsMjUyLjA4IEM0NTguNDUsMzE5LjM0NSA0NTguMTkzLDMyNy4zMTMgNDU2Ljk4MSwzNTMuODc3IEM0NTUuODYxLDM3OC40MzkgNDUxLjc1NywzOTEuNzc4IDQ0OC4zMDcsNDAwLjY1NSBDNDQzLjczNyw0MTIuNDE0IDQzOC4yNzgsNDIwLjgwNiA0MjkuNDYyLDQyOS42MjEgQzQyMC42NDcsNDM4LjQzNyA0MTIuMjU1LDQ0My44OTYgNDAwLjQ5Niw0NDguNDY2IEMzOTEuNjE5LDQ1MS45MTYgMzc4LjI4LDQ1Ni4wMiAzNTMuNzE4LDQ1Ny4xNCBDMzI3LjE1OCw0NTguMzUyIDMxOS4xOTEsNDU4LjYwOSAyNTEuOTIxLDQ1OC42MDkgQzE4NC42NSw0NTguNjA5IDE3Ni42ODQsNDU4LjM1MiAxNTAuMTIzLDQ1Ny4xNCBDMTI1LjU2MSw0NTYuMDIgMTEyLjIyMiw0NTEuOTE2IDEwMy4zNDUsNDQ4LjQ2NiBDOTEuNTg2LDQ0My44OTYgODMuMTk0LDQzOC40MzcgNzQuMzc5LDQyOS42MjEgQzY1LjU2NCw0MjAuODA2IDYwLjEwNCw0MTIuNDE0IDU1LjUzNCw0MDAuNjU1IEM1Mi4wODQsMzkxLjc3OCA0Ny45OCwzNzguNDM5IDQ2Ljg2LDM1My44NzcgQzQ1LjY0OCwzMjcuMzEzIDQ1LjM5MSwzMTkuMzQ1IDQ1LjM5MSwyNTIuMDggQzQ1LjM5MSwxODQuODE0IDQ1LjY0OCwxNzYuODQ2IDQ2Ljg2LDE1MC4yODIgQzQ3Ljk4LDEyNS43MiA1Mi4wODQsMTEyLjM4MSA1NS41MzQsMTAzLjUwNCBDNjAuMTA0LDkxLjc0NSA2NS41NjMsODMuMzUzIDc0LjM3OSw3NC41MzggQzgzLjE5NCw2NS43MjIgOTEuNTg2LDYwLjI2MyAxMDMuMzQ1LDU1LjY5MyBDMTEyLjIyMiw1Mi4yNDMgMTI1LjU2MSw0OC4xMzkgMTUwLjEyMyw0Ny4wMTkgQzE3Ni42ODcsNDUuODA3IDE4NC42NTUsNDUuNTUgMjUxLjkyMSw0NS41NSBaIiBpZD0iRmlsbC0xIiBmaWxsPSIjRkZGRkZGIiBtYXNrPSJ1cmwoI21hc2stMikiPjwvcGF0aD4gICAgICAgIDwvZz4gICAgICAgIDxwYXRoIGQ9Ik0yNTEuOTIxLDMzNi4wNTMgQzIwNS41NDMsMzM2LjA1MyAxNjcuOTQ3LDI5OC40NTcgMTY3Ljk0NywyNTIuMDggQzE2Ny45NDcsMjA1LjcwMiAyMDUuNTQzLDE2OC4xMDYgMjUxLjkyMSwxNjguMTA2IEMyOTguMjk4LDE2OC4xMDYgMzM1Ljg5NCwyMDUuNzAyIDMzNS44OTQsMjUyLjA4IEMzMzUuODk0LDI5OC40NTcgMjk4LjI5OCwzMzYuMDUzIDI1MS45MjEsMzM2LjA1MyBaIE0yNTEuOTIxLDEyMi43MTUgQzE4MC40NzQsMTIyLjcxNSAxMjIuNTU2LDE4MC42MzMgMTIyLjU1NiwyNTIuMDggQzEyMi41NTYsMzIzLjUyNiAxODAuNDc0LDM4MS40NDQgMjUxLjkyMSwzODEuNDQ0IEMzMjMuMzY3LDM4MS40NDQgMzgxLjI4NSwzMjMuNTI2IDM4MS4yODUsMjUyLjA4IEMzODEuMjg1LDE4MC42MzMgMzIzLjM2NywxMjIuNzE1IDI1MS45MjEsMTIyLjcxNSBaIiBpZD0iRmlsbC00IiBmaWxsPSIjRkZGRkZGIj48L3BhdGg+ICAgICAgICA8cGF0aCBkPSJNNDE2LjYyNywxMTcuNjA0IEM0MTYuNjI3LDEzNC4zIDQwMy4wOTIsMTQ3LjgzNCAzODYuMzk2LDE0Ny44MzQgQzM2OS43MDEsMTQ3LjgzNCAzNTYuMTY2LDEzNC4zIDM1Ni4xNjYsMTE3LjYwNCBDMzU2LjE2NiwxMDAuOTA4IDM2OS43MDEsODcuMzczIDM4Ni4zOTYsODcuMzczIEM0MDMuMDkyLDg3LjM3MyA0MTYuNjI3LDEwMC45MDggNDE2LjYyNywxMTcuNjA0IiBpZD0iRmlsbC01IiBmaWxsPSIjRkZGRkZGIj48L3BhdGg+ICAgIDwvZz48L3N2Zz4=); + } + + /* stylelint-disable-next-line no-descending-specificity */ + & .ck-media__placeholder__url__text { + color: hsl(302, 100%, 94%); + + &:hover { + color: hsl(0, 0%, 100%); + } + } + } + + &[data-oembed-url*="twitter.com"] .ck.ck-media__placeholder { + /* Use gradient to contrast with focused widget (ckeditor/ckeditor5-media-embed#22). */ + background: linear-gradient( to right, hsl(201, 85%, 70%), hsl(201, 85%, 35%) ); + + & .ck-media__placeholder__icon { + background-image: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz48c3ZnIHZlcnNpb249IjEuMSIgaWQ9IldoaXRlIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4PSIwcHgiIHk9IjBweCIgdmlld0JveD0iMCAwIDQwMCA0MDAiIHN0eWxlPSJlbmFibGUtYmFja2dyb3VuZDpuZXcgMCAwIDQwMCA0MDA7IiB4bWw6c3BhY2U9InByZXNlcnZlIj48c3R5bGUgdHlwZT0idGV4dC9jc3MiPi5zdDB7ZmlsbDojRkZGRkZGO308L3N0eWxlPjxwYXRoIGNsYXNzPSJzdDAiIGQ9Ik00MDAsMjAwYzAsMTEwLjUtODkuNSwyMDAtMjAwLDIwMFMwLDMxMC41LDAsMjAwUzg5LjUsMCwyMDAsMFM0MDAsODkuNSw0MDAsMjAweiBNMTYzLjQsMzA1LjVjODguNywwLDEzNy4yLTczLjUsMTM3LjItMTM3LjJjMC0yLjEsMC00LjItMC4xLTYuMmM5LjQtNi44LDE3LjYtMTUuMywyNC4xLTI1Yy04LjYsMy44LTE3LjksNi40LTI3LjcsNy42YzEwLTYsMTcuNi0xNS40LDIxLjItMjYuN2MtOS4zLDUuNS0xOS42LDkuNS0zMC42LDExLjdjLTguOC05LjQtMjEuMy0xNS4yLTM1LjItMTUuMmMtMjYuNiwwLTQ4LjIsMjEuNi00OC4yLDQ4LjJjMCwzLjgsMC40LDcuNSwxLjMsMTFjLTQwLjEtMi03NS42LTIxLjItOTkuNC01MC40Yy00LjEsNy4xLTYuNSwxNS40LTYuNSwyNC4yYzAsMTYuNyw4LjUsMzEuNSwyMS41LDQwLjFjLTcuOS0wLjItMTUuMy0yLjQtMjEuOC02YzAsMC4yLDAsMC40LDAsMC42YzAsMjMuNCwxNi42LDQyLjgsMzguNyw0Ny4zYy00LDEuMS04LjMsMS43LTEyLjcsMS43Yy0zLjEsMC02LjEtMC4zLTkuMS0wLjljNi4xLDE5LjIsMjMuOSwzMy4xLDQ1LDMzLjVjLTE2LjUsMTIuOS0zNy4zLDIwLjYtNTkuOSwyMC42Yy0zLjksMC03LjctMC4yLTExLjUtMC43QzExMC44LDI5Ny41LDEzNi4yLDMwNS41LDE2My40LDMwNS41Ii8+PC9zdmc+); + } + + & .ck-media__placeholder__url__text { + color: hsl(201, 100%, 86%); + + &:hover { + color: hsl(0, 0%, 100%); + } + } + } +} +`],sourceRoot:""}]);const m=g},7138:(_,x,h)=>{h.d(x,{Z:()=>m});var y=h(4015),E=h.n(y),k=h(3645),D=h.n(k),g=D()(E());g.push([_.id,".ck.ck-media-form{align-items:flex-start;display:flex;flex-direction:row;flex-wrap:nowrap}.ck.ck-media-form .ck-labeled-field-view{display:inline-block}.ck.ck-media-form .ck-label{display:none}@media screen and (max-width:600px){.ck.ck-media-form{flex-wrap:wrap}.ck.ck-media-form .ck-labeled-field-view{flex-basis:100%}.ck.ck-media-form .ck-button{flex-basis:50%}}","",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-media-embed/theme/mediaform.css","webpack://./node_modules/@ckeditor/ckeditor5-ui/theme/mixins/_rwd.css"],names:[],mappings:"AAOA,kBAEC,sBAAuB,CADvB,YAAa,CAEb,kBAAmB,CACnB,gBAqBD,CAnBC,yCACC,oBACD,CAEA,4BACC,YACD,CCbA,oCDCD,kBAeE,cAUF,CARE,yCACC,eACD,CAEA,6BACC,cACD,CCtBD",sourcesContent:[`/* + * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved. + * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license + */ + +@import "@ckeditor/ckeditor5-ui/theme/mixins/_rwd.css"; + +.ck.ck-media-form { + display: flex; + align-items: flex-start; + flex-direction: row; + flex-wrap: nowrap; + + & .ck-labeled-field-view { + display: inline-block; + } + + & .ck-label { + display: none; + } + + @mixin ck-media-phone { + flex-wrap: wrap; + + & .ck-labeled-field-view { + flex-basis: 100%; + } + + & .ck-button { + flex-basis: 50%; + } + } +} +`,`/* + * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved. + * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license + */ + +@define-mixin ck-media-phone { + @media screen and (max-width: 600px) { + @mixin-content; + } +} +`],sourceRoot:""}]);const m=g},4420:(_,x,h)=>{h.d(x,{Z:()=>m});var y=h(4015),E=h.n(y),k=h(3645),D=h.n(k),g=D()(E());g.push([_.id,'.ck-source-editing-area{overflow:hidden;position:relative}.ck-source-editing-area textarea,.ck-source-editing-area:after{border:1px solid transparent;font-family:monospace;font-size:var(--ck-font-size-normal);line-height:var(--ck-line-height-base);margin:0;padding:var(--ck-spacing-large);white-space:pre-wrap}.ck-source-editing-area:after{content:attr(data-value) " ";display:block;visibility:hidden}.ck-source-editing-area textarea{border-color:var(--ck-color-base-border);border-radius:0;box-sizing:border-box;height:100%;outline:none;overflow:hidden;position:absolute;resize:none;width:100%}.ck-rounded-corners .ck-source-editing-area textarea,.ck-source-editing-area textarea.ck-rounded-corners{border-radius:var(--ck-border-radius);border-top-left-radius:0;border-top-right-radius:0}.ck-source-editing-area textarea:not([readonly]):focus{border:var(--ck-focus-ring);box-shadow:var(--ck-inner-shadow),0 0;outline:none}',"",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-source-editing/theme/sourceediting.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/mixins/_rounded.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/mixins/_focus.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/mixins/_shadow.css"],names:[],mappings:"AASA,wBAEC,eAAgB,CADhB,iBAED,CAEA,+DAIC,4BAA6B,CAG7B,qBAAsB,CADtB,oCAAqC,CADrC,sCAAuC,CAFvC,QAAS,CADT,+BAAgC,CAMhC,oBACD,CAEA,8BACC,4BAA6B,CAE7B,aAAc,CADd,iBAED,CAEA,iCASC,wCAAyC,CC7BzC,eAAgB,CD2BhB,qBAAsB,CAJtB,WAAY,CAEZ,YAAa,CACb,eAAgB,CALhB,iBAAkB,CAGlB,WAAY,CAFZ,UAkBD,CApBA,yGChBE,qCAAsC,CD4BtC,wBAAyB,CACzB,yBAOF,CAJC,uDEpCA,2BAA2B,CCF3B,qCAA8B,CDC9B,YFwCA",sourcesContent:[`/* + * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved. + * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license + */ + +@import "@ckeditor/ckeditor5-theme-lark/theme/mixins/_rounded.css"; +@import "@ckeditor/ckeditor5-theme-lark/theme/mixins/_focus.css"; +@import "@ckeditor/ckeditor5-theme-lark/theme/mixins/_shadow.css"; + +.ck-source-editing-area { + position: relative; + overflow: hidden; +} + +.ck-source-editing-area::after, +.ck-source-editing-area textarea { + padding: var(--ck-spacing-large); + margin: 0; + border: 1px solid transparent; + line-height: var(--ck-line-height-base); + font-size: var(--ck-font-size-normal); + font-family: monospace; + white-space: pre-wrap; +} + +.ck-source-editing-area::after { + content: attr(data-value) " "; + visibility: hidden; + display: block; +} + +.ck-source-editing-area textarea { + position: absolute; + width: 100%; + height: 100%; + resize: none; + outline: none; + overflow: hidden; + box-sizing: border-box; + + border-color: var(--ck-color-base-border); + + @mixin ck-rounded-corners { + border-top-left-radius: 0; + border-top-right-radius: 0; + } + + &:not([readonly]):focus { + @mixin ck-focus-ring; + @mixin ck-box-shadow var(--ck-inner-shadow); + } +} +`,`/* + * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved. + * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license + */ + +/** + * Implements rounded corner interface for .ck-rounded-corners class. + * + * @see $ck-border-radius + */ +@define-mixin ck-rounded-corners { + border-radius: 0; + + @nest .ck-rounded-corners &, + &.ck-rounded-corners { + border-radius: var(--ck-border-radius); + @mixin-content; + } +} +`,`/* + * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved. + * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license + */ + +/** + * A visual style of focused element's border. + */ +@define-mixin ck-focus-ring { + /* Disable native outline. */ + outline: none; + border: var(--ck-focus-ring) +} +`,`/* + * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved. + * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license + */ + +/** + * A helper to combine multiple shadows. + */ +@define-mixin ck-box-shadow $shadowA, $shadowB: 0 0 { + box-shadow: $shadowA, $shadowB; +} + +/** + * Gives an element a drop shadow so it looks like a floating panel. + */ +@define-mixin ck-drop-shadow { + @mixin ck-box-shadow var(--ck-drop-shadow); +} +`],sourceRoot:""}]);const m=g},9953:(_,x,h)=>{h.d(x,{Z:()=>m});var y=h(4015),E=h.n(y),k=h(3645),D=h.n(k),g=D()(E());g.push([_.id,".ck.ck-input-color{display:flex;flex-direction:row-reverse;width:100%}.ck.ck-input-color>input.ck.ck-input-text{flex-grow:1;min-width:auto}.ck.ck-input-color>div.ck.ck-dropdown{min-width:auto}.ck.ck-input-color>div.ck.ck-dropdown>.ck-input-color__button .ck-dropdown__arrow{display:none}.ck.ck-input-color .ck.ck-input-color__button{display:flex}.ck.ck-input-color .ck.ck-input-color__button .ck.ck-input-color__button__preview{overflow:hidden;position:relative}.ck.ck-input-color .ck.ck-input-color__button .ck.ck-input-color__button__preview>.ck.ck-input-color__button__preview__no-color-indicator{display:block;position:absolute}[dir=ltr] .ck.ck-input-color>.ck.ck-input-text{border-bottom-right-radius:0;border-top-right-radius:0}[dir=rtl] .ck.ck-input-color>.ck.ck-input-text{border-bottom-left-radius:0;border-top-left-radius:0}.ck.ck-input-color>.ck.ck-input-text:focus{z-index:0}.ck.ck-input-color>.ck.ck-dropdown>.ck.ck-button.ck-input-color__button{padding:0}[dir=ltr] .ck.ck-input-color>.ck.ck-dropdown>.ck.ck-button.ck-input-color__button{border-bottom-left-radius:0;border-top-left-radius:0}[dir=ltr] .ck.ck-input-color>.ck.ck-dropdown>.ck.ck-button.ck-input-color__button:not(:focus){border-left:1px solid transparent}[dir=rtl] .ck.ck-input-color>.ck.ck-dropdown>.ck.ck-button.ck-input-color__button{border-bottom-right-radius:0;border-top-right-radius:0}[dir=rtl] .ck.ck-input-color>.ck.ck-dropdown>.ck.ck-button.ck-input-color__button:not(:focus){border-right:1px solid transparent}.ck.ck-input-color>.ck.ck-dropdown>.ck.ck-button.ck-input-color__button.ck-disabled{background:var(--ck-color-input-disabled-background)}.ck.ck-input-color>.ck.ck-dropdown>.ck.ck-button.ck-input-color__button>.ck.ck-input-color__button__preview{border-radius:0}.ck-rounded-corners .ck.ck-input-color>.ck.ck-dropdown>.ck.ck-button.ck-input-color__button>.ck.ck-input-color__button__preview,.ck.ck-input-color>.ck.ck-dropdown>.ck.ck-button.ck-input-color__button>.ck.ck-input-color__button__preview.ck-rounded-corners{border-radius:var(--ck-border-radius)}.ck.ck-input-color>.ck.ck-dropdown>.ck.ck-button.ck-input-color__button>.ck.ck-input-color__button__preview{border:1px solid var(--ck-color-input-border);height:20px;width:20px}.ck.ck-input-color>.ck.ck-dropdown>.ck.ck-button.ck-input-color__button>.ck.ck-input-color__button__preview>.ck.ck-input-color__button__preview__no-color-indicator{background:red;border-radius:2px;height:150%;left:50%;top:-30%;transform:rotate(45deg);transform-origin:50%;width:8%}.ck.ck-input-color .ck.ck-input-color__remove-color{border-bottom-left-radius:0;border-bottom-right-radius:0;padding:calc(var(--ck-spacing-standard)/2) var(--ck-spacing-standard);width:100%}.ck.ck-input-color .ck.ck-input-color__remove-color:not(:focus){border-bottom:1px solid var(--ck-color-input-border)}[dir=ltr] .ck.ck-input-color .ck.ck-input-color__remove-color{border-top-right-radius:0}[dir=rtl] .ck.ck-input-color .ck.ck-input-color__remove-color{border-top-left-radius:0}.ck.ck-input-color .ck.ck-input-color__remove-color .ck.ck-icon{margin-right:var(--ck-spacing-standard)}[dir=rtl] .ck.ck-input-color .ck.ck-input-color__remove-color .ck.ck-icon{margin-left:var(--ck-spacing-standard);margin-right:0}","",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-table/theme/colorinput.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-table/colorinput.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/mixins/_rounded.css"],names:[],mappings:"AAKA,mBAEC,YAAa,CACb,0BAA2B,CAF3B,UAgCD,CA5BC,0CAEC,WAAY,CADZ,cAED,CAEA,sCACC,cAMD,CAHC,kFACC,YACD,CAGD,8CAEC,YAWD,CATC,kFAEC,eAAgB,CADhB,iBAOD,CAJC,0IAEC,aAAc,CADd,iBAED,CC1BF,+CAGE,4BAA6B,CAD7B,yBAcF,CAhBA,+CAQE,2BAA4B,CAD5B,wBASF,CAHC,2CACC,SACD,CAIA,wEACC,SA0CD,CA3CA,kFAKE,2BAA4B,CAD5B,wBAuCF,CApCE,8FACC,iCACD,CATF,kFAcE,4BAA6B,CAD7B,yBA8BF,CA3BE,8FACC,kCACD,CAGD,oFACC,oDACD,CAEA,4GC1CF,eD2DE,CAjBA,+PCtCD,qCDuDC,CAjBA,4GAKC,6CAA8C,CAD9C,WAAY,CADZ,UAcD,CAVC,oKAKC,cAA6B,CAC7B,iBAAkB,CAHlB,WAAY,CADZ,QAAS,CADT,QAAS,CAMT,uBAAwB,CACxB,oBAAqB,CAJrB,QAKD,CAKH,oDAIC,2BAA4B,CAC5B,4BAA6B,CAH7B,qEAAwE,CADxE,UA0BD,CApBC,gEACC,oDACD,CATD,8DAYE,yBAeF,CA3BA,8DAgBE,wBAWF,CARC,gEACC,uCAMD,CAPA,0EAKE,sCAAuC,CADvC,cAGF",sourcesContent:[`/* + * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved. + * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license + */ + +.ck.ck-input-color { + width: 100%; + display: flex; + flex-direction: row-reverse; + + & > input.ck.ck-input-text { + min-width: auto; + flex-grow: 1; + } + + & > div.ck.ck-dropdown { + min-width: auto; + + /* This dropdown has no arrow but a color preview instead. */ + & > .ck-input-color__button .ck-dropdown__arrow { + display: none; + } + } + + & .ck.ck-input-color__button { + /* Resolving issue with misaligned buttons on Safari (see #10589) */ + display: flex; + + & .ck.ck-input-color__button__preview { + position: relative; + overflow: hidden; + + & > .ck.ck-input-color__button__preview__no-color-indicator { + position: absolute; + display: block; + } + } + } +} +`,`/* + * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved. + * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license + */ + +@import "@ckeditor/ckeditor5-ui/theme/mixins/_dir.css"; +@import "../mixins/_rounded.css"; + +.ck.ck-input-color { + & > .ck.ck-input-text { + @mixin ck-dir ltr { + border-top-right-radius: 0; + border-bottom-right-radius: 0; + } + + @mixin ck-dir rtl { + border-top-left-radius: 0; + border-bottom-left-radius: 0; + } + + /* Make sure the focused input is always on top of the dropdown button so its + outline and border are never cropped (also when the input is read-only). */ + &:focus { + z-index: 0; + } + } + + & > .ck.ck-dropdown { + & > .ck.ck-button.ck-input-color__button { + padding: 0; + + @mixin ck-dir ltr { + border-top-left-radius: 0; + border-bottom-left-radius: 0; + + &:not(:focus) { + border-left: 1px solid transparent; + } + } + + @mixin ck-dir rtl { + border-top-right-radius: 0; + border-bottom-right-radius: 0; + + &:not(:focus) { + border-right: 1px solid transparent; + } + } + + &.ck-disabled { + background: var(--ck-color-input-disabled-background); + } + + & > .ck.ck-input-color__button__preview { + @mixin ck-rounded-corners; + + width: 20px; + height: 20px; + border: 1px solid var(--ck-color-input-border); + + & > .ck.ck-input-color__button__preview__no-color-indicator { + top: -30%; + left: 50%; + height: 150%; + width: 8%; + background: hsl(0, 100%, 50%); + border-radius: 2px; + transform: rotate(45deg); + transform-origin: 50%; + } + } + } + } + + & .ck.ck-input-color__remove-color { + width: 100%; + padding: calc(var(--ck-spacing-standard) / 2) var(--ck-spacing-standard); + + border-bottom-left-radius: 0; + border-bottom-right-radius: 0; + + &:not(:focus) { + border-bottom: 1px solid var(--ck-color-input-border); + } + + @mixin ck-dir ltr { + border-top-right-radius: 0; + } + + @mixin ck-dir rtl { + border-top-left-radius: 0; + } + + & .ck.ck-icon { + margin-right: var(--ck-spacing-standard); + + @mixin ck-dir rtl { + margin-right: 0; + margin-left: var(--ck-spacing-standard); + } + } + } +} +`,`/* + * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved. + * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license + */ + +/** + * Implements rounded corner interface for .ck-rounded-corners class. + * + * @see $ck-border-radius + */ +@define-mixin ck-rounded-corners { + border-radius: 0; + + @nest .ck-rounded-corners &, + &.ck-rounded-corners { + border-radius: var(--ck-border-radius); + @mixin-content; + } +} +`],sourceRoot:""}]);const m=g},7502:(_,x,h)=>{h.d(x,{Z:()=>m});var y=h(4015),E=h.n(y),k=h(3645),D=h.n(k),g=D()(E());g.push([_.id,".ck.ck-form{padding:0 0 var(--ck-spacing-large)}.ck.ck-form:focus{outline:none}.ck.ck-form .ck.ck-input-text{min-width:100%;width:0}.ck.ck-form .ck.ck-dropdown{min-width:100%}.ck.ck-form .ck.ck-dropdown .ck-dropdown__button:not(:focus){border:1px solid var(--ck-color-base-border)}.ck.ck-form .ck.ck-dropdown .ck-dropdown__button .ck-button__label{width:100%}","",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-table/form.css"],names:[],mappings:"AAKA,YACC,mCAyBD,CAvBC,kBAEC,YACD,CAEA,8BACC,cAAe,CACf,OACD,CAEA,4BACC,cAWD,CARE,6DACC,4CACD,CAEA,mEACC,UACD",sourcesContent:[`/* + * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved. + * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license + */ + +.ck.ck-form { + padding: 0 0 var(--ck-spacing-large); + + &:focus { + /* See: https://github.com/ckeditor/ckeditor5/issues/4773 */ + outline: none; + } + + & .ck.ck-input-text { + min-width: 100%; + width: 0; + } + + & .ck.ck-dropdown { + min-width: 100%; + + & .ck-dropdown__button { + &:not(:focus) { + border: 1px solid var(--ck-color-base-border); + } + + & .ck-button__label { + width: 100%; + } + } + } +} +`],sourceRoot:""}]);const m=g},6908:(_,x,h)=>{h.d(x,{Z:()=>m});var y=h(4015),E=h.n(y),k=h(3645),D=h.n(k),g=D()(E());g.push([_.id,".ck.ck-form__row{display:flex;flex-direction:row;flex-wrap:nowrap;justify-content:space-between}.ck.ck-form__row>:not(.ck-label){flex-grow:1}.ck.ck-form__row.ck-table-form__action-row .ck-button-cancel,.ck.ck-form__row.ck-table-form__action-row .ck-button-save{justify-content:center}.ck.ck-form__row{padding:var(--ck-spacing-standard) var(--ck-spacing-large) 0}[dir=ltr] .ck.ck-form__row>:not(.ck-label)+*{margin-left:var(--ck-spacing-large)}[dir=rtl] .ck.ck-form__row>:not(.ck-label)+*{margin-right:var(--ck-spacing-large)}.ck.ck-form__row>.ck-label{min-width:100%;width:100%}.ck.ck-form__row.ck-table-form__action-row{margin-top:var(--ck-spacing-large)}.ck.ck-form__row.ck-table-form__action-row .ck-button .ck-button__label{color:var(--ck-color-text)}","",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-table/theme/formrow.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-table/formrow.css"],names:[],mappings:"AAKA,iBACC,YAAa,CACb,kBAAmB,CACnB,gBAAiB,CACjB,6BAaD,CAVC,iCACC,WACD,CAGC,wHAEC,sBACD,CCbF,iBACC,4DA2BD,CAvBE,6CAEE,mCAMF,CARA,6CAME,oCAEF,CAGD,2BAEC,cAAe,CADf,UAED,CAEA,2CACC,kCAKD,CAHC,wEACC,0BACD",sourcesContent:[`/* + * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved. + * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license + */ + +.ck.ck-form__row { + display: flex; + flex-direction: row; + flex-wrap: nowrap; + justify-content: space-between; + + /* Ignore labels that work as fieldset legends */ + & > *:not(.ck-label) { + flex-grow: 1; + } + + &.ck-table-form__action-row { + & .ck-button-save, + & .ck-button-cancel { + justify-content: center; + } + } +} +`,`/* + * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved. + * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license + */ + +@import "@ckeditor/ckeditor5-ui/theme/mixins/_dir.css"; + +.ck.ck-form__row { + padding: var(--ck-spacing-standard) var(--ck-spacing-large) 0; + + /* Ignore labels that work as fieldset legends */ + & > *:not(.ck-label) { + & + * { + @mixin ck-dir ltr { + margin-left: var(--ck-spacing-large); + } + + @mixin ck-dir rtl { + margin-right: var(--ck-spacing-large); + } + } + } + + & > .ck-label { + width: 100%; + min-width: 100%; + } + + &.ck-table-form__action-row { + margin-top: var(--ck-spacing-large); + + & .ck-button .ck-button__label { + color: var(--ck-color-text); + } + } +} +`],sourceRoot:""}]);const m=g},468:(_,x,h)=>{h.d(x,{Z:()=>m});var y=h(4015),E=h.n(y),k=h(3645),D=h.n(k),g=D()(E());g.push([_.id,".ck .ck-insert-table-dropdown__grid{display:flex;flex-direction:row;flex-wrap:wrap}:root{--ck-insert-table-dropdown-padding:10px;--ck-insert-table-dropdown-box-height:11px;--ck-insert-table-dropdown-box-width:12px;--ck-insert-table-dropdown-box-margin:1px}.ck .ck-insert-table-dropdown__grid{padding:var(--ck-insert-table-dropdown-padding) var(--ck-insert-table-dropdown-padding) 0;width:calc(var(--ck-insert-table-dropdown-box-width)*10 + var(--ck-insert-table-dropdown-box-margin)*20 + var(--ck-insert-table-dropdown-padding)*2)}.ck .ck-insert-table-dropdown__label,.ck[dir=rtl] .ck-insert-table-dropdown__label{text-align:center}.ck .ck-insert-table-dropdown-grid-box{border:1px solid var(--ck-color-base-border);border-radius:1px;margin:var(--ck-insert-table-dropdown-box-margin);min-height:var(--ck-insert-table-dropdown-box-height);min-width:var(--ck-insert-table-dropdown-box-width);outline:none;transition:none}.ck .ck-insert-table-dropdown-grid-box:focus{box-shadow:none}.ck .ck-insert-table-dropdown-grid-box.ck-on{background:var(--ck-color-focus-outer-shadow);border-color:var(--ck-color-focus-border)}","",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-table/theme/inserttable.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-table/inserttable.css"],names:[],mappings:"AAKA,oCACC,YAAa,CACb,kBAAmB,CACnB,cACD,CCJA,MACC,uCAAwC,CACxC,0CAA2C,CAC3C,yCAA0C,CAC1C,yCACD,CAEA,oCAGC,yFAA0F,CAD1F,oJAED,CAEA,mFAEC,iBACD,CAEA,uCAIC,4CAA6C,CAC7C,iBAAkB,CAFlB,iDAAkD,CADlD,qDAAsD,CADtD,mDAAoD,CAKpD,YAAa,CACb,eAUD,CARC,6CACC,eACD,CAEA,6CAEC,6CAA8C,CAD9C,yCAED",sourcesContent:[`/* + * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved. + * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license + */ + +.ck .ck-insert-table-dropdown__grid { + display: flex; + flex-direction: row; + flex-wrap: wrap; +} +`,`/* + * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved. + * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license + */ + +:root { + --ck-insert-table-dropdown-padding: 10px; + --ck-insert-table-dropdown-box-height: 11px; + --ck-insert-table-dropdown-box-width: 12px; + --ck-insert-table-dropdown-box-margin: 1px; +} + +.ck .ck-insert-table-dropdown__grid { + /* The width of a container should match 10 items in a row so there will be a 10x10 grid. */ + width: calc(var(--ck-insert-table-dropdown-box-width) * 10 + var(--ck-insert-table-dropdown-box-margin) * 20 + var(--ck-insert-table-dropdown-padding) * 2); + padding: var(--ck-insert-table-dropdown-padding) var(--ck-insert-table-dropdown-padding) 0; +} + +.ck .ck-insert-table-dropdown__label, +.ck[dir=rtl] .ck-insert-table-dropdown__label { + text-align: center; +} + +.ck .ck-insert-table-dropdown-grid-box { + min-width: var(--ck-insert-table-dropdown-box-width); + min-height: var(--ck-insert-table-dropdown-box-height); + margin: var(--ck-insert-table-dropdown-box-margin); + border: 1px solid var(--ck-color-base-border); + border-radius: 1px; + outline: none; + transition: none; + + &:focus { + box-shadow: none; + } + + &.ck-on { + border-color: var(--ck-color-focus-border); + background: var(--ck-color-focus-outer-shadow); + } +} + +`],sourceRoot:""}]);const m=g},2510:(_,x,h)=>{h.d(x,{Z:()=>m});var y=h(4015),E=h.n(y),k=h(3645),D=h.n(k),g=D()(E());g.push([_.id,".ck-content .table{display:table;margin:.9em auto}.ck-content .table table{border:1px double #b3b3b3;border-collapse:collapse;border-spacing:0;height:100%;width:100%}.ck-content .table table td,.ck-content .table table th{border:1px solid #bfbfbf;min-width:2em;padding:.4em}.ck-content .table table th{background:rgba(0,0,0,.05);font-weight:700}.ck-content[dir=rtl] .table th{text-align:right}.ck-content[dir=ltr] .table th{text-align:left}.ck-editor__editable .ck-table-bogus-paragraph{display:inline-block;width:100%}","",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-table/theme/table.css"],names:[],mappings:"AAKA,mBAKC,aAAc,CADd,gBAiCD,CA9BC,yBAYC,yBAAkC,CAVlC,wBAAyB,CACzB,gBAAiB,CAKjB,WAAY,CADZ,UAsBD,CAfC,wDAQC,wBAAiC,CANjC,aAAc,CACd,YAMD,CAEA,4BAEC,0BAA+B,CAD/B,eAED,CAMF,+BACC,gBACD,CAEA,+BACC,eACD,CAEA,+CAKC,oBAAqB,CAMrB,UACD",sourcesContent:[`/* + * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved. + * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license + */ + +.ck-content .table { + /* Give the table widget some air and center it horizontally */ + /* The first value should be equal to --ck-spacing-large variable if used in the editor context + to avoid the content jumping (See https://github.com/ckeditor/ckeditor5/issues/9825). */ + margin: 0.9em auto; + display: table; + + & table { + /* The table cells should have slight borders */ + border-collapse: collapse; + border-spacing: 0; + + /* Table width and height are set on the parent
. Make sure the table inside stretches + to the full dimensions of the container (https://github.com/ckeditor/ckeditor5/issues/6186). */ + width: 100%; + height: 100%; + + /* The outer border of the table should be slightly darker than the inner lines. + Also see https://github.com/ckeditor/ckeditor5-table/issues/50. */ + border: 1px double hsl(0, 0%, 70%); + + & td, + & th { + min-width: 2em; + padding: .4em; + + /* The border is inherited from .ck-editor__nested-editable styles, so theoretically it's not necessary here. + However, the border is a content style, so it should use .ck-content (so it works outside the editor). + Hence, the duplication. See https://github.com/ckeditor/ckeditor5/issues/6314 */ + border: 1px solid hsl(0, 0%, 75%); + } + + & th { + font-weight: bold; + background: hsla(0, 0%, 0%, 5%); + } + } +} + +/* Text alignment of the table header should match the editor settings and override the native browser styling, +when content is available outside the editor. See https://github.com/ckeditor/ckeditor5/issues/6638 */ +.ck-content[dir="rtl"] .table th { + text-align: right; +} + +.ck-content[dir="ltr"] .table th { + text-align: left; +} + +.ck-editor__editable .ck-table-bogus-paragraph { + /* + * Use display:inline-block to force Chrome/Safari to limit text mutations to this element. + * See https://github.com/ckeditor/ckeditor5/issues/6062. + */ + display: inline-block; + + /* + * Inline HTML elements nested in the span should always be dimensioned in relation to the whole cell width. + * See https://github.com/ckeditor/ckeditor5/issues/9117. + */ + width: 100%; +} +`],sourceRoot:""}]);const m=g},1111:(_,x,h)=>{h.d(x,{Z:()=>m});var y=h(4015),E=h.n(y),k=h(3645),D=h.n(k),g=D()(E());g.push([_.id,":root{--ck-color-selector-caption-background:#f7f7f7;--ck-color-selector-caption-text:#333;--ck-color-selector-caption-highlighted-background:#fd0}.ck-content .table>figcaption{background-color:var(--ck-color-selector-caption-background);caption-side:top;color:var(--ck-color-selector-caption-text);display:table-caption;font-size:.75em;outline-offset:-1px;padding:.6em;text-align:center;word-break:break-word}.ck.ck-editor__editable .table>figcaption.table__caption_highlighted{animation:ck-table-caption-highlight .6s ease-out}.ck.ck-editor__editable .table>figcaption.ck-placeholder:before{overflow:hidden;padding-left:inherit;padding-right:inherit;text-overflow:ellipsis;white-space:nowrap}@keyframes ck-table-caption-highlight{0%{background-color:var(--ck-color-selector-caption-highlighted-background)}to{background-color:var(--ck-color-selector-caption-background)}}","",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-table/theme/tablecaption.css"],names:[],mappings:"AAKA,MACC,8CAAuD,CACvD,qCAAiD,CACjD,uDACD,CAGA,8BAMC,4DAA6D,CAJ7D,gBAAiB,CAGjB,2CAA4C,CAJ5C,qBAAsB,CAOtB,eAAgB,CAChB,mBAAoB,CAFpB,YAAa,CAHb,iBAAkB,CADlB,qBAOD,CAIC,qEACC,iDACD,CAEA,gEASC,eAAgB,CARhB,oBAAqB,CACrB,qBAAsB,CAQtB,sBAAuB,CAFvB,kBAGD,CAGD,sCACC,GACC,wEACD,CAEA,GACC,4DACD,CACD",sourcesContent:[`/* + * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved. + * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license + */ + +:root { + --ck-color-selector-caption-background: hsl(0, 0%, 97%); + --ck-color-selector-caption-text: hsl(0, 0%, 20%); + --ck-color-selector-caption-highlighted-background: hsl(52deg 100% 50%); +} + +/* Content styles */ +.ck-content .table > figcaption { + display: table-caption; + caption-side: top; + word-break: break-word; + text-align: center; + color: var(--ck-color-selector-caption-text); + background-color: var(--ck-color-selector-caption-background); + padding: .6em; + font-size: .75em; + outline-offset: -1px; +} + +/* Editing styles */ +.ck.ck-editor__editable .table > figcaption { + &.table__caption_highlighted { + animation: ck-table-caption-highlight .6s ease-out; + } + + &.ck-placeholder::before { + padding-left: inherit; + padding-right: inherit; + + /* + * Make sure the table caption placeholder doesn't overflow the placeholder area. + * See https://github.com/ckeditor/ckeditor5/issues/9162. + */ + white-space: nowrap; + overflow: hidden; + text-overflow: ellipsis; + } +} + +@keyframes ck-table-caption-highlight { + 0% { + background-color: var(--ck-color-selector-caption-highlighted-background); + } + + 100% { + background-color: var(--ck-color-selector-caption-background); + } +} +`],sourceRoot:""}]);const m=g},3964:(_,x,h)=>{h.d(x,{Z:()=>m});var y=h(4015),E=h.n(y),k=h(3645),D=h.n(k),g=D()(E());g.push([_.id,".ck.ck-table-cell-properties-form .ck-form__row.ck-table-cell-properties-form__alignment-row{flex-wrap:wrap}.ck.ck-table-cell-properties-form .ck-form__row.ck-table-cell-properties-form__alignment-row .ck.ck-toolbar:first-of-type{flex-grow:0.57}.ck.ck-table-cell-properties-form .ck-form__row.ck-table-cell-properties-form__alignment-row .ck.ck-toolbar:last-of-type{flex-grow:0.43}.ck.ck-table-cell-properties-form .ck-form__row.ck-table-cell-properties-form__alignment-row .ck.ck-toolbar .ck-button{flex-grow:1}.ck.ck-table-cell-properties-form{width:320px}.ck.ck-table-cell-properties-form .ck-form__row.ck-table-cell-properties-form__padding-row{align-self:flex-end;padding:0;width:25%}.ck.ck-table-cell-properties-form .ck-form__row.ck-table-cell-properties-form__alignment-row .ck.ck-toolbar{background:none;margin-top:var(--ck-spacing-standard)}","",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-table/theme/tablecellproperties.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-table/tablecellproperties.css"],names:[],mappings:"AAOE,6FACC,cAiBD,CAdE,0HAEC,cACD,CAEA,yHAEC,cACD,CAEA,uHACC,WACD,CClBJ,kCACC,WAkBD,CAfE,2FACC,mBAAoB,CACpB,SAAU,CACV,SACD,CAGC,4GACC,eAAgB,CAGhB,qCACD",sourcesContent:[`/* + * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved. + * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license + */ + +.ck.ck-table-cell-properties-form { + & .ck-form__row { + &.ck-table-cell-properties-form__alignment-row { + flex-wrap: wrap; + + & .ck.ck-toolbar { + &:first-of-type { + /* 4 buttons out of 7 (h-alignment + v-alignment) = 0.57 */ + flex-grow: 0.57; + } + + &:last-of-type { + /* 3 buttons out of 7 (h-alignment + v-alignment) = 0.43 */ + flex-grow: 0.43; + } + + & .ck-button { + flex-grow: 1; + } + } + } + } +} +`,`/* + * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved. + * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license + */ + +.ck.ck-table-cell-properties-form { + width: 320px; + + & .ck-form__row { + &.ck-table-cell-properties-form__padding-row { + align-self: flex-end; + padding: 0; + width: 25%; + } + + &.ck-table-cell-properties-form__alignment-row { + & .ck.ck-toolbar { + background: none; + + /* Compensate for missing input label that would push the margin (toolbar has no inputs). */ + margin-top: var(--ck-spacing-standard); + } + } + } +} +`],sourceRoot:""}]);const m=g},7176:(_,x,h)=>{h.d(x,{Z:()=>m});var y=h(4015),E=h.n(y),k=h(3645),D=h.n(k),g=D()(E());g.push([_.id,":root{--ck-color-selector-column-resizer-hover:var(--ck-color-base-active);--ck-table-column-resizer-width:7px;--ck-table-column-resizer-position-offset:calc(var(--ck-table-column-resizer-width)*-0.5 - 0.5px)}.ck-content .table .ck-table-resized{table-layout:fixed}.ck-content .table table{overflow:hidden}.ck-content .table td,.ck-content .table th{overflow-wrap:break-word;position:relative}.ck.ck-editor__editable .table .ck-table-column-resizer{bottom:0;cursor:col-resize;position:absolute;right:var(--ck-table-column-resizer-position-offset);top:0;user-select:none;width:var(--ck-table-column-resizer-width);z-index:var(--ck-z-default)}.ck.ck-editor__editable .table[draggable] .ck-table-column-resizer,.ck.ck-editor__editable.ck-column-resize_disabled .table .ck-table-column-resizer{display:none}.ck.ck-editor__editable .table .ck-table-column-resizer:hover,.ck.ck-editor__editable .table .ck-table-column-resizer__active{background-color:var(--ck-color-selector-column-resizer-hover);bottom:-999999px;opacity:.25;top:-999999px}.ck.ck-editor__editable[dir=rtl] .table .ck-table-column-resizer{left:var(--ck-table-column-resizer-position-offset);right:unset}","",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-table/theme/tablecolumnresize.css"],names:[],mappings:"AAKA,MACC,oEAAqE,CACrE,mCAAoC,CAIpC,iGACD,CAEA,qCACC,kBACD,CAEA,yBACC,eACD,CAEA,4CAIC,wBAAyB,CACzB,iBACD,CAEA,wDAGC,QAAS,CAGT,iBAAkB,CALlB,iBAAkB,CAGlB,oDAAqD,CAFrD,KAAM,CAKN,gBAAiB,CAFjB,0CAA2C,CAG3C,2BACD,CAQA,qJACC,YACD,CAEA,8HAEC,8DAA+D,CAO/D,gBAAiB,CANjB,WAAa,CAKb,aAED,CAEA,iEACC,mDAAoD,CACpD,WACD",sourcesContent:[`/* + * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved. + * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license + */ + +:root { + --ck-color-selector-column-resizer-hover: var(--ck-color-base-active); + --ck-table-column-resizer-width: 7px; + + /* The offset used for absolute positioning of the resizer element, so that it is placed exactly above the cell border. + The value is: minus half the width of the resizer decreased additionaly by the half the width of the border (0.5px). */ + --ck-table-column-resizer-position-offset: calc(var(--ck-table-column-resizer-width) * -0.5 - 0.5px); +} + +.ck-content .table .ck-table-resized { + table-layout: fixed; +} + +.ck-content .table table { + overflow: hidden; +} + +.ck-content .table td, +.ck-content .table th { + /* To prevent text overflowing beyond its cell when columns are resized by resize handler + (https://github.com/ckeditor/ckeditor5/pull/14379#issuecomment-1589460978). */ + overflow-wrap: break-word; + position: relative; +} + +.ck.ck-editor__editable .table .ck-table-column-resizer { + position: absolute; + top: 0; + bottom: 0; + right: var(--ck-table-column-resizer-position-offset); + width: var(--ck-table-column-resizer-width); + cursor: col-resize; + user-select: none; + z-index: var(--ck-z-default); +} + +.ck.ck-editor__editable.ck-column-resize_disabled .table .ck-table-column-resizer { + display: none; +} + +/* The resizer elements, which are extended to an extremely high height, break the drag & drop feature in Chrome. To make it work again, + all resizers must be hidden while the table is dragged. */ +.ck.ck-editor__editable .table[draggable] .ck-table-column-resizer { + display: none; +} + +.ck.ck-editor__editable .table .ck-table-column-resizer:hover, +.ck.ck-editor__editable .table .ck-table-column-resizer__active { + background-color: var(--ck-color-selector-column-resizer-hover); + opacity: 0.25; + /* The resizer element resides in each cell so to occupy the entire height of the table, which is unknown from a CSS point of view, + it is extended to an extremely high height. Even for screens with a very high pixel density, the resizer will fulfill its role as + it should, i.e. for a screen of 476 ppi the total height of the resizer will take over 350 sheets of A4 format, which is totally + unrealistic height for a single table. */ + top: -999999px; + bottom: -999999px; +} + +.ck.ck-editor__editable[dir=rtl] .table .ck-table-column-resizer { + left: var(--ck-table-column-resizer-position-offset); + right: unset; +} +`],sourceRoot:""}]);const m=g},8361:(_,x,h)=>{h.d(x,{Z:()=>m});var y=h(4015),E=h.n(y),k=h(3645),D=h.n(k),g=D()(E());g.push([_.id,":root{--ck-color-selector-focused-cell-background:rgba(158,201,250,.3)}.ck-widget.table td.ck-editor__nested-editable.ck-editor__nested-editable_focused,.ck-widget.table td.ck-editor__nested-editable:focus,.ck-widget.table th.ck-editor__nested-editable.ck-editor__nested-editable_focused,.ck-widget.table th.ck-editor__nested-editable:focus{background:var(--ck-color-selector-focused-cell-background);border-style:none;outline:1px solid var(--ck-color-focus-border);outline-offset:-1px}","",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-table/tableediting.css"],names:[],mappings:"AAKA,MACC,gEACD,CAKE,8QAGC,2DAA4D,CAK5D,iBAAkB,CAClB,8CAA+C,CAC/C,mBACD",sourcesContent:[`/* + * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved. + * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license + */ + +:root { + --ck-color-selector-focused-cell-background: hsla(212, 90%, 80%, .3); +} + +.ck-widget.table { + & td, + & th { + &.ck-editor__nested-editable.ck-editor__nested-editable_focused, + &.ck-editor__nested-editable:focus { + /* A very slight background to highlight the focused cell */ + background: var(--ck-color-selector-focused-cell-background); + + /* Fixes the problem where surrounding cells cover the focused cell's border. + It does not fix the problem in all places but the UX is improved. + See https://github.com/ckeditor/ckeditor5-table/issues/29. */ + border-style: none; + outline: 1px solid var(--ck-color-focus-border); + outline-offset: -1px; /* progressive enhancement - no IE support */ + } + } +} +`],sourceRoot:""}]);const m=g},9429:(_,x,h)=>{h.d(x,{Z:()=>m});var y=h(4015),E=h.n(y),k=h(3645),D=h.n(k),g=D()(E());g.push([_.id,'.ck.ck-table-form .ck-form__row.ck-table-form__background-row,.ck.ck-table-form .ck-form__row.ck-table-form__border-row{flex-wrap:wrap}.ck.ck-table-form .ck-form__row.ck-table-form__dimensions-row{align-items:center;flex-wrap:wrap}.ck.ck-table-form .ck-form__row.ck-table-form__dimensions-row .ck-labeled-field-view{align-items:center;display:flex;flex-direction:column-reverse}.ck.ck-table-form .ck-form__row.ck-table-form__dimensions-row .ck-labeled-field-view .ck.ck-dropdown,.ck.ck-table-form .ck-form__row.ck-table-form__dimensions-row .ck-table-form__dimension-operator{flex-grow:0}.ck.ck-table-form .ck.ck-labeled-field-view{position:relative}.ck.ck-table-form .ck.ck-labeled-field-view .ck.ck-labeled-field-view__status{bottom:calc(var(--ck-table-properties-error-arrow-size)*-1);left:50%;position:absolute;transform:translate(-50%,100%);z-index:1}.ck.ck-table-form .ck.ck-labeled-field-view .ck.ck-labeled-field-view__status:after{content:"";left:50%;position:absolute;top:calc(var(--ck-table-properties-error-arrow-size)*-1);transform:translateX(-50%)}:root{--ck-table-properties-error-arrow-size:6px;--ck-table-properties-min-error-width:150px}.ck.ck-table-form .ck-form__row.ck-table-form__border-row .ck-labeled-field-view>.ck-label{font-size:var(--ck-font-size-tiny);text-align:center}.ck.ck-table-form .ck-form__row.ck-table-form__border-row .ck-table-form__border-style,.ck.ck-table-form .ck-form__row.ck-table-form__border-row .ck-table-form__border-width{max-width:80px;min-width:80px;width:80px}.ck.ck-table-form .ck-form__row.ck-table-form__dimensions-row{padding:0}.ck.ck-table-form .ck-form__row.ck-table-form__dimensions-row .ck-table-form__dimensions-row__height,.ck.ck-table-form .ck-form__row.ck-table-form__dimensions-row .ck-table-form__dimensions-row__width{margin:0}.ck.ck-table-form .ck-form__row.ck-table-form__dimensions-row .ck-table-form__dimension-operator{align-self:flex-end;display:inline-block;height:var(--ck-ui-component-min-height);line-height:var(--ck-ui-component-min-height);margin:0 var(--ck-spacing-small)}.ck.ck-table-form .ck.ck-labeled-field-view{padding-top:var(--ck-spacing-standard)}.ck.ck-table-form .ck.ck-labeled-field-view .ck.ck-labeled-field-view__status{border-radius:0}.ck-rounded-corners .ck.ck-table-form .ck.ck-labeled-field-view .ck.ck-labeled-field-view__status,.ck.ck-table-form .ck.ck-labeled-field-view .ck.ck-labeled-field-view__status.ck-rounded-corners{border-radius:var(--ck-border-radius)}.ck.ck-table-form .ck.ck-labeled-field-view .ck.ck-labeled-field-view__status{background:var(--ck-color-base-error);color:var(--ck-color-base-background);min-width:var(--ck-table-properties-min-error-width);padding:var(--ck-spacing-small) var(--ck-spacing-medium);text-align:center}.ck.ck-table-form .ck.ck-labeled-field-view .ck.ck-labeled-field-view__status:after{border-color:transparent transparent var(--ck-color-base-error) transparent;border-style:solid;border-width:0 var(--ck-table-properties-error-arrow-size) var(--ck-table-properties-error-arrow-size) var(--ck-table-properties-error-arrow-size)}.ck.ck-table-form .ck.ck-labeled-field-view .ck.ck-labeled-field-view__status{animation:ck-table-form-labeled-view-status-appear .15s ease both}.ck.ck-table-form .ck.ck-labeled-field-view .ck-input.ck-error:not(:focus)+.ck.ck-labeled-field-view__status{display:none}@keyframes ck-table-form-labeled-view-status-appear{0%{opacity:0}to{opacity:1}}',"",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-table/theme/tableform.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-table/tableform.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/mixins/_rounded.css"],names:[],mappings:"AAWE,wHACC,cACD,CAEA,8DAEC,kBAAmB,CADnB,cAgBD,CAbC,qFAGC,kBAAmB,CAFnB,YAAa,CACb,6BAMD,CAEA,sMACC,WACD,CAIF,4CAEC,iBAoBD,CAlBC,8EAGC,2DAAgE,CADhE,QAAS,CADT,iBAAkB,CAGlB,8BAA+B,CAG/B,SAUD,CAPC,oFACC,UAAW,CAGX,QAAS,CAFT,iBAAkB,CAClB,wDAA6D,CAE7D,0BACD,CChDH,MACC,0CAA2C,CAC3C,2CACD,CAMI,2FACC,kCAAmC,CACnC,iBACD,CAGD,8KAIC,cAAe,CADf,cAAe,CADf,UAGD,CAGD,8DACC,SAcD,CAZC,yMAEC,QACD,CAEA,iGACC,mBAAoB,CACpB,oBAAqB,CACrB,wCAAyC,CACzC,6CAA8C,CAC9C,gCACD,CAIF,4CACC,sCAyBD,CAvBC,8ECxCD,eDyDC,CAjBA,mMCpCA,qCDqDA,CAjBA,8EAGC,qCAAsC,CACtC,qCAAsC,CAEtC,oDAAqD,CADrD,wDAAyD,CAEzD,iBAUD,CAPC,oFACC,2EAA4E,CAE5E,kBAAmB,CADnB,kJAED,CAdD,8EAgBC,iEACD,CAGA,6GACC,YACD,CAIF,oDACC,GACC,SACD,CAEA,GACC,SACD,CACD",sourcesContent:[`/* + * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved. + * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license + */ + +.ck.ck-table-form { + & .ck-form__row { + &.ck-table-form__border-row { + flex-wrap: wrap; + } + + &.ck-table-form__background-row { + flex-wrap: wrap; + } + + &.ck-table-form__dimensions-row { + flex-wrap: wrap; + align-items: center; + + & .ck-labeled-field-view { + display: flex; + flex-direction: column-reverse; + align-items: center; + + & .ck.ck-dropdown { + flex-grow: 0; + } + } + + & .ck-table-form__dimension-operator { + flex-grow: 0; + } + } + } + + & .ck.ck-labeled-field-view { + /* Allow absolute positioning of the status (error) balloons. */ + position: relative; + + & .ck.ck-labeled-field-view__status { + position: absolute; + left: 50%; + bottom: calc( -1 * var(--ck-table-properties-error-arrow-size) ); + transform: translate(-50%,100%); + + /* Make sure the balloon status stays on top of other form elements. */ + z-index: 1; + + /* The arrow pointing towards the field. */ + &::after { + content: ""; + position: absolute; + top: calc( -1 * var(--ck-table-properties-error-arrow-size) ); + left: 50%; + transform: translateX( -50% ); + } + } + } +} +`,`/* + * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved. + * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license + */ + +@import "../mixins/_rounded.css"; + +:root { + --ck-table-properties-error-arrow-size: 6px; + --ck-table-properties-min-error-width: 150px; +} + +.ck.ck-table-form { + & .ck-form__row { + &.ck-table-form__border-row { + & .ck-labeled-field-view { + & > .ck-label { + font-size: var(--ck-font-size-tiny); + text-align: center; + } + } + + & .ck-table-form__border-style, + & .ck-table-form__border-width { + width: 80px; + min-width: 80px; + max-width: 80px; + } + } + + &.ck-table-form__dimensions-row { + padding: 0; + + & .ck-table-form__dimensions-row__width, + & .ck-table-form__dimensions-row__height { + margin: 0 + } + + & .ck-table-form__dimension-operator { + align-self: flex-end; + display: inline-block; + height: var(--ck-ui-component-min-height); + line-height: var(--ck-ui-component-min-height); + margin: 0 var(--ck-spacing-small); + } + } + } + + & .ck.ck-labeled-field-view { + padding-top: var(--ck-spacing-standard); + + & .ck.ck-labeled-field-view__status { + @mixin ck-rounded-corners; + + background: var(--ck-color-base-error); + color: var(--ck-color-base-background); + padding: var(--ck-spacing-small) var(--ck-spacing-medium); + min-width: var(--ck-table-properties-min-error-width); + text-align: center; + + /* The arrow pointing towards the field. */ + &::after { + border-color: transparent transparent var(--ck-color-base-error) transparent; + border-width: 0 var(--ck-table-properties-error-arrow-size) var(--ck-table-properties-error-arrow-size) var(--ck-table-properties-error-arrow-size); + border-style: solid; + } + + animation: ck-table-form-labeled-view-status-appear .15s ease both; + } + + /* Hide the error balloon when the field is blurred. Makes the experience much more clear. */ + & .ck-input.ck-error:not(:focus) + .ck.ck-labeled-field-view__status { + display: none; + } + } +} + +@keyframes ck-table-form-labeled-view-status-appear { + 0% { + opacity: 0; + } + + 100% { + opacity: 1; + } +} +`,`/* + * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved. + * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license + */ + +/** + * Implements rounded corner interface for .ck-rounded-corners class. + * + * @see $ck-border-radius + */ +@define-mixin ck-rounded-corners { + border-radius: 0; + + @nest .ck-rounded-corners &, + &.ck-rounded-corners { + border-radius: var(--ck-border-radius); + @mixin-content; + } +} +`],sourceRoot:""}]);const m=g},6596:(_,x,h)=>{h.d(x,{Z:()=>m});var y=h(4015),E=h.n(y),k=h(3645),D=h.n(k),g=D()(E());g.push([_.id,".ck.ck-table-properties-form .ck-form__row.ck-table-properties-form__alignment-row{align-content:baseline;flex-basis:0;flex-wrap:wrap}.ck.ck-table-properties-form .ck-form__row.ck-table-properties-form__alignment-row .ck.ck-toolbar .ck-toolbar__items{flex-wrap:nowrap}.ck.ck-table-properties-form{width:320px}.ck.ck-table-properties-form .ck-form__row.ck-table-properties-form__alignment-row{align-self:flex-end;padding:0}.ck.ck-table-properties-form .ck-form__row.ck-table-properties-form__alignment-row .ck.ck-toolbar{background:none;margin-top:var(--ck-spacing-standard)}.ck.ck-table-properties-form .ck-form__row.ck-table-properties-form__alignment-row .ck.ck-toolbar .ck-toolbar__items>*{width:40px}","",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-table/theme/tableproperties.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-table/tableproperties.css"],names:[],mappings:"AAOE,mFAGC,sBAAuB,CADvB,YAAa,CADb,cAOD,CAHC,qHACC,gBACD,CCTH,6BACC,WAmBD,CAhBE,mFACC,mBAAoB,CACpB,SAYD,CAVC,kGACC,eAAgB,CAGhB,qCAKD,CAHC,uHACC,UACD",sourcesContent:[`/* + * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved. + * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license + */ + +.ck.ck-table-properties-form { + & .ck-form__row { + &.ck-table-properties-form__alignment-row { + flex-wrap: wrap; + flex-basis: 0; + align-content: baseline; + + & .ck.ck-toolbar .ck-toolbar__items { + flex-wrap: nowrap; + } + } + } +} +`,`/* + * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved. + * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license + */ + +.ck.ck-table-properties-form { + width: 320px; + + & .ck-form__row { + &.ck-table-properties-form__alignment-row { + align-self: flex-end; + padding: 0; + + & .ck.ck-toolbar { + background: none; + + /* Compensate for missing input label that would push the margin (toolbar has no inputs). */ + margin-top: var(--ck-spacing-standard); + + & .ck-toolbar__items > * { + width: 40px; + } + } + } + } +} +`],sourceRoot:""}]);const m=g},1546:(_,x,h)=>{h.d(x,{Z:()=>m});var y=h(4015),E=h.n(y),k=h(3645),D=h.n(k),g=D()(E());g.push([_.id,':root{--ck-table-selected-cell-background:rgba(158,207,250,.3)}.ck.ck-editor__editable .table table td.ck-editor__editable_selected,.ck.ck-editor__editable .table table th.ck-editor__editable_selected{box-shadow:unset;caret-color:transparent;outline:unset;position:relative}.ck.ck-editor__editable .table table td.ck-editor__editable_selected:after,.ck.ck-editor__editable .table table th.ck-editor__editable_selected:after{background-color:var(--ck-table-selected-cell-background);bottom:0;content:"";left:0;pointer-events:none;position:absolute;right:0;top:0}.ck.ck-editor__editable .table table td.ck-editor__editable_selected ::selection,.ck.ck-editor__editable .table table td.ck-editor__editable_selected:focus,.ck.ck-editor__editable .table table th.ck-editor__editable_selected ::selection,.ck.ck-editor__editable .table table th.ck-editor__editable_selected:focus{background-color:transparent}.ck.ck-editor__editable .table table td.ck-editor__editable_selected .ck-widget,.ck.ck-editor__editable .table table th.ck-editor__editable_selected .ck-widget{outline:unset}.ck.ck-editor__editable .table table td.ck-editor__editable_selected .ck-widget>.ck-widget__selection-handle,.ck.ck-editor__editable .table table th.ck-editor__editable_selected .ck-widget>.ck-widget__selection-handle{display:none}',"",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-table/tableselection.css"],names:[],mappings:"AAKA,MACC,wDACD,CAGC,0IAKC,gBAAiB,CAFjB,uBAAwB,CACxB,aAAc,CAFd,iBAiCD,CA3BC,sJAGC,yDAA0D,CAK1D,QAAS,CAPT,UAAW,CAKX,MAAO,CAJP,mBAAoB,CAEpB,iBAAkB,CAGlB,OAAQ,CAFR,KAID,CAEA,wTAEC,4BACD,CAMA,gKACC,aAKD,CAHC,0NACC,YACD",sourcesContent:[`/* + * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved. + * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license + */ + +:root { + --ck-table-selected-cell-background: hsla(208, 90%, 80%, .3); +} + +.ck.ck-editor__editable .table table { + & td.ck-editor__editable_selected, + & th.ck-editor__editable_selected { + position: relative; + caret-color: transparent; + outline: unset; + box-shadow: unset; + + /* https://github.com/ckeditor/ckeditor5/issues/6446 */ + &:after { + content: ''; + pointer-events: none; + background-color: var(--ck-table-selected-cell-background); + position: absolute; + top: 0; + left: 0; + right: 0; + bottom: 0; + } + + & ::selection, + &:focus { + background-color: transparent; + } + + /* + * To reduce the amount of noise, all widgets in the table selection have no outline and no selection handle. + * See https://github.com/ckeditor/ckeditor5/issues/9491. + */ + & .ck-widget { + outline: unset; + + & > .ck-widget__selection-handle { + display: none; + } + } + } +} +`],sourceRoot:""}]);const m=g},3290:(_,x,h)=>{h.d(x,{Z:()=>m});var y=h(4015),E=h.n(y),k=h(3645),D=h.n(k),g=D()(E());g.push([_.id,".ck.ck-aria-live-announcer{left:-10000px;position:absolute;top:-10000px}","",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-ui/theme/components/arialiveannouncer/arialiveannouncer.css"],names:[],mappings:"AAKA,2BAEC,aAAc,CADd,iBAAkB,CAElB,YACD",sourcesContent:[`/* + * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved. + * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license + */ + +.ck.ck-aria-live-announcer { + position: absolute; + left: -10000px; + top: -10000px; +} +`],sourceRoot:""}]);const m=g},4029:(_,x,h)=>{h.d(x,{Z:()=>m});var y=h(4015),E=h.n(y),k=h(3645),D=h.n(k),g=D()(E());g.push([_.id,".ck.ck-autocomplete{position:relative}.ck.ck-autocomplete>.ck-search__results{position:absolute;z-index:var(--ck-z-modal)}.ck.ck-autocomplete>.ck-search__results.ck-search__results_n{bottom:100%}.ck.ck-autocomplete>.ck-search__results.ck-search__results_s{bottom:auto;top:100%}.ck.ck-autocomplete>.ck-search__results{border-radius:0}.ck-rounded-corners .ck.ck-autocomplete>.ck-search__results,.ck.ck-autocomplete>.ck-search__results.ck-rounded-corners{border-radius:var(--ck-border-radius)}.ck.ck-autocomplete>.ck-search__results{background:var(--ck-color-base-background);border:1px solid var(--ck-color-dropdown-panel-border);box-shadow:var(--ck-drop-shadow),0 0;max-height:200px;min-width:auto;overflow-y:auto}.ck.ck-autocomplete>.ck-search__results.ck-search__results_n{border-bottom-left-radius:0;border-bottom-right-radius:0;margin-bottom:-1px}.ck.ck-autocomplete>.ck-search__results.ck-search__results_s{border-top-left-radius:0;border-top-right-radius:0;margin-top:-1px}","",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-ui/theme/components/autocomplete/autocomplete.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-ui/components/autocomplete/autocomplete.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/mixins/_rounded.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/mixins/_shadow.css"],names:[],mappings:"AAKA,oBACC,iBAeD,CAbC,wCACC,iBAAkB,CAClB,yBAUD,CARC,6DACC,WACD,CAEA,6DAEC,WAAY,CADZ,QAED,CCVD,wCCEA,eDuBA,CAzBA,uHCMC,qCDmBD,CAzBA,wCAMC,0CAA2C,CAC3C,sDAAuD,CEPxD,oCAA8B,CFI7B,gBAAiB,CAIjB,cAAe,CAHf,eAoBD,CAfC,6DACC,2BAA4B,CAC5B,4BAA6B,CAG7B,kBACD,CAEA,6DACC,wBAAyB,CACzB,yBAA0B,CAG1B,eACD",sourcesContent:[`/* + * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved. + * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license + */ + +.ck.ck-autocomplete { + position: relative; + + & > .ck-search__results { + position: absolute; + z-index: var(--ck-z-modal); + + &.ck-search__results_n { + bottom: 100%; + } + + &.ck-search__results_s { + top: 100%; + bottom: auto; + } + } +} +`,`/* + * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved. + * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license + */ + +@import "@ckeditor/ckeditor5-theme-lark/theme/mixins/_rounded.css"; +@import "@ckeditor/ckeditor5-theme-lark/theme/mixins/_shadow.css"; + +.ck.ck-autocomplete { + & > .ck-search__results { + @mixin ck-rounded-corners; + @mixin ck-drop-shadow; + + max-height: 200px; + overflow-y: auto; + background: var(--ck-color-base-background); + border: 1px solid var(--ck-color-dropdown-panel-border); + min-width: auto; + + &.ck-search__results_n { + border-bottom-left-radius: 0; + border-bottom-right-radius: 0; + + /* Prevent duplicated borders between the input and the results pane. */ + margin-bottom: -1px; + } + + &.ck-search__results_s { + border-top-left-radius: 0; + border-top-right-radius: 0; + + /* Prevent duplicated borders between the input and the results pane. */ + margin-top: -1px; + } + } +} +`,`/* + * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved. + * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license + */ + +/** + * Implements rounded corner interface for .ck-rounded-corners class. + * + * @see $ck-border-radius + */ +@define-mixin ck-rounded-corners { + border-radius: 0; + + @nest .ck-rounded-corners &, + &.ck-rounded-corners { + border-radius: var(--ck-border-radius); + @mixin-content; + } +} +`,`/* + * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved. + * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license + */ + +/** + * A helper to combine multiple shadows. + */ +@define-mixin ck-box-shadow $shadowA, $shadowB: 0 0 { + box-shadow: $shadowA, $shadowB; +} + +/** + * Gives an element a drop shadow so it looks like a floating panel. + */ +@define-mixin ck-drop-shadow { + @mixin ck-box-shadow var(--ck-drop-shadow); +} +`],sourceRoot:""}]);const m=g},4971:(_,x,h)=>{h.d(x,{Z:()=>m});var y=h(4015),E=h.n(y),k=h(3645),D=h.n(k),g=D()(E());g.push([_.id,".ck.ck-button,a.ck.ck-button{align-items:center;display:inline-flex;position:relative;-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none;user-select:none}[dir=ltr] .ck.ck-button,[dir=ltr] a.ck.ck-button{justify-content:left}[dir=rtl] .ck.ck-button,[dir=rtl] a.ck.ck-button{justify-content:right}.ck.ck-button .ck-button__label,a.ck.ck-button .ck-button__label{display:none}.ck.ck-button.ck-button_with-text .ck-button__label,a.ck.ck-button.ck-button_with-text .ck-button__label{display:inline-block}.ck.ck-button:not(.ck-button_with-text),a.ck.ck-button:not(.ck-button_with-text){justify-content:center}.ck.ck-button,a.ck.ck-button{background:var(--ck-color-button-default-background)}.ck.ck-button:not(.ck-disabled):hover,a.ck.ck-button:not(.ck-disabled):hover{background:var(--ck-color-button-default-hover-background)}.ck.ck-button:not(.ck-disabled):active,a.ck.ck-button:not(.ck-disabled):active{background:var(--ck-color-button-default-active-background)}.ck.ck-button.ck-disabled,a.ck.ck-button.ck-disabled{background:var(--ck-color-button-default-disabled-background)}.ck.ck-button,a.ck.ck-button{border-radius:0}.ck-rounded-corners .ck.ck-button,.ck-rounded-corners a.ck.ck-button,.ck.ck-button.ck-rounded-corners,a.ck.ck-button.ck-rounded-corners{border-radius:var(--ck-border-radius)}.ck.ck-button,a.ck.ck-button{-webkit-appearance:none;border:1px solid transparent;cursor:default;font-size:inherit;line-height:1;min-height:var(--ck-ui-component-min-height);min-width:var(--ck-ui-component-min-height);padding:var(--ck-spacing-tiny);text-align:center;transition:box-shadow .2s ease-in-out,border .2s ease-in-out;vertical-align:middle;white-space:nowrap}.ck.ck-button:active,.ck.ck-button:focus,a.ck.ck-button:active,a.ck.ck-button:focus{border:var(--ck-focus-ring);box-shadow:var(--ck-focus-outer-shadow),0 0;outline:none}.ck.ck-button .ck-button__icon use,.ck.ck-button .ck-button__icon use *,a.ck.ck-button .ck-button__icon use,a.ck.ck-button .ck-button__icon use *{color:inherit}.ck.ck-button .ck-button__label,a.ck.ck-button .ck-button__label{color:inherit;cursor:inherit;font-size:inherit;font-weight:inherit;vertical-align:middle}[dir=ltr] .ck.ck-button .ck-button__label,[dir=ltr] a.ck.ck-button .ck-button__label{text-align:left}[dir=rtl] .ck.ck-button .ck-button__label,[dir=rtl] a.ck.ck-button .ck-button__label{text-align:right}.ck.ck-button .ck-button__keystroke,a.ck.ck-button .ck-button__keystroke{color:inherit}[dir=ltr] .ck.ck-button .ck-button__keystroke,[dir=ltr] a.ck.ck-button .ck-button__keystroke{margin-left:var(--ck-spacing-large)}[dir=rtl] .ck.ck-button .ck-button__keystroke,[dir=rtl] a.ck.ck-button .ck-button__keystroke{margin-right:var(--ck-spacing-large)}.ck.ck-button .ck-button__keystroke,a.ck.ck-button .ck-button__keystroke{font-weight:700;opacity:.7}.ck.ck-button.ck-disabled:active,.ck.ck-button.ck-disabled:focus,a.ck.ck-button.ck-disabled:active,a.ck.ck-button.ck-disabled:focus{box-shadow:var(--ck-focus-disabled-outer-shadow),0 0}.ck.ck-button.ck-disabled .ck-button__icon,.ck.ck-button.ck-disabled .ck-button__label,a.ck.ck-button.ck-disabled .ck-button__icon,a.ck.ck-button.ck-disabled .ck-button__label{opacity:var(--ck-disabled-opacity)}.ck.ck-button.ck-disabled .ck-button__keystroke,a.ck.ck-button.ck-disabled .ck-button__keystroke{opacity:.3}.ck.ck-button.ck-button_with-text,a.ck.ck-button.ck-button_with-text{padding:var(--ck-spacing-tiny) var(--ck-spacing-standard)}[dir=ltr] .ck.ck-button.ck-button_with-text .ck-button__icon,[dir=ltr] a.ck.ck-button.ck-button_with-text .ck-button__icon{margin-left:calc(var(--ck-spacing-small)*-1);margin-right:var(--ck-spacing-small)}[dir=rtl] .ck.ck-button.ck-button_with-text .ck-button__icon,[dir=rtl] a.ck.ck-button.ck-button_with-text .ck-button__icon{margin-left:var(--ck-spacing-small);margin-right:calc(var(--ck-spacing-small)*-1)}.ck.ck-button.ck-button_with-keystroke .ck-button__label,a.ck.ck-button.ck-button_with-keystroke .ck-button__label{flex-grow:1}.ck.ck-button.ck-on,a.ck.ck-button.ck-on{background:var(--ck-color-button-on-background)}.ck.ck-button.ck-on:not(.ck-disabled):hover,a.ck.ck-button.ck-on:not(.ck-disabled):hover{background:var(--ck-color-button-on-hover-background)}.ck.ck-button.ck-on:not(.ck-disabled):active,a.ck.ck-button.ck-on:not(.ck-disabled):active{background:var(--ck-color-button-on-active-background)}.ck.ck-button.ck-on.ck-disabled,a.ck.ck-button.ck-on.ck-disabled{background:var(--ck-color-button-on-disabled-background)}.ck.ck-button.ck-on,a.ck.ck-button.ck-on{color:var(--ck-color-button-on-color)}.ck.ck-button.ck-button-save,a.ck.ck-button.ck-button-save{color:var(--ck-color-button-save)}.ck.ck-button.ck-button-cancel,a.ck.ck-button.ck-button-cancel{color:var(--ck-color-button-cancel)}.ck.ck-button-action,a.ck.ck-button-action{background:var(--ck-color-button-action-background)}.ck.ck-button-action:not(.ck-disabled):hover,a.ck.ck-button-action:not(.ck-disabled):hover{background:var(--ck-color-button-action-hover-background)}.ck.ck-button-action:not(.ck-disabled):active,a.ck.ck-button-action:not(.ck-disabled):active{background:var(--ck-color-button-action-active-background)}.ck.ck-button-action.ck-disabled,a.ck.ck-button-action.ck-disabled{background:var(--ck-color-button-action-disabled-background)}.ck.ck-button-action,a.ck.ck-button-action{color:var(--ck-color-button-action-text)}.ck.ck-button-bold,a.ck.ck-button-bold{font-weight:700}","",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-ui/theme/components/button/button.css","webpack://./node_modules/@ckeditor/ckeditor5-ui/theme/mixins/_unselectable.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-ui/components/button/button.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-ui/mixins/_button.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/mixins/_rounded.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/mixins/_focus.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/mixins/_shadow.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/mixins/_disabled.css"],names:[],mappings:"AAQA,6BAMC,kBAAmB,CADnB,mBAAoB,CADpB,iBAAkB,CCHlB,qBAAsB,CACtB,wBAAyB,CACzB,oBAAqB,CACrB,gBD0BD,CA9BA,iDASE,oBAqBF,CA9BA,iDAaE,qBAiBF,CAdC,iEACC,YACD,CAGC,yGACC,oBACD,CAID,iFACC,sBACD,CEzBD,6BCAC,oDD4ID,CCzIE,6EACC,0DACD,CAEA,+EACC,2DACD,CAID,qDACC,6DACD,CDfD,6BEDC,eF6ID,CA5IA,wIEGE,qCFyIF,CA5IA,6BA6BC,uBAAwB,CANxB,4BAA6B,CAjB7B,cAAe,CAcf,iBAAkB,CAHlB,aAAc,CAJd,4CAA6C,CAD7C,2CAA4C,CAJ5C,8BAA+B,CAC/B,iBAAkB,CAiBlB,4DAA8D,CAnB9D,qBAAsB,CAFtB,kBAuID,CA7GC,oFGhCA,2BAA2B,CCF3B,2CAA8B,CDC9B,YHqCA,CAIC,kJAEC,aACD,CAGD,iEAIC,aAAc,CACd,cAAe,CAHf,iBAAkB,CAClB,mBAAoB,CAMpB,qBASD,CAlBA,qFAYE,eAMF,CAlBA,qFAgBE,gBAEF,CAEA,yEACC,aAYD,CAbA,6FAIE,mCASF,CAbA,6FAQE,oCAKF,CAbA,yEAWC,eAAiB,CACjB,UACD,CAIC,oIIrFD,oDJyFC,CAOA,gLKhGD,kCLkGC,CAEA,iGACC,UACD,CAGD,qEACC,yDAcD,CAXC,2HAEE,4CAA+C,CAC/C,oCAOF,CAVA,2HAQE,mCAAoC,CADpC,6CAGF,CAKA,mHACC,WACD,CAID,yCC/HA,+CDmIA,CChIC,yFACC,qDACD,CAEA,2FACC,sDACD,CAID,iEACC,wDACD,CDgHA,yCAGC,qCACD,CAEA,2DACC,iCACD,CAEA,+DACC,mCACD,CAID,2CC/IC,mDDoJD,CCjJE,2FACC,yDACD,CAEA,6FACC,0DACD,CAID,mEACC,4DACD,CDgID,2CAIC,wCACD,CAEA,uCAEC,eACD",sourcesContent:[`/* + * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved. + * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license + */ + +@import "../../mixins/_unselectable.css"; +@import "../../mixins/_dir.css"; + +.ck.ck-button, +a.ck.ck-button { + @mixin ck-unselectable; + + position: relative; + display: inline-flex; + align-items: center; + + @mixin ck-dir ltr { + justify-content: left; + } + + @mixin ck-dir rtl { + justify-content: right; + } + + & .ck-button__label { + display: none; + } + + &.ck-button_with-text { + & .ck-button__label { + display: inline-block; + } + } + + /* Center the icon horizontally in a button without text. */ + &:not(.ck-button_with-text) { + justify-content: center; + } +} +`,`/* + * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved. + * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license + */ + +/** + * Makes element unselectable. + */ +@define-mixin ck-unselectable { + -moz-user-select: none; + -webkit-user-select: none; + -ms-user-select: none; + user-select: none +} +`,`/* + * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved. + * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license + */ + +@import "../../../mixins/_focus.css"; +@import "../../../mixins/_shadow.css"; +@import "../../../mixins/_disabled.css"; +@import "../../../mixins/_rounded.css"; +@import "../../mixins/_button.css"; +@import "@ckeditor/ckeditor5-ui/theme/mixins/_dir.css"; + +.ck.ck-button, +a.ck.ck-button { + @mixin ck-button-colors --ck-color-button-default; + @mixin ck-rounded-corners; + + white-space: nowrap; + cursor: default; + vertical-align: middle; + padding: var(--ck-spacing-tiny); + text-align: center; + + /* A very important piece of styling. Go to variable declaration to learn more. */ + min-width: var(--ck-ui-component-min-height); + min-height: var(--ck-ui-component-min-height); + + /* Normalize the height of the line. Removing this will break consistent height + among text and text-less buttons (with icons). */ + line-height: 1; + + /* Enable font size inheritance, which allows fluid UI scaling. */ + font-size: inherit; + + /* Avoid flickering when the foucs border shows up. */ + border: 1px solid transparent; + + /* Apply some smooth transition to the box-shadow and border. */ + transition: box-shadow .2s ease-in-out, border .2s ease-in-out; + + /* https://github.com/ckeditor/ckeditor5-theme-lark/issues/189 */ + -webkit-appearance: none; + + &:active, + &:focus { + @mixin ck-focus-ring; + @mixin ck-box-shadow var(--ck-focus-outer-shadow); + } + + /* Allow icon coloring using the text "color" property. */ + & .ck-button__icon { + & use, + & use * { + color: inherit; + } + } + + & .ck-button__label { + /* Enable font size inheritance, which allows fluid UI scaling. */ + font-size: inherit; + font-weight: inherit; + color: inherit; + cursor: inherit; + + /* Must be consistent with .ck-icon's vertical align. Otherwise, buttons with and + without labels (but with icons) have different sizes in Chrome */ + vertical-align: middle; + + @mixin ck-dir ltr { + text-align: left; + } + + @mixin ck-dir rtl { + text-align: right; + } + } + + & .ck-button__keystroke { + color: inherit; + + @mixin ck-dir ltr { + margin-left: var(--ck-spacing-large); + } + + @mixin ck-dir rtl { + margin-right: var(--ck-spacing-large); + } + + font-weight: bold; + opacity: .7; + } + + /* https://github.com/ckeditor/ckeditor5-theme-lark/issues/70 */ + &.ck-disabled { + &:active, + &:focus { + /* The disabled button should have a slightly less visible shadow when focused. */ + @mixin ck-box-shadow var(--ck-focus-disabled-outer-shadow); + } + + & .ck-button__icon { + @mixin ck-disabled; + } + + /* https://github.com/ckeditor/ckeditor5-theme-lark/issues/98 */ + & .ck-button__label { + @mixin ck-disabled; + } + + & .ck-button__keystroke { + opacity: .3; + } + } + + &.ck-button_with-text { + padding: var(--ck-spacing-tiny) var(--ck-spacing-standard); + + /* stylelint-disable-next-line no-descending-specificity */ + & .ck-button__icon { + @mixin ck-dir ltr { + margin-left: calc(-1 * var(--ck-spacing-small)); + margin-right: var(--ck-spacing-small); + } + + @mixin ck-dir rtl { + margin-right: calc(-1 * var(--ck-spacing-small)); + margin-left: var(--ck-spacing-small); + } + } + } + + &.ck-button_with-keystroke { + /* stylelint-disable-next-line no-descending-specificity */ + & .ck-button__label { + flex-grow: 1; + } + } + + /* A style of the button which is currently on, e.g. its feature is active. */ + &.ck-on { + @mixin ck-button-colors --ck-color-button-on; + + color: var(--ck-color-button-on-color); + } + + &.ck-button-save { + color: var(--ck-color-button-save); + } + + &.ck-button-cancel { + color: var(--ck-color-button-cancel); + } +} + +/* A style of the button which handles the primary action. */ +.ck.ck-button-action, +a.ck.ck-button-action { + @mixin ck-button-colors --ck-color-button-action; + + color: var(--ck-color-button-action-text); +} + +.ck.ck-button-bold, +a.ck.ck-button-bold { + font-weight: bold; +} +`,`/* + * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved. + * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license + */ + +/** + * Implements a button of given background color. + * + * @param {String} $background - Background color of the button. + * @param {String} $border - Border color of the button. + */ +@define-mixin ck-button-colors $prefix { + background: var($(prefix)-background); + + &:not(.ck-disabled) { + &:hover { + background: var($(prefix)-hover-background); + } + + &:active { + background: var($(prefix)-active-background); + } + } + + /* https://github.com/ckeditor/ckeditor5-theme-lark/issues/98 */ + &.ck-disabled { + background: var($(prefix)-disabled-background); + } +} +`,`/* + * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved. + * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license + */ + +/** + * Implements rounded corner interface for .ck-rounded-corners class. + * + * @see $ck-border-radius + */ +@define-mixin ck-rounded-corners { + border-radius: 0; + + @nest .ck-rounded-corners &, + &.ck-rounded-corners { + border-radius: var(--ck-border-radius); + @mixin-content; + } +} +`,`/* + * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved. + * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license + */ + +/** + * A visual style of focused element's border. + */ +@define-mixin ck-focus-ring { + /* Disable native outline. */ + outline: none; + border: var(--ck-focus-ring) +} +`,`/* + * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved. + * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license + */ + +/** + * A helper to combine multiple shadows. + */ +@define-mixin ck-box-shadow $shadowA, $shadowB: 0 0 { + box-shadow: $shadowA, $shadowB; +} + +/** + * Gives an element a drop shadow so it looks like a floating panel. + */ +@define-mixin ck-drop-shadow { + @mixin ck-box-shadow var(--ck-drop-shadow); +} +`,`/* + * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved. + * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license + */ + +/** + * A class which indicates that an element holding it is disabled. + */ +@define-mixin ck-disabled { + opacity: var(--ck-disabled-opacity); +} +`],sourceRoot:""}]);const m=g},7258:(_,x,h)=>{h.d(x,{Z:()=>m});var y=h(4015),E=h.n(y),k=h(3645),D=h.n(k),g=D()(E());g.push([_.id,".ck.ck-button.ck-switchbutton .ck-button__toggle,.ck.ck-button.ck-switchbutton .ck-button__toggle .ck-button__toggle__inner{display:block}:root{--ck-switch-button-toggle-width:2.6153846154em;--ck-switch-button-toggle-inner-size:calc(1.07692em + 1px);--ck-switch-button-translation:calc(var(--ck-switch-button-toggle-width) - var(--ck-switch-button-toggle-inner-size) - 2px);--ck-switch-button-inner-hover-shadow:0 0 0 5px var(--ck-color-switch-button-inner-shadow)}.ck.ck-button.ck-switchbutton,.ck.ck-button.ck-switchbutton.ck-on:active,.ck.ck-button.ck-switchbutton.ck-on:focus,.ck.ck-button.ck-switchbutton.ck-on:hover,.ck.ck-button.ck-switchbutton:active,.ck.ck-button.ck-switchbutton:focus,.ck.ck-button.ck-switchbutton:hover{background:transparent;color:inherit}[dir=ltr] .ck.ck-button.ck-switchbutton .ck-button__label{margin-right:calc(var(--ck-spacing-large)*2)}[dir=rtl] .ck.ck-button.ck-switchbutton .ck-button__label{margin-left:calc(var(--ck-spacing-large)*2)}.ck.ck-button.ck-switchbutton .ck-button__toggle{border-radius:0}.ck-rounded-corners .ck.ck-button.ck-switchbutton .ck-button__toggle,.ck.ck-button.ck-switchbutton .ck-button__toggle.ck-rounded-corners{border-radius:var(--ck-border-radius)}[dir=ltr] .ck.ck-button.ck-switchbutton .ck-button__toggle{margin-left:auto}[dir=rtl] .ck.ck-button.ck-switchbutton .ck-button__toggle{margin-right:auto}.ck.ck-button.ck-switchbutton .ck-button__toggle{background:var(--ck-color-switch-button-off-background);border:1px solid transparent;transition:background .4s ease,box-shadow .2s ease-in-out,outline .2s ease-in-out;width:var(--ck-switch-button-toggle-width)}.ck.ck-button.ck-switchbutton .ck-button__toggle .ck-button__toggle__inner{border-radius:0}.ck-rounded-corners .ck.ck-button.ck-switchbutton .ck-button__toggle .ck-button__toggle__inner,.ck.ck-button.ck-switchbutton .ck-button__toggle .ck-button__toggle__inner.ck-rounded-corners{border-radius:var(--ck-border-radius);border-radius:calc(var(--ck-border-radius)*.5)}.ck.ck-button.ck-switchbutton .ck-button__toggle .ck-button__toggle__inner{background:var(--ck-color-switch-button-inner-background);height:var(--ck-switch-button-toggle-inner-size);transition:all .3s ease;width:var(--ck-switch-button-toggle-inner-size)}.ck.ck-button.ck-switchbutton .ck-button__toggle:hover{background:var(--ck-color-switch-button-off-hover-background)}.ck.ck-button.ck-switchbutton .ck-button__toggle:hover .ck-button__toggle__inner{box-shadow:var(--ck-switch-button-inner-hover-shadow)}.ck.ck-button.ck-switchbutton.ck-disabled .ck-button__toggle{opacity:var(--ck-disabled-opacity)}.ck.ck-button.ck-switchbutton:focus{border-color:transparent;box-shadow:none;outline:none}.ck.ck-button.ck-switchbutton:focus .ck-button__toggle{box-shadow:0 0 0 1px var(--ck-color-base-background),0 0 0 5px var(--ck-color-focus-outer-shadow);outline:var(--ck-focus-ring);outline-offset:1px}.ck.ck-button.ck-switchbutton.ck-on .ck-button__toggle{background:var(--ck-color-switch-button-on-background)}.ck.ck-button.ck-switchbutton.ck-on .ck-button__toggle:hover{background:var(--ck-color-switch-button-on-hover-background)}[dir=ltr] .ck.ck-button.ck-switchbutton.ck-on .ck-button__toggle .ck-button__toggle__inner{transform:translateX(var( --ck-switch-button-translation ))}[dir=rtl] .ck.ck-button.ck-switchbutton.ck-on .ck-button__toggle .ck-button__toggle__inner{transform:translateX(calc(var( --ck-switch-button-translation )*-1))}","",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-ui/theme/components/button/switchbutton.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-ui/components/button/switchbutton.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/mixins/_rounded.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/mixins/_disabled.css"],names:[],mappings:"AASE,4HACC,aACD,CCCF,MAEC,8CAA+C,CAE/C,0DAAgE,CAChE,2HAIC,CACD,0FACD,CAOC,0QAEC,sBAAuB,CADvB,aAED,CAEA,0DAGE,4CAOF,CAVA,0DAQE,2CAEF,CAEA,iDCpCA,eD4EA,CAxCA,yIChCC,qCDwED,CAxCA,2DAKE,gBAmCF,CAxCA,2DAUE,iBA8BF,CAxCA,iDAkBC,uDAAwD,CAFxD,4BAA6B,CAD7B,iFAAsF,CAEtF,0CAuBD,CApBC,2ECxDD,eDmEC,CAXA,6LCpDA,qCAAsC,CDsDpC,8CASF,CAXA,2EAOC,yDAA0D,CAD1D,gDAAiD,CAIjD,uBAA0B,CAL1B,+CAMD,CAEA,uDACC,6DAKD,CAHC,iFACC,qDACD,CAIF,6DEhFA,kCFkFA,CAGA,oCACC,wBAAyB,CAEzB,eAAgB,CADhB,YAQD,CALC,uDACC,iGAAmG,CAEnG,4BAA6B,CAD7B,kBAED,CAKA,uDACC,sDAkBD,CAhBC,6DACC,4DACD,CAEA,2FAKE,2DAMF,CAXA,2FASE,oEAEF",sourcesContent:[`/* + * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved. + * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license + */ + +.ck.ck-button.ck-switchbutton { + & .ck-button__toggle { + display: block; + + & .ck-button__toggle__inner { + display: block; + } + } +} +`,`/* + * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved. + * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license + */ + +@import "../../../mixins/_rounded.css"; +@import "../../../mixins/_disabled.css"; +@import "@ckeditor/ckeditor5-ui/theme/mixins/_dir.css"; + +/* Note: To avoid rendering issues (aliasing) but to preserve the responsive nature +of the component, floating–point numbers have been used which, for the default font size +(see: --ck-font-size-base), will generate simple integers. */ +:root { + /* 34px at 13px font-size */ + --ck-switch-button-toggle-width: 2.6153846154em; + /* 14px at 13px font-size */ + --ck-switch-button-toggle-inner-size: calc(1.0769230769em + 1px); + --ck-switch-button-translation: calc( + var(--ck-switch-button-toggle-width) - + var(--ck-switch-button-toggle-inner-size) - + 2px /* Border */ + ); + --ck-switch-button-inner-hover-shadow: 0 0 0 5px var(--ck-color-switch-button-inner-shadow); +} + +.ck.ck-button.ck-switchbutton { + /* Unlike a regular button, the switch button text color and background should never change. + * Changing toggle switch (background, outline) is enough to carry the information about the + * state of the entire component (https://github.com/ckeditor/ckeditor5/issues/12519) + */ + &, &:hover, &:focus, &:active, &.ck-on:hover, &.ck-on:focus, &.ck-on:active { + color: inherit; + background: transparent; + } + + & .ck-button__label { + @mixin ck-dir ltr { + /* Separate the label from the switch */ + margin-right: calc(2 * var(--ck-spacing-large)); + } + + @mixin ck-dir rtl { + /* Separate the label from the switch */ + margin-left: calc(2 * var(--ck-spacing-large)); + } + } + + & .ck-button__toggle { + @mixin ck-rounded-corners; + + @mixin ck-dir ltr { + /* Make sure the toggle is always to the right as far as possible. */ + margin-left: auto; + } + + @mixin ck-dir rtl { + /* Make sure the toggle is always to the left as far as possible. */ + margin-right: auto; + } + + /* Apply some smooth transition to the box-shadow and border. */ + /* Gently animate the background color of the toggle switch */ + transition: background 400ms ease, box-shadow .2s ease-in-out, outline .2s ease-in-out; + border: 1px solid transparent; + width: var(--ck-switch-button-toggle-width); + background: var(--ck-color-switch-button-off-background); + + & .ck-button__toggle__inner { + @mixin ck-rounded-corners { + border-radius: calc(.5 * var(--ck-border-radius)); + } + + width: var(--ck-switch-button-toggle-inner-size); + height: var(--ck-switch-button-toggle-inner-size); + background: var(--ck-color-switch-button-inner-background); + + /* Gently animate the inner part of the toggle switch */ + transition: all 300ms ease; + } + + &:hover { + background: var(--ck-color-switch-button-off-hover-background); + + & .ck-button__toggle__inner { + box-shadow: var(--ck-switch-button-inner-hover-shadow); + } + } + } + + &.ck-disabled .ck-button__toggle { + @mixin ck-disabled; + } + + /* Overriding default .ck-button:focus styles + an outline around the toogle */ + &:focus { + border-color: transparent; + outline: none; + box-shadow: none; + + & .ck-button__toggle { + box-shadow: 0 0 0 1px var(--ck-color-base-background), 0 0 0 5px var(--ck-color-focus-outer-shadow); + outline-offset: 1px; + outline: var(--ck-focus-ring); + } + } + + /* stylelint-disable-next-line no-descending-specificity */ + &.ck-on { + & .ck-button__toggle { + background: var(--ck-color-switch-button-on-background); + + &:hover { + background: var(--ck-color-switch-button-on-hover-background); + } + + & .ck-button__toggle__inner { + /* + * Move the toggle switch to the right. It will be animated. + */ + @mixin ck-dir ltr { + transform: translateX( var( --ck-switch-button-translation ) ); + } + + @mixin ck-dir rtl { + transform: translateX( calc( -1 * var( --ck-switch-button-translation ) ) ); + } + } + } + } +} +`,`/* + * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved. + * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license + */ + +/** + * Implements rounded corner interface for .ck-rounded-corners class. + * + * @see $ck-border-radius + */ +@define-mixin ck-rounded-corners { + border-radius: 0; + + @nest .ck-rounded-corners &, + &.ck-rounded-corners { + border-radius: var(--ck-border-radius); + @mixin-content; + } +} +`,`/* + * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved. + * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license + */ + +/** + * A class which indicates that an element holding it is disabled. + */ +@define-mixin ck-disabled { + opacity: var(--ck-disabled-opacity); +} +`],sourceRoot:""}]);const m=g},4095:(_,x,h)=>{h.d(x,{Z:()=>m});var y=h(4015),E=h.n(y),k=h(3645),D=h.n(k),g=D()(E());g.push([_.id,".ck.ck-collapsible.ck-collapsible_collapsed>.ck-collapsible__children{display:none}:root{--ck-collapsible-arrow-size:calc(var(--ck-icon-size)*0.5)}.ck.ck-collapsible>.ck.ck-button{border-radius:0;color:inherit;font-weight:700;padding:var(--ck-list-button-padding);width:100%}.ck.ck-collapsible>.ck.ck-button:focus{background:transparent}.ck.ck-collapsible>.ck.ck-button:active,.ck.ck-collapsible>.ck.ck-button:hover:not(:focus),.ck.ck-collapsible>.ck.ck-button:not(:focus){background:transparent;border-color:transparent;box-shadow:none}.ck.ck-collapsible>.ck.ck-button>.ck-icon{margin-right:var(--ck-spacing-medium);width:var(--ck-collapsible-arrow-size)}.ck.ck-collapsible>.ck-collapsible__children{padding:var(--ck-spacing-medium) var(--ck-spacing-large) var(--ck-spacing-large)}.ck.ck-collapsible.ck-collapsible_collapsed>.ck.ck-button .ck-icon{transform:rotate(-90deg)}","",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-ui/theme/components/collapsible/collapsible.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-ui/components/collapsible/collapsible.css"],names:[],mappings:"AAMC,sEACC,YACD,CCHD,MACC,yDACD,CAGC,iCAIC,eAAgB,CAChB,aAAc,CAHd,eAAiB,CACjB,qCAAsC,CAFtC,UAoBD,CAdC,uCACC,sBACD,CAEA,wIACC,sBAAuB,CACvB,wBAAyB,CACzB,eACD,CAEA,0CACC,qCAAsC,CACtC,sCACD,CAGD,6CACC,gFACD,CAGC,mEACC,wBACD",sourcesContent:[`/* + * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved. + * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license + */ + +.ck.ck-collapsible.ck-collapsible_collapsed { + & > .ck-collapsible__children { + display: none; + } +} +`,`/* + * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved. + * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license + */ + +:root { + --ck-collapsible-arrow-size: calc(0.5 * var(--ck-icon-size)); +} + +.ck.ck-collapsible { + & > .ck.ck-button { + width: 100%; + font-weight: bold; + padding: var(--ck-list-button-padding); + border-radius: 0; + color: inherit; + + &:focus { + background: transparent; + } + + &:active, &:not(:focus), &:hover:not(:focus) { + background: transparent; + border-color: transparent; + box-shadow: none; + } + + & > .ck-icon { + margin-right: var(--ck-spacing-medium); + width: var(--ck-collapsible-arrow-size); + } + } + + & > .ck-collapsible__children { + padding: var(--ck-spacing-medium) var(--ck-spacing-large) var(--ck-spacing-large); + } + + &.ck-collapsible_collapsed { + & > .ck.ck-button .ck-icon { + transform: rotate(-90deg); + } + } +} +`],sourceRoot:""}]);const m=g},4923:(_,x,h)=>{h.d(x,{Z:()=>m});var y=h(4015),E=h.n(y),k=h(3645),D=h.n(k),g=D()(E());g.push([_.id,".ck.ck-color-grid{display:grid}:root{--ck-color-grid-tile-size:24px;--ck-color-color-grid-check-icon:#166fd4}.ck.ck-color-grid{grid-gap:5px;padding:8px}.ck.ck-color-grid__tile{border:0;height:var(--ck-color-grid-tile-size);min-height:var(--ck-color-grid-tile-size);min-width:var(--ck-color-grid-tile-size);padding:0;transition:box-shadow .2s ease;width:var(--ck-color-grid-tile-size)}.ck.ck-color-grid__tile.ck-disabled{cursor:unset;transition:unset}.ck.ck-color-grid__tile.ck-color-selector__color-tile_bordered{box-shadow:0 0 0 1px var(--ck-color-base-border)}.ck.ck-color-grid__tile .ck.ck-icon{color:var(--ck-color-color-grid-check-icon);display:none}.ck.ck-color-grid__tile.ck-on{box-shadow:inset 0 0 0 1px var(--ck-color-base-background),0 0 0 2px var(--ck-color-base-text)}.ck.ck-color-grid__tile.ck-on .ck.ck-icon{display:block}.ck.ck-color-grid__tile.ck-on,.ck.ck-color-grid__tile:focus:not(.ck-disabled),.ck.ck-color-grid__tile:hover:not(.ck-disabled){border:0}.ck.ck-color-grid__tile:focus:not(.ck-disabled),.ck.ck-color-grid__tile:hover:not(.ck-disabled){box-shadow:inset 0 0 0 1px var(--ck-color-base-background),0 0 0 2px var(--ck-color-focus-border)}.ck.ck-color-grid__label{padding:0 var(--ck-spacing-standard)}","",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-ui/theme/components/colorgrid/colorgrid.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-ui/components/colorgrid/colorgrid.css"],names:[],mappings:"AAKA,kBACC,YACD,CCAA,MACC,8BAA+B,CAK/B,wCACD,CAEA,kBACC,YAAa,CACb,WACD,CAEA,wBAOC,QAAS,CALT,qCAAsC,CAEtC,yCAA0C,CAD1C,wCAAyC,CAEzC,SAAU,CACV,8BAA+B,CAL/B,oCAyCD,CAjCC,oCACC,YAAa,CACb,gBACD,CAEA,+DACC,gDACD,CAEA,oCAEC,2CAA4C,CAD5C,YAED,CAEA,8BACC,8FAKD,CAHC,0CACC,aACD,CAGD,8HAIC,QACD,CAEA,gGAEC,iGACD,CAGD,yBACC,oCACD",sourcesContent:[`/* + * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved. + * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license + */ + +.ck.ck-color-grid { + display: grid; +} +`,`/* + * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved. + * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license + */ + +@import "../../../mixins/_rounded.css"; + +:root { + --ck-color-grid-tile-size: 24px; + + /* Not using global colors here because these may change but some colors in a pallette + * require special treatment. For instance, this ensures no matter what the UI text color is, + * the check icon will look good on the black color tile. */ + --ck-color-color-grid-check-icon: hsl(212, 81%, 46%); +} + +.ck.ck-color-grid { + grid-gap: 5px; + padding: 8px; +} + +.ck.ck-color-grid__tile { + width: var(--ck-color-grid-tile-size); + height: var(--ck-color-grid-tile-size); + min-width: var(--ck-color-grid-tile-size); + min-height: var(--ck-color-grid-tile-size); + padding: 0; + transition: .2s ease box-shadow; + border: 0; + + &.ck-disabled { + cursor: unset; + transition: unset; + } + + &.ck-color-selector__color-tile_bordered { + box-shadow: 0 0 0 1px var(--ck-color-base-border); + } + + & .ck.ck-icon { + display: none; + color: var(--ck-color-color-grid-check-icon); + } + + &.ck-on { + box-shadow: inset 0 0 0 1px var(--ck-color-base-background), 0 0 0 2px var(--ck-color-base-text); + + & .ck.ck-icon { + display: block; + } + } + + &.ck-on, + &:focus:not( .ck-disabled ), + &:hover:not( .ck-disabled ) { + /* Disable the default .ck-button's border ring. */ + border: 0; + } + + &:focus:not( .ck-disabled ), + &:hover:not( .ck-disabled ) { + box-shadow: inset 0 0 0 1px var(--ck-color-base-background), 0 0 0 2px var(--ck-color-focus-border); + } +} + +.ck.ck-color-grid__label { + padding: 0 var(--ck-spacing-standard); +} +`],sourceRoot:""}]);const m=g},4257:(_,x,h)=>{h.d(x,{Z:()=>m});var y=h(4015),E=h.n(y),k=h(3645),D=h.n(k),g=D()(E());g.push([_.id,".color-picker-hex-input{width:max-content}.color-picker-hex-input .ck.ck-input{min-width:unset}.ck.ck-color-picker__row{display:flex;flex-direction:row;flex-wrap:nowrap;justify-content:space-between;margin:var(--ck-spacing-large) 0 0;width:unset}.ck.ck-color-picker__row .ck.ck-labeled-field-view{padding-top:unset}.ck.ck-color-picker__row .ck.ck-input-text{width:unset}.ck.ck-color-picker__row .ck-color-picker__hash-view{padding-right:var(--ck-spacing-medium);padding-top:var(--ck-spacing-tiny)}","",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-ui/theme/components/colorpicker/colorpicker.css"],names:[],mappings:"AAKA,wBACC,iBAKD,CAHC,qCACC,eACD,CAGD,yBACC,YAAa,CACb,kBAAmB,CACnB,gBAAiB,CACjB,6BAA8B,CAC9B,kCAAmC,CACnC,WAcD,CAZC,mDACC,iBACD,CAEA,2CACC,WACD,CAEA,qDAEC,sCAAuC,CADvC,kCAED",sourcesContent:[`/* + * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved. + * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license + */ + +.color-picker-hex-input { + width: max-content; + + & .ck.ck-input { + min-width: unset; + } +} + +.ck.ck-color-picker__row { + display: flex; + flex-direction: row; + flex-wrap: nowrap; + justify-content: space-between; + margin: var(--ck-spacing-large) 0 0; + width: unset; + + & .ck.ck-labeled-field-view { + padding-top: unset; + } + + & .ck.ck-input-text { + width: unset; + } + + & .ck-color-picker__hash-view { + padding-top: var(--ck-spacing-tiny); + padding-right: var(--ck-spacing-medium); + } +} +`],sourceRoot:""}]);const m=g},6306:(_,x,h)=>{h.d(x,{Z:()=>m});var y=h(4015),E=h.n(y),k=h(3645),D=h.n(k),g=D()(E());g.push([_.id,".ck.ck-color-selector .ck-color-grids-fragment .ck-button.ck-color-selector__color-picker,.ck.ck-color-selector .ck-color-grids-fragment .ck-button.ck-color-selector__remove-color{align-items:center;display:flex}[dir=rtl] .ck.ck-color-selector .ck-color-grids-fragment .ck-button.ck-color-selector__color-picker,[dir=rtl] .ck.ck-color-selector .ck-color-grids-fragment .ck-button.ck-color-selector__remove-color{justify-content:flex-start}.ck.ck-color-selector .ck-color-picker-fragment .ck.ck-color-selector_action-bar{display:flex;flex-direction:row;justify-content:space-around}.ck.ck-color-selector .ck-color-picker-fragment .ck.ck-color-selector_action-bar .ck-button-cancel,.ck.ck-color-selector .ck-color-picker-fragment .ck.ck-color-selector_action-bar .ck-button-save{flex:1}.ck.ck-color-selector .ck-color-grids-fragment .ck-button.ck-color-selector__color-picker,.ck.ck-color-selector .ck-color-grids-fragment .ck-button.ck-color-selector__remove-color{width:100%}.ck.ck-color-selector .ck-color-grids-fragment .ck-button.ck-color-selector__color-picker{border-bottom-left-radius:0;border-bottom-right-radius:0;padding:calc(var(--ck-spacing-standard)/2) var(--ck-spacing-standard)}.ck.ck-color-selector .ck-color-grids-fragment .ck-button.ck-color-selector__color-picker:not(:focus){border-top:1px solid var(--ck-color-base-border)}[dir=ltr] .ck.ck-color-selector .ck-color-grids-fragment .ck-button.ck-color-selector__color-picker .ck.ck-icon{margin-right:var(--ck-spacing-standard)}[dir=rtl] .ck.ck-color-selector .ck-color-grids-fragment .ck-button.ck-color-selector__color-picker .ck.ck-icon{margin-left:var(--ck-spacing-standard)}.ck.ck-color-selector .ck-color-grids-fragment label.ck.ck-color-grid__label{font-weight:unset}.ck.ck-color-selector .ck-color-picker-fragment .ck.ck-color-picker{padding:8px}.ck.ck-color-selector .ck-color-picker-fragment .ck.ck-color-picker .hex-color-picker{height:100px;min-width:180px}.ck.ck-color-selector .ck-color-picker-fragment .ck.ck-color-picker .hex-color-picker::part(saturation){border-radius:var(--ck-border-radius) var(--ck-border-radius) 0 0}.ck.ck-color-selector .ck-color-picker-fragment .ck.ck-color-picker .hex-color-picker::part(hue){border-radius:0 0 var(--ck-border-radius) var(--ck-border-radius)}.ck.ck-color-selector .ck-color-picker-fragment .ck.ck-color-picker .hex-color-picker::part(hue-pointer),.ck.ck-color-selector .ck-color-picker-fragment .ck.ck-color-picker .hex-color-picker::part(saturation-pointer){height:15px;width:15px}.ck.ck-color-selector .ck-color-picker-fragment .ck.ck-color-selector_action-bar{padding:0 8px 8px}","",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-ui/theme/components/colorselector/colorselector.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-ui/components/colorselector/colorselector.css"],names:[],mappings:"AAUE,oLAGC,kBAAmB,CADnB,YAMD,CARA,wMAME,0BAEF,CAKA,iFACC,YAAa,CACb,kBAAmB,CACnB,4BAMD,CAJC,oMAEC,MACD,CCrBD,oLAEC,UACD,CAEA,0FAEC,2BAA4B,CAC5B,4BAA6B,CAF7B,qEAiBD,CAbC,sGACC,gDACD,CAEA,gHAEE,uCAMF,CARA,gHAME,sCAEF,CAGD,6EACC,iBACD,CAKA,oEACC,WAoBD,CAlBC,sFACC,YAAa,CACb,eAeD,CAbC,wGACC,iEACD,CAEA,iGACC,iEACD,CAEA,yNAGC,WAAY,CADZ,UAED,CAIF,iFACC,iBACD",sourcesContent:[`/* + * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved. + * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license + */ + +@import "@ckeditor/ckeditor5-ui/theme/mixins/_dir.css"; + +.ck.ck-color-selector { + /* View fragment with color grids. */ + & .ck-color-grids-fragment { + & .ck-button.ck-color-selector__remove-color, + & .ck-button.ck-color-selector__color-picker { + display: flex; + align-items: center; + + @mixin ck-dir rtl { + justify-content: flex-start; + } + } + } + + /* View fragment with a color picker. */ + & .ck-color-picker-fragment { + & .ck.ck-color-selector_action-bar { + display: flex; + flex-direction: row; + justify-content: space-around; + + & .ck-button-save, + & .ck-button-cancel { + flex: 1 + } + } + } +} +`,`/* + * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved. + * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license + */ + +@import "@ckeditor/ckeditor5-ui/theme/mixins/_dir.css"; + +.ck.ck-color-selector { + /* View fragment with color grids. */ + & .ck-color-grids-fragment { + & .ck-button.ck-color-selector__remove-color, + & .ck-button.ck-color-selector__color-picker { + width: 100%; + } + + & .ck-button.ck-color-selector__color-picker { + padding: calc(var(--ck-spacing-standard) / 2) var(--ck-spacing-standard); + border-bottom-left-radius: 0; + border-bottom-right-radius: 0; + + &:not(:focus) { + border-top: 1px solid var(--ck-color-base-border); + } + + & .ck.ck-icon { + @mixin ck-dir ltr { + margin-right: var(--ck-spacing-standard); + } + + @mixin ck-dir rtl { + margin-left: var(--ck-spacing-standard); + } + } + } + + & label.ck.ck-color-grid__label { + font-weight: unset; + } + } + + /* View fragment with a color picker. */ + & .ck-color-picker-fragment { + & .ck.ck-color-picker { + padding: 8px; + + & .hex-color-picker { + height: 100px; + min-width: 180px; + + &::part(saturation) { + border-radius: var(--ck-border-radius) var(--ck-border-radius) 0 0; + } + + &::part(hue) { + border-radius: 0 0 var(--ck-border-radius) var(--ck-border-radius); + } + + &::part(saturation-pointer), + &::part(hue-pointer) { + width: 15px; + height: 15px; + } + } + } + + & .ck.ck-color-selector_action-bar { + padding: 0 8px 8px; + } + } +} +`],sourceRoot:""}]);const m=g},5062:(_,x,h)=>{h.d(x,{Z:()=>m});var y=h(4015),E=h.n(y),k=h(3645),D=h.n(k),g=D()(E());g.push([_.id,":root{--ck-dropdown-max-width:75vw}.ck.ck-dropdown{display:inline-block;position:relative}.ck.ck-dropdown .ck-dropdown__arrow{pointer-events:none;z-index:var(--ck-z-default)}.ck.ck-dropdown .ck-button.ck-dropdown__button{width:100%}.ck.ck-dropdown .ck-dropdown__panel{display:none;max-width:var(--ck-dropdown-max-width);position:absolute;z-index:var(--ck-z-modal)}.ck.ck-dropdown .ck-dropdown__panel.ck-dropdown__panel-visible{display:inline-block}.ck.ck-dropdown .ck-dropdown__panel.ck-dropdown__panel_n,.ck.ck-dropdown .ck-dropdown__panel.ck-dropdown__panel_ne,.ck.ck-dropdown .ck-dropdown__panel.ck-dropdown__panel_nme,.ck.ck-dropdown .ck-dropdown__panel.ck-dropdown__panel_nmw,.ck.ck-dropdown .ck-dropdown__panel.ck-dropdown__panel_nw{bottom:100%}.ck.ck-dropdown .ck-dropdown__panel.ck-dropdown__panel_s,.ck.ck-dropdown .ck-dropdown__panel.ck-dropdown__panel_se,.ck.ck-dropdown .ck-dropdown__panel.ck-dropdown__panel_sme,.ck.ck-dropdown .ck-dropdown__panel.ck-dropdown__panel_smw,.ck.ck-dropdown .ck-dropdown__panel.ck-dropdown__panel_sw{bottom:auto;top:100%}.ck.ck-dropdown .ck-dropdown__panel.ck-dropdown__panel_ne,.ck.ck-dropdown .ck-dropdown__panel.ck-dropdown__panel_se{left:0}.ck.ck-dropdown .ck-dropdown__panel.ck-dropdown__panel_nw,.ck.ck-dropdown .ck-dropdown__panel.ck-dropdown__panel_sw{right:0}.ck.ck-dropdown .ck-dropdown__panel.ck-dropdown__panel_n,.ck.ck-dropdown .ck-dropdown__panel.ck-dropdown__panel_s{left:50%;transform:translateX(-50%)}.ck.ck-dropdown .ck-dropdown__panel.ck-dropdown__panel_nmw,.ck.ck-dropdown .ck-dropdown__panel.ck-dropdown__panel_smw{left:75%;transform:translateX(-75%)}.ck.ck-dropdown .ck-dropdown__panel.ck-dropdown__panel_nme,.ck.ck-dropdown .ck-dropdown__panel.ck-dropdown__panel_sme{left:25%;transform:translateX(-25%)}.ck.ck-toolbar .ck-dropdown__panel{z-index:calc(var(--ck-z-modal) + 1)}:root{--ck-dropdown-arrow-size:calc(var(--ck-icon-size)*0.5)}.ck.ck-dropdown{font-size:inherit}.ck.ck-dropdown .ck-dropdown__arrow{width:var(--ck-dropdown-arrow-size)}[dir=ltr] .ck.ck-dropdown .ck-dropdown__arrow{margin-left:var(--ck-spacing-standard);right:var(--ck-spacing-standard)}[dir=rtl] .ck.ck-dropdown .ck-dropdown__arrow{left:var(--ck-spacing-standard);margin-right:var(--ck-spacing-small)}.ck.ck-dropdown.ck-disabled .ck-dropdown__arrow{opacity:var(--ck-disabled-opacity)}[dir=ltr] .ck.ck-dropdown .ck-button.ck-dropdown__button:not(.ck-button_with-text){padding-left:var(--ck-spacing-small)}[dir=rtl] .ck.ck-dropdown .ck-button.ck-dropdown__button:not(.ck-button_with-text){padding-right:var(--ck-spacing-small)}.ck.ck-dropdown .ck-button.ck-dropdown__button .ck-button__label{overflow:hidden;text-overflow:ellipsis;width:7em}.ck.ck-dropdown .ck-button.ck-dropdown__button.ck-disabled .ck-button__label{opacity:var(--ck-disabled-opacity)}.ck.ck-dropdown .ck-button.ck-dropdown__button.ck-on{border-bottom-left-radius:0;border-bottom-right-radius:0}.ck.ck-dropdown .ck-button.ck-dropdown__button.ck-dropdown__button_label-width_auto .ck-button__label{width:auto}.ck.ck-dropdown .ck-button.ck-dropdown__button.ck-off:active,.ck.ck-dropdown .ck-button.ck-dropdown__button.ck-on:active{box-shadow:none}.ck.ck-dropdown .ck-button.ck-dropdown__button.ck-off:active:focus,.ck.ck-dropdown .ck-button.ck-dropdown__button.ck-on:active:focus{box-shadow:var(--ck-focus-outer-shadow),0 0}.ck.ck-dropdown__panel{border-radius:0}.ck-rounded-corners .ck.ck-dropdown__panel,.ck.ck-dropdown__panel.ck-rounded-corners{border-radius:var(--ck-border-radius)}.ck.ck-dropdown__panel{background:var(--ck-color-dropdown-panel-background);border:1px solid var(--ck-color-dropdown-panel-border);bottom:0;box-shadow:var(--ck-drop-shadow),0 0;min-width:100%}.ck.ck-dropdown__panel.ck-dropdown__panel_se{border-top-left-radius:0}.ck.ck-dropdown__panel.ck-dropdown__panel_sw{border-top-right-radius:0}.ck.ck-dropdown__panel.ck-dropdown__panel_ne{border-bottom-left-radius:0}.ck.ck-dropdown__panel.ck-dropdown__panel_nw{border-bottom-right-radius:0}.ck.ck-dropdown__panel:focus{outline:none}","",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-ui/theme/components/dropdown/dropdown.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-ui/components/dropdown/dropdown.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/mixins/_disabled.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/mixins/_shadow.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/mixins/_rounded.css"],names:[],mappings:"AAKA,MACC,4BACD,CAEA,gBACC,oBAAqB,CACrB,iBA2ED,CAzEC,oCACC,mBAAoB,CACpB,2BACD,CAGA,+CACC,UACD,CAEA,oCACC,YAAa,CAEb,sCAAuC,CAEvC,iBAAkB,CAHlB,yBA4DD,CAvDC,+DACC,oBACD,CAEA,mSAKC,WACD,CAEA,mSAUC,WAAY,CADZ,QAED,CAEA,oHAEC,MACD,CAEA,oHAEC,OACD,CAEA,kHAGC,QAAS,CACT,0BACD,CAEA,sHAGC,QAAS,CACT,0BACD,CAEA,sHAGC,QAAS,CACT,0BACD,CAQF,mCACC,mCACD,CCpFA,MACC,sDACD,CAEA,gBAEC,iBA2ED,CAzEC,oCACC,mCACD,CAGC,8CAIC,sCAAuC,CAHvC,gCAID,CAIA,8CACC,+BAAgC,CAGhC,oCACD,CAGD,gDC/BA,kCDiCA,CAIE,mFAEC,oCACD,CAIA,mFAEC,qCACD,CAID,iEAEC,eAAgB,CAChB,sBAAuB,CAFvB,SAGD,CAGA,6EC1DD,kCD4DC,CAGA,qDACC,2BAA4B,CAC5B,4BACD,CAEA,sGACC,UACD,CAGA,yHAEC,eAKD,CAHC,qIE7EF,2CF+EE,CAKH,uBGlFC,eHkHD,CAhCA,qFG9EE,qCH8GF,CAhCA,uBAIC,oDAAqD,CACrD,sDAAuD,CACvD,QAAS,CE1FT,oCAA8B,CF6F9B,cAuBD,CAnBC,6CACC,wBACD,CAEA,6CACC,yBACD,CAEA,6CACC,2BACD,CAEA,6CACC,4BACD,CAEA,6BACC,YACD",sourcesContent:[`/* + * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved. + * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license + */ + +:root { + --ck-dropdown-max-width: 75vw; +} + +.ck.ck-dropdown { + display: inline-block; + position: relative; + + & .ck-dropdown__arrow { + pointer-events: none; + z-index: var(--ck-z-default); + } + + /* Dropdown button should span horizontally, e.g. in vertical toolbars */ + & .ck-button.ck-dropdown__button { + width: 100%; + } + + & .ck-dropdown__panel { + display: none; + z-index: var(--ck-z-modal); + max-width: var(--ck-dropdown-max-width); + + position: absolute; + + &.ck-dropdown__panel-visible { + display: inline-block; + } + + &.ck-dropdown__panel_ne, + &.ck-dropdown__panel_nw, + &.ck-dropdown__panel_n, + &.ck-dropdown__panel_nmw, + &.ck-dropdown__panel_nme { + bottom: 100%; + } + + &.ck-dropdown__panel_se, + &.ck-dropdown__panel_sw, + &.ck-dropdown__panel_smw, + &.ck-dropdown__panel_sme, + &.ck-dropdown__panel_s { + /* + * Using transform: translate3d( 0, 100%, 0 ) causes blurry dropdown on Chrome 67-78+ on non-retina displays. + * See https://github.com/ckeditor/ckeditor5/issues/1053. + */ + top: 100%; + bottom: auto; + } + + &.ck-dropdown__panel_ne, + &.ck-dropdown__panel_se { + left: 0px; + } + + &.ck-dropdown__panel_nw, + &.ck-dropdown__panel_sw { + right: 0px; + } + + &.ck-dropdown__panel_s, + &.ck-dropdown__panel_n { + /* Positioning panels relative to the center of the button */ + left: 50%; + transform: translateX(-50%); + } + + &.ck-dropdown__panel_nmw, + &.ck-dropdown__panel_smw { + /* Positioning panels relative to the middle-west of the button */ + left: 75%; + transform: translateX(-75%); + } + + &.ck-dropdown__panel_nme, + &.ck-dropdown__panel_sme { + /* Positioning panels relative to the middle-east of the button */ + left: 25%; + transform: translateX(-25%); + } + } +} + +/* + * Toolbar dropdown panels should be always above the UI (eg. other dropdown panels) from the editor's content. + * See https://github.com/ckeditor/ckeditor5/issues/7874 + */ +.ck.ck-toolbar .ck-dropdown__panel { + z-index: calc( var(--ck-z-modal) + 1 ); +} +`,`/* + * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved. + * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license + */ + +@import "../../../mixins/_rounded.css"; +@import "../../../mixins/_disabled.css"; +@import "../../../mixins/_shadow.css"; +@import "@ckeditor/ckeditor5-ui/theme/mixins/_dir.css"; + +:root { + --ck-dropdown-arrow-size: calc(0.5 * var(--ck-icon-size)); +} + +.ck.ck-dropdown { + /* Enable font size inheritance, which allows fluid UI scaling. */ + font-size: inherit; + + & .ck-dropdown__arrow { + width: var(--ck-dropdown-arrow-size); + } + + @mixin ck-dir ltr { + & .ck-dropdown__arrow { + right: var(--ck-spacing-standard); + + /* A space to accommodate the triangle. */ + margin-left: var(--ck-spacing-standard); + } + } + + @mixin ck-dir rtl { + & .ck-dropdown__arrow { + left: var(--ck-spacing-standard); + + /* A space to accommodate the triangle. */ + margin-right: var(--ck-spacing-small); + } + } + + &.ck-disabled .ck-dropdown__arrow { + @mixin ck-disabled; + } + + & .ck-button.ck-dropdown__button { + @mixin ck-dir ltr { + &:not(.ck-button_with-text) { + /* Make sure dropdowns with just an icon have the right inner spacing */ + padding-left: var(--ck-spacing-small); + } + } + + @mixin ck-dir rtl { + &:not(.ck-button_with-text) { + /* Make sure dropdowns with just an icon have the right inner spacing */ + padding-right: var(--ck-spacing-small); + } + } + + /* #23 */ + & .ck-button__label { + width: 7em; + overflow: hidden; + text-overflow: ellipsis; + } + + /* https://github.com/ckeditor/ckeditor5-theme-lark/issues/70 */ + &.ck-disabled .ck-button__label { + @mixin ck-disabled; + } + + /* https://github.com/ckeditor/ckeditor5/issues/816 */ + &.ck-on { + border-bottom-left-radius: 0; + border-bottom-right-radius: 0; + } + + &.ck-dropdown__button_label-width_auto .ck-button__label { + width: auto; + } + + /* https://github.com/ckeditor/ckeditor5/issues/8699 */ + &.ck-off:active, + &.ck-on:active { + box-shadow: none; + + &:focus { + @mixin ck-box-shadow var(--ck-focus-outer-shadow); + } + } + } +} + +.ck.ck-dropdown__panel { + @mixin ck-rounded-corners; + @mixin ck-drop-shadow; + + background: var(--ck-color-dropdown-panel-background); + border: 1px solid var(--ck-color-dropdown-panel-border); + bottom: 0; + + /* Make sure the panel is at least as wide as the drop-down's button. */ + min-width: 100%; + + /* Disabled corner border radius to be consistent with the .dropdown__button + https://github.com/ckeditor/ckeditor5/issues/816 */ + &.ck-dropdown__panel_se { + border-top-left-radius: 0; + } + + &.ck-dropdown__panel_sw { + border-top-right-radius: 0; + } + + &.ck-dropdown__panel_ne { + border-bottom-left-radius: 0; + } + + &.ck-dropdown__panel_nw { + border-bottom-right-radius: 0; + } + + &:focus { + outline: none; + } +} +`,`/* + * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved. + * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license + */ + +/** + * A class which indicates that an element holding it is disabled. + */ +@define-mixin ck-disabled { + opacity: var(--ck-disabled-opacity); +} +`,`/* + * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved. + * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license + */ + +/** + * A helper to combine multiple shadows. + */ +@define-mixin ck-box-shadow $shadowA, $shadowB: 0 0 { + box-shadow: $shadowA, $shadowB; +} + +/** + * Gives an element a drop shadow so it looks like a floating panel. + */ +@define-mixin ck-drop-shadow { + @mixin ck-box-shadow var(--ck-drop-shadow); +} +`,`/* + * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved. + * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license + */ + +/** + * Implements rounded corner interface for .ck-rounded-corners class. + * + * @see $ck-border-radius + */ +@define-mixin ck-rounded-corners { + border-radius: 0; + + @nest .ck-rounded-corners &, + &.ck-rounded-corners { + border-radius: var(--ck-border-radius); + @mixin-content; + } +} +`],sourceRoot:""}]);const m=g},1883:(_,x,h)=>{h.d(x,{Z:()=>m});var y=h(4015),E=h.n(y),k=h(3645),D=h.n(k),g=D()(E());g.push([_.id,".ck.ck-dropdown .ck-dropdown__panel .ck-list{border-radius:0}.ck-rounded-corners .ck.ck-dropdown .ck-dropdown__panel .ck-list,.ck.ck-dropdown .ck-dropdown__panel .ck-list.ck-rounded-corners{border-radius:var(--ck-border-radius);border-top-left-radius:0}.ck.ck-dropdown .ck-dropdown__panel .ck-list .ck-list__item:first-child .ck-button{border-radius:0}.ck-rounded-corners .ck.ck-dropdown .ck-dropdown__panel .ck-list .ck-list__item:first-child .ck-button,.ck.ck-dropdown .ck-dropdown__panel .ck-list .ck-list__item:first-child .ck-button.ck-rounded-corners{border-radius:var(--ck-border-radius);border-bottom-left-radius:0;border-bottom-right-radius:0;border-top-left-radius:0}.ck.ck-dropdown .ck-dropdown__panel .ck-list .ck-list__item:last-child .ck-button{border-radius:0}.ck-rounded-corners .ck.ck-dropdown .ck-dropdown__panel .ck-list .ck-list__item:last-child .ck-button,.ck.ck-dropdown .ck-dropdown__panel .ck-list .ck-list__item:last-child .ck-button.ck-rounded-corners{border-radius:var(--ck-border-radius);border-top-left-radius:0;border-top-right-radius:0}","",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-ui/components/dropdown/listdropdown.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/mixins/_rounded.css"],names:[],mappings:"AAOA,6CCIC,eDqBD,CAzBA,iICQE,qCAAsC,CDJtC,wBAqBF,CAfE,mFCND,eDYC,CANA,6MCFA,qCAAsC,CDKpC,2BAA4B,CAC5B,4BAA6B,CAF7B,wBAIF,CAEA,kFCdD,eDmBC,CALA,2MCVA,qCAAsC,CDYpC,wBAAyB,CACzB,yBAEF",sourcesContent:[`/* + * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved. + * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license + */ + +@import "../../../mixins/_rounded.css"; + +.ck.ck-dropdown .ck-dropdown__panel .ck-list { + /* Disabled radius of top-left border to be consistent with .dropdown__button + https://github.com/ckeditor/ckeditor5/issues/816 */ + @mixin ck-rounded-corners { + border-top-left-radius: 0; + } + + /* Make sure the button belonging to the first/last child of the list goes well with the + border radius of the entire panel. */ + & .ck-list__item { + &:first-child .ck-button { + @mixin ck-rounded-corners { + border-top-left-radius: 0; + border-bottom-left-radius: 0; + border-bottom-right-radius: 0; + } + } + + &:last-child .ck-button { + @mixin ck-rounded-corners { + border-top-left-radius: 0; + border-top-right-radius: 0; + } + } + } +} +`,`/* + * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved. + * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license + */ + +/** + * Implements rounded corner interface for .ck-rounded-corners class. + * + * @see $ck-border-radius + */ +@define-mixin ck-rounded-corners { + border-radius: 0; + + @nest .ck-rounded-corners &, + &.ck-rounded-corners { + border-radius: var(--ck-border-radius); + @mixin-content; + } +} +`],sourceRoot:""}]);const m=g},4791:(_,x,h)=>{h.d(x,{Z:()=>m});var y=h(4015),E=h.n(y),k=h(3645),D=h.n(k),g=D()(E());g.push([_.id,'.ck.ck-splitbutton{font-size:inherit}.ck.ck-splitbutton .ck-splitbutton__action:focus{z-index:calc(var(--ck-z-default) + 1)}:root{--ck-color-split-button-hover-background:#ebebeb;--ck-color-split-button-hover-border:#b3b3b3}[dir=ltr] .ck.ck-splitbutton.ck-splitbutton_open>.ck-splitbutton__action,[dir=ltr] .ck.ck-splitbutton:hover>.ck-splitbutton__action{border-bottom-right-radius:unset;border-top-right-radius:unset}[dir=rtl] .ck.ck-splitbutton.ck-splitbutton_open>.ck-splitbutton__action,[dir=rtl] .ck.ck-splitbutton:hover>.ck-splitbutton__action{border-bottom-left-radius:unset;border-top-left-radius:unset}.ck.ck-splitbutton>.ck-splitbutton__arrow{min-width:unset}[dir=ltr] .ck.ck-splitbutton>.ck-splitbutton__arrow{border-bottom-left-radius:unset;border-top-left-radius:unset}[dir=rtl] .ck.ck-splitbutton>.ck-splitbutton__arrow{border-bottom-right-radius:unset;border-top-right-radius:unset}.ck.ck-splitbutton>.ck-splitbutton__arrow svg{width:var(--ck-dropdown-arrow-size)}.ck.ck-splitbutton>.ck-splitbutton__arrow:not(:focus){border-bottom-width:0;border-top-width:0}.ck.ck-splitbutton.ck-splitbutton_open>.ck-button:not(.ck-on):not(.ck-disabled):not(:hover),.ck.ck-splitbutton:hover>.ck-button:not(.ck-on):not(.ck-disabled):not(:hover){background:var(--ck-color-split-button-hover-background)}.ck.ck-splitbutton.ck-splitbutton_open>.ck-splitbutton__arrow:not(.ck-disabled):after,.ck.ck-splitbutton:hover>.ck-splitbutton__arrow:not(.ck-disabled):after{background-color:var(--ck-color-split-button-hover-border);content:"";height:100%;position:absolute;width:1px}.ck.ck-splitbutton.ck-splitbutton_open>.ck-splitbutton__arrow:focus:after,.ck.ck-splitbutton:hover>.ck-splitbutton__arrow:focus:after{--ck-color-split-button-hover-border:var(--ck-color-focus-border)}[dir=ltr] .ck.ck-splitbutton.ck-splitbutton_open>.ck-splitbutton__arrow:not(.ck-disabled):after,[dir=ltr] .ck.ck-splitbutton:hover>.ck-splitbutton__arrow:not(.ck-disabled):after{left:-1px}[dir=rtl] .ck.ck-splitbutton.ck-splitbutton_open>.ck-splitbutton__arrow:not(.ck-disabled):after,[dir=rtl] .ck.ck-splitbutton:hover>.ck-splitbutton__arrow:not(.ck-disabled):after{right:-1px}.ck.ck-splitbutton.ck-splitbutton_open{border-radius:0}.ck-rounded-corners .ck.ck-splitbutton.ck-splitbutton_open,.ck.ck-splitbutton.ck-splitbutton_open.ck-rounded-corners{border-radius:var(--ck-border-radius)}.ck-rounded-corners .ck.ck-splitbutton.ck-splitbutton_open>.ck-splitbutton__action,.ck.ck-splitbutton.ck-splitbutton_open.ck-rounded-corners>.ck-splitbutton__action{border-bottom-left-radius:0}.ck-rounded-corners .ck.ck-splitbutton.ck-splitbutton_open>.ck-splitbutton__arrow,.ck.ck-splitbutton.ck-splitbutton_open.ck-rounded-corners>.ck-splitbutton__arrow{border-bottom-right-radius:0}',"",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-ui/theme/components/dropdown/splitbutton.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-ui/components/dropdown/splitbutton.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/mixins/_rounded.css"],names:[],mappings:"AAKA,mBAEC,iBAKD,CAHC,iDACC,qCACD,CCJD,MACC,gDAAyD,CACzD,4CACD,CAMC,oIAKE,gCAAiC,CADjC,6BASF,CAbA,oIAWE,+BAAgC,CADhC,4BAGF,CAEA,0CAGC,eAiBD,CApBA,oDAQE,+BAAgC,CADhC,4BAaF,CApBA,oDAcE,gCAAiC,CADjC,6BAOF,CAHC,8CACC,mCACD,CAKD,sDAEC,qBAAwB,CADxB,kBAED,CAQC,0KACC,wDACD,CAIA,8JAKC,0DAA2D,CAJ3D,UAAW,CAGX,WAAY,CAFZ,iBAAkB,CAClB,SAGD,CAGA,sIACC,iEACD,CAGC,kLACC,SACD,CAIA,kLACC,UACD,CAMF,uCCzFA,eDmGA,CAVA,qHCrFC,qCD+FD,CARE,qKACC,2BACD,CAEA,mKACC,4BACD",sourcesContent:[`/* + * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved. + * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license + */ + +.ck.ck-splitbutton { + /* Enable font size inheritance, which allows fluid UI scaling. */ + font-size: inherit; + + & .ck-splitbutton__action:focus { + z-index: calc(var(--ck-z-default) + 1); + } +} + +`,`/* + * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved. + * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license + */ + +@import "../../../mixins/_rounded.css"; + +:root { + --ck-color-split-button-hover-background: hsl(0, 0%, 92%); + --ck-color-split-button-hover-border: hsl(0, 0%, 70%); +} + +.ck.ck-splitbutton { + /* + * Note: ck-rounded and ck-dir mixins don't go together (because they both use @nest). + */ + &:hover > .ck-splitbutton__action, + &.ck-splitbutton_open > .ck-splitbutton__action { + @nest [dir="ltr"] & { + /* Don't round the action button on the right side */ + border-top-right-radius: unset; + border-bottom-right-radius: unset; + } + + @nest [dir="rtl"] & { + /* Don't round the action button on the left side */ + border-top-left-radius: unset; + border-bottom-left-radius: unset; + } + } + + & > .ck-splitbutton__arrow { + /* It's a text-less button and since the icon is positioned absolutely in such situation, + it must get some arbitrary min-width. */ + min-width: unset; + + @nest [dir="ltr"] & { + /* Don't round the arrow button on the left side */ + border-top-left-radius: unset; + border-bottom-left-radius: unset; + } + + @nest [dir="rtl"] & { + /* Don't round the arrow button on the right side */ + border-top-right-radius: unset; + border-bottom-right-radius: unset; + } + + & svg { + width: var(--ck-dropdown-arrow-size); + } + } + + /* Make sure the divider stretches 100% height of the button + https://github.com/ckeditor/ckeditor5/issues/10936 */ + & > .ck-splitbutton__arrow:not(:focus) { + border-top-width: 0px; + border-bottom-width: 0px; + } + + /* When the split button is "open" (the arrow is on) or being hovered, it should get some styling + as a whole. The background of both buttons should stand out and there should be a visual + separation between both buttons. */ + &.ck-splitbutton_open, + &:hover { + /* When the split button hovered as a whole, not as individual buttons. */ + & > .ck-button:not(.ck-on):not(.ck-disabled):not(:hover) { + background: var(--ck-color-split-button-hover-background); + } + + /* Splitbutton separator needs to be set with the ::after pseudoselector + to display properly the borders on focus */ + & > .ck-splitbutton__arrow:not(.ck-disabled)::after { + content: ''; + position: absolute; + width: 1px; + height: 100%; + background-color: var(--ck-color-split-button-hover-border); + } + + /* Make sure the divider between the buttons looks fine when the button is focused */ + & > .ck-splitbutton__arrow:focus::after { + --ck-color-split-button-hover-border: var(--ck-color-focus-border); + } + + @nest [dir="ltr"] & { + & > .ck-splitbutton__arrow:not(.ck-disabled)::after { + left: -1px; + } + } + + @nest [dir="rtl"] & { + & > .ck-splitbutton__arrow:not(.ck-disabled)::after { + right: -1px; + } + } + } + + /* Don't round the bottom left and right corners of the buttons when "open" + https://github.com/ckeditor/ckeditor5/issues/816 */ + &.ck-splitbutton_open { + @mixin ck-rounded-corners { + & > .ck-splitbutton__action { + border-bottom-left-radius: 0; + } + + & > .ck-splitbutton__arrow { + border-bottom-right-radius: 0; + } + } + } +} +`,`/* + * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved. + * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license + */ + +/** + * Implements rounded corner interface for .ck-rounded-corners class. + * + * @see $ck-border-radius + */ +@define-mixin ck-rounded-corners { + border-radius: 0; + + @nest .ck-rounded-corners &, + &.ck-rounded-corners { + border-radius: var(--ck-border-radius); + @mixin-content; + } +} +`],sourceRoot:""}]);const m=g},2704:(_,x,h)=>{h.d(x,{Z:()=>m});var y=h(4015),E=h.n(y),k=h(3645),D=h.n(k),g=D()(E());g.push([_.id,":root{--ck-toolbar-dropdown-max-width:60vw}.ck.ck-toolbar-dropdown>.ck-dropdown__panel{max-width:var(--ck-toolbar-dropdown-max-width);width:max-content}.ck.ck-toolbar-dropdown>.ck-dropdown__panel .ck-button:focus{z-index:calc(var(--ck-z-default) + 1)}.ck.ck-toolbar-dropdown .ck-toolbar{border:0}","",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-ui/theme/components/dropdown/toolbardropdown.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-ui/components/dropdown/toolbardropdown.css"],names:[],mappings:"AAKA,MACC,oCACD,CAEA,4CAGC,8CAA+C,CAD/C,iBAQD,CAJE,6DACC,qCACD,CCZF,oCACC,QACD",sourcesContent:[`/* + * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved. + * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license + */ + +:root { + --ck-toolbar-dropdown-max-width: 60vw; +} + +.ck.ck-toolbar-dropdown > .ck-dropdown__panel { + /* https://github.com/ckeditor/ckeditor5/issues/5586 */ + width: max-content; + max-width: var(--ck-toolbar-dropdown-max-width); + + & .ck-button { + &:focus { + z-index: calc(var(--ck-z-default) + 1); + } + } +} +`,`/* + * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved. + * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license + */ + +.ck.ck-toolbar-dropdown .ck-toolbar { + border: 0; +} +`],sourceRoot:""}]);const m=g},9847:(_,x,h)=>{h.d(x,{Z:()=>m});var y=h(4015),E=h.n(y),k=h(3645),D=h.n(k),g=D()(E());g.push([_.id,":root{--ck-color-editable-blur-selection:#d9d9d9}.ck.ck-editor__editable:not(.ck-editor__nested-editable){border-radius:0}.ck-rounded-corners .ck.ck-editor__editable:not(.ck-editor__nested-editable),.ck.ck-editor__editable.ck-rounded-corners:not(.ck-editor__nested-editable){border-radius:var(--ck-border-radius)}.ck.ck-editor__editable.ck-focused:not(.ck-editor__nested-editable){border:var(--ck-focus-ring);box-shadow:var(--ck-inner-shadow),0 0;outline:none}.ck.ck-editor__editable_inline{border:1px solid transparent;overflow:auto;padding:0 var(--ck-spacing-standard)}.ck.ck-editor__editable_inline[dir=ltr]{text-align:left}.ck.ck-editor__editable_inline[dir=rtl]{text-align:right}.ck.ck-editor__editable_inline>:first-child{margin-top:var(--ck-spacing-large)}.ck.ck-editor__editable_inline>:last-child{margin-bottom:var(--ck-spacing-large)}.ck.ck-editor__editable_inline.ck-blurred ::selection{background:var(--ck-color-editable-blur-selection)}.ck.ck-balloon-panel.ck-toolbar-container[class*=arrow_n]:after{border-bottom-color:var(--ck-color-panel-background)}.ck.ck-balloon-panel.ck-toolbar-container[class*=arrow_s]:after{border-top-color:var(--ck-color-panel-background)}","",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-ui/components/editorui/editorui.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/mixins/_rounded.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/mixins/_focus.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/mixins/_shadow.css"],names:[],mappings:"AAWA,MACC,0CACD,CAEA,yDCJC,eDWD,CAPA,yJCAE,qCDOF,CAJC,oEEPA,2BAA2B,CCF3B,qCAA8B,CDC9B,YFWA,CAGD,+BAGC,4BAA6B,CAF7B,aAAc,CACd,oCA6BD,CA1BC,wCACC,eACD,CAEA,wCACC,gBACD,CAGA,4CACC,kCACD,CAGA,2CAKC,qCACD,CAGA,sDACC,kDACD,CAKA,gEACC,oDACD,CAIA,gEACC,iDACD",sourcesContent:[`/* + * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved. + * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license + */ + +@import "../../../mixins/_rounded.css"; +@import "../../../mixins/_disabled.css"; +@import "../../../mixins/_shadow.css"; +@import "../../../mixins/_focus.css"; +@import "../../mixins/_button.css"; + +:root { + --ck-color-editable-blur-selection: hsl(0, 0%, 85%); +} + +.ck.ck-editor__editable:not(.ck-editor__nested-editable) { + @mixin ck-rounded-corners; + + &.ck-focused { + @mixin ck-focus-ring; + @mixin ck-box-shadow var(--ck-inner-shadow); + } +} + +.ck.ck-editor__editable_inline { + overflow: auto; + padding: 0 var(--ck-spacing-standard); + border: 1px solid transparent; + + &[dir="ltr"] { + text-align: left; + } + + &[dir="rtl"] { + text-align: right; + } + + /* https://github.com/ckeditor/ckeditor5-theme-lark/issues/116 */ + & > *:first-child { + margin-top: var(--ck-spacing-large); + } + + /* https://github.com/ckeditor/ckeditor5/issues/847 */ + & > *:last-child { + /* + * This value should match with the default margins of the block elements (like .media or .image) + * to avoid a content jumping when the fake selection container shows up (See https://github.com/ckeditor/ckeditor5/issues/9825). + */ + margin-bottom: var(--ck-spacing-large); + } + + /* https://github.com/ckeditor/ckeditor5/issues/6517 */ + &.ck-blurred ::selection { + background: var(--ck-color-editable-blur-selection); + } +} + +/* https://github.com/ckeditor/ckeditor5-theme-lark/issues/111 */ +.ck.ck-balloon-panel.ck-toolbar-container[class*="arrow_n"] { + &::after { + border-bottom-color: var(--ck-color-panel-background); + } +} + +.ck.ck-balloon-panel.ck-toolbar-container[class*="arrow_s"] { + &::after { + border-top-color: var(--ck-color-panel-background); + } +} +`,`/* + * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved. + * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license + */ + +/** + * Implements rounded corner interface for .ck-rounded-corners class. + * + * @see $ck-border-radius + */ +@define-mixin ck-rounded-corners { + border-radius: 0; + + @nest .ck-rounded-corners &, + &.ck-rounded-corners { + border-radius: var(--ck-border-radius); + @mixin-content; + } +} +`,`/* + * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved. + * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license + */ + +/** + * A visual style of focused element's border. + */ +@define-mixin ck-focus-ring { + /* Disable native outline. */ + outline: none; + border: var(--ck-focus-ring) +} +`,`/* + * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved. + * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license + */ + +/** + * A helper to combine multiple shadows. + */ +@define-mixin ck-box-shadow $shadowA, $shadowB: 0 0 { + box-shadow: $shadowA, $shadowB; +} + +/** + * Gives an element a drop shadow so it looks like a floating panel. + */ +@define-mixin ck-drop-shadow { + @mixin ck-box-shadow var(--ck-drop-shadow); +} +`],sourceRoot:""}]);const m=g},1874:(_,x,h)=>{h.d(x,{Z:()=>m});var y=h(4015),E=h.n(y),k=h(3645),D=h.n(k),g=D()(E());g.push([_.id,".ck.ck-form__header{align-items:center;display:flex;flex-direction:row;flex-wrap:nowrap;justify-content:space-between}.ck.ck-form__header h2.ck-form__header__label{flex-grow:1}:root{--ck-form-header-height:38px}.ck.ck-form__header{border-bottom:1px solid var(--ck-color-base-border);height:var(--ck-form-header-height);line-height:var(--ck-form-header-height);padding:var(--ck-spacing-small) var(--ck-spacing-large)}[dir=ltr] .ck.ck-form__header .ck-icon{margin-right:var(--ck-spacing-medium)}[dir=rtl] .ck.ck-form__header .ck-icon{margin-left:var(--ck-spacing-medium)}.ck.ck-form__header .ck-form__header__label{font-weight:700}","",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-ui/theme/components/formheader/formheader.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-ui/components/formheader/formheader.css"],names:[],mappings:"AAKA,oBAIC,kBAAmB,CAHnB,YAAa,CACb,kBAAmB,CACnB,gBAAiB,CAEjB,6BAKD,CAHC,8CACC,WACD,CCPD,MACC,4BACD,CAEA,oBAIC,mDAAoD,CAFpD,mCAAoC,CACpC,wCAAyC,CAFzC,uDAkBD,CAbC,uCAEE,qCAMF,CARA,uCAME,oCAEF,CAEA,4CACC,eACD",sourcesContent:[`/* + * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved. + * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license + */ + +.ck.ck-form__header { + display: flex; + flex-direction: row; + flex-wrap: nowrap; + align-items: center; + justify-content: space-between; + + & h2.ck-form__header__label { + flex-grow: 1; + } +} +`,`/* + * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved. + * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license + */ + +@import "@ckeditor/ckeditor5-ui/theme/mixins/_dir.css"; + +:root { + --ck-form-header-height: 38px; +} + +.ck.ck-form__header { + padding: var(--ck-spacing-small) var(--ck-spacing-large); + height: var(--ck-form-header-height); + line-height: var(--ck-form-header-height); + border-bottom: 1px solid var(--ck-color-base-border); + + & .ck-icon { + @mixin ck-dir ltr { + margin-right: var(--ck-spacing-medium); + } + + @mixin ck-dir rtl { + margin-left: var(--ck-spacing-medium); + } + } + + & .ck-form__header__label { + font-weight: bold; + } +} +`],sourceRoot:""}]);const m=g},4746:(_,x,h)=>{h.d(x,{Z:()=>m});var y=h(4015),E=h.n(y),k=h(3645),D=h.n(k),g=D()(E());g.push([_.id,".ck.ck-highlighted-text mark{background:var(--ck-color-highlight-background);font-size:inherit;font-weight:inherit;line-height:inherit;vertical-align:initial}","",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-ui/theme/components/highlightedtext/highlightedtext.css"],names:[],mappings:"AAKA,6BACC,+CAAgD,CAIhD,iBAAkB,CAFlB,mBAAoB,CACpB,mBAAoB,CAFpB,sBAID",sourcesContent:[`/* + * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved. + * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license + */ + +.ck.ck-highlighted-text mark { + background: var(--ck-color-highlight-background); + vertical-align: initial; + font-weight: inherit; + line-height: inherit; + font-size: inherit; +} +`],sourceRoot:""}]);const m=g},1977:(_,x,h)=>{h.d(x,{Z:()=>m});var y=h(4015),E=h.n(y),k=h(3645),D=h.n(k),g=D()(E());g.push([_.id,".ck.ck-icon{vertical-align:middle}:root{--ck-icon-size:calc(var(--ck-line-height-base)*var(--ck-font-size-normal))}.ck.ck-icon{font-size:.8333350694em;height:var(--ck-icon-size);width:var(--ck-icon-size);will-change:transform}.ck.ck-icon,.ck.ck-icon *{cursor:inherit}.ck.ck-icon.ck-icon_inherit-color,.ck.ck-icon.ck-icon_inherit-color *{color:inherit}.ck.ck-icon.ck-icon_inherit-color :not([fill]){fill:currentColor}","",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-ui/theme/components/icon/icon.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-ui/components/icon/icon.css"],names:[],mappings:"AAKA,YACC,qBACD,CCFA,MACC,0EACD,CAEA,YAKC,uBAAwB,CAHxB,0BAA2B,CAD3B,yBAA0B,CAU1B,qBAoBD,CAlBC,0BALA,cAQA,CAMC,sEACC,aAMD,CAJC,+CAEC,iBACD",sourcesContent:[`/* + * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved. + * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license + */ + +.ck.ck-icon { + vertical-align: middle; +} +`,`/* + * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved. + * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license + */ + +:root { + --ck-icon-size: calc(var(--ck-line-height-base) * var(--ck-font-size-normal)); +} + +.ck.ck-icon { + width: var(--ck-icon-size); + height: var(--ck-icon-size); + + /* Multiplied by the height of the line in "px" should give SVG "viewport" dimensions */ + font-size: .8333350694em; + + /* Inherit cursor style (#5). */ + cursor: inherit; + + /* This will prevent blurry icons on Firefox. See #340. */ + will-change: transform; + + & * { + /* Inherit cursor style (#5). */ + cursor: inherit; + } + + /* Allows dynamic coloring of an icon by inheriting its color from the parent. */ + &.ck-icon_inherit-color { + color: inherit; + + & * { + color: inherit; + + &:not([fill]) { + /* Needed by FF. */ + fill: currentColor; + } + } + } +} +`],sourceRoot:""}]);const m=g},2470:(_,x,h)=>{h.d(x,{Z:()=>m});var y=h(4015),E=h.n(y),k=h(3645),D=h.n(k),g=D()(E());g.push([_.id,":root{--ck-input-width:18em;--ck-input-text-width:var(--ck-input-width)}.ck.ck-input{border-radius:0}.ck-rounded-corners .ck.ck-input,.ck.ck-input.ck-rounded-corners{border-radius:var(--ck-border-radius)}.ck.ck-input{background:var(--ck-color-input-background);border:1px solid var(--ck-color-input-border);min-height:var(--ck-ui-component-min-height);min-width:var(--ck-input-width);padding:var(--ck-spacing-extra-tiny) var(--ck-spacing-medium);transition:box-shadow .1s ease-in-out,border .1s ease-in-out}.ck.ck-input:focus{border:var(--ck-focus-ring);box-shadow:var(--ck-focus-outer-shadow),0 0;outline:none}.ck.ck-input[readonly]{background:var(--ck-color-input-disabled-background);border:1px solid var(--ck-color-input-disabled-border);color:var(--ck-color-input-disabled-text)}.ck.ck-input[readonly]:focus{box-shadow:var(--ck-focus-disabled-outer-shadow),0 0}.ck.ck-input.ck-error{animation:ck-input-shake .3s ease both;border-color:var(--ck-color-input-error-border)}.ck.ck-input.ck-error:focus{box-shadow:var(--ck-focus-error-outer-shadow),0 0}@keyframes ck-input-shake{20%{transform:translateX(-2px)}40%{transform:translateX(2px)}60%{transform:translateX(-1px)}80%{transform:translateX(1px)}}","",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-ui/components/input/input.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/mixins/_rounded.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/mixins/_focus.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/mixins/_shadow.css"],names:[],mappings:"AASA,MACC,qBAAsB,CAGtB,2CACD,CAEA,aCLC,eD2CD,CAtCA,iECDE,qCDuCF,CAtCA,aAGC,2CAA4C,CAC5C,6CAA8C,CAK9C,4CAA6C,CAH7C,+BAAgC,CADhC,6DAA8D,CAO9D,4DA0BD,CAxBC,mBEnBA,2BAA2B,CCF3B,2CAA8B,CDC9B,YFuBA,CAEA,uBAEC,oDAAqD,CADrD,sDAAuD,CAEvD,yCAMD,CAJC,6BG/BD,oDHkCC,CAGD,sBAEC,sCAAuC,CADvC,+CAMD,CAHC,4BGzCD,iDH2CC,CAIF,0BACC,IACC,0BACD,CAEA,IACC,yBACD,CAEA,IACC,0BACD,CAEA,IACC,yBACD,CACD",sourcesContent:[`/* + * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved. + * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license + */ + +@import "../../../mixins/_rounded.css"; +@import "../../../mixins/_focus.css"; +@import "../../../mixins/_shadow.css"; + +:root { + --ck-input-width: 18em; + + /* Backward compatibility. */ + --ck-input-text-width: var(--ck-input-width); +} + +.ck.ck-input { + @mixin ck-rounded-corners; + + background: var(--ck-color-input-background); + border: 1px solid var(--ck-color-input-border); + padding: var(--ck-spacing-extra-tiny) var(--ck-spacing-medium); + min-width: var(--ck-input-width); + + /* This is important to stay of the same height as surrounding buttons */ + min-height: var(--ck-ui-component-min-height); + + /* Apply some smooth transition to the box-shadow and border. */ + transition: box-shadow .1s ease-in-out, border .1s ease-in-out; + + &:focus { + @mixin ck-focus-ring; + @mixin ck-box-shadow var(--ck-focus-outer-shadow); + } + + &[readonly] { + border: 1px solid var(--ck-color-input-disabled-border); + background: var(--ck-color-input-disabled-background); + color: var(--ck-color-input-disabled-text); + + &:focus { + /* The read-only input should have a slightly less visible shadow when focused. */ + @mixin ck-box-shadow var(--ck-focus-disabled-outer-shadow); + } + } + + &.ck-error { + border-color: var(--ck-color-input-error-border); + animation: ck-input-shake .3s ease both; + + &:focus { + @mixin ck-box-shadow var(--ck-focus-error-outer-shadow); + } + } +} + +@keyframes ck-input-shake { + 20% { + transform: translateX(-2px); + } + + 40% { + transform: translateX(2px); + } + + 60% { + transform: translateX(-1px); + } + + 80% { + transform: translateX(1px); + } +} +`,`/* + * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved. + * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license + */ + +/** + * Implements rounded corner interface for .ck-rounded-corners class. + * + * @see $ck-border-radius + */ +@define-mixin ck-rounded-corners { + border-radius: 0; + + @nest .ck-rounded-corners &, + &.ck-rounded-corners { + border-radius: var(--ck-border-radius); + @mixin-content; + } +} +`,`/* + * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved. + * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license + */ + +/** + * A visual style of focused element's border. + */ +@define-mixin ck-focus-ring { + /* Disable native outline. */ + outline: none; + border: var(--ck-focus-ring) +} +`,`/* + * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved. + * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license + */ + +/** + * A helper to combine multiple shadows. + */ +@define-mixin ck-box-shadow $shadowA, $shadowB: 0 0 { + box-shadow: $shadowA, $shadowB; +} + +/** + * Gives an element a drop shadow so it looks like a floating panel. + */ +@define-mixin ck-drop-shadow { + @mixin ck-box-shadow var(--ck-drop-shadow); +} +`],sourceRoot:""}]);const m=g},3525:(_,x,h)=>{h.d(x,{Z:()=>m});var y=h(4015),E=h.n(y),k=h(3645),D=h.n(k),g=D()(E());g.push([_.id,".ck.ck-label{display:block}.ck.ck-voice-label{display:none}.ck.ck-label{font-weight:700}","",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-ui/theme/components/label/label.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-ui/components/label/label.css"],names:[],mappings:"AAKA,aACC,aACD,CAEA,mBACC,YACD,CCNA,aACC,eACD",sourcesContent:[`/* + * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved. + * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license + */ + +.ck.ck-label { + display: block; +} + +.ck.ck-voice-label { + display: none; +} +`,`/* + * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved. + * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license + */ + +.ck.ck-label { + font-weight: bold; +} +`],sourceRoot:""}]);const m=g},2933:(_,x,h)=>{h.d(x,{Z:()=>m});var y=h(4015),E=h.n(y),k=h(3645),D=h.n(k),g=D()(E());g.push([_.id,".ck.ck-labeled-field-view>.ck.ck-labeled-field-view__input-wrapper{display:flex;position:relative}.ck.ck-labeled-field-view .ck.ck-label{display:block;position:absolute}:root{--ck-labeled-field-view-transition:.1s cubic-bezier(0,0,0.24,0.95);--ck-labeled-field-empty-unfocused-max-width:100% - 2 * var(--ck-spacing-medium);--ck-labeled-field-label-default-position-x:var(--ck-spacing-medium);--ck-labeled-field-label-default-position-y:calc(var(--ck-font-size-base)*0.6);--ck-color-labeled-field-label-background:var(--ck-color-base-background)}.ck.ck-labeled-field-view{border-radius:0}.ck-rounded-corners .ck.ck-labeled-field-view,.ck.ck-labeled-field-view.ck-rounded-corners{border-radius:var(--ck-border-radius)}.ck.ck-labeled-field-view>.ck.ck-labeled-field-view__input-wrapper{width:100%}.ck.ck-labeled-field-view>.ck.ck-labeled-field-view__input-wrapper>.ck.ck-label{top:0}[dir=ltr] .ck.ck-labeled-field-view>.ck.ck-labeled-field-view__input-wrapper>.ck.ck-label{left:0;transform:translate(var(--ck-spacing-medium),-6px) scale(.75);transform-origin:0 0}[dir=rtl] .ck.ck-labeled-field-view>.ck.ck-labeled-field-view__input-wrapper>.ck.ck-label{right:0;transform:translate(calc(var(--ck-spacing-medium)*-1),-6px) scale(.75);transform-origin:100% 0}.ck.ck-labeled-field-view>.ck.ck-labeled-field-view__input-wrapper>.ck.ck-label{background:var(--ck-color-labeled-field-label-background);font-weight:400;line-height:normal;max-width:100%;overflow:hidden;padding:0 calc(var(--ck-font-size-tiny)*.5);pointer-events:none;text-overflow:ellipsis;transition:transform var(--ck-labeled-field-view-transition),padding var(--ck-labeled-field-view-transition),background var(--ck-labeled-field-view-transition)}.ck.ck-labeled-field-view.ck-error .ck-input:not([readonly])+.ck.ck-label,.ck.ck-labeled-field-view.ck-error>.ck.ck-labeled-field-view__input-wrapper>.ck.ck-label{color:var(--ck-color-base-error)}.ck.ck-labeled-field-view .ck-labeled-field-view__status{font-size:var(--ck-font-size-small);margin-top:var(--ck-spacing-small);white-space:normal}.ck.ck-labeled-field-view .ck-labeled-field-view__status.ck-labeled-field-view__status_error{color:var(--ck-color-base-error)}.ck.ck-labeled-field-view.ck-disabled>.ck.ck-labeled-field-view__input-wrapper>.ck.ck-label,.ck.ck-labeled-field-view.ck-labeled-field-view_empty:not(.ck-labeled-field-view_focused)>.ck.ck-labeled-field-view__input-wrapper>.ck.ck-label{color:var(--ck-color-input-disabled-text)}[dir=ltr] .ck.ck-labeled-field-view.ck-disabled.ck-labeled-field-view_empty:not(.ck-labeled-field-view_placeholder)>.ck.ck-labeled-field-view__input-wrapper>.ck.ck-label,[dir=ltr] .ck.ck-labeled-field-view.ck-labeled-field-view_empty:not(.ck-labeled-field-view_focused):not(.ck-labeled-field-view_placeholder)>.ck.ck-labeled-field-view__input-wrapper>.ck.ck-label{transform:translate(var(--ck-labeled-field-label-default-position-x),var(--ck-labeled-field-label-default-position-y)) scale(1)}[dir=rtl] .ck.ck-labeled-field-view.ck-disabled.ck-labeled-field-view_empty:not(.ck-labeled-field-view_placeholder)>.ck.ck-labeled-field-view__input-wrapper>.ck.ck-label,[dir=rtl] .ck.ck-labeled-field-view.ck-labeled-field-view_empty:not(.ck-labeled-field-view_focused):not(.ck-labeled-field-view_placeholder)>.ck.ck-labeled-field-view__input-wrapper>.ck.ck-label{transform:translate(calc(var(--ck-labeled-field-label-default-position-x)*-1),var(--ck-labeled-field-label-default-position-y)) scale(1)}.ck.ck-labeled-field-view.ck-disabled.ck-labeled-field-view_empty:not(.ck-labeled-field-view_placeholder)>.ck.ck-labeled-field-view__input-wrapper>.ck.ck-label,.ck.ck-labeled-field-view.ck-labeled-field-view_empty:not(.ck-labeled-field-view_focused):not(.ck-labeled-field-view_placeholder)>.ck.ck-labeled-field-view__input-wrapper>.ck.ck-label{background:transparent;max-width:calc(var(--ck-labeled-field-empty-unfocused-max-width));padding:0}.ck.ck-labeled-field-view>.ck.ck-labeled-field-view__input-wrapper>.ck-dropdown>.ck.ck-button{background:transparent}.ck.ck-labeled-field-view.ck-labeled-field-view_empty>.ck.ck-labeled-field-view__input-wrapper>.ck-dropdown>.ck-button>.ck-button__label{opacity:0}.ck.ck-labeled-field-view.ck-labeled-field-view_empty:not(.ck-labeled-field-view_focused):not(.ck-labeled-field-view_placeholder)>.ck.ck-labeled-field-view__input-wrapper>.ck-dropdown+.ck-label{max-width:calc(var(--ck-labeled-field-empty-unfocused-max-width) - var(--ck-dropdown-arrow-size) - var(--ck-spacing-standard))}","",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-ui/theme/components/labeledfield/labeledfieldview.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-ui/components/labeledfield/labeledfieldview.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/mixins/_rounded.css"],names:[],mappings:"AAMC,mEACC,YAAa,CACb,iBACD,CAEA,uCACC,aAAc,CACd,iBACD,CCND,MACC,kEAAsE,CACtE,gFAAiF,CACjF,oEAAqE,CACrE,8EAAiF,CACjF,yEACD,CAEA,0BCLC,eD+GD,CA1GA,2FCDE,qCD2GF,CAvGC,mEACC,UAoCD,CAlCC,gFACC,KAgCD,CAjCA,0FAIE,MAAS,CAGT,6DAA+D,CAF/D,oBA4BF,CAjCA,0FAWE,OAAU,CAEV,sEAA0E,CAD1E,uBAqBF,CAjCA,gFAkBC,yDAA0D,CAG1D,eAAmB,CADnB,kBAAoB,CAOpB,cAAe,CAFf,eAAgB,CANhB,2CAA8C,CAH9C,mBAAoB,CAQpB,sBAAuB,CAKvB,+JAID,CAQA,mKACC,gCACD,CAGD,yDACC,mCAAoC,CACpC,kCAAmC,CAInC,kBAKD,CAHC,6FACC,gCACD,CAID,4OAEC,yCACD,CAIA,4WAGE,+HAYF,CAfA,4WAOE,wIAQF,CAfA,wVAaC,sBAAuB,CAFvB,iEAAkE,CAGlE,SACD,CAKA,8FACC,sBACD,CAGA,yIACC,SACD,CAGA,kMACC,8HACD",sourcesContent:[`/* + * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved. + * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license + */ + +.ck.ck-labeled-field-view { + & > .ck.ck-labeled-field-view__input-wrapper { + display: flex; + position: relative; + } + + & .ck.ck-label { + display: block; + position: absolute; + } +} +`,`/* + * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved. + * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license + */ + +@import "@ckeditor/ckeditor5-ui/theme/mixins/_dir.css"; +@import "../../../mixins/_rounded.css"; + +:root { + --ck-labeled-field-view-transition: .1s cubic-bezier(0, 0, 0.24, 0.95); + --ck-labeled-field-empty-unfocused-max-width: 100% - 2 * var(--ck-spacing-medium); + --ck-labeled-field-label-default-position-x: var(--ck-spacing-medium); + --ck-labeled-field-label-default-position-y: calc(0.6 * var(--ck-font-size-base)); + --ck-color-labeled-field-label-background: var(--ck-color-base-background); +} + +.ck.ck-labeled-field-view { + @mixin ck-rounded-corners; + + & > .ck.ck-labeled-field-view__input-wrapper { + width: 100%; + + & > .ck.ck-label { + top: 0px; + + @mixin ck-dir ltr { + left: 0px; + transform-origin: 0 0; + /* By default, display the label scaled down above the field. */ + transform: translate(var(--ck-spacing-medium), -6px) scale(.75); + } + + @mixin ck-dir rtl { + right: 0px; + transform-origin: 100% 0; + transform: translate(calc(-1 * var(--ck-spacing-medium)), -6px) scale(.75); + } + + pointer-events: none; + + background: var(--ck-color-labeled-field-label-background); + padding: 0 calc(.5 * var(--ck-font-size-tiny)); + line-height: initial; + font-weight: normal; + + /* Prevent overflow when the label is longer than the input */ + text-overflow: ellipsis; + overflow: hidden; + + max-width: 100%; + + transition: + transform var(--ck-labeled-field-view-transition), + padding var(--ck-labeled-field-view-transition), + background var(--ck-labeled-field-view-transition); + } + } + + &.ck-error { + & > .ck.ck-labeled-field-view__input-wrapper > .ck.ck-label { + color: var(--ck-color-base-error); + } + + & .ck-input:not([readonly]) + .ck.ck-label { + color: var(--ck-color-base-error); + } + } + + & .ck-labeled-field-view__status { + font-size: var(--ck-font-size-small); + margin-top: var(--ck-spacing-small); + + /* Let the info wrap to the next line to avoid stretching the layout horizontally. + The status could be very long. */ + white-space: normal; + + &.ck-labeled-field-view__status_error { + color: var(--ck-color-base-error); + } + } + + /* Disabled fields and fields that have no focus should fade out. */ + &.ck-disabled > .ck.ck-labeled-field-view__input-wrapper > .ck.ck-label, + &.ck-labeled-field-view_empty:not(.ck-labeled-field-view_focused) > .ck.ck-labeled-field-view__input-wrapper > .ck.ck-label { + color: var(--ck-color-input-disabled-text); + } + + /* Fields that are disabled or not focused and without a placeholder should have full-sized labels. */ + /* stylelint-disable-next-line no-descending-specificity */ + &.ck-disabled.ck-labeled-field-view_empty:not(.ck-labeled-field-view_placeholder) > .ck.ck-labeled-field-view__input-wrapper > .ck.ck-label, + &.ck-labeled-field-view_empty:not(.ck-labeled-field-view_focused):not(.ck-labeled-field-view_placeholder) > .ck.ck-labeled-field-view__input-wrapper > .ck.ck-label { + @mixin ck-dir ltr { + transform: translate(var(--ck-labeled-field-label-default-position-x), var(--ck-labeled-field-label-default-position-y)) scale(1); + } + + @mixin ck-dir rtl { + transform: translate(calc(-1 * var(--ck-labeled-field-label-default-position-x)), var(--ck-labeled-field-label-default-position-y)) scale(1); + } + + /* Compensate for the default translate position. */ + max-width: calc(var(--ck-labeled-field-empty-unfocused-max-width)); + + background: transparent; + padding: 0; + } + + /*------ DropdownView integration ----------------------------------------------------------------------------------- */ + + /* Make sure dropdown' background color in any of dropdown's state does not collide with labeled field. */ + & > .ck.ck-labeled-field-view__input-wrapper > .ck-dropdown > .ck.ck-button { + background: transparent; + } + + /* When the dropdown is "empty", the labeled field label replaces its label. */ + &.ck-labeled-field-view_empty > .ck.ck-labeled-field-view__input-wrapper > .ck-dropdown > .ck-button > .ck-button__label { + opacity: 0; + } + + /* Make sure the label of the empty, unfocused input does not cover the dropdown arrow. */ + &.ck-labeled-field-view_empty:not(.ck-labeled-field-view_focused):not(.ck-labeled-field-view_placeholder) > .ck.ck-labeled-field-view__input-wrapper > .ck-dropdown + .ck-label { + max-width: calc(var(--ck-labeled-field-empty-unfocused-max-width) - var(--ck-dropdown-arrow-size) - var(--ck-spacing-standard)); + } +} +`,`/* + * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved. + * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license + */ + +/** + * Implements rounded corner interface for .ck-rounded-corners class. + * + * @see $ck-border-radius + */ +@define-mixin ck-rounded-corners { + border-radius: 0; + + @nest .ck-rounded-corners &, + &.ck-rounded-corners { + border-radius: var(--ck-border-radius); + @mixin-content; + } +} +`],sourceRoot:""}]);const m=g},179:(_,x,h)=>{h.d(x,{Z:()=>m});var y=h(4015),E=h.n(y),k=h(3645),D=h.n(k),g=D()(E());g.push([_.id,".ck.ck-list{display:flex;flex-direction:column;-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none;user-select:none}.ck.ck-list .ck-list__item,.ck.ck-list .ck-list__separator{display:block}.ck.ck-list .ck-list__item>:focus{position:relative;z-index:var(--ck-z-default)}:root{--ck-list-button-padding:calc(var(--ck-line-height-base)*0.2*var(--ck-font-size-base)) calc(var(--ck-line-height-base)*0.4*var(--ck-font-size-base))}.ck.ck-list{border-radius:0}.ck-rounded-corners .ck.ck-list,.ck.ck-list.ck-rounded-corners{border-radius:var(--ck-border-radius)}.ck.ck-list{background:var(--ck-color-list-background);list-style-type:none}.ck.ck-list__item{cursor:default;min-width:12em}.ck.ck-list__item .ck-button{border-radius:0;min-height:unset;width:100%}[dir=ltr] .ck.ck-list__item .ck-button{text-align:left}[dir=rtl] .ck.ck-list__item .ck-button{text-align:right}.ck.ck-list__item .ck-button{padding:var(--ck-list-button-padding)}.ck.ck-list__item .ck-button .ck-button__label{line-height:calc(var(--ck-line-height-base)*1.2*var(--ck-font-size-base))}.ck.ck-list__item .ck-button:active{box-shadow:none}.ck.ck-list__item .ck-button.ck-on{background:var(--ck-color-list-button-on-background);color:var(--ck-color-list-button-on-text)}.ck.ck-list__item .ck-button.ck-on:active{box-shadow:none}.ck.ck-list__item .ck-button.ck-on:hover:not(.ck-disabled){background:var(--ck-color-list-button-on-background-focus)}.ck.ck-list__item .ck-button.ck-on:focus:not(.ck-switchbutton):not(.ck-disabled){border-color:var(--ck-color-base-background)}.ck.ck-list__item .ck-button:hover:not(.ck-disabled){background:var(--ck-color-list-button-hover-background)}.ck.ck-list__item .ck-switchbutton.ck-on{background:var(--ck-color-list-background);color:inherit}.ck.ck-list__item .ck-switchbutton.ck-on:hover:not(.ck-disabled){background:var(--ck-color-list-button-hover-background);color:inherit}.ck-list .ck-list__group{padding-top:var(--ck-spacing-medium);:not(.ck-hidden)~&{border-top:1px solid var(--ck-color-base-border)}}.ck-list .ck-list__group>.ck-label{font-size:11px;font-weight:700;padding:var(--ck-spacing-medium) var(--ck-spacing-medium) 0 var(--ck-spacing-medium)}.ck.ck-list__separator{background:var(--ck-color-base-border);height:1px;width:100%}","",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-ui/theme/components/list/list.css","webpack://./node_modules/@ckeditor/ckeditor5-ui/theme/mixins/_unselectable.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-ui/components/list/list.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/mixins/_rounded.css"],names:[],mappings:"AAOA,YAGC,YAAa,CACb,qBAAsB,CCFtB,qBAAsB,CACtB,wBAAyB,CACzB,oBAAqB,CACrB,gBDaD,CAZC,2DAEC,aACD,CAKA,kCACC,iBAAkB,CAClB,2BACD,CEdD,MACC,oJAGD,CAEA,YCLC,eDUD,CALA,+DCDE,qCDMF,CALA,YAIC,0CAA2C,CAD3C,oBAED,CAEA,kBACC,cAAe,CACf,cAgED,CA9DC,6BAGC,eAAgB,CAFhB,gBAAiB,CACjB,UA6CD,CA/CA,uCAME,eAyCF,CA/CA,uCAUE,gBAqCF,CA/CA,6BAgBC,qCA+BD,CA7BC,+CAEC,yEACD,CAEA,oCACC,eACD,CAEA,mCACC,oDAAqD,CACrD,yCAaD,CAXC,0CACC,eACD,CAEA,2DACC,0DACD,CAEA,iFACC,4CACD,CAGD,qDACC,uDACD,CAMA,yCACC,0CAA2C,CAC3C,aAMD,CAJC,iEACC,uDAAwD,CACxD,aACD,CAKH,yBACC,oCAAqC,CAGrC,mBACC,gDACD,CAOD,CALC,mCACC,cAAe,CACf,eAAiB,CACjB,oFACD,CAGD,uBAGC,sCAAuC,CAFvC,UAAW,CACX,UAED",sourcesContent:[`/* + * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved. + * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license + */ + +@import "../../mixins/_unselectable.css"; + +.ck.ck-list { + @mixin ck-unselectable; + + display: flex; + flex-direction: column; + + & .ck-list__item, + & .ck-list__separator { + display: block; + } + + /* Make sure that whatever child of the list item gets focus, it remains on the + top. Thanks to that, styles like box-shadow, outline, etc. are not masked by + adjacent list items. */ + & .ck-list__item > *:focus { + position: relative; + z-index: var(--ck-z-default); + } +} +`,`/* + * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved. + * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license + */ + +/** + * Makes element unselectable. + */ +@define-mixin ck-unselectable { + -moz-user-select: none; + -webkit-user-select: none; + -ms-user-select: none; + user-select: none +} +`,`/* + * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved. + * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license + */ + +@import "../../../mixins/_disabled.css"; +@import "../../../mixins/_rounded.css"; +@import "../../../mixins/_shadow.css"; +@import "@ckeditor/ckeditor5-ui/theme/mixins/_dir.css"; + +:root { + --ck-list-button-padding: + calc(.2 * var(--ck-line-height-base) * var(--ck-font-size-base)) + calc(.4 * var(--ck-line-height-base) * var(--ck-font-size-base)); +} + +.ck.ck-list { + @mixin ck-rounded-corners; + + list-style-type: none; + background: var(--ck-color-list-background); +} + +.ck.ck-list__item { + cursor: default; + min-width: 12em; + + & .ck-button { + min-height: unset; + width: 100%; + border-radius: 0; + + @mixin ck-dir ltr { + text-align: left; + } + + @mixin ck-dir rtl { + text-align: right; + } + + /* List items should have the same height. Use absolute units to make sure it is so + because e.g. different heading styles may have different height + https://github.com/ckeditor/ckeditor5-heading/issues/63 */ + padding: var(--ck-list-button-padding); + + & .ck-button__label { + /* https://github.com/ckeditor/ckeditor5-heading/issues/63 */ + line-height: calc(1.2 * var(--ck-line-height-base) * var(--ck-font-size-base)); + } + + &:active { + box-shadow: none; + } + + &.ck-on { + background: var(--ck-color-list-button-on-background); + color: var(--ck-color-list-button-on-text); + + &:active { + box-shadow: none; + } + + &:hover:not(.ck-disabled) { + background: var(--ck-color-list-button-on-background-focus); + } + + &:focus:not(.ck-switchbutton):not(.ck-disabled) { + border-color: var(--ck-color-base-background); + } + } + + &:hover:not(.ck-disabled) { + background: var(--ck-color-list-button-hover-background); + } + } + + /* It's unnecessary to change the background/text of a switch toggle; it has different ways + of conveying its state (like the switcher) */ + & .ck-switchbutton { + &.ck-on { + background: var(--ck-color-list-background); + color: inherit; + + &:hover:not(.ck-disabled) { + background: var(--ck-color-list-button-hover-background); + color: inherit; + } + } + } +} + +.ck-list .ck-list__group { + padding-top: var(--ck-spacing-medium); + + /* The group should have a border when it's not the first item. */ + *:not(.ck-hidden) ~ & { + border-top: 1px solid var(--ck-color-base-border); + } + + & > .ck-label { + font-size: 11px; + font-weight: bold; + padding: var(--ck-spacing-medium) var(--ck-spacing-medium) 0 var(--ck-spacing-medium); + } +} + +.ck.ck-list__separator { + height: 1px; + width: 100%; + background: var(--ck-color-base-border); +} +`,`/* + * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved. + * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license + */ + +/** + * Implements rounded corner interface for .ck-rounded-corners class. + * + * @see $ck-border-radius + */ +@define-mixin ck-rounded-corners { + border-radius: 0; + + @nest .ck-rounded-corners &, + &.ck-rounded-corners { + border-radius: var(--ck-border-radius); + @mixin-content; + } +} +`],sourceRoot:""}]);const m=g},4460:(_,x,h)=>{h.d(x,{Z:()=>m});var y=h(4015),E=h.n(y),k=h(3645),D=h.n(k),g=D()(E());g.push([_.id,':root{--ck-balloon-panel-arrow-z-index:calc(var(--ck-z-default) - 3)}.ck.ck-balloon-panel{display:none;position:absolute;z-index:var(--ck-z-modal)}.ck.ck-balloon-panel.ck-balloon-panel_with-arrow:after,.ck.ck-balloon-panel.ck-balloon-panel_with-arrow:before{content:"";position:absolute}.ck.ck-balloon-panel.ck-balloon-panel_with-arrow:before{z-index:var(--ck-balloon-panel-arrow-z-index)}.ck.ck-balloon-panel.ck-balloon-panel_with-arrow:after{z-index:calc(var(--ck-balloon-panel-arrow-z-index) + 1)}.ck.ck-balloon-panel[class*=arrow_n]:before{z-index:var(--ck-balloon-panel-arrow-z-index)}.ck.ck-balloon-panel[class*=arrow_n]:after{z-index:calc(var(--ck-balloon-panel-arrow-z-index) + 1)}.ck.ck-balloon-panel[class*=arrow_s]:before{z-index:var(--ck-balloon-panel-arrow-z-index)}.ck.ck-balloon-panel[class*=arrow_s]:after{z-index:calc(var(--ck-balloon-panel-arrow-z-index) + 1)}.ck.ck-balloon-panel.ck-balloon-panel_visible{display:block}:root{--ck-balloon-border-width:1px;--ck-balloon-arrow-offset:2px;--ck-balloon-arrow-height:10px;--ck-balloon-arrow-half-width:8px;--ck-balloon-arrow-drop-shadow:0 2px 2px var(--ck-color-shadow-drop)}.ck.ck-balloon-panel{border-radius:0}.ck-rounded-corners .ck.ck-balloon-panel,.ck.ck-balloon-panel.ck-rounded-corners{border-radius:var(--ck-border-radius)}.ck.ck-balloon-panel{background:var(--ck-color-panel-background);border:var(--ck-balloon-border-width) solid var(--ck-color-panel-border);box-shadow:var(--ck-drop-shadow),0 0;min-height:15px}.ck.ck-balloon-panel.ck-balloon-panel_with-arrow:after,.ck.ck-balloon-panel.ck-balloon-panel_with-arrow:before{border-style:solid;height:0;width:0}.ck.ck-balloon-panel[class*=arrow_n]:after,.ck.ck-balloon-panel[class*=arrow_n]:before{border-width:0 var(--ck-balloon-arrow-half-width) var(--ck-balloon-arrow-height) var(--ck-balloon-arrow-half-width)}.ck.ck-balloon-panel[class*=arrow_n]:before{border-color:transparent transparent var(--ck-color-panel-border) transparent;margin-top:calc(var(--ck-balloon-border-width)*-1)}.ck.ck-balloon-panel[class*=arrow_n]:after{border-color:transparent transparent var(--ck-color-panel-background) transparent;margin-top:calc(var(--ck-balloon-arrow-offset) - var(--ck-balloon-border-width))}.ck.ck-balloon-panel[class*=arrow_s]:after,.ck.ck-balloon-panel[class*=arrow_s]:before{border-width:var(--ck-balloon-arrow-height) var(--ck-balloon-arrow-half-width) 0 var(--ck-balloon-arrow-half-width)}.ck.ck-balloon-panel[class*=arrow_s]:before{border-color:var(--ck-color-panel-border) transparent transparent;filter:drop-shadow(var(--ck-balloon-arrow-drop-shadow));margin-bottom:calc(var(--ck-balloon-border-width)*-1)}.ck.ck-balloon-panel[class*=arrow_s]:after{border-color:var(--ck-color-panel-background) transparent transparent transparent;margin-bottom:calc(var(--ck-balloon-arrow-offset) - var(--ck-balloon-border-width))}.ck.ck-balloon-panel[class*=arrow_e]:after,.ck.ck-balloon-panel[class*=arrow_e]:before{border-width:var(--ck-balloon-arrow-half-width) 0 var(--ck-balloon-arrow-half-width) var(--ck-balloon-arrow-height)}.ck.ck-balloon-panel[class*=arrow_e]:before{border-color:transparent transparent transparent var(--ck-color-panel-border);margin-right:calc(var(--ck-balloon-border-width)*-1)}.ck.ck-balloon-panel[class*=arrow_e]:after{border-color:transparent transparent transparent var(--ck-color-panel-background);margin-right:calc(var(--ck-balloon-arrow-offset) - var(--ck-balloon-border-width))}.ck.ck-balloon-panel[class*=arrow_w]:after,.ck.ck-balloon-panel[class*=arrow_w]:before{border-width:var(--ck-balloon-arrow-half-width) var(--ck-balloon-arrow-height) var(--ck-balloon-arrow-half-width) 0}.ck.ck-balloon-panel[class*=arrow_w]:before{border-color:transparent var(--ck-color-panel-border) transparent transparent;margin-left:calc(var(--ck-balloon-border-width)*-1)}.ck.ck-balloon-panel[class*=arrow_w]:after{border-color:transparent var(--ck-color-panel-background) transparent transparent;margin-left:calc(var(--ck-balloon-arrow-offset) - var(--ck-balloon-border-width))}.ck.ck-balloon-panel.ck-balloon-panel_arrow_n:after,.ck.ck-balloon-panel.ck-balloon-panel_arrow_n:before{left:50%;margin-left:calc(var(--ck-balloon-arrow-half-width)*-1);top:calc(var(--ck-balloon-arrow-height)*-1)}.ck.ck-balloon-panel.ck-balloon-panel_arrow_nw:after,.ck.ck-balloon-panel.ck-balloon-panel_arrow_nw:before{left:calc(var(--ck-balloon-arrow-half-width)*2);top:calc(var(--ck-balloon-arrow-height)*-1)}.ck.ck-balloon-panel.ck-balloon-panel_arrow_ne:after,.ck.ck-balloon-panel.ck-balloon-panel_arrow_ne:before{right:calc(var(--ck-balloon-arrow-half-width)*2);top:calc(var(--ck-balloon-arrow-height)*-1)}.ck.ck-balloon-panel.ck-balloon-panel_arrow_s:after,.ck.ck-balloon-panel.ck-balloon-panel_arrow_s:before{bottom:calc(var(--ck-balloon-arrow-height)*-1);left:50%;margin-left:calc(var(--ck-balloon-arrow-half-width)*-1)}.ck.ck-balloon-panel.ck-balloon-panel_arrow_sw:after,.ck.ck-balloon-panel.ck-balloon-panel_arrow_sw:before{bottom:calc(var(--ck-balloon-arrow-height)*-1);left:calc(var(--ck-balloon-arrow-half-width)*2)}.ck.ck-balloon-panel.ck-balloon-panel_arrow_se:after,.ck.ck-balloon-panel.ck-balloon-panel_arrow_se:before{bottom:calc(var(--ck-balloon-arrow-height)*-1);right:calc(var(--ck-balloon-arrow-half-width)*2)}.ck.ck-balloon-panel.ck-balloon-panel_arrow_sme:after,.ck.ck-balloon-panel.ck-balloon-panel_arrow_sme:before{bottom:calc(var(--ck-balloon-arrow-height)*-1);margin-right:calc(var(--ck-balloon-arrow-half-width)*2);right:25%}.ck.ck-balloon-panel.ck-balloon-panel_arrow_smw:after,.ck.ck-balloon-panel.ck-balloon-panel_arrow_smw:before{bottom:calc(var(--ck-balloon-arrow-height)*-1);left:25%;margin-left:calc(var(--ck-balloon-arrow-half-width)*2)}.ck.ck-balloon-panel.ck-balloon-panel_arrow_nme:after,.ck.ck-balloon-panel.ck-balloon-panel_arrow_nme:before{margin-right:calc(var(--ck-balloon-arrow-half-width)*2);right:25%;top:calc(var(--ck-balloon-arrow-height)*-1)}.ck.ck-balloon-panel.ck-balloon-panel_arrow_nmw:after,.ck.ck-balloon-panel.ck-balloon-panel_arrow_nmw:before{left:25%;margin-left:calc(var(--ck-balloon-arrow-half-width)*2);top:calc(var(--ck-balloon-arrow-height)*-1)}.ck.ck-balloon-panel.ck-balloon-panel_arrow_e:after,.ck.ck-balloon-panel.ck-balloon-panel_arrow_e:before{margin-top:calc(var(--ck-balloon-arrow-half-width)*-1);right:calc(var(--ck-balloon-arrow-height)*-1);top:50%}.ck.ck-balloon-panel.ck-balloon-panel_arrow_w:after,.ck.ck-balloon-panel.ck-balloon-panel_arrow_w:before{left:calc(var(--ck-balloon-arrow-height)*-1);margin-top:calc(var(--ck-balloon-arrow-half-width)*-1);top:50%}',"",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-ui/theme/components/panel/balloonpanel.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-ui/components/panel/balloonpanel.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/mixins/_rounded.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/mixins/_shadow.css"],names:[],mappings:"AAKA,MAEC,8DACD,CAEA,qBACC,YAAa,CACb,iBAAkB,CAElB,yBAyCD,CAtCE,+GAEC,UAAW,CACX,iBACD,CAEA,wDACC,6CACD,CAEA,uDACC,uDACD,CAIA,4CACC,6CACD,CAEA,2CACC,uDACD,CAIA,4CACC,6CACD,CAEA,2CACC,uDACD,CAGD,8CACC,aACD,CC9CD,MACC,6BAA8B,CAC9B,6BAA8B,CAC9B,8BAA+B,CAC/B,iCAAkC,CAClC,oEACD,CAEA,qBCLC,eDmMD,CA9LA,iFCDE,qCD+LF,CA9LA,qBAMC,2CAA4C,CAC5C,wEAAyE,CEdzE,oCAA8B,CFW9B,eA0LD,CApLE,+GAIC,kBAAmB,CADnB,QAAS,CADT,OAGD,CAIA,uFAEC,mHACD,CAEA,4CACC,6EAA8E,CAC9E,kDACD,CAEA,2CACC,iFAAkF,CAClF,gFACD,CAIA,uFAEC,mHACD,CAEA,4CACC,iEAAkE,CAClE,uDAAwD,CACxD,qDACD,CAEA,2CACC,iFAAkF,CAClF,mFACD,CAIA,uFAEC,mHACD,CAEA,4CACC,6EAA8E,CAC9E,oDACD,CAEA,2CACC,iFAAkF,CAClF,kFACD,CAIA,uFAEC,mHACD,CAEA,4CACC,6EAA8E,CAC9E,mDACD,CAEA,2CACC,iFAAkF,CAClF,iFACD,CAIA,yGAEC,QAAS,CACT,uDAA0D,CAC1D,2CACD,CAIA,2GAEC,+CAAkD,CAClD,2CACD,CAIA,2GAEC,gDAAmD,CACnD,2CACD,CAIA,yGAIC,8CAAiD,CAFjD,QAAS,CACT,uDAED,CAIA,2GAGC,8CAAiD,CADjD,+CAED,CAIA,2GAGC,8CAAiD,CADjD,gDAED,CAIA,6GAIC,8CAAiD,CADjD,uDAA0D,CAD1D,SAGD,CAIA,6GAIC,8CAAiD,CAFjD,QAAS,CACT,sDAED,CAIA,6GAGC,uDAA0D,CAD1D,SAAU,CAEV,2CACD,CAIA,6GAEC,QAAS,CACT,sDAAyD,CACzD,2CACD,CAIA,yGAGC,sDAAyD,CADzD,6CAAgD,CAEhD,OACD,CAIA,yGAEC,4CAA+C,CAC/C,sDAAyD,CACzD,OACD",sourcesContent:[`/* + * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved. + * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license + */ + +:root { + /* Make sure the balloon arrow does not float over its children. */ + --ck-balloon-panel-arrow-z-index: calc(var(--ck-z-default) - 3); +} + +.ck.ck-balloon-panel { + display: none; + position: absolute; + + z-index: var(--ck-z-modal); + + &.ck-balloon-panel_with-arrow { + &::before, + &::after { + content: ""; + position: absolute; + } + + &::before { + z-index: var(--ck-balloon-panel-arrow-z-index); + } + + &::after { + z-index: calc(var(--ck-balloon-panel-arrow-z-index) + 1); + } + } + + &[class*="arrow_n"] { + &::before { + z-index: var(--ck-balloon-panel-arrow-z-index); + } + + &::after { + z-index: calc(var(--ck-balloon-panel-arrow-z-index) + 1); + } + } + + &[class*="arrow_s"] { + &::before { + z-index: var(--ck-balloon-panel-arrow-z-index); + } + + &::after { + z-index: calc(var(--ck-balloon-panel-arrow-z-index) + 1); + } + } + + &.ck-balloon-panel_visible { + display: block; + } +} +`,`/* + * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved. + * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license + */ + +@import "../../../mixins/_rounded.css"; +@import "../../../mixins/_shadow.css"; + +:root { + --ck-balloon-border-width: 1px; + --ck-balloon-arrow-offset: 2px; + --ck-balloon-arrow-height: 10px; + --ck-balloon-arrow-half-width: 8px; + --ck-balloon-arrow-drop-shadow: 0 2px 2px var(--ck-color-shadow-drop); +} + +.ck.ck-balloon-panel { + @mixin ck-rounded-corners; + @mixin ck-drop-shadow; + + min-height: 15px; + + background: var(--ck-color-panel-background); + border: var(--ck-balloon-border-width) solid var(--ck-color-panel-border); + + &.ck-balloon-panel_with-arrow { + &::before, + &::after { + width: 0; + height: 0; + border-style: solid; + } + } + + &[class*="arrow_n"] { + &::before, + &::after { + border-width: 0 var(--ck-balloon-arrow-half-width) var(--ck-balloon-arrow-height) var(--ck-balloon-arrow-half-width); + } + + &::before { + border-color: transparent transparent var(--ck-color-panel-border) transparent; + margin-top: calc( -1 * var(--ck-balloon-border-width) ); + } + + &::after { + border-color: transparent transparent var(--ck-color-panel-background) transparent; + margin-top: calc( var(--ck-balloon-arrow-offset) - var(--ck-balloon-border-width) ); + } + } + + &[class*="arrow_s"] { + &::before, + &::after { + border-width: var(--ck-balloon-arrow-height) var(--ck-balloon-arrow-half-width) 0 var(--ck-balloon-arrow-half-width); + } + + &::before { + border-color: var(--ck-color-panel-border) transparent transparent; + filter: drop-shadow(var(--ck-balloon-arrow-drop-shadow)); + margin-bottom: calc( -1 * var(--ck-balloon-border-width) ); + } + + &::after { + border-color: var(--ck-color-panel-background) transparent transparent transparent; + margin-bottom: calc( var(--ck-balloon-arrow-offset) - var(--ck-balloon-border-width) ); + } + } + + &[class*="arrow_e"] { + &::before, + &::after { + border-width: var(--ck-balloon-arrow-half-width) 0 var(--ck-balloon-arrow-half-width) var(--ck-balloon-arrow-height); + } + + &::before { + border-color: transparent transparent transparent var(--ck-color-panel-border); + margin-right: calc( -1 * var(--ck-balloon-border-width) ); + } + + &::after { + border-color: transparent transparent transparent var(--ck-color-panel-background); + margin-right: calc( var(--ck-balloon-arrow-offset) - var(--ck-balloon-border-width) ); + } + } + + &[class*="arrow_w"] { + &::before, + &::after { + border-width: var(--ck-balloon-arrow-half-width) var(--ck-balloon-arrow-height) var(--ck-balloon-arrow-half-width) 0; + } + + &::before { + border-color: transparent var(--ck-color-panel-border) transparent transparent; + margin-left: calc( -1 * var(--ck-balloon-border-width) ); + } + + &::after { + border-color: transparent var(--ck-color-panel-background) transparent transparent; + margin-left: calc( var(--ck-balloon-arrow-offset) - var(--ck-balloon-border-width) ); + } + } + + &.ck-balloon-panel_arrow_n { + &::before, + &::after { + left: 50%; + margin-left: calc(-1 * var(--ck-balloon-arrow-half-width)); + top: calc(-1 * var(--ck-balloon-arrow-height)); + } + } + + &.ck-balloon-panel_arrow_nw { + &::before, + &::after { + left: calc(2 * var(--ck-balloon-arrow-half-width)); + top: calc(-1 * var(--ck-balloon-arrow-height)); + } + } + + &.ck-balloon-panel_arrow_ne { + &::before, + &::after { + right: calc(2 * var(--ck-balloon-arrow-half-width)); + top: calc(-1 * var(--ck-balloon-arrow-height)); + } + } + + &.ck-balloon-panel_arrow_s { + &::before, + &::after { + left: 50%; + margin-left: calc(-1 * var(--ck-balloon-arrow-half-width)); + bottom: calc(-1 * var(--ck-balloon-arrow-height)); + } + } + + &.ck-balloon-panel_arrow_sw { + &::before, + &::after { + left: calc(2 * var(--ck-balloon-arrow-half-width)); + bottom: calc(-1 * var(--ck-balloon-arrow-height)); + } + } + + &.ck-balloon-panel_arrow_se { + &::before, + &::after { + right: calc(2 * var(--ck-balloon-arrow-half-width)); + bottom: calc(-1 * var(--ck-balloon-arrow-height)); + } + } + + &.ck-balloon-panel_arrow_sme { + &::before, + &::after { + right: 25%; + margin-right: calc(2 * var(--ck-balloon-arrow-half-width)); + bottom: calc(-1 * var(--ck-balloon-arrow-height)); + } + } + + &.ck-balloon-panel_arrow_smw { + &::before, + &::after { + left: 25%; + margin-left: calc(2 * var(--ck-balloon-arrow-half-width)); + bottom: calc(-1 * var(--ck-balloon-arrow-height)); + } + } + + &.ck-balloon-panel_arrow_nme { + &::before, + &::after { + right: 25%; + margin-right: calc(2 * var(--ck-balloon-arrow-half-width)); + top: calc(-1 * var(--ck-balloon-arrow-height)); + } + } + + &.ck-balloon-panel_arrow_nmw { + &::before, + &::after { + left: 25%; + margin-left: calc(2 * var(--ck-balloon-arrow-half-width)); + top: calc(-1 * var(--ck-balloon-arrow-height)); + } + } + + &.ck-balloon-panel_arrow_e { + &::before, + &::after { + right: calc(-1 * var(--ck-balloon-arrow-height)); + margin-top: calc(-1 * var(--ck-balloon-arrow-half-width)); + top: 50%; + } + } + + &.ck-balloon-panel_arrow_w { + &::before, + &::after { + left: calc(-1 * var(--ck-balloon-arrow-height)); + margin-top: calc(-1 * var(--ck-balloon-arrow-half-width)); + top: 50%; + } + } +} +`,`/* + * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved. + * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license + */ + +/** + * Implements rounded corner interface for .ck-rounded-corners class. + * + * @see $ck-border-radius + */ +@define-mixin ck-rounded-corners { + border-radius: 0; + + @nest .ck-rounded-corners &, + &.ck-rounded-corners { + border-radius: var(--ck-border-radius); + @mixin-content; + } +} +`,`/* + * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved. + * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license + */ + +/** + * A helper to combine multiple shadows. + */ +@define-mixin ck-box-shadow $shadowA, $shadowB: 0 0 { + box-shadow: $shadowA, $shadowB; +} + +/** + * Gives an element a drop shadow so it looks like a floating panel. + */ +@define-mixin ck-drop-shadow { + @mixin ck-box-shadow var(--ck-drop-shadow); +} +`],sourceRoot:""}]);const m=g},7592:(_,x,h)=>{h.d(x,{Z:()=>m});var y=h(4015),E=h.n(y),k=h(3645),D=h.n(k),g=D()(E());g.push([_.id,".ck .ck-balloon-rotator__navigation{align-items:center;display:flex;justify-content:center}.ck .ck-balloon-rotator__content .ck-toolbar{justify-content:center}.ck .ck-balloon-rotator__navigation{background:var(--ck-color-toolbar-background);border-bottom:1px solid var(--ck-color-toolbar-border);padding:0 var(--ck-spacing-small)}.ck .ck-balloon-rotator__navigation>*{margin-bottom:var(--ck-spacing-small);margin-right:var(--ck-spacing-small);margin-top:var(--ck-spacing-small)}.ck .ck-balloon-rotator__navigation .ck-balloon-rotator__counter{margin-left:var(--ck-spacing-small);margin-right:var(--ck-spacing-standard)}.ck .ck-balloon-rotator__content .ck.ck-annotation-wrapper{box-shadow:none}","",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-ui/theme/components/panel/balloonrotator.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-ui/components/panel/balloonrotator.css"],names:[],mappings:"AAKA,oCAEC,kBAAmB,CADnB,YAAa,CAEb,sBACD,CAKA,6CACC,sBACD,CCXA,oCACC,6CAA8C,CAC9C,sDAAuD,CACvD,iCAgBD,CAbC,sCAGC,qCAAsC,CAFtC,oCAAqC,CACrC,kCAED,CAGA,iEAIC,mCAAoC,CAHpC,uCAID,CAMA,2DACC,eACD",sourcesContent:[`/* + * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved. + * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license + */ + +.ck .ck-balloon-rotator__navigation { + display: flex; + align-items: center; + justify-content: center; +} + +/* Buttons inside a toolbar should be centered when rotator bar is wider. + * See: https://github.com/ckeditor/ckeditor5-ui/issues/495 + */ +.ck .ck-balloon-rotator__content .ck-toolbar { + justify-content: center; +} +`,`/* + * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved. + * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license + */ + +.ck .ck-balloon-rotator__navigation { + background: var(--ck-color-toolbar-background); + border-bottom: 1px solid var(--ck-color-toolbar-border); + padding: 0 var(--ck-spacing-small); + + /* Let's keep similar appearance to \`ck-toolbar\`. */ + & > * { + margin-right: var(--ck-spacing-small); + margin-top: var(--ck-spacing-small); + margin-bottom: var(--ck-spacing-small); + } + + /* Gives counter more breath than buttons. */ + & .ck-balloon-rotator__counter { + margin-right: var(--ck-spacing-standard); + + /* We need to use smaller margin because of previous button's right margin. */ + margin-left: var(--ck-spacing-small); + } +} + +.ck .ck-balloon-rotator__content { + + /* Disable default annotation shadow inside rotator with fake panels. */ + & .ck.ck-annotation-wrapper { + box-shadow: none; + } +} +`],sourceRoot:""}]);const m=g},6356:(_,x,h)=>{h.d(x,{Z:()=>m});var y=h(4015),E=h.n(y),k=h(3645),D=h.n(k),g=D()(E());g.push([_.id,".ck .ck-fake-panel{position:absolute;z-index:calc(var(--ck-z-modal) - 1)}.ck .ck-fake-panel div{position:absolute}.ck .ck-fake-panel div:first-child{z-index:2}.ck .ck-fake-panel div:nth-child(2){z-index:1}:root{--ck-balloon-fake-panel-offset-horizontal:6px;--ck-balloon-fake-panel-offset-vertical:6px}.ck .ck-fake-panel div{background:var(--ck-color-panel-background);border:1px solid var(--ck-color-panel-border);border-radius:var(--ck-border-radius);box-shadow:var(--ck-drop-shadow),0 0;height:100%;min-height:15px;width:100%}.ck .ck-fake-panel div:first-child{margin-left:var(--ck-balloon-fake-panel-offset-horizontal);margin-top:var(--ck-balloon-fake-panel-offset-vertical)}.ck .ck-fake-panel div:nth-child(2){margin-left:calc(var(--ck-balloon-fake-panel-offset-horizontal)*2);margin-top:calc(var(--ck-balloon-fake-panel-offset-vertical)*2)}.ck .ck-fake-panel div:nth-child(3){margin-left:calc(var(--ck-balloon-fake-panel-offset-horizontal)*3);margin-top:calc(var(--ck-balloon-fake-panel-offset-vertical)*3)}.ck .ck-balloon-panel_arrow_s+.ck-fake-panel,.ck .ck-balloon-panel_arrow_se+.ck-fake-panel,.ck .ck-balloon-panel_arrow_sw+.ck-fake-panel{--ck-balloon-fake-panel-offset-vertical:-6px}","",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-ui/theme/components/panel/fakepanel.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-ui/components/panel/fakepanel.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/mixins/_shadow.css"],names:[],mappings:"AAKA,mBACC,iBAAkB,CAGlB,mCACD,CAEA,uBACC,iBACD,CAEA,mCACC,SACD,CAEA,oCACC,SACD,CCfA,MACC,6CAA8C,CAC9C,2CACD,CAGA,uBAKC,2CAA4C,CAC5C,6CAA8C,CAC9C,qCAAsC,CCXtC,oCAA8B,CDc9B,WAAY,CAPZ,eAAgB,CAMhB,UAED,CAEA,mCACC,0DAA2D,CAC3D,uDACD,CAEA,oCACC,kEAAqE,CACrE,+DACD,CACA,oCACC,kEAAqE,CACrE,+DACD,CAGA,yIAGC,4CACD",sourcesContent:[`/* + * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved. + * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license + */ + +.ck .ck-fake-panel { + position: absolute; + + /* Fake panels should be placed under main balloon content. */ + z-index: calc(var(--ck-z-modal) - 1); +} + +.ck .ck-fake-panel div { + position: absolute; +} + +.ck .ck-fake-panel div:nth-child( 1 ) { + z-index: 2; +} + +.ck .ck-fake-panel div:nth-child( 2 ) { + z-index: 1; +} +`,`/* + * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved. + * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license + */ + +@import "../../../mixins/_shadow.css"; + +:root { + --ck-balloon-fake-panel-offset-horizontal: 6px; + --ck-balloon-fake-panel-offset-vertical: 6px; +} + +/* Let's use \`.ck-balloon-panel\` appearance. See: balloonpanel.css. */ +.ck .ck-fake-panel div { + @mixin ck-drop-shadow; + + min-height: 15px; + + background: var(--ck-color-panel-background); + border: 1px solid var(--ck-color-panel-border); + border-radius: var(--ck-border-radius); + + width: 100%; + height: 100%; +} + +.ck .ck-fake-panel div:nth-child( 1 ) { + margin-left: var(--ck-balloon-fake-panel-offset-horizontal); + margin-top: var(--ck-balloon-fake-panel-offset-vertical); +} + +.ck .ck-fake-panel div:nth-child( 2 ) { + margin-left: calc(var(--ck-balloon-fake-panel-offset-horizontal) * 2); + margin-top: calc(var(--ck-balloon-fake-panel-offset-vertical) * 2); +} +.ck .ck-fake-panel div:nth-child( 3 ) { + margin-left: calc(var(--ck-balloon-fake-panel-offset-horizontal) * 3); + margin-top: calc(var(--ck-balloon-fake-panel-offset-vertical) * 3); +} + +/* If balloon is positioned above element, we need to move fake panel to the top. */ +.ck .ck-balloon-panel_arrow_s + .ck-fake-panel, +.ck .ck-balloon-panel_arrow_se + .ck-fake-panel, +.ck .ck-balloon-panel_arrow_sw + .ck-fake-panel { + --ck-balloon-fake-panel-offset-vertical: -6px; +} +`,`/* + * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved. + * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license + */ + +/** + * A helper to combine multiple shadows. + */ +@define-mixin ck-box-shadow $shadowA, $shadowB: 0 0 { + box-shadow: $shadowA, $shadowB; +} + +/** + * Gives an element a drop shadow so it looks like a floating panel. + */ +@define-mixin ck-drop-shadow { + @mixin ck-box-shadow var(--ck-drop-shadow); +} +`],sourceRoot:""}]);const m=g},3707:(_,x,h)=>{h.d(x,{Z:()=>m});var y=h(4015),E=h.n(y),k=h(3645),D=h.n(k),g=D()(E());g.push([_.id,".ck.ck-sticky-panel .ck-sticky-panel__content_sticky{position:fixed;top:0;z-index:var(--ck-z-modal)}.ck.ck-sticky-panel .ck-sticky-panel__content_sticky_bottom-limit{position:absolute;top:auto}.ck.ck-sticky-panel .ck-sticky-panel__content_sticky{border-top-left-radius:0;border-top-right-radius:0;border-width:0 1px 1px;box-shadow:var(--ck-drop-shadow),0 0}","",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-ui/theme/components/panel/stickypanel.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-ui/components/panel/stickypanel.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/mixins/_shadow.css"],names:[],mappings:"AAMC,qDAEC,cAAe,CACf,KAAM,CAFN,yBAGD,CAEA,kEAEC,iBAAkB,CADlB,QAED,CCPA,qDAIC,wBAAyB,CACzB,yBAA0B,CAF1B,sBAAuB,CCFxB,oCDKA",sourcesContent:[`/* + * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved. + * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license + */ + +.ck.ck-sticky-panel { + & .ck-sticky-panel__content_sticky { + z-index: var(--ck-z-modal); /* #315 */ + position: fixed; + top: 0; + } + + & .ck-sticky-panel__content_sticky_bottom-limit { + top: auto; + position: absolute; + } +} +`,`/* + * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved. + * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license + */ + +@import "../../../mixins/_shadow.css"; + +.ck.ck-sticky-panel { + & .ck-sticky-panel__content_sticky { + @mixin ck-drop-shadow; + + border-width: 0 1px 1px; + border-top-left-radius: 0; + border-top-right-radius: 0; + } +} +`,`/* + * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved. + * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license + */ + +/** + * A helper to combine multiple shadows. + */ +@define-mixin ck-box-shadow $shadowA, $shadowB: 0 0 { + box-shadow: $shadowA, $shadowB; +} + +/** + * Gives an element a drop shadow so it looks like a floating panel. + */ +@define-mixin ck-drop-shadow { + @mixin ck-box-shadow var(--ck-drop-shadow); +} +`],sourceRoot:""}]);const m=g},6603:(_,x,h)=>{h.d(x,{Z:()=>m});var y=h(4015),E=h.n(y),k=h(3645),D=h.n(k),g=D()(E());g.push([_.id,'.ck-vertical-form .ck-button:after{bottom:-1px;content:"";position:absolute;right:-1px;top:-1px;width:0;z-index:1}.ck-vertical-form .ck-button:focus:after{display:none}@media screen and (max-width:600px){.ck.ck-responsive-form .ck-button:after{bottom:-1px;content:"";position:absolute;right:-1px;top:-1px;width:0;z-index:1}.ck.ck-responsive-form .ck-button:focus:after{display:none}}.ck-vertical-form>.ck-button:nth-last-child(2):after{border-right:1px solid var(--ck-color-base-border)}.ck.ck-responsive-form{padding:var(--ck-spacing-large)}.ck.ck-responsive-form:focus{outline:none}[dir=ltr] .ck.ck-responsive-form>:not(:first-child),[dir=rtl] .ck.ck-responsive-form>:not(:last-child){margin-left:var(--ck-spacing-standard)}@media screen and (max-width:600px){.ck.ck-responsive-form{padding:0;width:calc(var(--ck-input-width)*.8)}.ck.ck-responsive-form .ck-labeled-field-view{margin:var(--ck-spacing-large) var(--ck-spacing-large) 0}.ck.ck-responsive-form .ck-labeled-field-view .ck-input-text{min-width:0;width:100%}.ck.ck-responsive-form .ck-labeled-field-view .ck-labeled-field-view__error{white-space:normal}.ck.ck-responsive-form>.ck-button:nth-last-child(2):after{border-right:1px solid var(--ck-color-base-border)}.ck.ck-responsive-form>.ck-button:last-child,.ck.ck-responsive-form>.ck-button:nth-last-child(2){border-radius:0;margin-top:var(--ck-spacing-large);padding:var(--ck-spacing-standard)}.ck.ck-responsive-form>.ck-button:last-child:not(:focus),.ck.ck-responsive-form>.ck-button:nth-last-child(2):not(:focus){border-top:1px solid var(--ck-color-base-border)}[dir=ltr] .ck.ck-responsive-form>.ck-button:last-child,[dir=ltr] .ck.ck-responsive-form>.ck-button:nth-last-child(2),[dir=rtl] .ck.ck-responsive-form>.ck-button:last-child,[dir=rtl] .ck.ck-responsive-form>.ck-button:nth-last-child(2){margin-left:0}[dir=rtl] .ck.ck-responsive-form>.ck-button:last-child:last-of-type,[dir=rtl] .ck.ck-responsive-form>.ck-button:nth-last-child(2):last-of-type{border-right:1px solid var(--ck-color-base-border)}}',"",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-ui/theme/components/responsive-form/responsiveform.css","webpack://./node_modules/@ckeditor/ckeditor5-ui/theme/mixins/_rwd.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-ui/components/responsive-form/responsiveform.css"],names:[],mappings:"AAQC,mCAMC,WAAY,CALZ,UAAW,CAEX,iBAAkB,CAClB,UAAW,CACX,QAAS,CAHT,OAAQ,CAKR,SACD,CAEA,yCACC,YACD,CCdA,oCDoBE,wCAMC,WAAY,CALZ,UAAW,CAEX,iBAAkB,CAClB,UAAW,CACX,QAAS,CAHT,OAAQ,CAKR,SACD,CAEA,8CACC,YACD,CC9BF,CCAD,qDACC,kDACD,CAEA,uBACC,+BAmED,CAjEC,6BAEC,YACD,CASC,uGACC,sCACD,CDvBD,oCCMD,uBAqBE,SAAU,CACV,oCA8CF,CA5CE,8CACC,wDAWD,CATC,6DACC,WAAY,CACZ,UACD,CAGA,4EACC,kBACD,CAKA,0DACC,kDACD,CAGD,iGAIC,eAAgB,CADhB,kCAAmC,CADnC,kCAmBD,CAfC,yHACC,gDACD,CARD,0OAeE,aAMF,CAJE,+IACC,kDACD,CDpEH",sourcesContent:[`/* + * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved. + * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license + */ + +@import "@ckeditor/ckeditor5-ui/theme/mixins/_rwd.css"; + +.ck-vertical-form .ck-button { + &::after { + content: ""; + width: 0; + position: absolute; + right: -1px; + top: -1px; + bottom: -1px; + z-index: 1; + } + + &:focus::after { + display: none; + } +} + +.ck.ck-responsive-form { + @mixin ck-media-phone { + & .ck-button { + &::after { + content: ""; + width: 0; + position: absolute; + right: -1px; + top: -1px; + bottom: -1px; + z-index: 1; + } + + &:focus::after { + display: none; + } + } + } +} +`,`/* + * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved. + * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license + */ + +@define-mixin ck-media-phone { + @media screen and (max-width: 600px) { + @mixin-content; + } +} +`,`/* + * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved. + * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license + */ + +@import "@ckeditor/ckeditor5-ui/theme/mixins/_rwd.css"; +@import "@ckeditor/ckeditor5-ui/theme/mixins/_dir.css"; + +.ck-vertical-form > .ck-button:nth-last-child(2)::after { + border-right: 1px solid var(--ck-color-base-border); +} + +.ck.ck-responsive-form { + padding: var(--ck-spacing-large); + + &:focus { + /* See: https://github.com/ckeditor/ckeditor5/issues/4773 */ + outline: none; + } + + @mixin ck-dir ltr { + & > :not(:first-child) { + margin-left: var(--ck-spacing-standard); + } + } + + @mixin ck-dir rtl { + & > :not(:last-child) { + margin-left: var(--ck-spacing-standard); + } + } + + @mixin ck-media-phone { + padding: 0; + width: calc(.8 * var(--ck-input-width)); + + & .ck-labeled-field-view { + margin: var(--ck-spacing-large) var(--ck-spacing-large) 0; + + & .ck-input-text { + min-width: 0; + width: 100%; + } + + /* Let the long error messages wrap in the narrow form. */ + & .ck-labeled-field-view__error { + white-space: normal; + } + } + + /* Styles for two last buttons in the form (save&cancel, edit&unlink, etc.). */ + & > .ck-button:nth-last-child(2) { + &::after { + border-right: 1px solid var(--ck-color-base-border); + } + } + + & > .ck-button:nth-last-child(1), + & > .ck-button:nth-last-child(2) { + padding: var(--ck-spacing-standard); + margin-top: var(--ck-spacing-large); + border-radius: 0; + + &:not(:focus) { + border-top: 1px solid var(--ck-color-base-border); + } + + @mixin ck-dir ltr { + margin-left: 0; + } + + @mixin ck-dir rtl { + margin-left: 0; + + &:last-of-type { + border-right: 1px solid var(--ck-color-base-border); + } + } + } + } +} +`],sourceRoot:""}]);const m=g},9332:(_,x,h)=>{h.d(x,{Z:()=>m});var y=h(4015),E=h.n(y),k=h(3645),D=h.n(k),g=D()(E());g.push([_.id,".ck.ck-search>.ck-labeled-field-view>.ck-labeled-field-view__input-wrapper>.ck-icon{position:absolute;top:50%;transform:translateY(-50%)}[dir=ltr] .ck.ck-search>.ck-labeled-field-view>.ck-labeled-field-view__input-wrapper>.ck-icon{left:var(--ck-spacing-medium)}[dir=rtl] .ck.ck-search>.ck-labeled-field-view>.ck-labeled-field-view__input-wrapper>.ck-icon{right:var(--ck-spacing-medium)}.ck.ck-search>.ck-labeled-field-view .ck-search__reset{position:absolute;top:50%;transform:translateY(-50%)}.ck.ck-search>.ck-search__results>.ck-search__info>span:first-child{display:block}.ck.ck-search>.ck-search__results>.ck-search__info:not(.ck-hidden)~*{display:none}:root{--ck-search-field-view-horizontal-spacing:calc(var(--ck-icon-size) + var(--ck-spacing-medium))}.ck.ck-search>.ck-labeled-field-view .ck-input{width:100%}.ck.ck-search>.ck-labeled-field-view.ck-search__query_with-icon{--ck-labeled-field-label-default-position-x:var(--ck-search-field-view-horizontal-spacing)}.ck.ck-search>.ck-labeled-field-view.ck-search__query_with-icon>.ck-labeled-field-view__input-wrapper>.ck-icon{opacity:.5;pointer-events:none}.ck.ck-search>.ck-labeled-field-view.ck-search__query_with-icon .ck-input{width:100%}[dir=ltr] .ck.ck-search>.ck-labeled-field-view.ck-search__query_with-icon .ck-input,[dir=rtl] .ck.ck-search>.ck-labeled-field-view.ck-search__query_with-icon .ck-input:not(.ck-input-text_empty){padding-left:var(--ck-search-field-view-horizontal-spacing)}.ck.ck-search>.ck-labeled-field-view.ck-search__query_with-reset{--ck-labeled-field-empty-unfocused-max-width:100% - 2 * var(--ck-search-field-view-horizontal-spacing)}.ck.ck-search>.ck-labeled-field-view.ck-search__query_with-reset.ck-labeled-field-view_empty{--ck-labeled-field-empty-unfocused-max-width:100% - var(--ck-search-field-view-horizontal-spacing) - var(--ck-spacing-medium)}.ck.ck-search>.ck-labeled-field-view.ck-search__query_with-reset .ck-search__reset{background:none;min-height:auto;min-width:auto;opacity:.5;padding:0}[dir=ltr] .ck.ck-search>.ck-labeled-field-view.ck-search__query_with-reset .ck-search__reset{right:var(--ck-spacing-medium)}[dir=rtl] .ck.ck-search>.ck-labeled-field-view.ck-search__query_with-reset .ck-search__reset{left:var(--ck-spacing-medium)}.ck.ck-search>.ck-labeled-field-view.ck-search__query_with-reset .ck-search__reset:hover{opacity:1}.ck.ck-search>.ck-labeled-field-view.ck-search__query_with-reset .ck-input{width:100%}[dir=ltr] .ck.ck-search>.ck-labeled-field-view.ck-search__query_with-reset .ck-input:not(.ck-input-text_empty),[dir=rtl] .ck.ck-search>.ck-labeled-field-view.ck-search__query_with-reset .ck-input{padding-right:var(--ck-search-field-view-horizontal-spacing)}.ck.ck-search>.ck-search__results{min-width:100%}.ck.ck-search>.ck-search__results>.ck-search__info{padding:var(--ck-spacing-medium) var(--ck-spacing-large);width:100%}.ck.ck-search>.ck-search__results>.ck-search__info *{white-space:normal}.ck.ck-search>.ck-search__results>.ck-search__info>span:first-child{font-weight:700}.ck.ck-search>.ck-search__results>.ck-search__info>span:last-child{margin-top:var(--ck-spacing-medium)}","",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-ui/theme/components/search/search.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-ui/components/search/search.css"],names:[],mappings:"AASE,oFACC,iBAAkB,CAClB,OAAQ,CACR,0BASD,CAZA,8FAME,6BAMF,CAZA,8FAUE,8BAEF,CAEA,uDACC,iBAAkB,CAClB,OAAQ,CACR,0BACD,CAKC,oEACC,aACD,CAGA,qEACC,YACD,CChCH,MACC,8FACD,CAIE,+CACC,UACD,CAEA,gEACC,0FAoBD,CAlBC,+GACC,UAAW,CACX,mBACD,CAEA,0EACC,UAWD,CAJE,kMACC,2DACD,CAKH,iEACC,sGAwCD,CAtCC,6FACC,6HACD,CAEA,mFAIC,eAAgB,CAFhB,eAAgB,CADhB,cAAe,CAIf,UAAW,CACX,SAaD,CAnBA,6FASE,8BAUF,CAnBA,6FAaE,6BAMF,CAHC,yFACC,SACD,CAGD,2EACC,UAWD,CAZA,oMAUE,4DAEF,CAIF,kCACC,cAkBD,CAhBC,mDAEC,wDAAyD,CADzD,UAcD,CAXC,qDACC,kBACD,CAEA,oEACC,eACD,CAEA,mEACC,mCACD",sourcesContent:[`/* + * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved. + * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license + */ + +@import "@ckeditor/ckeditor5-ui/theme/mixins/_dir.css"; + +.ck.ck-search { + & > .ck-labeled-field-view { + & > .ck-labeled-field-view__input-wrapper > .ck-icon { + position: absolute; + top: 50%; + transform: translateY(-50%); + + @mixin ck-dir ltr { + left: var(--ck-spacing-medium); + } + + @mixin ck-dir rtl { + right: var(--ck-spacing-medium); + } + } + + & .ck-search__reset { + position: absolute; + top: 50%; + transform: translateY(-50%); + } + } + + & > .ck-search__results { + & > .ck-search__info { + & > span:first-child { + display: block; + } + + /* Hide the filtered view when nothing was found */ + &:not(.ck-hidden) ~ * { + display: none; + } + } + } +} +`,`/* + * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved. + * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license + */ + +@import "@ckeditor/ckeditor5-ui/theme/mixins/_dir.css"; + +:root { + --ck-search-field-view-horizontal-spacing: calc(var(--ck-icon-size) + var(--ck-spacing-medium)); +} + +.ck.ck-search { + & > .ck-labeled-field-view { + & .ck-input { + width: 100%; + } + + &.ck-search__query_with-icon { + --ck-labeled-field-label-default-position-x: var(--ck-search-field-view-horizontal-spacing); + + & > .ck-labeled-field-view__input-wrapper > .ck-icon { + opacity: .5; + pointer-events: none; + } + + & .ck-input { + width: 100%; + + @mixin ck-dir ltr { + padding-left: var(--ck-search-field-view-horizontal-spacing); + } + + @mixin ck-dir rtl { + &:not(.ck-input-text_empty) { + padding-left: var(--ck-search-field-view-horizontal-spacing); + } + } + } + } + + &.ck-search__query_with-reset { + --ck-labeled-field-empty-unfocused-max-width: 100% - 2 * var(--ck-search-field-view-horizontal-spacing); + + &.ck-labeled-field-view_empty { + --ck-labeled-field-empty-unfocused-max-width: 100% - var(--ck-search-field-view-horizontal-spacing) - var(--ck-spacing-medium); + } + + & .ck-search__reset { + min-width: auto; + min-height: auto; + + background: none; + opacity: .5; + padding: 0; + + @mixin ck-dir ltr { + right: var(--ck-spacing-medium); + } + + @mixin ck-dir rtl { + left: var(--ck-spacing-medium); + } + + &:hover { + opacity: 1; + } + } + + & .ck-input { + width: 100%; + + @mixin ck-dir ltr { + &:not(.ck-input-text_empty) { + padding-right: var(--ck-search-field-view-horizontal-spacing); + } + } + + @mixin ck-dir rtl { + padding-right: var(--ck-search-field-view-horizontal-spacing); + } + } + } + } + + & > .ck-search__results { + min-width: 100%; + + & > .ck-search__info { + width: 100%; + padding: var(--ck-spacing-medium) var(--ck-spacing-large); + + & * { + white-space: normal; + } + + & > span:first-child { + font-weight: bold; + } + + & > span:last-child { + margin-top: var(--ck-spacing-medium); + } + } + } +} + +`],sourceRoot:""}]);const m=g},6446:(_,x,h)=>{h.d(x,{Z:()=>m});var y=h(4015),E=h.n(y),k=h(3645),D=h.n(k),g=D()(E());g.push([_.id,".ck.ck-spinner-container{display:block;position:relative}.ck.ck-spinner{left:0;margin:0 auto;position:absolute;right:0;top:50%;transform:translateY(-50%);z-index:1}:root{--ck-toolbar-spinner-size:18px}.ck.ck-spinner-container{animation:rotate 1.5s linear infinite}.ck.ck-spinner,.ck.ck-spinner-container{height:var(--ck-toolbar-spinner-size);width:var(--ck-toolbar-spinner-size)}.ck.ck-spinner{border:2px solid var(--ck-color-text);border-radius:50%;border-top:2px solid transparent}@keyframes rotate{to{transform:rotate(1turn)}}","",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-ui/theme/components/spinner/spinner.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-ui/components/spinner/spinner.css"],names:[],mappings:"AASA,yBACC,aAAc,CACd,iBACD,CAEA,eAGC,MAAO,CAEP,aAAc,CAJd,iBAAkB,CAGlB,OAAQ,CAFR,OAAQ,CAIR,0BAA2B,CAC3B,SACD,CCjBA,MACC,8BACD,CAEA,yBAGC,qCACD,CAEA,wCAJC,qCAAsC,CADtC,oCAWD,CANA,eAKC,qCAA6B,CAF7B,iBAAkB,CAElB,gCACD,CAEA,kBACC,GACC,uBACD,CACD",sourcesContent:[`/* + * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved. + * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license + */ + +:root { + --ck-toolbar-spinner-size: 18px; +} + +.ck.ck-spinner-container { + display: block; + position: relative; +} + +.ck.ck-spinner { + position: absolute; + top: 50%; + left: 0; + right: 0; + margin: 0 auto; + transform: translateY(-50%); + z-index: 1; +} +`,`/* + * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved. + * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license + */ + +:root { + --ck-toolbar-spinner-size: 18px; +} + +.ck.ck-spinner-container { + width: var(--ck-toolbar-spinner-size); + height: var(--ck-toolbar-spinner-size); + animation: 1.5s infinite rotate linear; +} + +.ck.ck-spinner { + width: var(--ck-toolbar-spinner-size); + height: var(--ck-toolbar-spinner-size); + border-radius: 50%; + border: 2px solid var(--ck-color-text); + border-top-color: transparent; +} + +@keyframes rotate { + to { + transform: rotate(360deg) + } +} + +`],sourceRoot:""}]);const m=g},5224:(_,x,h)=>{h.d(x,{Z:()=>m});var y=h(4015),E=h.n(y),k=h(3645),D=h.n(k),g=D()(E());g.push([_.id,".ck-textarea{overflow-x:hidden}","",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-ui/components/textarea/textarea.css"],names:[],mappings:"AASA,aACC,iBACD",sourcesContent:[`/* + * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved. + * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license + */ + +/* + * This fixes a problem in Firefox when the initial height of the complement does not match the number of rows. + * This bug is especially visible when rows=1. + */ +.ck-textarea { + overflow-x: hidden +} +`],sourceRoot:""}]);const m=g},4176:(_,x,h)=>{h.d(x,{Z:()=>m});var y=h(4015),E=h.n(y),k=h(3645),D=h.n(k),g=D()(E());g.push([_.id,".ck.ck-block-toolbar-button{position:absolute;z-index:var(--ck-z-default)}:root{--ck-color-block-toolbar-button:var(--ck-color-text);--ck-block-toolbar-button-size:var(--ck-font-size-normal)}.ck.ck-block-toolbar-button{color:var(--ck-color-block-toolbar-button);font-size:var(--ck-block-toolbar-size)}","",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-ui/theme/components/toolbar/blocktoolbar.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-ui/components/toolbar/blocktoolbar.css"],names:[],mappings:"AAKA,4BACC,iBAAkB,CAClB,2BACD,CCHA,MACC,oDAAqD,CACrD,yDACD,CAEA,4BACC,0CAA2C,CAC3C,sCACD",sourcesContent:[`/* + * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved. + * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license + */ + +.ck.ck-block-toolbar-button { + position: absolute; + z-index: var(--ck-z-default); +} +`,`/* + * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved. + * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license + */ + +:root { + --ck-color-block-toolbar-button: var(--ck-color-text); + --ck-block-toolbar-button-size: var(--ck-font-size-normal); +} + +.ck.ck-block-toolbar-button { + color: var(--ck-color-block-toolbar-button); + font-size: var(--ck-block-toolbar-size); +} +`],sourceRoot:""}]);const m=g},4768:(_,x,h)=>{h.d(x,{Z:()=>m});var y=h(4015),E=h.n(y),k=h(3645),D=h.n(k),g=D()(E());g.push([_.id,".ck.ck-toolbar{align-items:center;display:flex;flex-flow:row nowrap;-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none;user-select:none}.ck.ck-toolbar>.ck-toolbar__items{align-items:center;display:flex;flex-flow:row wrap;flex-grow:1}.ck.ck-toolbar .ck.ck-toolbar__separator{display:inline-block}.ck.ck-toolbar .ck.ck-toolbar__separator:first-child,.ck.ck-toolbar .ck.ck-toolbar__separator:last-child{display:none}.ck.ck-toolbar .ck-toolbar__line-break{flex-basis:100%}.ck.ck-toolbar.ck-toolbar_grouping>.ck-toolbar__items{flex-wrap:nowrap}.ck.ck-toolbar.ck-toolbar_vertical>.ck-toolbar__items{flex-direction:column}.ck.ck-toolbar.ck-toolbar_floating>.ck-toolbar__items{flex-wrap:nowrap}.ck.ck-toolbar>.ck.ck-toolbar__grouped-dropdown>.ck-dropdown__button .ck-dropdown__arrow{display:none}.ck.ck-toolbar{border-radius:0}.ck-rounded-corners .ck.ck-toolbar,.ck.ck-toolbar.ck-rounded-corners{border-radius:var(--ck-border-radius)}.ck.ck-toolbar{background:var(--ck-color-toolbar-background);border:1px solid var(--ck-color-toolbar-border);padding:0 var(--ck-spacing-small)}.ck.ck-toolbar .ck.ck-toolbar__separator{align-self:stretch;background:var(--ck-color-toolbar-border);margin-bottom:var(--ck-spacing-small);margin-top:var(--ck-spacing-small);min-width:1px;width:1px}.ck.ck-toolbar .ck-toolbar__line-break{height:0}.ck.ck-toolbar>.ck-toolbar__items>:not(.ck-toolbar__line-break){margin-right:var(--ck-spacing-small)}.ck.ck-toolbar>.ck-toolbar__items:empty+.ck.ck-toolbar__separator{display:none}.ck.ck-toolbar>.ck-toolbar__items>:not(.ck-toolbar__line-break),.ck.ck-toolbar>.ck.ck-toolbar__grouped-dropdown{margin-bottom:var(--ck-spacing-small);margin-top:var(--ck-spacing-small)}.ck.ck-toolbar.ck-toolbar_vertical{padding:0}.ck.ck-toolbar.ck-toolbar_vertical>.ck-toolbar__items>.ck{border-radius:0;margin:0;width:100%}.ck.ck-toolbar.ck-toolbar_compact{padding:0}.ck.ck-toolbar.ck-toolbar_compact>.ck-toolbar__items>*{margin:0}.ck.ck-toolbar.ck-toolbar_compact>.ck-toolbar__items>:not(:first-child):not(:last-child){border-radius:0}.ck.ck-toolbar>.ck.ck-toolbar__grouped-dropdown>.ck.ck-button.ck-dropdown__button{padding-left:var(--ck-spacing-tiny)}.ck.ck-toolbar .ck-toolbar__nested-toolbar-dropdown>.ck-dropdown__panel{min-width:auto}.ck.ck-toolbar .ck-toolbar__nested-toolbar-dropdown>.ck-button>.ck-button__label{max-width:7em;width:auto}.ck.ck-toolbar:focus{outline:none}.ck-toolbar-container .ck.ck-toolbar{border:0}.ck.ck-toolbar[dir=rtl]>.ck-toolbar__items>.ck,[dir=rtl] .ck.ck-toolbar>.ck-toolbar__items>.ck{margin-right:0}.ck.ck-toolbar[dir=rtl]:not(.ck-toolbar_compact)>.ck-toolbar__items>.ck,[dir=rtl] .ck.ck-toolbar:not(.ck-toolbar_compact)>.ck-toolbar__items>.ck{margin-left:var(--ck-spacing-small)}.ck.ck-toolbar[dir=rtl]>.ck-toolbar__items>.ck:last-child,[dir=rtl] .ck.ck-toolbar>.ck-toolbar__items>.ck:last-child{margin-left:0}.ck.ck-toolbar.ck-toolbar_compact[dir=rtl]>.ck-toolbar__items>.ck:first-child,[dir=rtl] .ck.ck-toolbar.ck-toolbar_compact>.ck-toolbar__items>.ck:first-child{border-bottom-left-radius:0;border-top-left-radius:0}.ck.ck-toolbar.ck-toolbar_compact[dir=rtl]>.ck-toolbar__items>.ck:last-child,[dir=rtl] .ck.ck-toolbar.ck-toolbar_compact>.ck-toolbar__items>.ck:last-child{border-bottom-right-radius:0;border-top-right-radius:0}.ck.ck-toolbar.ck-toolbar_grouping[dir=rtl]>.ck-toolbar__items:not(:empty):not(:only-child),.ck.ck-toolbar[dir=rtl]>.ck.ck-toolbar__separator,[dir=rtl] .ck.ck-toolbar.ck-toolbar_grouping>.ck-toolbar__items:not(:empty):not(:only-child),[dir=rtl] .ck.ck-toolbar>.ck.ck-toolbar__separator{margin-left:var(--ck-spacing-small)}.ck.ck-toolbar[dir=ltr]>.ck-toolbar__items>.ck:last-child,[dir=ltr] .ck.ck-toolbar>.ck-toolbar__items>.ck:last-child{margin-right:0}.ck.ck-toolbar.ck-toolbar_compact[dir=ltr]>.ck-toolbar__items>.ck:first-child,[dir=ltr] .ck.ck-toolbar.ck-toolbar_compact>.ck-toolbar__items>.ck:first-child{border-bottom-right-radius:0;border-top-right-radius:0}.ck.ck-toolbar.ck-toolbar_compact[dir=ltr]>.ck-toolbar__items>.ck:last-child,[dir=ltr] .ck.ck-toolbar.ck-toolbar_compact>.ck-toolbar__items>.ck:last-child{border-bottom-left-radius:0;border-top-left-radius:0}.ck.ck-toolbar.ck-toolbar_grouping[dir=ltr]>.ck-toolbar__items:not(:empty):not(:only-child),.ck.ck-toolbar[dir=ltr]>.ck.ck-toolbar__separator,[dir=ltr] .ck.ck-toolbar.ck-toolbar_grouping>.ck-toolbar__items:not(:empty):not(:only-child),[dir=ltr] .ck.ck-toolbar>.ck.ck-toolbar__separator{margin-right:var(--ck-spacing-small)}","",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-ui/theme/components/toolbar/toolbar.css","webpack://./node_modules/@ckeditor/ckeditor5-ui/theme/mixins/_unselectable.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-ui/components/toolbar/toolbar.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/mixins/_rounded.css"],names:[],mappings:"AAOA,eAKC,kBAAmB,CAFnB,YAAa,CACb,oBAAqB,CCFrB,qBAAsB,CACtB,wBAAyB,CACzB,oBAAqB,CACrB,gBD6CD,CA3CC,kCAGC,kBAAmB,CAFnB,YAAa,CACb,kBAAmB,CAEnB,WAED,CAEA,yCACC,oBAWD,CAJC,yGAEC,YACD,CAGD,uCACC,eACD,CAEA,sDACC,gBACD,CAEA,sDACC,qBACD,CAEA,sDACC,gBACD,CAGC,yFACC,YACD,CE/CF,eCGC,eDwGD,CA3GA,qECOE,qCDoGF,CA3GA,eAGC,6CAA8C,CAE9C,+CAAgD,CADhD,iCAuGD,CApGC,yCACC,kBAAmB,CAGnB,yCAA0C,CAO1C,qCAAsC,CADtC,kCAAmC,CAPnC,aAAc,CADd,SAUD,CAEA,uCACC,QACD,CAGC,gEAEC,oCACD,CAIA,kEACC,YACD,CAGD,gHAIC,qCAAsC,CADtC,kCAED,CAEA,mCAEC,SAaD,CAVC,0DAQC,eAAgB,CAHhB,QAAS,CAHT,UAOD,CAGD,kCAEC,SAWD,CATC,uDAEC,QAMD,CAHC,yFACC,eACD,CASD,kFACC,mCACD,CAMA,wEACC,cACD,CAEA,iFACC,aAAc,CACd,UACD,CAGD,qBACC,YACD,CAtGD,qCAyGE,QAEF,CAYC,+FACC,cACD,CAEA,iJAEC,mCACD,CAEA,qHACC,aACD,CAIC,6JAEC,2BAA4B,CAD5B,wBAED,CAGA,2JAEC,4BAA6B,CAD7B,yBAED,CASD,8RACC,mCACD,CAWA,qHACC,cACD,CAIC,6JAEC,4BAA6B,CAD7B,yBAED,CAGA,2JAEC,2BAA4B,CAD5B,wBAED,CASD,8RACC,oCACD",sourcesContent:[`/* + * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved. + * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license + */ + +@import "../../mixins/_unselectable.css"; + +.ck.ck-toolbar { + @mixin ck-unselectable; + + display: flex; + flex-flow: row nowrap; + align-items: center; + + & > .ck-toolbar__items { + display: flex; + flex-flow: row wrap; + align-items: center; + flex-grow: 1; + + } + + & .ck.ck-toolbar__separator { + display: inline-block; + + /* + * A leading or trailing separator makes no sense (separates from nothing on one side). + * For instance, it can happen when toolbar items (also separators) are getting grouped one by one and + * moved to another toolbar in the dropdown. + */ + &:first-child, + &:last-child { + display: none; + } + } + + & .ck-toolbar__line-break { + flex-basis: 100%; + } + + &.ck-toolbar_grouping > .ck-toolbar__items { + flex-wrap: nowrap; + } + + &.ck-toolbar_vertical > .ck-toolbar__items { + flex-direction: column; + } + + &.ck-toolbar_floating > .ck-toolbar__items { + flex-wrap: nowrap; + } + + & > .ck.ck-toolbar__grouped-dropdown { + & > .ck-dropdown__button .ck-dropdown__arrow { + display: none; + } + } +} +`,`/* + * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved. + * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license + */ + +/** + * Makes element unselectable. + */ +@define-mixin ck-unselectable { + -moz-user-select: none; + -webkit-user-select: none; + -ms-user-select: none; + user-select: none +} +`,`/* + * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved. + * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license + */ + +@import "../../../mixins/_rounded.css"; +@import "@ckeditor/ckeditor5-ui/theme/mixins/_dir.css"; + +.ck.ck-toolbar { + @mixin ck-rounded-corners; + + background: var(--ck-color-toolbar-background); + padding: 0 var(--ck-spacing-small); + border: 1px solid var(--ck-color-toolbar-border); + + & .ck.ck-toolbar__separator { + align-self: stretch; + width: 1px; + min-width: 1px; + background: var(--ck-color-toolbar-border); + + /* + * These margins make the separators look better in balloon toolbars (when aligned with the "tip"). + * See https://github.com/ckeditor/ckeditor5/issues/7493. + */ + margin-top: var(--ck-spacing-small); + margin-bottom: var(--ck-spacing-small); + } + + & .ck-toolbar__line-break { + height: 0; + } + + & > .ck-toolbar__items { + & > *:not(.ck-toolbar__line-break) { + /* (#11) Separate toolbar items. */ + margin-right: var(--ck-spacing-small); + } + + /* Don't display a separator after an empty items container, for instance, + when all items were grouped */ + &:empty + .ck.ck-toolbar__separator { + display: none; + } + } + + & > .ck-toolbar__items > *:not(.ck-toolbar__line-break), + & > .ck.ck-toolbar__grouped-dropdown { + /* Make sure items wrapped to the next line have v-spacing */ + margin-top: var(--ck-spacing-small); + margin-bottom: var(--ck-spacing-small); + } + + &.ck-toolbar_vertical { + /* Items in a vertical toolbar span the entire width. */ + padding: 0; + + /* Specificity matters here. See https://github.com/ckeditor/ckeditor5-theme-lark/issues/168. */ + & > .ck-toolbar__items > .ck { + /* Items in a vertical toolbar should span the horizontal space. */ + width: 100%; + + /* Items in a vertical toolbar should have no margin. */ + margin: 0; + + /* Items in a vertical toolbar span the entire width so rounded corners are pointless. */ + border-radius: 0; + } + } + + &.ck-toolbar_compact { + /* No spacing around items. */ + padding: 0; + + & > .ck-toolbar__items > * { + /* Compact toolbar items have no spacing between them. */ + margin: 0; + + /* "Middle" children should have no rounded corners. */ + &:not(:first-child):not(:last-child) { + border-radius: 0; + } + } + } + + & > .ck.ck-toolbar__grouped-dropdown { + /* + * Dropdown button has asymmetric padding to fit the arrow. + * This button has no arrow so let's revert that padding back to normal. + */ + & > .ck.ck-button.ck-dropdown__button { + padding-left: var(--ck-spacing-tiny); + } + } + + /* A drop-down containing the nested toolbar with configured items. */ + & .ck-toolbar__nested-toolbar-dropdown { + /* Prevent empty space in the panel when the dropdown label is visible and long but the toolbar has few items. */ + & > .ck-dropdown__panel { + min-width: auto; + } + + & > .ck-button > .ck-button__label { + max-width: 7em; + width: auto; + } + } + + &:focus { + outline: none; + } + + @nest .ck-toolbar-container & { + border: 0; + } +} + +/* stylelint-disable */ + +/* + * Styles for RTL toolbars. + * + * Note: In some cases (e.g. a decoupled editor), the toolbar has its own "dir" + * because its parent is not controlled by the editor framework. + */ +[dir="rtl"] .ck.ck-toolbar, +.ck.ck-toolbar[dir="rtl"] { + & > .ck-toolbar__items > .ck { + margin-right: 0; + } + + &:not(.ck-toolbar_compact) > .ck-toolbar__items > .ck { + /* (#11) Separate toolbar items. */ + margin-left: var(--ck-spacing-small); + } + + & > .ck-toolbar__items > .ck:last-child { + margin-left: 0; + } + + &.ck-toolbar_compact > .ck-toolbar__items > .ck { + /* No rounded corners on the right side of the first child. */ + &:first-child { + border-top-left-radius: 0; + border-bottom-left-radius: 0; + } + + /* No rounded corners on the left side of the last child. */ + &:last-child { + border-top-right-radius: 0; + border-bottom-right-radius: 0; + } + } + + /* Separate the the separator form the grouping dropdown when some items are grouped. */ + & > .ck.ck-toolbar__separator { + margin-left: var(--ck-spacing-small); + } + + /* Some spacing between the items and the separator before the grouped items dropdown. */ + &.ck-toolbar_grouping > .ck-toolbar__items:not(:empty):not(:only-child) { + margin-left: var(--ck-spacing-small); + } +} + +/* + * Styles for LTR toolbars. + * + * Note: In some cases (e.g. a decoupled editor), the toolbar has its own "dir" + * because its parent is not controlled by the editor framework. + */ +[dir="ltr"] .ck.ck-toolbar, +.ck.ck-toolbar[dir="ltr"] { + & > .ck-toolbar__items > .ck:last-child { + margin-right: 0; + } + + &.ck-toolbar_compact > .ck-toolbar__items > .ck { + /* No rounded corners on the right side of the first child. */ + &:first-child { + border-top-right-radius: 0; + border-bottom-right-radius: 0; + } + + /* No rounded corners on the left side of the last child. */ + &:last-child { + border-top-left-radius: 0; + border-bottom-left-radius: 0; + } + } + + /* Separate the the separator form the grouping dropdown when some items are grouped. */ + & > .ck.ck-toolbar__separator { + margin-right: var(--ck-spacing-small); + } + + /* Some spacing between the items and the separator before the grouped items dropdown. */ + &.ck-toolbar_grouping > .ck-toolbar__items:not(:empty):not(:only-child) { + margin-right: var(--ck-spacing-small); + } +} + +/* stylelint-enable */ +`,`/* + * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved. + * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license + */ + +/** + * Implements rounded corner interface for .ck-rounded-corners class. + * + * @see $ck-border-radius + */ +@define-mixin ck-rounded-corners { + border-radius: 0; + + @nest .ck-rounded-corners &, + &.ck-rounded-corners { + border-radius: var(--ck-border-radius); + @mixin-content; + } +} +`],sourceRoot:""}]);const m=g},3888:(_,x,h)=>{h.d(x,{Z:()=>m});var y=h(4015),E=h.n(y),k=h(3645),D=h.n(k),g=D()(E());g.push([_.id,".ck.ck-balloon-panel.ck-tooltip{--ck-balloon-border-width:0px;--ck-balloon-arrow-offset:0px;--ck-balloon-arrow-half-width:4px;--ck-balloon-arrow-height:4px;--ck-tooltip-text-padding:4px;--ck-color-panel-background:var(--ck-color-tooltip-background);padding:0 var(--ck-spacing-medium);pointer-events:none;z-index:calc(var(--ck-z-modal) + 100)}.ck.ck-balloon-panel.ck-tooltip .ck-tooltip__text{color:var(--ck-color-tooltip-text);font-size:.9em;line-height:1.5}.ck.ck-balloon-panel.ck-tooltip.ck-tooltip_multi-line .ck-tooltip__text{display:inline-block;padding:var(--ck-tooltip-text-padding) 0;white-space:break-spaces}.ck.ck-balloon-panel.ck-tooltip{box-shadow:none}.ck.ck-balloon-panel.ck-tooltip:before{display:none}","",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-ui/theme/components/tooltip/tooltip.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-ui/components/tooltip/tooltip.css"],names:[],mappings:"AAKA,gCCGC,6BAA8B,CAC9B,6BAA8B,CAC9B,iCAAkC,CAClC,6BAA8B,CAC9B,6BAA8B,CAC9B,8DAA+D,CAE/D,kCAAmC,CDRnC,mBAAoB,CAEpB,qCACD,CCOC,kDAGC,kCAAmC,CAFnC,cAAe,CACf,eAED,CAEA,wEAEC,oBAAqB,CACrB,wCAAyC,CAFzC,wBAGD,CApBD,gCAuBC,eAMD,CAHC,uCACC,YACD",sourcesContent:[`/* + * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved. + * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license + */ + +.ck.ck-balloon-panel.ck-tooltip { + /* Keep tooltips transparent for any interactions. */ + pointer-events: none; + + z-index: calc( var(--ck-z-modal) + 100 ); +} +`,`/* + * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved. + * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license + */ + +@import "../../../mixins/_rounded.css"; + +.ck.ck-balloon-panel.ck-tooltip { + --ck-balloon-border-width: 0px; + --ck-balloon-arrow-offset: 0px; + --ck-balloon-arrow-half-width: 4px; + --ck-balloon-arrow-height: 4px; + --ck-tooltip-text-padding: 4px; + --ck-color-panel-background: var(--ck-color-tooltip-background); + + padding: 0 var(--ck-spacing-medium); + + & .ck-tooltip__text { + font-size: .9em; + line-height: 1.5; + color: var(--ck-color-tooltip-text); + } + + &.ck-tooltip_multi-line .ck-tooltip__text { + white-space: break-spaces; + display: inline-block; + padding: var(--ck-tooltip-text-padding) 0; + } + + /* Reset balloon panel styles */ + box-shadow: none; + + /* Hide the default shadow of the .ck-balloon-panel tip */ + &::before { + display: none; + } +} +`],sourceRoot:""}]);const m=g},5167:(_,x,h)=>{h.d(x,{Z:()=>m});var y=h(4015),E=h.n(y),k=h(3645),D=h.n(k),g=D()(E());g.push([_.id,".ck-hidden{display:none!important}.ck-reset_all :not(.ck-reset_all-excluded *),.ck.ck-reset,.ck.ck-reset_all{box-sizing:border-box;height:auto;position:static;width:auto}:root{--ck-z-default:1;--ck-z-modal:calc(var(--ck-z-default) + 999)}.ck-transitions-disabled,.ck-transitions-disabled *{transition:none!important}:root{--ck-powered-by-line-height:10px;--ck-powered-by-padding-vertical:2px;--ck-powered-by-padding-horizontal:4px;--ck-powered-by-text-color:#4f4f4f;--ck-powered-by-border-radius:var(--ck-border-radius);--ck-powered-by-background:#fff;--ck-powered-by-border-color:var(--ck-color-focus-border)}.ck.ck-balloon-panel.ck-powered-by-balloon{--ck-border-radius:var(--ck-powered-by-border-radius);background:var(--ck-powered-by-background);box-shadow:none;min-height:unset;z-index:calc(var(--ck-z-modal) - 1)}.ck.ck-balloon-panel.ck-powered-by-balloon .ck.ck-powered-by{line-height:var(--ck-powered-by-line-height)}.ck.ck-balloon-panel.ck-powered-by-balloon .ck.ck-powered-by a{align-items:center;cursor:pointer;display:flex;filter:grayscale(80%);line-height:var(--ck-powered-by-line-height);opacity:.66;padding:var(--ck-powered-by-padding-vertical) var(--ck-powered-by-padding-horizontal)}.ck.ck-balloon-panel.ck-powered-by-balloon .ck.ck-powered-by .ck-powered-by__label{color:var(--ck-powered-by-text-color);cursor:pointer;font-size:7.5px;font-weight:700;letter-spacing:-.2px;line-height:normal;margin-right:4px;padding-left:2px;text-transform:uppercase}.ck.ck-balloon-panel.ck-powered-by-balloon .ck.ck-powered-by .ck-icon{cursor:pointer;display:block}.ck.ck-balloon-panel.ck-powered-by-balloon .ck.ck-powered-by:hover a{filter:grayscale(0);opacity:1}.ck.ck-balloon-panel.ck-powered-by-balloon[class*=position_inside]{border-color:transparent}.ck.ck-balloon-panel.ck-powered-by-balloon[class*=position_border]{border:var(--ck-focus-ring);border-color:var(--ck-powered-by-border-color)}:root{--ck-color-base-foreground:#fafafa;--ck-color-base-background:#fff;--ck-color-base-border:#ccced1;--ck-color-base-action:#53a336;--ck-color-base-focus:#6cb5f9;--ck-color-base-text:#333;--ck-color-base-active:#2977ff;--ck-color-base-active-focus:#0d65ff;--ck-color-base-error:#db3700;--ck-color-focus-border-coordinates:218,81.8%,56.9%;--ck-color-focus-border:hsl(var(--ck-color-focus-border-coordinates));--ck-color-focus-outer-shadow:#cae1fc;--ck-color-focus-disabled-shadow:rgba(119,186,248,.3);--ck-color-focus-error-shadow:rgba(255,64,31,.3);--ck-color-text:var(--ck-color-base-text);--ck-color-shadow-drop:rgba(0,0,0,.15);--ck-color-shadow-drop-active:rgba(0,0,0,.2);--ck-color-shadow-inner:rgba(0,0,0,.1);--ck-color-button-default-background:transparent;--ck-color-button-default-hover-background:#f0f0f0;--ck-color-button-default-active-background:#f0f0f0;--ck-color-button-default-disabled-background:transparent;--ck-color-button-on-background:#f0f7ff;--ck-color-button-on-hover-background:#dbecff;--ck-color-button-on-active-background:#dbecff;--ck-color-button-on-disabled-background:#f0f2f4;--ck-color-button-on-color:#2977ff;--ck-color-button-action-background:var(--ck-color-base-action);--ck-color-button-action-hover-background:#4d9d30;--ck-color-button-action-active-background:#4d9d30;--ck-color-button-action-disabled-background:#7ec365;--ck-color-button-action-text:var(--ck-color-base-background);--ck-color-button-save:#008a00;--ck-color-button-cancel:#db3700;--ck-color-switch-button-off-background:#939393;--ck-color-switch-button-off-hover-background:#7d7d7d;--ck-color-switch-button-on-background:var(--ck-color-button-action-background);--ck-color-switch-button-on-hover-background:#4d9d30;--ck-color-switch-button-inner-background:var(--ck-color-base-background);--ck-color-switch-button-inner-shadow:rgba(0,0,0,.1);--ck-color-dropdown-panel-background:var(--ck-color-base-background);--ck-color-dropdown-panel-border:var(--ck-color-base-border);--ck-color-input-background:var(--ck-color-base-background);--ck-color-input-border:var(--ck-color-base-border);--ck-color-input-error-border:var(--ck-color-base-error);--ck-color-input-text:var(--ck-color-base-text);--ck-color-input-disabled-background:#f2f2f2;--ck-color-input-disabled-border:var(--ck-color-base-border);--ck-color-input-disabled-text:#757575;--ck-color-list-background:var(--ck-color-base-background);--ck-color-list-button-hover-background:var(--ck-color-button-default-hover-background);--ck-color-list-button-on-background:var(--ck-color-button-on-color);--ck-color-list-button-on-background-focus:var(--ck-color-button-on-color);--ck-color-list-button-on-text:var(--ck-color-base-background);--ck-color-panel-background:var(--ck-color-base-background);--ck-color-panel-border:var(--ck-color-base-border);--ck-color-toolbar-background:var(--ck-color-base-background);--ck-color-toolbar-border:var(--ck-color-base-border);--ck-color-tooltip-background:var(--ck-color-base-text);--ck-color-tooltip-text:var(--ck-color-base-background);--ck-color-engine-placeholder-text:#707070;--ck-color-upload-bar-background:#6cb5f9;--ck-color-link-default:#0000f0;--ck-color-link-selected-background:rgba(31,176,255,.1);--ck-color-link-fake-selection:rgba(31,176,255,.3);--ck-color-highlight-background:#ff0;--ck-color-light-red:#fcc;--ck-disabled-opacity:.5;--ck-focus-outer-shadow-geometry:0 0 0 3px;--ck-focus-outer-shadow:var(--ck-focus-outer-shadow-geometry) var(--ck-color-focus-outer-shadow);--ck-focus-disabled-outer-shadow:var(--ck-focus-outer-shadow-geometry) var(--ck-color-focus-disabled-shadow);--ck-focus-error-outer-shadow:var(--ck-focus-outer-shadow-geometry) var(--ck-color-focus-error-shadow);--ck-focus-ring:1px solid var(--ck-color-focus-border);--ck-font-size-base:13px;--ck-line-height-base:1.84615;--ck-font-face:Helvetica,Arial,Tahoma,Verdana,Sans-Serif;--ck-font-size-tiny:0.7em;--ck-font-size-small:0.75em;--ck-font-size-normal:1em;--ck-font-size-big:1.4em;--ck-font-size-large:1.8em;--ck-ui-component-min-height:2.3em}.ck-reset_all :not(.ck-reset_all-excluded *),.ck.ck-reset,.ck.ck-reset_all{word-wrap:break-word;background:transparent;border:0;margin:0;padding:0;text-decoration:none;transition:none;vertical-align:middle}.ck-reset_all :not(.ck-reset_all-excluded *),.ck.ck-reset_all{border-collapse:collapse;color:var(--ck-color-text);cursor:auto;float:none;font:normal normal normal var(--ck-font-size-base)/var(--ck-line-height-base) var(--ck-font-face);text-align:left;white-space:nowrap}.ck-reset_all .ck-rtl :not(.ck-reset_all-excluded *){text-align:right}.ck-reset_all iframe:not(.ck-reset_all-excluded *){vertical-align:inherit}.ck-reset_all textarea:not(.ck-reset_all-excluded *){white-space:pre-wrap}.ck-reset_all input[type=password]:not(.ck-reset_all-excluded *),.ck-reset_all input[type=text]:not(.ck-reset_all-excluded *),.ck-reset_all textarea:not(.ck-reset_all-excluded *){cursor:text}.ck-reset_all input[type=password][disabled]:not(.ck-reset_all-excluded *),.ck-reset_all input[type=text][disabled]:not(.ck-reset_all-excluded *),.ck-reset_all textarea[disabled]:not(.ck-reset_all-excluded *){cursor:default}.ck-reset_all fieldset:not(.ck-reset_all-excluded *){border:2px groove #dfdee3;padding:10px}.ck-reset_all button:not(.ck-reset_all-excluded *)::-moz-focus-inner{border:0;padding:0}.ck[dir=rtl],.ck[dir=rtl] .ck{text-align:right}:root{--ck-border-radius:2px;--ck-inner-shadow:2px 2px 3px var(--ck-color-shadow-inner) inset;--ck-drop-shadow:0 1px 2px 1px var(--ck-color-shadow-drop);--ck-drop-shadow-active:0 3px 6px 1px var(--ck-color-shadow-drop-active);--ck-spacing-unit:0.6em;--ck-spacing-large:calc(var(--ck-spacing-unit)*1.5);--ck-spacing-standard:var(--ck-spacing-unit);--ck-spacing-medium:calc(var(--ck-spacing-unit)*0.8);--ck-spacing-small:calc(var(--ck-spacing-unit)*0.5);--ck-spacing-tiny:calc(var(--ck-spacing-unit)*0.3);--ck-spacing-extra-tiny:calc(var(--ck-spacing-unit)*0.16)}","",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-ui/theme/globals/_hidden.css","webpack://./node_modules/@ckeditor/ckeditor5-ui/theme/globals/_reset.css","webpack://./node_modules/@ckeditor/ckeditor5-ui/theme/globals/_zindex.css","webpack://./node_modules/@ckeditor/ckeditor5-ui/theme/globals/_transition.css","webpack://./node_modules/@ckeditor/ckeditor5-ui/theme/globals/_poweredby.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-ui/globals/_colors.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-ui/globals/_disabled.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-ui/globals/_focus.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-ui/globals/_fonts.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-ui/globals/_reset.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-ui/globals/_rounded.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-ui/globals/_shadow.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-ui/globals/_spacing.css"],names:[],mappings:"AAQA,WAGC,sBACD,CCPA,2EAGC,qBAAsB,CAEtB,WAAY,CACZ,eAAgB,CAFhB,UAGD,CCPA,MACC,gBAAiB,CACjB,4CACD,CCAA,oDAEC,yBACD,CCNA,MACC,gCAAiC,CACjC,oCAAqC,CACrC,sCAAuC,CACvC,kCAA2C,CAC3C,qDAAsD,CACtD,+BAA4C,CAC5C,yDACD,CAEA,2CACC,qDAAsD,CAGtD,0CAA2C,CAD3C,eAAgB,CAEhB,gBAAiB,CACjB,mCAiDD,CA/CC,6DACC,4CAoCD,CAlCC,+DAGC,kBAAmB,CAFnB,cAAe,CACf,YAAa,CAGb,qBAAsB,CACtB,4CAA6C,CAF7C,WAAY,CAGZ,qFACD,CAEA,mFASC,qCAAsC,CAFtC,cAAe,CANf,eAAgB,CAIhB,eAAiB,CAHjB,oBAAqB,CAMrB,kBAAmB,CAFnB,gBAAiB,CAHjB,gBAAiB,CACjB,wBAOD,CAEA,sEAEC,cAAe,CADf,aAED,CAGC,qEACC,mBAAqB,CACrB,SACD,CAIF,mEACC,wBACD,CAEA,mEACC,2BAA4B,CAC5B,8CACD,CChED,MACC,kCAAmD,CACnD,+BAAoD,CACpD,8BAAkD,CAClD,8BAAuD,CACvD,6BAAmD,CACnD,yBAA+C,CAC/C,8BAAsD,CACtD,oCAA4D,CAC5D,6BAAkD,CAIlD,mDAA4D,CAC5D,qEAA+E,CAC/E,qCAA4D,CAC5D,qDAA8D,CAC9D,gDAAyD,CACzD,yCAAqD,CACrD,sCAAsD,CACtD,4CAA0D,CAC1D,sCAAsD,CAItD,gDAAuD,CACvD,kDAAiE,CACjE,mDAAkE,CAClE,yDAA8D,CAE9D,uCAA6D,CAC7D,6CAAoE,CACpE,8CAAoE,CACpE,gDAAiE,CACjE,kCAAyD,CAGzD,+DAAsE,CACtE,iDAAsE,CACtE,kDAAsE,CACtE,oDAAoE,CACpE,6DAAsE,CAEtE,8BAAoD,CACpD,gCAAqD,CAErD,+CAA8D,CAC9D,qDAAiE,CACjE,+EAAqF,CACrF,oDAAuE,CACvE,yEAA8E,CAC9E,oDAAgE,CAIhE,oEAA2E,CAC3E,4DAAoE,CAIpE,2DAAoE,CACpE,mDAA6D,CAC7D,wDAAgE,CAChE,+CAA0D,CAC1D,4CAA2D,CAC3D,4DAAoE,CACpE,sCAAsD,CAItD,0DAAmE,CACnE,uFAA6F,CAC7F,oEAA2E,CAC3E,0EAA+E,CAC/E,8DAAsE,CAItE,2DAAoE,CACpE,mDAA6D,CAI7D,6DAAsE,CACtE,qDAA+D,CAI/D,uDAAgE,CAChE,uDAAiE,CAIjE,0CAAyD,CAIzD,wCAA2D,CAI3D,+BAAoD,CACpD,uDAAmE,CACnE,kDAAgE,CAIhE,oCAAyD,CAIzD,yBAAgD,CC3GhD,wBAAyB,CCAzB,0CAA2C,CAK3C,gGAAiG,CAKjG,4GAA6G,CAK7G,sGAAuG,CAKvG,sDAAuD,CCvBvD,wBAAyB,CACzB,6BAA8B,CAC9B,wDAA6D,CAE7D,yBAA0B,CAC1B,2BAA4B,CAC5B,yBAA0B,CAC1B,wBAAyB,CACzB,0BAA2B,CCJ3B,kCJ2GD,CIrGA,2EAaC,oBAAqB,CANrB,sBAAuB,CADvB,QAAS,CAFT,QAAS,CACT,SAAU,CAGV,oBAAqB,CAErB,eAAgB,CADhB,qBAKD,CAKA,8DAGC,wBAAyB,CAEzB,0BAA2B,CAG3B,WAAY,CACZ,UAAW,CALX,iGAAkG,CAElG,eAAgB,CAChB,kBAGD,CAGC,qDACC,gBACD,CAEA,mDAEC,sBACD,CAEA,qDACC,oBACD,CAEA,mLAGC,WACD,CAEA,iNAGC,cACD,CAEA,qDAEC,yBAAoC,CADpC,YAED,CAEA,qEAGC,QAAQ,CADR,SAED,CAMD,8BAEC,gBACD,CCnFA,MACC,sBAAuB,CCAvB,gEAAiE,CAKjE,0DAA2D,CAK3D,wEAAyE,CCbzE,uBAA8B,CAC9B,mDAA2D,CAC3D,4CAAkD,CAClD,oDAA4D,CAC5D,mDAA2D,CAC3D,kDAA2D,CAC3D,yDFFD",sourcesContent:[`/* + * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved. + * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license + */ + +/** + * A class which hides an element in DOM. + */ +.ck-hidden { + /* Override selector specificity. Otherwise, all elements with some display + style defined will override this one, which is not a desired result. */ + display: none !important; +} +`,`/* + * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved. + * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license + */ + +.ck.ck-reset, +.ck.ck-reset_all, +.ck-reset_all *:not(.ck-reset_all-excluded *) { + box-sizing: border-box; + width: auto; + height: auto; + position: static; +} +`,`/* + * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved. + * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license + */ + +:root { + --ck-z-default: 1; + --ck-z-modal: calc( var(--ck-z-default) + 999 ); +} +`,`/* + * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved. + * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license + */ + +/** + * A class that disables all transitions of the element and its children. + */ +.ck-transitions-disabled, +.ck-transitions-disabled * { + transition: none !important; +} +`,`/* + * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved. + * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license + */ + +:root { + --ck-powered-by-line-height: 10px; + --ck-powered-by-padding-vertical: 2px; + --ck-powered-by-padding-horizontal: 4px; + --ck-powered-by-text-color: hsl(0, 0%, 31%); + --ck-powered-by-border-radius: var(--ck-border-radius); + --ck-powered-by-background: hsl(0, 0%, 100%); + --ck-powered-by-border-color: var(--ck-color-focus-border); +} + +.ck.ck-balloon-panel.ck-powered-by-balloon { + --ck-border-radius: var(--ck-powered-by-border-radius); + + box-shadow: none; + background: var(--ck-powered-by-background); + min-height: unset; + z-index: calc( var(--ck-z-modal) - 1 ); + + & .ck.ck-powered-by { + line-height: var(--ck-powered-by-line-height); + + & a { + cursor: pointer; + display: flex; + align-items: center; + opacity: .66; + filter: grayscale(80%); + line-height: var(--ck-powered-by-line-height); + padding: var(--ck-powered-by-padding-vertical) var(--ck-powered-by-padding-horizontal); + } + + & .ck-powered-by__label { + font-size: 7.5px; + letter-spacing: -.2px; + padding-left: 2px; + text-transform: uppercase; + font-weight: bold; + margin-right: 4px; + cursor: pointer; + line-height: normal; + color: var(--ck-powered-by-text-color); + + } + + & .ck-icon { + display: block; + cursor: pointer; + } + + &:hover { + & a { + filter: grayscale(0%); + opacity: 1; + } + } + } + + &[class*="position_inside"] { + border-color: transparent; + } + + &[class*="position_border"] { + border: var(--ck-focus-ring); + border-color: var(--ck-powered-by-border-color); + } +} + +`,`/* + * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved. + * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license + */ + +:root { + --ck-color-base-foreground: hsl(0, 0%, 98%); + --ck-color-base-background: hsl(0, 0%, 100%); + --ck-color-base-border: hsl(220, 6%, 81%); + --ck-color-base-action: hsl(104, 50.2%, 42.5%); + --ck-color-base-focus: hsl(209, 92%, 70%); + --ck-color-base-text: hsl(0, 0%, 20%); + --ck-color-base-active: hsl(218.1, 100%, 58%); + --ck-color-base-active-focus: hsl(218.2, 100%, 52.5%); + --ck-color-base-error: hsl(15, 100%, 43%); + + /* -- Generic colors ------------------------------------------------------------------------ */ + + --ck-color-focus-border-coordinates: 218, 81.8%, 56.9%; + --ck-color-focus-border: hsl(var(--ck-color-focus-border-coordinates)); + --ck-color-focus-outer-shadow: hsl(212.4, 89.3%, 89%); + --ck-color-focus-disabled-shadow: hsla(209, 90%, 72%,.3); + --ck-color-focus-error-shadow: hsla(9,100%,56%,.3); + --ck-color-text: var(--ck-color-base-text); + --ck-color-shadow-drop: hsla(0, 0%, 0%, 0.15); + --ck-color-shadow-drop-active: hsla(0, 0%, 0%, 0.2); + --ck-color-shadow-inner: hsla(0, 0%, 0%, 0.1); + + /* -- Buttons ------------------------------------------------------------------------------- */ + + --ck-color-button-default-background: transparent; + --ck-color-button-default-hover-background: hsl(0, 0%, 94.1%); + --ck-color-button-default-active-background: hsl(0, 0%, 94.1%); + --ck-color-button-default-disabled-background: transparent; + + --ck-color-button-on-background: hsl(212, 100%, 97.1%); + --ck-color-button-on-hover-background: hsl(211.7, 100%, 92.9%); + --ck-color-button-on-active-background: hsl(211.7, 100%, 92.9%); + --ck-color-button-on-disabled-background: hsl(211, 15%, 95%); + --ck-color-button-on-color: hsl(218.1, 100%, 58%); + + + --ck-color-button-action-background: var(--ck-color-base-action); + --ck-color-button-action-hover-background: hsl(104, 53.2%, 40.2%); + --ck-color-button-action-active-background: hsl(104, 53.2%, 40.2%); + --ck-color-button-action-disabled-background: hsl(104, 44%, 58%); + --ck-color-button-action-text: var(--ck-color-base-background); + + --ck-color-button-save: hsl(120, 100%, 27%); + --ck-color-button-cancel: hsl(15, 100%, 43%); + + --ck-color-switch-button-off-background: hsl(0, 0%, 57.6%); + --ck-color-switch-button-off-hover-background: hsl(0, 0%, 49%); + --ck-color-switch-button-on-background: var(--ck-color-button-action-background); + --ck-color-switch-button-on-hover-background: hsl(104, 53.2%, 40.2%); + --ck-color-switch-button-inner-background: var(--ck-color-base-background); + --ck-color-switch-button-inner-shadow: hsla(0, 0%, 0%, 0.1); + + /* -- Dropdown ------------------------------------------------------------------------------ */ + + --ck-color-dropdown-panel-background: var(--ck-color-base-background); + --ck-color-dropdown-panel-border: var(--ck-color-base-border); + + /* -- Input --------------------------------------------------------------------------------- */ + + --ck-color-input-background: var(--ck-color-base-background); + --ck-color-input-border: var(--ck-color-base-border); + --ck-color-input-error-border: var(--ck-color-base-error); + --ck-color-input-text: var(--ck-color-base-text); + --ck-color-input-disabled-background: hsl(0, 0%, 95%); + --ck-color-input-disabled-border: var(--ck-color-base-border); + --ck-color-input-disabled-text: hsl(0, 0%, 46%); + + /* -- List ---------------------------------------------------------------------------------- */ + + --ck-color-list-background: var(--ck-color-base-background); + --ck-color-list-button-hover-background: var(--ck-color-button-default-hover-background); + --ck-color-list-button-on-background: var(--ck-color-button-on-color); + --ck-color-list-button-on-background-focus: var(--ck-color-button-on-color); + --ck-color-list-button-on-text: var(--ck-color-base-background); + + /* -- Panel --------------------------------------------------------------------------------- */ + + --ck-color-panel-background: var(--ck-color-base-background); + --ck-color-panel-border: var(--ck-color-base-border); + + /* -- Toolbar ------------------------------------------------------------------------------- */ + + --ck-color-toolbar-background: var(--ck-color-base-background); + --ck-color-toolbar-border: var(--ck-color-base-border); + + /* -- Tooltip ------------------------------------------------------------------------------- */ + + --ck-color-tooltip-background: var(--ck-color-base-text); + --ck-color-tooltip-text: var(--ck-color-base-background); + + /* -- Engine -------------------------------------------------------------------------------- */ + + --ck-color-engine-placeholder-text: hsl(0, 0%, 44%); + + /* -- Upload -------------------------------------------------------------------------------- */ + + --ck-color-upload-bar-background: hsl(209, 92%, 70%); + + /* -- Link -------------------------------------------------------------------------------- */ + + --ck-color-link-default: hsl(240, 100%, 47%); + --ck-color-link-selected-background: hsla(201, 100%, 56%, 0.1); + --ck-color-link-fake-selection: hsla(201, 100%, 56%, 0.3); + + /* -- Search result highlight ---------------------------------------------------------------- */ + + --ck-color-highlight-background: hsl(60, 100%, 50%); + + /* -- Generic colors ------------------------------------------------------------------------- */ + + --ck-color-light-red: hsl(0, 100%, 90%); +} +`,`/* + * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved. + * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license + */ + +:root { + /** + * An opacity value of disabled UI item. + */ + --ck-disabled-opacity: .5; +} +`,`/* + * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved. + * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license + */ + +:root { + /** + * The geometry of the of focused element's outer shadow. + */ + --ck-focus-outer-shadow-geometry: 0 0 0 3px; + + /** + * A visual style of focused element's outer shadow. + */ + --ck-focus-outer-shadow: var(--ck-focus-outer-shadow-geometry) var(--ck-color-focus-outer-shadow); + + /** + * A visual style of focused element's outer shadow (when disabled). + */ + --ck-focus-disabled-outer-shadow: var(--ck-focus-outer-shadow-geometry) var(--ck-color-focus-disabled-shadow); + + /** + * A visual style of focused element's outer shadow (when has errors). + */ + --ck-focus-error-outer-shadow: var(--ck-focus-outer-shadow-geometry) var(--ck-color-focus-error-shadow); + + /** + * A visual style of focused element's border or outline. + */ + --ck-focus-ring: 1px solid var(--ck-color-focus-border); +} +`,`/* + * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved. + * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license + */ + +:root { + --ck-font-size-base: 13px; + --ck-line-height-base: 1.84615; + --ck-font-face: Helvetica, Arial, Tahoma, Verdana, Sans-Serif; + + --ck-font-size-tiny: 0.7em; + --ck-font-size-small: 0.75em; + --ck-font-size-normal: 1em; + --ck-font-size-big: 1.4em; + --ck-font-size-large: 1.8em; +} +`,`/* + * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved. + * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license + */ + +:root { + /* This is super-important. This is **manually** adjusted so a button without an icon + is never smaller than a button with icon, additionally making sure that text-less buttons + are perfect squares. The value is also shared by other components which should stay "in-line" + with buttons. */ + --ck-ui-component-min-height: 2.3em; +} + +/** + * Resets an element, ignoring its children. + */ +.ck.ck-reset, +.ck.ck-reset_all, +.ck-reset_all *:not(.ck-reset_all-excluded *) { + /* Do not include inheritable rules here. */ + margin: 0; + padding: 0; + border: 0; + background: transparent; + text-decoration: none; + vertical-align: middle; + transition: none; + + /* https://github.com/ckeditor/ckeditor5-theme-lark/issues/105 */ + word-wrap: break-word; +} + +/** + * Resets an element AND its children. + */ +.ck.ck-reset_all, +.ck-reset_all *:not(.ck-reset_all-excluded *) { + /* These are rule inherited by all children elements. */ + border-collapse: collapse; + font: normal normal normal var(--ck-font-size-base)/var(--ck-line-height-base) var(--ck-font-face); + color: var(--ck-color-text); + text-align: left; + white-space: nowrap; + cursor: auto; + float: none; +} + +.ck-reset_all { + & .ck-rtl *:not(.ck-reset_all-excluded *) { + text-align: right; + } + + & iframe:not(.ck-reset_all-excluded *) { + /* For IE */ + vertical-align: inherit; + } + + & textarea:not(.ck-reset_all-excluded *) { + white-space: pre-wrap; + } + + & textarea:not(.ck-reset_all-excluded *), + & input[type="text"]:not(.ck-reset_all-excluded *), + & input[type="password"]:not(.ck-reset_all-excluded *) { + cursor: text; + } + + & textarea[disabled]:not(.ck-reset_all-excluded *), + & input[type="text"][disabled]:not(.ck-reset_all-excluded *), + & input[type="password"][disabled]:not(.ck-reset_all-excluded *) { + cursor: default; + } + + & fieldset:not(.ck-reset_all-excluded *) { + padding: 10px; + border: 2px groove hsl(255, 7%, 88%); + } + + & button:not(.ck-reset_all-excluded *)::-moz-focus-inner { + /* See http://stackoverflow.com/questions/5517744/remove-extra-button-spacing-padding-in-firefox */ + padding: 0; + border: 0 + } +} + +/** + * Default UI rules for RTL languages. + */ +.ck[dir="rtl"], +.ck[dir="rtl"] .ck { + text-align: right; +} +`,`/* + * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved. + * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license + */ + +/** + * Default border-radius value. + */ +:root{ + --ck-border-radius: 2px; +} +`,`/* + * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved. + * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license + */ + +:root { + /** + * A visual style of element's inner shadow (i.e. input). + */ + --ck-inner-shadow: 2px 2px 3px var(--ck-color-shadow-inner) inset; + + /** + * A visual style of element's drop shadow (i.e. panel). + */ + --ck-drop-shadow: 0 1px 2px 1px var(--ck-color-shadow-drop); + + /** + * A visual style of element's active shadow (i.e. comment or suggestion). + */ + --ck-drop-shadow-active: 0 3px 6px 1px var(--ck-color-shadow-drop-active); +} +`,`/* + * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved. + * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license + */ + +:root { + --ck-spacing-unit: 0.6em; + --ck-spacing-large: calc(var(--ck-spacing-unit) * 1.5); + --ck-spacing-standard: var(--ck-spacing-unit); + --ck-spacing-medium: calc(var(--ck-spacing-unit) * 0.8); + --ck-spacing-small: calc(var(--ck-spacing-unit) * 0.5); + --ck-spacing-tiny: calc(var(--ck-spacing-unit) * 0.3); + --ck-spacing-extra-tiny: calc(var(--ck-spacing-unit) * 0.16); +} +`],sourceRoot:""}]);const m=g},7153:(_,x,h)=>{h.d(x,{Z:()=>m});var y=h(4015),E=h.n(y),k=h(3645),D=h.n(k),g=D()(E());g.push([_.id,":root{--ck-color-resizer:var(--ck-color-focus-border);--ck-color-resizer-tooltip-background:#262626;--ck-color-resizer-tooltip-text:#f2f2f2;--ck-resizer-border-radius:var(--ck-border-radius);--ck-resizer-tooltip-offset:10px;--ck-resizer-tooltip-height:calc(var(--ck-spacing-small)*2 + 10px)}.ck .ck-widget,.ck .ck-widget.ck-widget_with-selection-handle{position:relative}.ck .ck-widget.ck-widget_with-selection-handle .ck-widget__selection-handle{position:absolute}.ck .ck-widget.ck-widget_with-selection-handle .ck-widget__selection-handle .ck-icon{display:block}.ck .ck-widget.ck-widget_with-selection-handle.ck-widget_selected>.ck-widget__selection-handle,.ck .ck-widget.ck-widget_with-selection-handle:hover>.ck-widget__selection-handle{visibility:visible}.ck .ck-size-view{background:var(--ck-color-resizer-tooltip-background);border:1px solid var(--ck-color-resizer-tooltip-text);border-radius:var(--ck-resizer-border-radius);color:var(--ck-color-resizer-tooltip-text);display:block;font-size:var(--ck-font-size-tiny);height:var(--ck-resizer-tooltip-height);line-height:var(--ck-resizer-tooltip-height);padding:0 var(--ck-spacing-small)}.ck .ck-size-view.ck-orientation-above-center,.ck .ck-size-view.ck-orientation-bottom-left,.ck .ck-size-view.ck-orientation-bottom-right,.ck .ck-size-view.ck-orientation-top-left,.ck .ck-size-view.ck-orientation-top-right{position:absolute}.ck .ck-size-view.ck-orientation-top-left{left:var(--ck-resizer-tooltip-offset);top:var(--ck-resizer-tooltip-offset)}.ck .ck-size-view.ck-orientation-top-right{right:var(--ck-resizer-tooltip-offset);top:var(--ck-resizer-tooltip-offset)}.ck .ck-size-view.ck-orientation-bottom-right{bottom:var(--ck-resizer-tooltip-offset);right:var(--ck-resizer-tooltip-offset)}.ck .ck-size-view.ck-orientation-bottom-left{bottom:var(--ck-resizer-tooltip-offset);left:var(--ck-resizer-tooltip-offset)}.ck .ck-size-view.ck-orientation-above-center{left:50%;top:calc(var(--ck-resizer-tooltip-height)*-1);transform:translate(-50%)}:root{--ck-widget-outline-thickness:3px;--ck-widget-handler-icon-size:16px;--ck-widget-handler-animation-duration:200ms;--ck-widget-handler-animation-curve:ease;--ck-color-widget-blurred-border:#dedede;--ck-color-widget-hover-border:#ffc83d;--ck-color-widget-editable-focus-background:var(--ck-color-base-background);--ck-color-widget-drag-handler-icon-color:var(--ck-color-base-background)}.ck .ck-widget{outline-color:transparent;outline-style:solid;outline-width:var(--ck-widget-outline-thickness);transition:outline-color var(--ck-widget-handler-animation-duration) var(--ck-widget-handler-animation-curve)}.ck .ck-widget.ck-widget_selected,.ck .ck-widget.ck-widget_selected:hover{outline:var(--ck-widget-outline-thickness) solid var(--ck-color-focus-border)}.ck .ck-widget:hover{outline-color:var(--ck-color-widget-hover-border)}.ck .ck-editor__nested-editable{border:1px solid transparent}.ck .ck-editor__nested-editable.ck-editor__nested-editable_focused,.ck .ck-editor__nested-editable:focus{background-color:var(--ck-color-widget-editable-focus-background);border:var(--ck-focus-ring);box-shadow:var(--ck-inner-shadow),0 0;outline:none}.ck .ck-widget.ck-widget_with-selection-handle .ck-widget__selection-handle{background-color:transparent;border-radius:var(--ck-border-radius) var(--ck-border-radius) 0 0;box-sizing:border-box;left:calc(0px - var(--ck-widget-outline-thickness));opacity:0;padding:4px;top:0;transform:translateY(-100%);transition:background-color var(--ck-widget-handler-animation-duration) var(--ck-widget-handler-animation-curve),visibility var(--ck-widget-handler-animation-duration) var(--ck-widget-handler-animation-curve),opacity var(--ck-widget-handler-animation-duration) var(--ck-widget-handler-animation-curve)}.ck .ck-widget.ck-widget_with-selection-handle .ck-widget__selection-handle .ck-icon{color:var(--ck-color-widget-drag-handler-icon-color);height:var(--ck-widget-handler-icon-size);width:var(--ck-widget-handler-icon-size)}.ck .ck-widget.ck-widget_with-selection-handle .ck-widget__selection-handle .ck-icon .ck-icon__selected-indicator{opacity:0;transition:opacity .3s var(--ck-widget-handler-animation-curve)}.ck .ck-widget.ck-widget_with-selection-handle .ck-widget__selection-handle:hover .ck-icon .ck-icon__selected-indicator{opacity:1}.ck .ck-widget.ck-widget_with-selection-handle:hover>.ck-widget__selection-handle{background-color:var(--ck-color-widget-hover-border);opacity:1}.ck .ck-widget.ck-widget_with-selection-handle.ck-widget_selected:hover>.ck-widget__selection-handle,.ck .ck-widget.ck-widget_with-selection-handle.ck-widget_selected>.ck-widget__selection-handle{background-color:var(--ck-color-focus-border);opacity:1}.ck .ck-widget.ck-widget_with-selection-handle.ck-widget_selected:hover>.ck-widget__selection-handle .ck-icon .ck-icon__selected-indicator,.ck .ck-widget.ck-widget_with-selection-handle.ck-widget_selected>.ck-widget__selection-handle .ck-icon .ck-icon__selected-indicator{opacity:1}.ck[dir=rtl] .ck-widget.ck-widget_with-selection-handle .ck-widget__selection-handle{left:auto;right:calc(0px - var(--ck-widget-outline-thickness))}.ck.ck-editor__editable.ck-read-only .ck-widget{transition:none}.ck.ck-editor__editable.ck-read-only .ck-widget:not(.ck-widget_selected){--ck-widget-outline-thickness:0px}.ck.ck-editor__editable.ck-read-only .ck-widget.ck-widget_with-selection-handle .ck-widget__selection-handle,.ck.ck-editor__editable.ck-read-only .ck-widget.ck-widget_with-selection-handle .ck-widget__selection-handle:hover{background:var(--ck-color-widget-blurred-border)}.ck.ck-editor__editable.ck-blurred .ck-widget.ck-widget_selected,.ck.ck-editor__editable.ck-blurred .ck-widget.ck-widget_selected:hover{outline-color:var(--ck-color-widget-blurred-border)}.ck.ck-editor__editable.ck-blurred .ck-widget.ck-widget_selected.ck-widget_with-selection-handle:hover>.ck-widget__selection-handle,.ck.ck-editor__editable.ck-blurred .ck-widget.ck-widget_selected.ck-widget_with-selection-handle:hover>.ck-widget__selection-handle:hover,.ck.ck-editor__editable.ck-blurred .ck-widget.ck-widget_selected.ck-widget_with-selection-handle>.ck-widget__selection-handle,.ck.ck-editor__editable.ck-blurred .ck-widget.ck-widget_selected.ck-widget_with-selection-handle>.ck-widget__selection-handle:hover{background:var(--ck-color-widget-blurred-border)}.ck.ck-editor__editable blockquote>.ck-widget.ck-widget_with-selection-handle:first-child,.ck.ck-editor__editable>.ck-widget.ck-widget_with-selection-handle:first-child{margin-top:calc(1em + var(--ck-widget-handler-icon-size))}","",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-widget/theme/widget.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-widget/widget.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/mixins/_focus.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/mixins/_shadow.css"],names:[],mappings:"AAKA,MACC,+CAAgD,CAChD,6CAAsD,CACtD,uCAAgD,CAEhD,kDAAmD,CACnD,gCAAiC,CACjC,kEACD,CAOA,8DAEC,iBAqBD,CAnBC,4EACC,iBAOD,CALC,qFAGC,aACD,CASD,iLACC,kBACD,CAGD,kBACC,qDAAsD,CAEtD,qDAAsD,CACtD,6CAA8C,CAF9C,0CAA2C,CAI3C,aAAc,CADd,kCAAmC,CAGnC,uCAAwC,CACxC,4CAA6C,CAF7C,iCAsCD,CAlCC,8NAKC,iBACD,CAEA,0CAEC,qCAAsC,CADtC,oCAED,CAEA,2CAEC,sCAAuC,CADvC,oCAED,CAEA,8CACC,uCAAwC,CACxC,sCACD,CAEA,6CACC,uCAAwC,CACxC,qCACD,CAGA,8CAEC,QAAS,CADT,6CAAgD,CAEhD,yBACD,CCjFD,MACC,iCAAkC,CAClC,kCAAmC,CACnC,4CAA6C,CAC7C,wCAAyC,CAEzC,wCAAiD,CACjD,sCAAkD,CAClD,2EAA4E,CAC5E,yEACD,CAEA,eAGC,yBAA0B,CAD1B,mBAAoB,CADpB,gDAAiD,CAGjD,6GAUD,CARC,0EAEC,6EACD,CAEA,qBACC,iDACD,CAGD,gCACC,4BAWD,CAPC,yGAKC,iEAAkE,CCnCnE,2BAA2B,CCF3B,qCAA8B,CDC9B,YDqCA,CAIA,4EAKC,4BAA6B,CAa7B,iEAAkE,CAhBlE,qBAAsB,CAoBtB,mDAAoD,CAhBpD,SAAU,CALV,WAAY,CAsBZ,KAAM,CAFN,2BAA4B,CAT5B,6SAgCD,CAnBC,qFAIC,oDAAqD,CADrD,yCAA0C,CAD1C,wCAWD,CANC,kHACC,SAAU,CAGV,+DACD,CAID,wHACC,SACD,CAID,kFAEC,oDAAqD,CADrD,SAED,CAKC,oMAEC,6CAA8C,CAD9C,SAOD,CAHC,gRACC,SACD,CAOH,qFACC,SAAU,CACV,oDACD,CAGA,gDAEC,eAkBD,CAhBC,yEAOC,iCACD,CAGC,gOAEC,gDACD,CAOD,wIAEC,mDAQD,CALE,ghBAEC,gDACD,CAKH,yKAOC,yDACD",sourcesContent:[`/* + * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved. + * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license + */ + +:root { + --ck-color-resizer: var(--ck-color-focus-border); + --ck-color-resizer-tooltip-background: hsl(0, 0%, 15%); + --ck-color-resizer-tooltip-text: hsl(0, 0%, 95%); + + --ck-resizer-border-radius: var(--ck-border-radius); + --ck-resizer-tooltip-offset: 10px; + --ck-resizer-tooltip-height: calc(var(--ck-spacing-small) * 2 + 10px); +} + +.ck .ck-widget { + /* This is neccessary for type around UI to be positioned properly. */ + position: relative; +} + +.ck .ck-widget.ck-widget_with-selection-handle { + /* Make the widget wrapper a relative positioning container for the drag handle. */ + position: relative; + + & .ck-widget__selection-handle { + position: absolute; + + & .ck-icon { + /* Make sure the icon in not a subject to font-size or line-height to avoid + unnecessary spacing around it. */ + display: block; + } + } + + /* Show the selection handle on mouse hover over the widget, but not for nested widgets. */ + &:hover > .ck-widget__selection-handle { + visibility: visible; + } + + /* Show the selection handle when the widget is selected, but not for nested widgets. */ + &.ck-widget_selected > .ck-widget__selection-handle { + visibility: visible; + } +} + +.ck .ck-size-view { + background: var(--ck-color-resizer-tooltip-background); + color: var(--ck-color-resizer-tooltip-text); + border: 1px solid var(--ck-color-resizer-tooltip-text); + border-radius: var(--ck-resizer-border-radius); + font-size: var(--ck-font-size-tiny); + display: block; + padding: 0 var(--ck-spacing-small); + height: var(--ck-resizer-tooltip-height); + line-height: var(--ck-resizer-tooltip-height); + + &.ck-orientation-top-left, + &.ck-orientation-top-right, + &.ck-orientation-bottom-right, + &.ck-orientation-bottom-left, + &.ck-orientation-above-center { + position: absolute; + } + + &.ck-orientation-top-left { + top: var(--ck-resizer-tooltip-offset); + left: var(--ck-resizer-tooltip-offset); + } + + &.ck-orientation-top-right { + top: var(--ck-resizer-tooltip-offset); + right: var(--ck-resizer-tooltip-offset); + } + + &.ck-orientation-bottom-right { + bottom: var(--ck-resizer-tooltip-offset); + right: var(--ck-resizer-tooltip-offset); + } + + &.ck-orientation-bottom-left { + bottom: var(--ck-resizer-tooltip-offset); + left: var(--ck-resizer-tooltip-offset); + } + + /* Class applied if the widget is too small to contain the size label */ + &.ck-orientation-above-center { + top: calc(var(--ck-resizer-tooltip-height) * -1); + left: 50%; + transform: translate(-50%); + } +} +`,`/* + * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved. + * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license + */ + +@import "../mixins/_focus.css"; +@import "../mixins/_shadow.css"; + +:root { + --ck-widget-outline-thickness: 3px; + --ck-widget-handler-icon-size: 16px; + --ck-widget-handler-animation-duration: 200ms; + --ck-widget-handler-animation-curve: ease; + + --ck-color-widget-blurred-border: hsl(0, 0%, 87%); + --ck-color-widget-hover-border: hsl(43, 100%, 62%); + --ck-color-widget-editable-focus-background: var(--ck-color-base-background); + --ck-color-widget-drag-handler-icon-color: var(--ck-color-base-background); +} + +.ck .ck-widget { + outline-width: var(--ck-widget-outline-thickness); + outline-style: solid; + outline-color: transparent; + transition: outline-color var(--ck-widget-handler-animation-duration) var(--ck-widget-handler-animation-curve); + + &.ck-widget_selected, + &.ck-widget_selected:hover { + outline: var(--ck-widget-outline-thickness) solid var(--ck-color-focus-border); + } + + &:hover { + outline-color: var(--ck-color-widget-hover-border); + } +} + +.ck .ck-editor__nested-editable { + border: 1px solid transparent; + + /* The :focus style is applied before .ck-editor__nested-editable_focused class is rendered in the view. + These styles show a different border for a blink of an eye, so \`:focus\` need to have same styles applied. */ + &.ck-editor__nested-editable_focused, + &:focus { + @mixin ck-focus-ring; + @mixin ck-box-shadow var(--ck-inner-shadow); + + background-color: var(--ck-color-widget-editable-focus-background); + } +} + +.ck .ck-widget.ck-widget_with-selection-handle { + & .ck-widget__selection-handle { + padding: 4px; + box-sizing: border-box; + + /* Background and opacity will be animated as the handler shows up or the widget gets selected. */ + background-color: transparent; + opacity: 0; + + /* Transition: + * background-color for the .ck-widget_selected state change, + * visibility for hiding the handler, + * opacity for the proper look of the icon when the handler disappears. */ + transition: + background-color var(--ck-widget-handler-animation-duration) var(--ck-widget-handler-animation-curve), + visibility var(--ck-widget-handler-animation-duration) var(--ck-widget-handler-animation-curve), + opacity var(--ck-widget-handler-animation-duration) var(--ck-widget-handler-animation-curve); + + /* Make only top corners round. */ + border-radius: var(--ck-border-radius) var(--ck-border-radius) 0 0; + + /* Place the drag handler outside the widget wrapper. */ + transform: translateY(-100%); + left: calc(0px - var(--ck-widget-outline-thickness)); + top: 0; + + & .ck-icon { + /* Make sure the dimensions of the icon are independent of the fon-size of the content. */ + width: var(--ck-widget-handler-icon-size); + height: var(--ck-widget-handler-icon-size); + color: var(--ck-color-widget-drag-handler-icon-color); + + /* The "selected" part of the icon is invisible by default */ + & .ck-icon__selected-indicator { + opacity: 0; + + /* Note: The animation is longer on purpose. Simply feels better. */ + transition: opacity 300ms var(--ck-widget-handler-animation-curve); + } + } + + /* Advertise using the look of the icon that once clicked the handler, the widget will be selected. */ + &:hover .ck-icon .ck-icon__selected-indicator { + opacity: 1; + } + } + + /* Show the selection handler on mouse hover over the widget, but not for nested widgets. */ + &:hover > .ck-widget__selection-handle { + opacity: 1; + background-color: var(--ck-color-widget-hover-border); + } + + /* Show the selection handler when the widget is selected, but not for nested widgets. */ + &.ck-widget_selected, + &.ck-widget_selected:hover { + & > .ck-widget__selection-handle { + opacity: 1; + background-color: var(--ck-color-focus-border); + + /* When the widget is selected, notify the user using the proper look of the icon. */ + & .ck-icon .ck-icon__selected-indicator { + opacity: 1; + } + } + } +} + +/* In a RTL environment, align the selection handler to the right side of the widget */ +/* stylelint-disable-next-line no-descending-specificity */ +.ck[dir="rtl"] .ck-widget.ck-widget_with-selection-handle .ck-widget__selection-handle { + left: auto; + right: calc(0px - var(--ck-widget-outline-thickness)); +} + +/* https://github.com/ckeditor/ckeditor5/issues/6415 */ +.ck.ck-editor__editable.ck-read-only .ck-widget { + /* Prevent the :hover outline from showing up because of the used outline-color transition. */ + transition: none; + + &:not(.ck-widget_selected) { + /* Disable visual effects of hover/active widget when CKEditor is in readOnly mode. + * See: https://github.com/ckeditor/ckeditor5/issues/1261 + * + * Leave the unit because this custom property is used in calc() by other features. + * See: https://github.com/ckeditor/ckeditor5/issues/6775 + */ + --ck-widget-outline-thickness: 0px; + } + + &.ck-widget_with-selection-handle { + & .ck-widget__selection-handle, + & .ck-widget__selection-handle:hover { + background: var(--ck-color-widget-blurred-border); + } + } +} + +/* Style the widget when it's selected but the editable it belongs to lost focus. */ +/* stylelint-disable-next-line no-descending-specificity */ +.ck.ck-editor__editable.ck-blurred .ck-widget { + &.ck-widget_selected, + &.ck-widget_selected:hover { + outline-color: var(--ck-color-widget-blurred-border); + + &.ck-widget_with-selection-handle { + & > .ck-widget__selection-handle, + & > .ck-widget__selection-handle:hover { + background: var(--ck-color-widget-blurred-border); + } + } + } +} + +.ck.ck-editor__editable > .ck-widget.ck-widget_with-selection-handle:first-child, +.ck.ck-editor__editable blockquote > .ck-widget.ck-widget_with-selection-handle:first-child { + /* Do not crop selection handler if a widget is a first-child in the blockquote or in the root editable. + In fact, anything with overflow: hidden. + https://github.com/ckeditor/ckeditor5-block-quote/issues/28 + https://github.com/ckeditor/ckeditor5-widget/issues/44 + https://github.com/ckeditor/ckeditor5-widget/issues/66 */ + margin-top: calc(1em + var(--ck-widget-handler-icon-size)); +} +`,`/* + * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved. + * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license + */ + +/** + * A visual style of focused element's border. + */ +@define-mixin ck-focus-ring { + /* Disable native outline. */ + outline: none; + border: var(--ck-focus-ring) +} +`,`/* + * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved. + * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license + */ + +/** + * A helper to combine multiple shadows. + */ +@define-mixin ck-box-shadow $shadowA, $shadowB: 0 0 { + box-shadow: $shadowA, $shadowB; +} + +/** + * Gives an element a drop shadow so it looks like a floating panel. + */ +@define-mixin ck-drop-shadow { + @mixin ck-box-shadow var(--ck-drop-shadow); +} +`],sourceRoot:""}]);const m=g},4875:(_,x,h)=>{h.d(x,{Z:()=>m});var y=h(4015),E=h.n(y),k=h(3645),D=h.n(k),g=D()(E());g.push([_.id,".ck .ck-widget_with-resizer{position:relative}.ck .ck-widget__resizer{display:none;left:0;pointer-events:none;position:absolute;top:0}.ck-focused .ck-widget_with-resizer.ck-widget_selected>.ck-widget__resizer{display:block}.ck .ck-widget__resizer__handle{pointer-events:all;position:absolute}.ck .ck-widget__resizer__handle.ck-widget__resizer__handle-bottom-right,.ck .ck-widget__resizer__handle.ck-widget__resizer__handle-top-left{cursor:nwse-resize}.ck .ck-widget__resizer__handle.ck-widget__resizer__handle-bottom-left,.ck .ck-widget__resizer__handle.ck-widget__resizer__handle-top-right{cursor:nesw-resize}:root{--ck-resizer-size:10px;--ck-resizer-offset:calc(var(--ck-resizer-size)/-2 - 2px);--ck-resizer-border-width:1px}.ck .ck-widget__resizer{outline:1px solid var(--ck-color-resizer)}.ck .ck-widget__resizer__handle{background:var(--ck-color-focus-border);border:var(--ck-resizer-border-width) solid #fff;border-radius:var(--ck-resizer-border-radius);height:var(--ck-resizer-size);width:var(--ck-resizer-size)}.ck .ck-widget__resizer__handle.ck-widget__resizer__handle-top-left{left:var(--ck-resizer-offset);top:var(--ck-resizer-offset)}.ck .ck-widget__resizer__handle.ck-widget__resizer__handle-top-right{right:var(--ck-resizer-offset);top:var(--ck-resizer-offset)}.ck .ck-widget__resizer__handle.ck-widget__resizer__handle-bottom-right{bottom:var(--ck-resizer-offset);right:var(--ck-resizer-offset)}.ck .ck-widget__resizer__handle.ck-widget__resizer__handle-bottom-left{bottom:var(--ck-resizer-offset);left:var(--ck-resizer-offset)}","",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-widget/theme/widgetresize.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-widget/widgetresize.css"],names:[],mappings:"AAKA,4BAEC,iBACD,CAEA,wBACC,YAAa,CAMb,MAAO,CAFP,mBAAoB,CAHpB,iBAAkB,CAMlB,KACD,CAGC,2EACC,aACD,CAGD,gCAIC,kBAAmB,CAHnB,iBAcD,CATC,4IAEC,kBACD,CAEA,4IAEC,kBACD,CCpCD,MACC,sBAAuB,CAGvB,yDAAiE,CACjE,6BACD,CAEA,wBACC,yCACD,CAEA,gCAGC,uCAAwC,CACxC,gDAA6D,CAC7D,6CAA8C,CAH9C,6BAA8B,CAD9B,4BAyBD,CAnBC,oEAEC,6BAA8B,CAD9B,4BAED,CAEA,qEAEC,8BAA+B,CAD/B,4BAED,CAEA,wEACC,+BAAgC,CAChC,8BACD,CAEA,uEACC,+BAAgC,CAChC,6BACD",sourcesContent:[`/* + * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved. + * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license + */ + +.ck .ck-widget_with-resizer { + /* Make the widget wrapper a relative positioning container for the drag handle. */ + position: relative; +} + +.ck .ck-widget__resizer { + display: none; + position: absolute; + + /* The wrapper itself should not interfere with the pointer device, only the handles should. */ + pointer-events: none; + + left: 0; + top: 0; +} + +.ck-focused .ck-widget_with-resizer.ck-widget_selected { + & > .ck-widget__resizer { + display: block; + } +} + +.ck .ck-widget__resizer__handle { + position: absolute; + + /* Resizers are the only UI elements that should interfere with a pointer device. */ + pointer-events: all; + + &.ck-widget__resizer__handle-top-left, + &.ck-widget__resizer__handle-bottom-right { + cursor: nwse-resize; + } + + &.ck-widget__resizer__handle-top-right, + &.ck-widget__resizer__handle-bottom-left { + cursor: nesw-resize; + } +} +`,`/* + * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved. + * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license + */ + +:root { + --ck-resizer-size: 10px; + + /* Set the resizer with a 50% offset. */ + --ck-resizer-offset: calc( ( var(--ck-resizer-size) / -2 ) - 2px); + --ck-resizer-border-width: 1px; +} + +.ck .ck-widget__resizer { + outline: 1px solid var(--ck-color-resizer); +} + +.ck .ck-widget__resizer__handle { + width: var(--ck-resizer-size); + height: var(--ck-resizer-size); + background: var(--ck-color-focus-border); + border: var(--ck-resizer-border-width) solid hsl(0, 0%, 100%); + border-radius: var(--ck-resizer-border-radius); + + &.ck-widget__resizer__handle-top-left { + top: var(--ck-resizer-offset); + left: var(--ck-resizer-offset); + } + + &.ck-widget__resizer__handle-top-right { + top: var(--ck-resizer-offset); + right: var(--ck-resizer-offset); + } + + &.ck-widget__resizer__handle-bottom-right { + bottom: var(--ck-resizer-offset); + right: var(--ck-resizer-offset); + } + + &.ck-widget__resizer__handle-bottom-left { + bottom: var(--ck-resizer-offset); + left: var(--ck-resizer-offset); + } +} +`],sourceRoot:""}]);const m=g},2347:(_,x,h)=>{h.d(x,{Z:()=>m});var y=h(4015),E=h.n(y),k=h(3645),D=h.n(k),g=D()(E());g.push([_.id,'.ck .ck-widget .ck-widget__type-around__button{display:block;overflow:hidden;position:absolute;z-index:var(--ck-z-default)}.ck .ck-widget .ck-widget__type-around__button svg{left:50%;position:absolute;top:50%;z-index:calc(var(--ck-z-default) + 2)}.ck .ck-widget .ck-widget__type-around__button.ck-widget__type-around__button_before{left:min(10%,30px);top:calc(var(--ck-widget-outline-thickness)*-.5);transform:translateY(-50%)}.ck .ck-widget .ck-widget__type-around__button.ck-widget__type-around__button_after{bottom:calc(var(--ck-widget-outline-thickness)*-.5);right:min(10%,30px);transform:translateY(50%)}.ck .ck-widget.ck-widget_selected>.ck-widget__type-around>.ck-widget__type-around__button:after,.ck .ck-widget>.ck-widget__type-around>.ck-widget__type-around__button:hover:after{content:"";display:block;left:1px;position:absolute;top:1px;z-index:calc(var(--ck-z-default) + 1)}.ck .ck-widget>.ck-widget__type-around>.ck-widget__type-around__fake-caret{display:none;left:0;position:absolute;right:0}.ck .ck-widget:hover>.ck-widget__type-around>.ck-widget__type-around__fake-caret{left:calc(var(--ck-widget-outline-thickness)*-1);right:calc(var(--ck-widget-outline-thickness)*-1)}.ck .ck-widget.ck-widget_type-around_show-fake-caret_before>.ck-widget__type-around>.ck-widget__type-around__fake-caret{display:block;top:calc(var(--ck-widget-outline-thickness)*-1 - 1px)}.ck .ck-widget.ck-widget_type-around_show-fake-caret_after>.ck-widget__type-around>.ck-widget__type-around__fake-caret{bottom:calc(var(--ck-widget-outline-thickness)*-1 - 1px);display:block}.ck.ck-editor__editable.ck-read-only .ck-widget__type-around,.ck.ck-editor__editable.ck-restricted-editing_mode_restricted .ck-widget__type-around,.ck.ck-editor__editable.ck-widget__type-around_disabled .ck-widget__type-around{display:none}:root{--ck-widget-type-around-button-size:20px;--ck-color-widget-type-around-button-active:var(--ck-color-focus-border);--ck-color-widget-type-around-button-hover:var(--ck-color-widget-hover-border);--ck-color-widget-type-around-button-blurred-editable:var(--ck-color-widget-blurred-border);--ck-color-widget-type-around-button-radar-start-alpha:0;--ck-color-widget-type-around-button-radar-end-alpha:.3;--ck-color-widget-type-around-button-icon:var(--ck-color-base-background)}.ck .ck-widget .ck-widget__type-around__button{background:var(--ck-color-widget-type-around-button);border-radius:100px;height:var(--ck-widget-type-around-button-size);opacity:0;pointer-events:none;transition:opacity var(--ck-widget-handler-animation-duration) var(--ck-widget-handler-animation-curve),background var(--ck-widget-handler-animation-duration) var(--ck-widget-handler-animation-curve);width:var(--ck-widget-type-around-button-size)}.ck .ck-widget .ck-widget__type-around__button svg{height:8px;margin-top:1px;transform:translate(-50%,-50%);transition:transform .5s ease;width:10px}.ck .ck-widget .ck-widget__type-around__button svg *{stroke-dasharray:10;stroke-dashoffset:0;fill:none;stroke:var(--ck-color-widget-type-around-button-icon);stroke-width:1.5px;stroke-linecap:round;stroke-linejoin:round}.ck .ck-widget .ck-widget__type-around__button svg line{stroke-dasharray:7}.ck .ck-widget .ck-widget__type-around__button:hover{animation:ck-widget-type-around-button-sonar 1s ease infinite}.ck .ck-widget .ck-widget__type-around__button:hover svg polyline{animation:ck-widget-type-around-arrow-dash 2s linear}.ck .ck-widget .ck-widget__type-around__button:hover svg line{animation:ck-widget-type-around-arrow-tip-dash 2s linear}.ck .ck-widget.ck-widget_selected>.ck-widget__type-around>.ck-widget__type-around__button,.ck .ck-widget:hover>.ck-widget__type-around>.ck-widget__type-around__button{opacity:1;pointer-events:auto}.ck .ck-widget:not(.ck-widget_selected)>.ck-widget__type-around>.ck-widget__type-around__button{background:var(--ck-color-widget-type-around-button-hover)}.ck .ck-widget.ck-widget_selected>.ck-widget__type-around>.ck-widget__type-around__button,.ck .ck-widget>.ck-widget__type-around>.ck-widget__type-around__button:hover{background:var(--ck-color-widget-type-around-button-active)}.ck .ck-widget.ck-widget_selected>.ck-widget__type-around>.ck-widget__type-around__button:after,.ck .ck-widget>.ck-widget__type-around>.ck-widget__type-around__button:hover:after{background:linear-gradient(135deg,hsla(0,0%,100%,0),hsla(0,0%,100%,.3));border-radius:100px;height:calc(var(--ck-widget-type-around-button-size) - 2px);width:calc(var(--ck-widget-type-around-button-size) - 2px)}.ck .ck-widget.ck-widget_with-selection-handle>.ck-widget__type-around>.ck-widget__type-around__button_before{margin-left:20px}.ck .ck-widget .ck-widget__type-around__fake-caret{animation:ck-widget-type-around-fake-caret-pulse 1s linear infinite normal forwards;background:var(--ck-color-base-text);height:1px;outline:1px solid hsla(0,0%,100%,.5);pointer-events:none}.ck .ck-widget.ck-widget_selected.ck-widget_type-around_show-fake-caret_after,.ck .ck-widget.ck-widget_selected.ck-widget_type-around_show-fake-caret_before{outline-color:transparent}.ck .ck-widget.ck-widget_type-around_show-fake-caret_after.ck-widget_selected:hover,.ck .ck-widget.ck-widget_type-around_show-fake-caret_before.ck-widget_selected:hover{outline-color:var(--ck-color-widget-hover-border)}.ck .ck-widget.ck-widget_type-around_show-fake-caret_after>.ck-widget__type-around>.ck-widget__type-around__button,.ck .ck-widget.ck-widget_type-around_show-fake-caret_before>.ck-widget__type-around>.ck-widget__type-around__button{opacity:0;pointer-events:none}.ck .ck-widget.ck-widget_type-around_show-fake-caret_after.ck-widget_selected.ck-widget_with-resizer>.ck-widget__resizer,.ck .ck-widget.ck-widget_type-around_show-fake-caret_after.ck-widget_with-selection-handle.ck-widget_selected:hover>.ck-widget__selection-handle,.ck .ck-widget.ck-widget_type-around_show-fake-caret_after.ck-widget_with-selection-handle.ck-widget_selected>.ck-widget__selection-handle,.ck .ck-widget.ck-widget_type-around_show-fake-caret_before.ck-widget_selected.ck-widget_with-resizer>.ck-widget__resizer,.ck .ck-widget.ck-widget_type-around_show-fake-caret_before.ck-widget_with-selection-handle.ck-widget_selected:hover>.ck-widget__selection-handle,.ck .ck-widget.ck-widget_type-around_show-fake-caret_before.ck-widget_with-selection-handle.ck-widget_selected>.ck-widget__selection-handle{opacity:0}.ck[dir=rtl] .ck-widget.ck-widget_with-selection-handle .ck-widget__type-around>.ck-widget__type-around__button_before{margin-left:0;margin-right:20px}.ck-editor__nested-editable.ck-editor__editable_selected .ck-widget.ck-widget_selected>.ck-widget__type-around>.ck-widget__type-around__button,.ck-editor__nested-editable.ck-editor__editable_selected .ck-widget:hover>.ck-widget__type-around>.ck-widget__type-around__button{opacity:0;pointer-events:none}.ck-editor__editable.ck-blurred .ck-widget.ck-widget_selected>.ck-widget__type-around>.ck-widget__type-around__button:not(:hover){background:var(--ck-color-widget-type-around-button-blurred-editable)}.ck-editor__editable.ck-blurred .ck-widget.ck-widget_selected>.ck-widget__type-around>.ck-widget__type-around__button:not(:hover) svg *{stroke:#999}@keyframes ck-widget-type-around-arrow-dash{0%{stroke-dashoffset:10}20%,to{stroke-dashoffset:0}}@keyframes ck-widget-type-around-arrow-tip-dash{0%,20%{stroke-dashoffset:7}40%,to{stroke-dashoffset:0}}@keyframes ck-widget-type-around-button-sonar{0%{box-shadow:0 0 0 0 hsla(var(--ck-color-focus-border-coordinates),var(--ck-color-widget-type-around-button-radar-start-alpha))}50%{box-shadow:0 0 0 5px hsla(var(--ck-color-focus-border-coordinates),var(--ck-color-widget-type-around-button-radar-end-alpha))}to{box-shadow:0 0 0 5px hsla(var(--ck-color-focus-border-coordinates),var(--ck-color-widget-type-around-button-radar-start-alpha))}}@keyframes ck-widget-type-around-fake-caret-pulse{0%{opacity:1}49%{opacity:1}50%{opacity:0}99%{opacity:0}to{opacity:1}}',"",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-widget/theme/widgettypearound.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-widget/widgettypearound.css"],names:[],mappings:"AASC,+CACC,aAAc,CAEd,eAAgB,CADhB,iBAAkB,CAElB,2BAwBD,CAtBC,mDAGC,QAAS,CAFT,iBAAkB,CAClB,OAAQ,CAER,qCACD,CAEA,qFAGC,kBAAoB,CADpB,gDAAoD,CAGpD,0BACD,CAEA,oFAEC,mDAAuD,CACvD,mBAAqB,CAErB,yBACD,CAUA,mLACC,UAAW,CACX,aAAc,CAGd,QAAS,CAFT,iBAAkB,CAClB,OAAQ,CAER,qCACD,CAMD,2EACC,YAAa,CAEb,MAAO,CADP,iBAAkB,CAElB,OACD,CAOA,iFACC,gDAAqD,CACrD,iDACD,CAKA,wHAEC,aAAc,CADd,qDAED,CAKA,uHACC,wDAA6D,CAC7D,aACD,CAoBD,mOACC,YACD,CC3GA,MACC,wCAAyC,CACzC,wEAAyE,CACzE,8EAA+E,CAC/E,2FAA4F,CAC5F,wDAAyD,CACzD,uDAAwD,CACxD,yEACD,CAgBC,+CAGC,oDAAqD,CACrD,mBAAoB,CAFpB,+CAAgD,CAVjD,SAAU,CACV,mBAAoB,CAYnB,uMAAyM,CAJzM,8CAkDD,CA1CC,mDAEC,UAAW,CAGX,cAAe,CAFf,8BAA+B,CAC/B,6BAA8B,CAH9B,UAoBD,CAdC,qDACC,mBAAoB,CACpB,mBAAoB,CAEpB,SAAU,CACV,qDAAsD,CACtD,kBAAmB,CACnB,oBAAqB,CACrB,qBACD,CAEA,wDACC,kBACD,CAGD,qDAIC,6DAcD,CARE,kEACC,oDACD,CAEA,8DACC,wDACD,CAUF,uKAvED,SAAU,CACV,mBAwEC,CAOD,gGACC,0DACD,CAOA,uKAEC,2DAQD,CANC,mLAIC,uEAAkF,CADlF,mBAAoB,CADpB,2DAA4D,CAD5D,0DAID,CAOD,8GACC,gBACD,CAKA,mDAGC,mFAAoF,CAOpF,oCAAqC,CARrC,UAAW,CAOX,oCAAwC,CARxC,mBAUD,CAOC,6JAEC,yBACD,CAUA,yKACC,iDACD,CAMA,uOAlJD,SAAU,CACV,mBAmJC,CAoBA,6yBACC,SACD,CASF,uHACC,aAAc,CACd,iBACD,CAYG,iRAlMF,SAAU,CACV,mBAmME,CAQH,kIACC,qEAKD,CAHC,wIACC,WACD,CAGD,4CACC,GACC,oBACD,CACA,OACC,mBACD,CACD,CAEA,gDACC,OACC,mBACD,CACA,OACC,mBACD,CACD,CAEA,8CACC,GACC,6HACD,CACA,IACC,6HACD,CACA,GACC,+HACD,CACD,CAEA,kDACC,GACC,SACD,CACA,IACC,SACD,CACA,IACC,SACD,CACA,IACC,SACD,CACA,GACC,SACD,CACD",sourcesContent:[`/* + * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved. + * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license + */ + +.ck .ck-widget { + /* + * Styles of the type around buttons + */ + & .ck-widget__type-around__button { + display: block; + position: absolute; + overflow: hidden; + z-index: var(--ck-z-default); + + & svg { + position: absolute; + top: 50%; + left: 50%; + z-index: calc(var(--ck-z-default) + 2); + } + + &.ck-widget__type-around__button_before { + /* Place it in the middle of the outline */ + top: calc(-0.5 * var(--ck-widget-outline-thickness)); + left: min(10%, 30px); + + transform: translateY(-50%); + } + + &.ck-widget__type-around__button_after { + /* Place it in the middle of the outline */ + bottom: calc(-0.5 * var(--ck-widget-outline-thickness)); + right: min(10%, 30px); + + transform: translateY(50%); + } + } + + /* + * Styles for the buttons when: + * - the widget is selected, + * - or the button is being hovered (regardless of the widget state). + */ + &.ck-widget_selected > .ck-widget__type-around > .ck-widget__type-around__button, + & > .ck-widget__type-around > .ck-widget__type-around__button:hover { + &::after { + content: ""; + display: block; + position: absolute; + top: 1px; + left: 1px; + z-index: calc(var(--ck-z-default) + 1); + } + } + + /* + * Styles for the horizontal "fake caret" which is displayed when the user navigates using the keyboard. + */ + & > .ck-widget__type-around > .ck-widget__type-around__fake-caret { + display: none; + position: absolute; + left: 0; + right: 0; + } + + /* + * When the widget is hovered the "fake caret" would normally be narrower than the + * extra outline displayed around the widget. Let's extend the "fake caret" to match + * the full width of the widget. + */ + &:hover > .ck-widget__type-around > .ck-widget__type-around__fake-caret { + left: calc( -1 * var(--ck-widget-outline-thickness) ); + right: calc( -1 * var(--ck-widget-outline-thickness) ); + } + + /* + * Styles for the horizontal "fake caret" when it should be displayed before the widget (backward keyboard navigation). + */ + &.ck-widget_type-around_show-fake-caret_before > .ck-widget__type-around > .ck-widget__type-around__fake-caret { + top: calc( -1 * var(--ck-widget-outline-thickness) - 1px ); + display: block; + } + + /* + * Styles for the horizontal "fake caret" when it should be displayed after the widget (forward keyboard navigation). + */ + &.ck-widget_type-around_show-fake-caret_after > .ck-widget__type-around > .ck-widget__type-around__fake-caret { + bottom: calc( -1 * var(--ck-widget-outline-thickness) - 1px ); + display: block; + } +} + +/* + * Integration with the read-only mode of the editor. + */ +.ck.ck-editor__editable.ck-read-only .ck-widget__type-around { + display: none; +} + +/* + * Integration with the restricted editing mode (feature) of the editor. + */ +.ck.ck-editor__editable.ck-restricted-editing_mode_restricted .ck-widget__type-around { + display: none; +} + +/* + * Integration with the #isEnabled property of the WidgetTypeAround plugin. + */ +.ck.ck-editor__editable.ck-widget__type-around_disabled .ck-widget__type-around { + display: none; +} +`,`/* + * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved. + * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license + */ + +:root { + --ck-widget-type-around-button-size: 20px; + --ck-color-widget-type-around-button-active: var(--ck-color-focus-border); + --ck-color-widget-type-around-button-hover: var(--ck-color-widget-hover-border); + --ck-color-widget-type-around-button-blurred-editable: var(--ck-color-widget-blurred-border); + --ck-color-widget-type-around-button-radar-start-alpha: 0; + --ck-color-widget-type-around-button-radar-end-alpha: .3; + --ck-color-widget-type-around-button-icon: var(--ck-color-base-background); +} + +@define-mixin ck-widget-type-around-button-visible { + opacity: 1; + pointer-events: auto; +} + +@define-mixin ck-widget-type-around-button-hidden { + opacity: 0; + pointer-events: none; +} + +.ck .ck-widget { + /* + * Styles of the type around buttons + */ + & .ck-widget__type-around__button { + width: var(--ck-widget-type-around-button-size); + height: var(--ck-widget-type-around-button-size); + background: var(--ck-color-widget-type-around-button); + border-radius: 100px; + transition: opacity var(--ck-widget-handler-animation-duration) var(--ck-widget-handler-animation-curve), background var(--ck-widget-handler-animation-duration) var(--ck-widget-handler-animation-curve); + + @mixin ck-widget-type-around-button-hidden; + + & svg { + width: 10px; + height: 8px; + transform: translate(-50%,-50%); + transition: transform .5s ease; + margin-top: 1px; + + & * { + stroke-dasharray: 10; + stroke-dashoffset: 0; + + fill: none; + stroke: var(--ck-color-widget-type-around-button-icon); + stroke-width: 1.5px; + stroke-linecap: round; + stroke-linejoin: round; + } + + & line { + stroke-dasharray: 7; + } + } + + &:hover { + /* + * Display the "sonar" around the button when hovered. + */ + animation: ck-widget-type-around-button-sonar 1s ease infinite; + + /* + * Animate active button's icon. + */ + & svg { + & polyline { + animation: ck-widget-type-around-arrow-dash 2s linear; + } + + & line { + animation: ck-widget-type-around-arrow-tip-dash 2s linear; + } + } + } + } + + /* + * Show type around buttons when the widget gets selected or being hovered. + */ + &.ck-widget_selected, + &:hover { + & > .ck-widget__type-around > .ck-widget__type-around__button { + @mixin ck-widget-type-around-button-visible; + } + } + + /* + * Styles for the buttons when the widget is NOT selected (but the buttons are visible + * and still can be hovered). + */ + &:not(.ck-widget_selected) > .ck-widget__type-around > .ck-widget__type-around__button { + background: var(--ck-color-widget-type-around-button-hover); + } + + /* + * Styles for the buttons when: + * - the widget is selected, + * - or the button is being hovered (regardless of the widget state). + */ + &.ck-widget_selected > .ck-widget__type-around > .ck-widget__type-around__button, + & > .ck-widget__type-around > .ck-widget__type-around__button:hover { + background: var(--ck-color-widget-type-around-button-active); + + &::after { + width: calc(var(--ck-widget-type-around-button-size) - 2px); + height: calc(var(--ck-widget-type-around-button-size) - 2px); + border-radius: 100px; + background: linear-gradient(135deg, hsla(0,0%,100%,0) 0%, hsla(0,0%,100%,.3) 100%); + } + } + + /* + * Styles for the "before" button when the widget has a selection handle. Because some space + * is consumed by the handle, the button must be moved slightly to the right to let it breathe. + */ + &.ck-widget_with-selection-handle > .ck-widget__type-around > .ck-widget__type-around__button_before { + margin-left: 20px; + } + + /* + * Styles for the horizontal "fake caret" which is displayed when the user navigates using the keyboard. + */ + & .ck-widget__type-around__fake-caret { + pointer-events: none; + height: 1px; + animation: ck-widget-type-around-fake-caret-pulse linear 1s infinite normal forwards; + + /* + * The semi-transparent-outline+background combo improves the contrast + * when the background underneath the fake caret is dark. + */ + outline: solid 1px hsla(0, 0%, 100%, .5); + background: var(--ck-color-base-text); + } + + /* + * Styles of the widget when the "fake caret" is blinking (e.g. upon keyboard navigation). + * Despite the widget being physically selected in the model, its outline should disappear. + */ + &.ck-widget_selected { + &.ck-widget_type-around_show-fake-caret_before, + &.ck-widget_type-around_show-fake-caret_after { + outline-color: transparent; + } + } + + &.ck-widget_type-around_show-fake-caret_before, + &.ck-widget_type-around_show-fake-caret_after { + /* + * When the "fake caret" is visible we simulate that the widget is not selected + * (despite being physically selected), so the outline color should be for the + * unselected widget. + */ + &.ck-widget_selected:hover { + outline-color: var(--ck-color-widget-hover-border); + } + + /* + * Styles of the type around buttons when the "fake caret" is blinking (e.g. upon keyboard navigation). + * In this state, the type around buttons would collide with the fake carets so they should disappear. + */ + & > .ck-widget__type-around > .ck-widget__type-around__button { + @mixin ck-widget-type-around-button-hidden; + } + + /* + * Fake horizontal caret integration with the selection handle. When the caret is visible, simply + * hide the handle because it intersects with the caret (and does not make much sense anyway). + */ + &.ck-widget_with-selection-handle { + &.ck-widget_selected, + &.ck-widget_selected:hover { + & > .ck-widget__selection-handle { + opacity: 0 + } + } + } + + /* + * Fake horizontal caret integration with the resize UI. When the caret is visible, simply + * hide the resize UI because it creates too much noise. It can be visible when the user + * hovers the widget, though. + */ + &.ck-widget_selected.ck-widget_with-resizer > .ck-widget__resizer { + opacity: 0 + } + } +} + +/* + * Styles for the "before" button when the widget has a selection handle in an RTL environment. + * The selection handler is aligned to the right side of the widget so there is no need to create + * additional space for it next to the "before" button. + */ +.ck[dir="rtl"] .ck-widget.ck-widget_with-selection-handle .ck-widget__type-around > .ck-widget__type-around__button_before { + margin-left: 0; + margin-right: 20px; +} + +/* + * Hide type around buttons when the widget is selected as a child of a selected + * nested editable (e.g. mulit-cell table selection). + * + * See https://github.com/ckeditor/ckeditor5/issues/7263. + */ +.ck-editor__nested-editable.ck-editor__editable_selected { + & .ck-widget { + &.ck-widget_selected, + &:hover { + & > .ck-widget__type-around > .ck-widget__type-around__button { + @mixin ck-widget-type-around-button-hidden; + } + } + } +} + +/* + * Styles for the buttons when the widget is selected but the user clicked outside of the editor (blurred the editor). + */ +.ck-editor__editable.ck-blurred .ck-widget.ck-widget_selected > .ck-widget__type-around > .ck-widget__type-around__button:not(:hover) { + background: var(--ck-color-widget-type-around-button-blurred-editable); + + & svg * { + stroke: hsl(0,0%,60%); + } +} + +@keyframes ck-widget-type-around-arrow-dash { + 0% { + stroke-dashoffset: 10; + } + 20%, 100% { + stroke-dashoffset: 0; + } +} + +@keyframes ck-widget-type-around-arrow-tip-dash { + 0%, 20% { + stroke-dashoffset: 7; + } + 40%, 100% { + stroke-dashoffset: 0; + } +} + +@keyframes ck-widget-type-around-button-sonar { + 0% { + box-shadow: 0 0 0 0 hsla(var(--ck-color-focus-border-coordinates), var(--ck-color-widget-type-around-button-radar-start-alpha)); + } + 50% { + box-shadow: 0 0 0 5px hsla(var(--ck-color-focus-border-coordinates), var(--ck-color-widget-type-around-button-radar-end-alpha)); + } + 100% { + box-shadow: 0 0 0 5px hsla(var(--ck-color-focus-border-coordinates), var(--ck-color-widget-type-around-button-radar-start-alpha)); + } +} + +@keyframes ck-widget-type-around-fake-caret-pulse { + 0% { + opacity: 1; + } + 49% { + opacity: 1; + } + 50% { + opacity: 0; + } + 99% { + opacity: 0; + } + 100% { + opacity: 1; + } +} +`],sourceRoot:""}]);const m=g},3645:_=>{_.exports=function(x){var h=[];return h.toString=function(){return this.map(function(E){var k=x(E);return E[2]?"@media ".concat(E[2]," {").concat(k,"}"):k}).join("")},h.i=function(y,E,k){typeof y=="string"&&(y=[[null,y,""]]);var D={};if(k)for(var g=0;g{function x(g,m){return D(g)||k(g,m)||y(g,m)||h()}function h(){throw new TypeError(`Invalid attempt to destructure non-iterable instance. +In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function y(g,m){if(g){if(typeof g=="string")return E(g,m);var A=Object.prototype.toString.call(g).slice(8,-1);if(A==="Object"&&g.constructor&&(A=g.constructor.name),A==="Map"||A==="Set")return Array.from(g);if(A==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(A))return E(g,m)}}function E(g,m){(m==null||m>g.length)&&(m=g.length);for(var A=0,C=new Array(m);A{var y=function(){var G;return function(){return typeof G>"u"&&(G=!!(window&&document&&document.all&&!window.atob)),G}}(),E=function(){var G={};return function(nt){if(typeof G[nt]>"u"){var it=document.querySelector(nt);if(window.HTMLIFrameElement&&it instanceof window.HTMLIFrameElement)try{it=it.contentDocument.head}catch{it=null}G[nt]=it}return G[nt]}}(),k=[];function D(R){for(var G=-1,$=0;$"u"){var nt=h.nc;nt&&($.nonce=nt)}if(Object.keys($).forEach(function(Ct){G.setAttribute(Ct,$[Ct])}),typeof R.insert=="function")R.insert(G);else{var it=E(R.insert||"head");if(!it)throw new Error("Couldn't find a style target. This probably means that the value for the 'insert' parameter is invalid.");it.appendChild(G)}return G}function A(R){if(R.parentNode===null)return!1;R.parentNode.removeChild(R)}var C=function(){var G=[];return function(nt,it){return G[nt]=it,G.filter(Boolean).join(` +`)}}();function v(R,G,$,nt){var it=$?"":nt.media?"@media ".concat(nt.media," {").concat(nt.css,"}"):nt.css;if(R.styleSheet)R.styleSheet.cssText=C(G,it);else{var Ct=document.createTextNode(it),Bt=R.childNodes;Bt[G]&&R.removeChild(Bt[G]),Bt.length?R.insertBefore(Ct,Bt[G]):R.appendChild(Ct)}}function I(R,G,$){var nt=$.css,it=$.media,Ct=$.sourceMap;if(it?R.setAttribute("media",it):R.removeAttribute("media"),Ct&&typeof btoa<"u"&&(nt+=` +/*# sourceMappingURL=data:application/json;base64,`.concat(btoa(unescape(encodeURIComponent(JSON.stringify(Ct))))," */")),R.styleSheet)R.styleSheet.cssText=nt;else{for(;R.firstChild;)R.removeChild(R.firstChild);R.appendChild(document.createTextNode(nt))}}var M=null,j=0;function W(R,G){var $,nt,it;if(G.singleton){var Ct=j++;$=M||(M=m(G)),nt=v.bind(null,$,Ct,!1),it=v.bind(null,$,Ct,!0)}else $=m(G),nt=I.bind(null,$,G),it=function(){A($)};return nt(R),function(ee){if(ee){if(ee.css===R.css&&ee.media===R.media&&ee.sourceMap===R.sourceMap)return;nt(R=ee)}else it()}}_.exports=function(R,G){G=G||{},!G.singleton&&typeof G.singleton!="boolean"&&(G.singleton=y()),R=R||[];var $=g(R,G);return function(it){if(it=it||[],Object.prototype.toString.call(it)==="[object Array]"){for(var Ct=0;Ct<$.length;Ct++){var Bt=$[Ct],ee=D(Bt);k[ee].references--}for(var Pe=g(it,G),Pt=0;Pt<$.length;Pt++){var xt=$[Pt],qt=D(xt);k[qt].references===0&&(k[qt].updater(),k.splice(qt,1))}$=Pe}}}}},Ge={};function L(_){var x=Ge[_];if(x!==void 0)return x.exports;var h=Ge[_]={id:_,exports:{}};return Un[_](h,h.exports,L),h.exports}L.n=_=>{var x=_&&_.__esModule?()=>_.default:()=>_;return L.d(x,{a:x}),x},L.d=(_,x)=>{for(var h in x)L.o(x,h)&&!L.o(_,h)&&Object.defineProperty(_,h,{enumerable:!0,get:x[h]})},L.o=(_,x)=>Object.prototype.hasOwnProperty.call(_,x),L.nc=void 0;var Io={};return(()=>{L.d(Io,{default:()=>U3});function _({emitter:o,activator:t,callback:e,contextElements:n}){o.listenTo(document,"mousedown",(i,r)=>{if(!t())return;const s=typeof r.composedPath=="function"?r.composedPath():[],a=typeof n=="function"?n():n;for(const c of a)if(c.contains(r.target)||s.includes(c))return;e()})}function x(o){class t extends o{disableCssTransitions(){this._isCssTransitionsDisabled=!0}enableCssTransitions(){this._isCssTransitionsDisabled=!1}constructor(...n){super(...n),this.set("_isCssTransitionsDisabled",!1),this.initializeCssTransitionDisablerMixin()}initializeCssTransitionDisablerMixin(){this.extendTemplate({attributes:{class:[this.bindTemplate.if("_isCssTransitionsDisabled","ck-transitions-disabled")]}})}}return t}function h({view:o}){o.listenTo(o.element,"submit",(t,e)=>{e.preventDefault(),o.fire("submit")},{useCapture:!0})}function y({keystrokeHandler:o,focusTracker:t,gridItems:e,numberOfColumns:n,uiLanguageDirection:i}){const r=typeof n=="number"?()=>n:n;o.set("arrowright",s((l,d)=>i==="rtl"?c(l,d.length):a(l,d.length))),o.set("arrowleft",s((l,d)=>i==="rtl"?a(l,d.length):c(l,d.length))),o.set("arrowup",s((l,d)=>{let u=l-r();return u<0&&(u=l+r()*Math.floor(d.length/r()),u>d.length-1&&(u-=r())),u})),o.set("arrowdown",s((l,d)=>{let u=l+r();return u>d.length-1&&(u=l%r()),u}));function s(l){return d=>{const u=e.find(w=>w.element===t.focusedElement),f=e.getIndex(u),p=l(f,e);e.get(p).focus(),d.stopPropagation(),d.preventDefault()}}function a(l,d){return l===d-1?0:l+1}function c(l,d){return l===0?d-1:l-1}}function E(){try{return navigator.userAgent.toLowerCase()}catch{return""}}const k=E(),g={isMac:m(k),isWindows:A(k),isGecko:C(k),isSafari:v(k),isiOS:I(k),isAndroid:M(k),isBlink:j(k),features:{isRegExpUnicodePropertySupported:W()}};function m(o){return o.indexOf("macintosh")>-1}function A(o){return o.indexOf("windows")>-1}function C(o){return!!o.match(/gecko\/\d+/)}function v(o){return o.indexOf(" applewebkit/")>-1&&o.indexOf("chrome")===-1}function I(o){return!!o.match(/iphone|ipad/i)||m(o)&&navigator.maxTouchPoints>0}function M(o){return o.indexOf("android")>-1}function j(o){return o.indexOf("chrome/")>-1&&o.indexOf("edge/")<0}function W(){let o=!1;try{o="ć".search(new RegExp("[\\p{L}]","u"))===0}catch{}return o}function R(o,t,e,n){e=e||function(c,l){return c===l};const i=Array.isArray(o)?o:Array.prototype.slice.call(o),r=Array.isArray(t)?t:Array.prototype.slice.call(t),s=G(i,r,e);return n?Ct(s,r.length):it(r,s)}function G(o,t,e){const n=$(o,t,e);if(n===-1)return{firstIndex:-1,lastIndexOld:-1,lastIndexNew:-1};const i=nt(o,n),r=nt(t,n),s=$(i,r,e),a=o.length-s,c=t.length-s;return{firstIndex:n,lastIndexOld:a,lastIndexNew:c}}function $(o,t,e){for(let n=0;n0&&e.push({index:n,type:"insert",values:o.slice(n,r)}),i-n>0&&e.push({index:n+(r-n),type:"delete",howMany:i-n}),e}function Ct(o,t){const{firstIndex:e,lastIndexOld:n,lastIndexNew:i}=o;if(e===-1)return Array(t).fill("equal");let r=[];return e>0&&(r=r.concat(Array(e).fill("equal"))),i-e>0&&(r=r.concat(Array(i-e).fill("insert"))),n-e>0&&(r=r.concat(Array(n-e).fill("delete"))),i200||i>200||n+i>300)return Bt.fastDiff(o,t,e,!0);let r,s;if(iz?-1:1;d[S+V]&&(d[S]=d[S+V].slice(0)),d[S]||(d[S]=[]),d[S].push(B>z?r:s);let J=Math.max(B,z),st=J-S;for(;stl;w--)u[w]=f(w);u[l]=f(l),p++}while(u[l]!==c);return d[l].slice(1)}Bt.fastDiff=R;function ee(){return function o(){o.called=!0}}const Pe=ee;class Pt{constructor(t,e){this.source=t,this.name=e,this.path=[],this.stop=Pe(),this.off=Pe()}}const xt=new Array(256).fill("").map((o,t)=>("0"+t.toString(16)).slice(-2));function qt(){const o=Math.random()*4294967296>>>0,t=Math.random()*4294967296>>>0,e=Math.random()*4294967296>>>0,n=Math.random()*4294967296>>>0;return"e"+xt[o>>0&255]+xt[o>>8&255]+xt[o>>16&255]+xt[o>>24&255]+xt[t>>0&255]+xt[t>>8&255]+xt[t>>16&255]+xt[t>>24&255]+xt[e>>0&255]+xt[e>>8&255]+xt[e>>16&255]+xt[e>>24&255]+xt[n>>0&255]+xt[n>>8&255]+xt[n>>16&255]+xt[n>>24&255]}const Le={get(o="normal"){return typeof o!="number"?this[o]||this.normal:o},highest:1e5,high:1e3,normal:0,low:-1e3,lowest:-1e5};function xc(o,t){const e=Le.get(t.priority);for(let n=0;n{if(typeof a=="object"&&a!==null){if(e.has(a))return`[object ${a.constructor.name}]`;e.add(a)}return a})}`:"",r=Ec(o);return o+i+r}function tk(o,t){const e=Ec(o);return t?[o,t,e]:[o,e]}const ek="40.2.0",nk=new Date(2023,11,12);if(globalThis.CKEDITOR_VERSION)throw new b("ckeditor-duplicated-modules",null);globalThis.CKEDITOR_VERSION=ek;const pn=Symbol("listeningTo"),Hi=Symbol("emitterId"),Ee=Symbol("delegations"),Dc=ct(Object);function ct(o){if(!o)return Dc;class t extends o{on(n,i,r){this.listenTo(this,n,i,r)}once(n,i,r){let s=!1;const a=(c,...l)=>{s||(s=!0,c.off(),i.call(this,c,...l))};this.listenTo(this,n,a,r)}off(n,i){this.stopListening(this,n,i)}listenTo(n,i,r,s={}){let a,c;this[pn]||(this[pn]={});const l=this[pn];Ui(n)||Sc(n);const d=Ui(n);(a=l[d])||(a=l[d]={emitter:n,callbacks:{}}),(c=a.callbacks[i])||(c=a.callbacks[i]=[]),c.push(r),sk(this,n,i,r,s)}stopListening(n,i,r){const s=this[pn];let a=n&&Ui(n);const c=s&&a?s[a]:void 0,l=c&&i?c.callbacks[i]:void 0;if(!(!s||n&&!c||i&&!l))if(r)Wi(this,n,i,r),l.indexOf(r)!==-1&&(l.length===1?delete c.callbacks[i]:Wi(this,n,i,r));else if(l){for(;r=l.pop();)Wi(this,n,i,r);delete c.callbacks[i]}else if(c){for(i in c.callbacks)this.stopListening(n,i);delete s[a]}else{for(a in s)this.stopListening(s[a].emitter);delete this[pn]}}fire(n,...i){try{const r=n instanceof Pt?n:new Pt(this,n),s=r.name;let a=Ic(this,s);if(r.path.push(this),a){const l=[r,...i];a=Array.from(a);for(let d=0;d{this[Ee]||(this[Ee]=new Map),n.forEach(s=>{const a=this[Ee].get(s);a?a.set(i,r):this[Ee].set(s,new Map([[i,r]]))})}}}stopDelegating(n,i){if(this[Ee])if(!n)this[Ee].clear();else if(!i)this[Ee].delete(n);else{const r=this[Ee].get(n);r&&r.delete(i)}}_addEventListener(n,i,r){rk(this,n);const s=qi(this,n),a=Le.get(r.priority),c={callback:i,priority:a};for(const l of s)xc(l,c)}_removeEventListener(n,i){const r=qi(this,n);for(const s of r)for(let a=0;a{ct[o]=Dc.prototype[o]});function ok(o,t){const e=o[pn];return e&&e[t]?e[t].emitter:null}function Sc(o,t){o[Hi]||(o[Hi]=t||qt())}function Ui(o){return o[Hi]}function Tc(o){return o._events||Object.defineProperty(o,"_events",{value:{}}),o._events}function ik(){return{callbacks:[],childEvents:[]}}function rk(o,t){const e=Tc(o);if(e[t])return;let n=t,i=null;const r=[];for(;n!==""&&!e[n];)e[n]=ik(),r.push(e[n]),i&&e[n].childEvents.push(i),i=n,n=n.substr(0,n.lastIndexOf(":"));if(n!==""){for(const s of r)s.callbacks=e[n].callbacks.slice();e[n].childEvents.push(i)}}function qi(o,t){const e=Tc(o)[t];if(!e)return[];let n=[e.callbacks];for(let i=0;i-1?Ic(o,t.substr(0,t.lastIndexOf(":"))):null:e.callbacks}function Mc(o,t,e){for(let[n,i]of o){i?typeof i=="function"&&(i=i(t.name)):i=t.name;const r=new Pt(t.source,i);r.path=[...t.path],n.fire(r,...e)}}function sk(o,t,e,n,i){t._addEventListener?t._addEventListener(e,n,i):o._addEventListener.call(t,e,n,i)}function Wi(o,t,e,n){t._removeEventListener?t._removeEventListener(e,n):o._removeEventListener.call(t,e,n)}function ak(o){var t=typeof o;return o!=null&&(t=="object"||t=="function")}const _t=ak,Mo=Symbol("observableProperties"),Bo=Symbol("boundObservables"),No=Symbol("boundProperties"),kn=Symbol("decoratedMethods"),Bc=Symbol("decoratedOriginal"),Nc=rt(ct());function rt(o){if(!o)return Nc;class t extends o{set(n,i){if(_t(n)){Object.keys(n).forEach(s=>{this.set(s,n[s])},this);return}Gi(this);const r=this[Mo];if(n in this&&!r.has(n))throw new b("observable-set-cannot-override",this);Object.defineProperty(this,n,{enumerable:!0,configurable:!0,get(){return r.get(n)},set(s){const a=r.get(n);let c=this.fire(`set:${n}`,n,s,a);c===void 0&&(c=s),(a!==c||!r.has(n))&&(r.set(n,c),this.fire(`change:${n}`,n,c,a))}}),this[n]=i}bind(...n){if(!n.length||!zc(n))throw new b("observable-bind-wrong-properties",this);if(new Set(n).size!==n.length)throw new b("observable-bind-duplicate-properties",this);Gi(this);const i=this[No];n.forEach(s=>{if(i.has(s))throw new b("observable-bind-rebind",this)});const r=new Map;return n.forEach(s=>{const a={property:s,to:[]};i.set(s,a),r.set(s,a)}),{to:ck,toMany:lk,_observable:this,_bindProperties:n,_to:[],_bindings:r}}unbind(...n){if(!this[Mo])return;const i=this[No],r=this[Bo];if(n.length){if(!zc(n))throw new b("observable-unbind-wrong-properties",this);n.forEach(s=>{const a=i.get(s);a&&(a.to.forEach(([c,l])=>{const d=r.get(c),u=d[l];u.delete(a),u.size||delete d[l],Object.keys(d).length||(r.delete(c),this.stopListening(c,"change"))}),i.delete(s))})}else r.forEach((s,a)=>{this.stopListening(a,"change")}),r.clear(),i.clear()}decorate(n){Gi(this);const i=this[n];if(!i)throw new b("observablemixin-cannot-decorate-undefined",this,{object:this,methodName:n});this.on(n,(r,s)=>{r.return=i.apply(this,s)}),this[n]=function(...r){return this.fire(n,r)},this[n][Bc]=i,this[kn]||(this[kn]=[]),this[kn].push(n)}stopListening(n,i,r){if(!n&&this[kn]){for(const s of this[kn])this[s]=this[s][Bc];delete this[kn]}super.stopListening(n,i,r)}}return t}["set","bind","unbind","decorate","on","once","off","listenTo","stopListening","fire","delegate","stopDelegating","_addEventListener","_removeEventListener"].forEach(o=>{rt[o]=Nc.prototype[o]});function Gi(o){o[Mo]||(Object.defineProperty(o,Mo,{value:new Map}),Object.defineProperty(o,Bo,{value:new Map}),Object.defineProperty(o,No,{value:new Map}))}function ck(...o){const t=uk(...o),e=Array.from(this._bindings.keys()),n=e.length;if(!t.callback&&t.to.length>1)throw new b("observable-bind-to-no-callback",this);if(n>1&&t.callback)throw new b("observable-bind-to-extra-callback",this);t.to.forEach(i=>{if(i.properties.length&&i.properties.length!==n)throw new b("observable-bind-to-properties-length",this);i.properties.length||(i.properties=this._bindProperties)}),this._to=t.to,t.callback&&(this._bindings.get(e[0]).callback=t.callback),fk(this._observable,this._to),gk(this),this._bindProperties.forEach(i=>{Pc(this._observable,i)})}function lk(o,t,e){if(this._bindings.size>1)throw new b("observable-bind-to-many-not-one-binding",this);this.to(...dk(o,t),e)}function dk(o,t){const e=o.map(n=>[n,t]);return Array.prototype.concat.apply([],e)}function zc(o){return o.every(t=>typeof t=="string")}function uk(...o){if(!o.length)throw new b("observable-bind-to-parse-error",null);const t={to:[]};let e;return typeof o[o.length-1]=="function"&&(t.callback=o.pop()),o.forEach(n=>{if(typeof n=="string")e.properties.push(n);else if(typeof n=="object")e={observable:n,properties:[]},t.to.push(e);else throw new b("observable-bind-to-parse-error",null)}),t}function hk(o,t,e,n){const i=o[Bo],r=i.get(e),s=r||{};s[n]||(s[n]=new Set),s[n].add(t),r||i.set(e,s)}function gk(o){let t;o._bindings.forEach((e,n)=>{o._to.forEach(i=>{t=i.properties[e.callback?0:o._bindProperties.indexOf(n)],e.to.push([i.observable,t]),hk(o._observable,e,i.observable,t)})})}function Pc(o,t){const n=o[No].get(t);let i;n.callback?i=n.callback.apply(o,n.to.map(r=>r[0][r[1]])):(i=n.to[0],i=i[0][i[1]]),Object.prototype.hasOwnProperty.call(o,t)?o[t]=i:o.set(t,i)}function fk(o,t){t.forEach(e=>{const n=o[Bo];let i;n.get(e.observable)||o.listenTo(e.observable,"change",(r,s)=>{i=n.get(e.observable)[s],i&&i.forEach(a=>{Pc(o,a.property)})})})}class Lc{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=[]}}function $i(o){let t=0;for(const e of o)t++;return t}function jt(o,t){const e=Math.min(o.length,t.length);for(let n=0;n-1}const Xk=Jk;function tb(o,t){var e=this.__data__,n=zo(e,o);return n<0?(++this.size,e.push([o,t])):e[n][1]=t,this}const eb=tb;function bn(o){var t=-1,e=o==null?0:o.length;for(this.clear();++t-1&&o%1==0&&o-1&&o%1==0&&o<=Lw}const Yc=Ow;var Rw="[object Arguments]",jw="[object Array]",Fw="[object Boolean]",Vw="[object Date]",Hw="[object Error]",Uw="[object Function]",qw="[object Map]",Ww="[object Number]",Gw="[object Object]",$w="[object RegExp]",Kw="[object Set]",Zw="[object String]",Yw="[object WeakMap]",Qw="[object ArrayBuffer]",Jw="[object DataView]",Xw="[object Float32Array]",tA="[object Float64Array]",eA="[object Int8Array]",nA="[object Int16Array]",oA="[object Int32Array]",iA="[object Uint8Array]",rA="[object Uint8ClampedArray]",sA="[object Uint16Array]",aA="[object Uint32Array]",wt={};wt[Xw]=wt[tA]=wt[eA]=wt[nA]=wt[oA]=wt[iA]=wt[rA]=wt[sA]=wt[aA]=!0,wt[Rw]=wt[jw]=wt[Qw]=wt[Fw]=wt[Jw]=wt[Vw]=wt[Hw]=wt[Uw]=wt[qw]=wt[Ww]=wt[Gw]=wt[$w]=wt[Kw]=wt[Zw]=wt[Yw]=!1;function cA(o){return ne(o)&&Yc(o.length)&&!!wt[Oe(o)]}const lA=cA;function dA(o){return function(t){return o(t)}}const tr=dA;var Qc=xe&&!xe.nodeType&&xe,Qn=Qc&&!0&&pe&&!pe.nodeType&&pe,uA=Qn&&Qn.exports===Qc,er=uA&&Oc.process,hA=function(){try{var o=Qn&&Qn.require&&Qn.require("util").types;return o||er&&er.binding&&er.binding("util")}catch{}}();const vn=hA;var Jc=vn&&vn.isTypedArray,gA=Jc?tr(Jc):lA;const nr=gA;var fA=Object.prototype,mA=fA.hasOwnProperty;function pA(o,t){var e=Vt(o),n=!e&&Ji(o),i=!e&&!n&&Yn(o),r=!e&&!n&&!i&&nr(o),s=e||n||i||r,a=s?_w(o.length,String):[],c=a.length;for(var l in o)(t||mA.call(o,l))&&!(s&&(l=="length"||i&&(l=="offset"||l=="parent")||r&&(l=="buffer"||l=="byteLength"||l=="byteOffset")||Xi(l,c)))&&a.push(l);return a}const Xc=pA;var kA=Object.prototype;function bA(o){var t=o&&o.constructor,e=typeof t=="function"&&t.prototype||kA;return o===e}const or=bA;var wA=Vc(Object.keys,Object);const AA=wA;var CA=Object.prototype,_A=CA.hasOwnProperty;function vA(o){if(!or(o))return AA(o);var t=[];for(var e in Object(o))_A.call(o,e)&&e!="constructor"&&t.push(e);return t}const yA=vA;function xA(o){return o!=null&&Yc(o.length)&&!$e(o)}const jo=xA;function EA(o){return jo(o)?Xc(o):yA(o)}const ir=EA;function DA(o,t){return o&&_n(t,ir(t),o)}const SA=DA;function TA(o){var t=[];if(o!=null)for(var e in Object(o))t.push(e);return t}const IA=TA;var MA=Object.prototype,BA=MA.hasOwnProperty;function NA(o){if(!_t(o))return IA(o);var t=or(o),e=[];for(var n in o)n=="constructor"&&(t||!BA.call(o,n))||e.push(n);return e}const zA=NA;function PA(o){return jo(o)?Xc(o,!0):zA(o)}const yn=PA;function LA(o,t){return o&&_n(t,yn(t),o)}const OA=LA;var tl=xe&&!xe.nodeType&&xe,el=tl&&!0&&pe&&!pe.nodeType&&pe,RA=el&&el.exports===tl,nl=RA?le.Buffer:void 0,ol=nl?nl.allocUnsafe:void 0;function jA(o,t){if(t)return o.slice();var e=o.length,n=ol?ol(e):new o.constructor(e);return o.copy(n),n}const il=jA;function FA(o,t){var e=-1,n=o.length;for(t||(t=Array(n));++e{this._setToTarget(t,i,e[i],n)})}}function Dl(o){return gr(o,R_)}function R_(o){return Qe(o)||typeof o=="function"?o:void 0}function Re(o){if(o){if(o.defaultView)return o instanceof o.defaultView.Document;if(o.ownerDocument&&o.ownerDocument.defaultView)return o instanceof o.ownerDocument.defaultView.Node}return!1}function Ho(o){const t=Object.prototype.toString.apply(o);return t=="[object Window]"||t=="[object global]"}const Sl=Zt(ct());function Zt(o){if(!o)return Sl;class t extends o{listenTo(n,i,r,s={}){if(Re(n)||Ho(n)){const a={capture:!!s.useCapture,passive:!!s.usePassive},c=this._getProxyEmitter(n,a)||new j_(n,a);this.listenTo(c,i,r,s)}else super.listenTo(n,i,r,s)}stopListening(n,i,r){if(Re(n)||Ho(n)){const s=this._getAllProxyEmitters(n);for(const a of s)this.stopListening(a,i,r)}else super.stopListening(n,i,r)}_getProxyEmitter(n,i){return ok(this,Tl(n,i))}_getAllProxyEmitters(n){return[{capture:!1,passive:!1},{capture:!1,passive:!0},{capture:!0,passive:!1},{capture:!0,passive:!0}].map(i=>this._getProxyEmitter(n,i)).filter(i=>!!i)}}return t}["_getProxyEmitter","_getAllProxyEmitters","on","once","off","listenTo","stopListening","fire","delegate","stopDelegating","_addEventListener","_removeEventListener"].forEach(o=>{Zt[o]=Sl.prototype[o]});class j_ extends ct(){constructor(t,e){super(),Sc(this,Tl(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),ct().prototype._addEventListener.call(this,t,e,n)}_removeEventListener(t,e){ct().prototype._removeEventListener.call(this,t,e),this.detach(t)}_createDomListener(t){const e=n=>{this.fire(t,n)};return e.removeListener=()=>{this._domNode.removeEventListener(t,e,this._options),delete this._domListeners[t]},e}}function F_(o){return o["data-ck-expando"]||(o["data-ck-expando"]=qt())}function Tl(o,t){let e=F_(o);for(const n of Object.keys(t).sort())t[n]&&(e+="-"+n);return e}let fr;try{fr={window,document}}catch{fr={window:{},document:{}}}const U=fr;function V_(o){const t=[];let e=o;for(;e&&e.nodeType!=Node.DOCUMENT_NODE;)t.unshift(e),e=e.parentNode;return t}function H_(o){return o instanceof HTMLTextAreaElement?o.value:o.innerHTML}function Dt(o){return Object.prototype.toString.call(o)=="[object Text]"}function Uo(o){return Object.prototype.toString.apply(o)=="[object Range]"}function Il(o){const t=o.ownerDocument.defaultView.getComputedStyle(o);return{top:parseInt(t.borderTopWidth,10),right:parseInt(t.borderRightWidth,10),bottom:parseInt(t.borderBottomWidth,10),left:parseInt(t.borderLeftWidth,10)}}function Ml(o){return!o||!o.parentNode||o.offsetParent===U.document.body?null:o.offsetParent}const Bl=["top","right","bottom","left","width","height"];class Q{constructor(t){const e=Uo(t);if(Object.defineProperty(this,"_source",{value:t._source||t,writable:!0,enumerable:!1}),mr(t)||e)if(e){const n=Q.getDomRangeRects(t);qo(this,Q.getBoundingRect(n))}else qo(this,t.getBoundingClientRect());else if(Ho(t)){const{innerWidth:n,innerHeight:i}=t;qo(this,{top:0,right:n,bottom:i,left:0,width:n,height:i})}else qo(this,t)}clone(){return new Q(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};if(e.width=e.right-e.left,e.height=e.bottom-e.top,e.width<0||e.height<0)return null;{const n=new Q(e);return n._source=this._source,n}}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(Nl(t))return e;let n=t,i=t.parentNode||t.commonAncestorContainer,r;for(;i&&!Nl(i);){const s=U_(i)==="visible";n instanceof HTMLElement&&zl(n)==="absolute"&&(r=n);const a=zl(i);if(s||r&&(a==="relative"&&s||a!=="relative")){n=i,i=i.parentNode;continue}const c=new Q(i),l=e.getIntersection(c);if(l)l.getArea(){for(const e of t){const n=bt._getElementCallbacks(e.target);if(n)for(const i of n)i(e)}})}}bt._observerInstance=null,bt._elementCallbacks=null;function Pl(o,t){o instanceof HTMLTextAreaElement&&(o.value=t),o.innerHTML=t}function Xn(o){return t=>t+o}function Wo(o){let t=0;for(;o.previousSibling;)o=o.previousSibling,t++;return t}function Ll(o,t,e){o.insertBefore(e,o.childNodes[t]||null)}function to(o){return o&&o.nodeType===Node.COMMENT_NODE}function W_(o){try{U.document.createAttribute(o)}catch{return!1}return!0}function Je(o){return!!(o&&o.getClientRects&&o.getClientRects().length)}function pr({element:o,target:t,positions:e,limiter:n,fitInViewport:i,viewportOffsetConfig:r}){$e(t)&&(t=t()),$e(n)&&(n=n());const s=Ml(o),a=G_(r),c=new Q(o),l=Ol(t,a);let d;if(!l||!a.getIntersection(l))return null;const u={targetRect:l,elementRect:c,positionedElementAncestor:s,viewportRect:a};if(!n&&!i)d=new Rl(e[0],u);else{if(n){const f=Ol(n,a);f&&(u.limiterRect=f)}d=$_(e,u)}return d}function Ol(o,t){const e=new Q(o).getVisible();return e?e.getIntersection(t):null}function G_(o){o=Object.assign({top:0,bottom:0,left:0,right:0},o);const t=new Q(U.window);return t.top+=o.top,t.height-=o.top,t.bottom-=o.bottom,t.height-=o.bottom,t}function $_(o,t){const{elementRect:e}=t,n=e.getArea(),i=o.map(a=>new Rl(a,t)).filter(a=>!!a.name);let r=0,s=null;for(const a of i){const{limiterIntersectionArea:c,viewportIntersectionArea:l}=a;if(c===n)return a;const d=l**2+c**2;d>r&&(r=d,s=a)}return s}class Rl{constructor(t,e){const n=t(e.targetRect,e.elementRect,e.viewportRect,e.limiterRect);if(!n)return;const{left:i,top:r,name:s,config:a}=n;this.name=s,this.config=a,this._positioningFunctionCoordinates={left:i,top:r},this._options=e}get left(){return this._absoluteRect.left}get top(){return this._absoluteRect.top}get limiterIntersectionArea(){const t=this._options.limiterRect;return t?t.getIntersectionArea(this._rect):0}get viewportIntersectionArea(){return this._options.viewportRect.getIntersectionArea(this._rect)}get _rect(){return this._cachedRect?this._cachedRect:(this._cachedRect=this._options.elementRect.clone().moveTo(this._positioningFunctionCoordinates.left,this._positioningFunctionCoordinates.top),this._cachedRect)}get _absoluteRect(){return this._cachedAbsoluteRect?this._cachedAbsoluteRect:(this._cachedAbsoluteRect=this._rect.toAbsoluteRect(),this._cachedAbsoluteRect)}}function jl(o){const t=o.parentNode;t&&t.removeChild(o)}function K_({target:o,viewportOffset:t=0,ancestorOffset:e=0,alignToTop:n,forceScroll:i}){const r=kr(o);let s=r,a=null;for(t=Q_(t);s;){let c;s==r?c=ql(o):c=ql(a),Y_({parent:c,getRect:()=>Wl(o,s),alignToTop:n,ancestorOffset:e,forceScroll:i});const l=Wl(o,s);if(Z_({window:s,rect:l,viewportOffset:t,alignToTop:n,forceScroll:i}),s.parent!=s){if(a=s.frameElement,s=s.parent,!a)return}else s=null}}function Z_({window:o,rect:t,alignToTop:e,forceScroll:n,viewportOffset:i}){const r=t.clone().moveBy(0,i.bottom),s=t.clone().moveBy(0,-i.top),a=new Q(o).excludeScrollbarsAndBorders(),c=[s,r],l=e&&n,d=c.every(S=>a.contains(S));let{scrollX:u,scrollY:f}=o;const p=u,w=f;l?f-=a.top-t.top+i.top:d||(Vl(s,a)?f-=a.top-t.top+i.top:Fl(r,a)&&(e?f+=t.top-a.top-i.top:f+=t.bottom-a.bottom+i.bottom)),d||(Hl(t,a)?u-=a.left-t.left+i.left:Ul(t,a)&&(u+=t.right-a.right+i.right)),(u!=p||f!==w)&&o.scrollTo(u,f)}function Y_({parent:o,getRect:t,alignToTop:e,forceScroll:n,ancestorOffset:i=0,limiterElement:r}){const s=kr(o),a=e&&n;let c,l,d;const u=r||s.document.body;for(;o!=u;)l=t(),c=new Q(o).excludeScrollbarsAndBorders(),d=c.contains(l),a?o.scrollTop-=c.top-l.top+i:d||(Vl(l,c)?o.scrollTop-=c.top-l.top+i:Fl(l,c)&&(e?o.scrollTop+=l.top-c.top-i:o.scrollTop+=l.bottom-c.bottom+i)),d||(Hl(l,c)?o.scrollLeft-=c.left-l.left+i:Ul(l,c)&&(o.scrollLeft+=l.right-c.right+i)),o=o.parentNode}function Fl(o,t){return o.bottom>t.bottom}function Vl(o,t){return o.topt.right}function kr(o){return Uo(o)?o.startContainer.ownerDocument.defaultView:o.ownerDocument.defaultView}function ql(o){if(Uo(o)){let t=o.commonAncestorContainer;return Dt(t)&&(t=t.parentNode),t}else return o.parentNode}function Wl(o,t){const e=kr(o),n=new Q(o);if(e===t)return n;{let i=e;for(;i!=t;){const r=i.frameElement,s=new Q(r).excludeScrollbarsAndBorders();n.moveBy(s.left,s.top),i=i.parent}}return n}function Q_(o){return typeof o=="number"?{top:o,bottom:o,left:o,right:o}:o}const J_={ctrl:"⌃",cmd:"⌘",alt:"⌥",shift:"⇧"},X_={ctrl:"Ctrl+",alt:"Alt+",shift:"Shift+"},tt=i0(),t0=Object.fromEntries(Object.entries(tt).map(([o,t])=>[t,o.charAt(0).toUpperCase()+o.slice(1)]));function xn(o){let t;if(typeof o=="string"){if(t=tt[o.toLowerCase()],!t)throw new b("keyboard-unknown-key",null,{key:o})}else t=o.keyCode+(o.altKey?tt.alt:0)+(o.ctrlKey?tt.ctrl:0)+(o.shiftKey?tt.shift:0)+(o.metaKey?tt.cmd:0);return t}function eo(o){return typeof o=="string"&&(o=r0(o)),o.map(t=>typeof t=="string"?n0(t):t).reduce((t,e)=>e+t,0)}function Gl(o){let t=eo(o);return Object.entries(g.isMac||g.isiOS?J_:X_).reduce((i,[r,s])=>(t&tt[r]&&(t&=~tt[r],i+=s),i),"")+(t?t0[t]:"")}function e0(o){return o==tt.arrowright||o==tt.arrowleft||o==tt.arrowup||o==tt.arrowdown}function br(o,t){const e=t==="ltr";switch(o){case tt.arrowleft:return e?"left":"right";case tt.arrowright:return e?"right":"left";case tt.arrowup:return"up";case tt.arrowdown:return"down"}}function n0(o){if(o.endsWith("!"))return xn(o.slice(0,-1));const t=xn(o);return(g.isMac||g.isiOS)&&t==tt.ctrl?tt.cmd:t}function o0(o,t){const e=br(o,t);return e==="down"||e==="right"}function i0(){const o={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 t=65;t<=90;t++){const e=String.fromCharCode(t);o[e.toLowerCase()]=t}for(let t=48;t<=57;t++)o[t-48]=t;for(let t=112;t<=123;t++)o["f"+(t-111)]=t;for(const t of"`-=[];',./\\")o[t]=t.charCodeAt(0);return o}function r0(o){return o.split("+").map(t=>t.trim())}function Tt(o){return Array.isArray(o)?o:[o]}U.window.CKEDITOR_TRANSLATIONS||(U.window.CKEDITOR_TRANSLATIONS={});function s0(o,t,e=1){if(typeof e!="number")throw new b("translation-service-quantity-not-a-number",null,{quantity:e});const n=c0();n===1&&(o=Object.keys(U.window.CKEDITOR_TRANSLATIONS)[0]);const i=t.id||t.string;if(n===0||!a0(o,i))return e!==1?t.plural:t.string;const r=U.window.CKEDITOR_TRANSLATIONS[o].dictionary,s=U.window.CKEDITOR_TRANSLATIONS[o].getPluralForm||(l=>l===1?0:1),a=r[i];if(typeof a=="string")return a;const c=Number(s(e));return a[c]}function a0(o,t){return!!U.window.CKEDITOR_TRANSLATIONS[o]&&!!U.window.CKEDITOR_TRANSLATIONS[o].dictionary[t]}function c0(){return Object.keys(U.window.CKEDITOR_TRANSLATIONS).length}const l0=["ar","ara","fa","per","fas","he","heb","ku","kur","ug","uig"];function $l(o){return l0.includes(o)?"rtl":"ltr"}class d0{constructor({uiLanguage:t="en",contentLanguage:e}={}){this.uiLanguage=t,this.contentLanguage=e||this.uiLanguage,this.uiLanguageDirection=$l(this.uiLanguage),this.contentLanguageDirection=$l(this.contentLanguage),this.t=(n,i)=>this._t(n,i)}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=Tt(e),typeof t=="string"&&(t={string:t});const i=!!t.plural?e[0]:1,r=s0(this.uiLanguage,t,i);return u0(r,e)}}function u0(o,t){return o.replace(/%(\d+)/g,(e,n)=>nthis._items.length||e<0)throw new b("collection-add-item-invalid-index",this);let n=0;for(const i of t){const r=this._getItemIdBeforeAdding(i),s=e+n;this._items.splice(s,0,i),this._itemMap.set(r,i),this.fire("add",i,s),n++}return this.fire("change",{added:t,removed:[],index:e}),this}get(t){let e;if(typeof t=="string")e=this._itemMap.get(t);else if(typeof t=="number")e=this._items[t];else throw new b("collection-get-invalid-arg",this);return e||null}has(t){if(typeof t=="string")return this._itemMap.has(t);{const e=this._idProperty,n=t[e];return n&&this._itemMap.has(n)}}getIndex(t){let e;return typeof t=="string"?e=this._itemMap.get(t):e=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)}forEach(t,e){this._items.forEach(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 b("collection-bind-to-rebind",this);return this._bindToCollection=t,{as:e=>{this._setUpBindToBinding(n=>new e(n))},using:e=>{typeof e=="function"?this._setUpBindToBinding(e):this._setUpBindToBinding(n=>n[e])}}}_setUpBindToBinding(t){const e=this._bindToCollection,n=(i,r,s)=>{const a=e._bindToCollection==this,c=e._bindToInternalToExternalMap.get(r);if(a&&c)this._bindToExternalToInternalMap.set(r,c),this._bindToInternalToExternalMap.set(c,r);else{const l=t(r);if(!l){this._skippedIndexesFromExternal.push(s);return}let d=s;for(const u of this._skippedIndexesFromExternal)s>u&&d--;for(const u of e._skippedIndexesFromExternal)d>=u&&d++;this._bindToExternalToInternalMap.set(r,l),this._bindToInternalToExternalMap.set(l,r),this.add(l,d);for(let u=0;u{const a=this._bindToExternalToInternalMap.get(r);a&&this.remove(a),this._skippedIndexesFromExternal=this._skippedIndexesFromExternal.reduce((c,l)=>(sl&&c.push(l),c),[])})}_getItemIdBeforeAdding(t){const e=this._idProperty;let n;if(e in t){if(n=t[e],typeof n!="string")throw new b("collection-add-invalid-id",this);if(this.get(n))throw new b("collection-add-item-already-exists",this)}else t[e]=n=qt();return n}_remove(t){let e,n,i,r=!1;const s=this._idProperty;if(typeof t=="string"?(n=t,i=this._itemMap.get(n),r=!i,i&&(e=this._items.indexOf(i))):typeof t=="number"?(e=t,i=this._items[e],r=!i,i&&(n=i[s])):(i=t,n=i[s],e=this._items.indexOf(i),r=e==-1||!this._itemMap.get(n)),r)throw new b("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]()}}function It(o){const t=o.next();return t.done?null:t.value}class Ht extends Zt(rt()){constructor(){super(),this._elements=new Set,this._nextEventLoopTimeout=null,this.set("isFocused",!1),this.set("focusedElement",null)}add(t){if(this._elements.has(t))throw new b("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)}}class ie{constructor(){this._listener=new(Zt())}listenTo(t){this._listener.listenTo(t,"keydown",(e,n)=>{this._listener.fire("_keydown:"+xn(n),n)})}set(t,e,n={}){const i=eo(t),r=n.priority;this._listener.listenTo(this._listener,"_keydown:"+i,(s,a)=>{e(a,()=>{a.preventDefault(),a.stopPropagation(),s.stop()}),s.return=!0},{priority:r})}press(t){return!!this._listener.fire("_keydown:"+xn(t),t)}stopListening(t){this._listener.stopListening(t)}destroy(){this.stopListening()}}function h0(o){const t=new Map;for(const e in o)t.set(e,o[e]);return t}function De(o){return $t(o)?new Map(o):h0(o)}const g0=1e4;function f0(o,t,e,n){if(Math.max(t.length,o.length)>g0)return o.slice(0,e).concat(t).concat(o.slice(e+n,o.length));{const i=Array.from(o);return i.splice(e,n,...t),i}}function wr(o,t){let e;function n(...i){n.cancel(),e=setTimeout(()=>o(...i),t)}return n.cancel=()=>{clearTimeout(e)},n}function m0(o){function t(u){return u.length>=40&&u.length<=255?"VALID":"INVALID"}if(!o)return"INVALID";let e="";try{e=atob(o)}catch{return"INVALID"}const n=e.split("-"),i=n[0],r=n[1];if(!r)return t(o);try{atob(r)}catch{try{if(atob(i),!atob(i).length)return t(o)}catch{return t(o)}}if(i.length<40||i.length>255)return"INVALID";let s="";try{atob(i),s=atob(r)}catch{return"INVALID"}if(s.length!==8)return"INVALID";const a=Number(s.substring(0,4)),c=Number(s.substring(4,6))-1,l=Number(s.substring(6,8)),d=new Date(a,c,l);return dn.indexi.source).join("|")+")",n=`${t}|${e}(?:‍${e})*`;return new RegExp(n,"ug")}class be extends oe{constructor(t=[]){super(t,{idProperty:"viewUid"}),this.on("add",(e,n,i)=>{this._renderViewIntoCollectionParent(n,i)}),this.on("remove",(e,n)=>{n.element&&this._parentElement&&n.element.remove()}),this._parentElement=null}destroy(){this.map(t=>t.destroy())}setParent(t){this._parentElement=t;for(const e of this)this._renderViewIntoCollectionParent(e)}delegate(...t){if(!t.length||!C0(t))throw new b("ui-viewcollection-delegate-wrong-events",this);return{to:e=>{for(const n of this)for(const i of t)n.delegate(i).to(e);this.on("add",(n,i)=>{for(const r of t)i.delegate(r).to(e)}),this.on("remove",(n,i)=>{for(const r of t)i.stopDelegating(r,e)})}}}_renderViewIntoCollectionParent(t,e){t.isRendered||t.render(),t.element&&this._parentElement&&this._parentElement.insertBefore(t.element,this._parentElement.children[e])}remove(t){return super.remove(t)}}function C0(o){return o.every(t=>typeof t=="string")}var _0=L(3379),F=L.n(_0),Zl=L(5167),_r={injectType:"singletonStyleTag",attributes:{"data-cke":!0}};_r.insert="head",_r.singleton=!0,F()(Zl.Z,_r),Zl.Z.locals;class Y extends Zt(rt()){constructor(t){super(),this.element=null,this.isRendered=!1,this.locale=t,this.t=t&&t.t,this._viewCollections=new oe,this._unboundChildren=this.createCollection(),this._viewCollections.on("add",(e,n)=>{n.locale=t,n.t=t&&t.t}),this.decorate("render")}get bindTemplate(){return this._bindTemplate?this._bindTemplate:this._bindTemplate=re.bind(this,this)}createCollection(t){const e=new be(t);return this._viewCollections.add(e),e}registerChild(t){$t(t)||(t=[t]);for(const e of t)this._unboundChildren.add(e)}deregisterChild(t){$t(t)||(t=[t]);for(const e of t)this._unboundChildren.remove(e)}setTemplate(t){this.template=new re(t)}extendTemplate(t){re.extend(this.template,t)}render(){if(this.isRendered)throw new b("ui-view-render-already-rendered",this);this.template&&(this.element=this.template.render(),this.registerChild(this.template.getViews())),this.isRendered=!0}destroy(){this.stopListening(),this._viewCollections.map(t=>t.destroy()),this.template&&this.template._revertData&&this.template.revert(this.element)}}const v0="http://www.w3.org/1999/xhtml";class re extends ct(){constructor(t){super(),Object.assign(this,Xl(Jl(t))),this._isRendered=!1,this._revertData=null}render(){const t=this._renderNode({intoFragment:!0});return this._isRendered=!0,t}apply(t){return this._revertData=rd(),this._renderNode({node:t,intoFragment:!1,isApplying:!0,revertData:this._revertData}),t}revert(t){if(!this._revertData)throw new b("ui-template-revert-not-applied",[this,t]);this._revertTemplateFromNode(t,this._revertData)}*getViews(){function*t(e){if(e.children)for(const n of e.children)$o(n)?yield n:vr(n)&&(yield*t(n))}yield*t(this)}static bind(t,e){return{to(n,i){return new y0({eventNameOrFunction:n,attribute:n,observable:t,emitter:e,callback:i})},if(n,i,r){return new Yl({observable:t,emitter:e,attribute:n,valueIfTrue:i,callback:r})}}}static extend(t,e){if(t._isRendered)throw new b("template-extend-render",[this,t]);od(t,Xl(Jl(e)))}_renderNode(t){let e;if(t.node?e=this.tag&&this.text:e=this.tag?this.text:!this.text,e)throw new b("ui-template-wrong-syntax",this);return this.text?this._renderText(t):this._renderElement(t)}_renderElement(t){let e=t.node;return e||(e=t.node=document.createElementNS(this.ns||v0,this.tag)),this._renderAttributes(t),this._renderElementChildren(t),this._setUpListeners(t),e}_renderText(t){let e=t.node;return e?t.revertData.text=e.textContent:e=t.node=document.createTextNode(""),Go(this.text)?this._bindToObservable({schema:this.text,updater:E0(e),data:t}):e.textContent=this.text.join(""),e}_renderAttributes(t){if(!this.attributes)return;const e=t.node,n=t.revertData;for(const i in this.attributes){const r=e.getAttribute(i),s=this.attributes[i];n&&(n.attributes[i]=r);const a=id(s)?s[0].ns:null;if(Go(s)){const c=id(s)?s[0].value:s;n&&sd(i)&&c.unshift(r),this._bindToObservable({schema:c,updater:D0(e,i,a),data:t})}else if(i=="style"&&typeof s[0]!="string")this._renderStyleAttribute(s[0],t);else{n&&r&&sd(i)&&s.unshift(r);const c=s.map(l=>l&&(l.value||l)).reduce((l,d)=>l.concat(d),[]).reduce(ed,"");En(c)||e.setAttributeNS(a,i,c)}}}_renderStyleAttribute(t,e){const n=e.node;for(const i in t){const r=t[i];Go(r)?this._bindToObservable({schema:[r],updater:S0(n,i),data:e}):n.style[i]=r}}_renderElementChildren(t){const e=t.node,n=t.intoFragment?document.createDocumentFragment():e,i=t.isApplying;let r=0;for(const s of this.children)if(yr(s)){if(!i){s.setParent(e);for(const a of s)n.appendChild(a.element)}}else if($o(s))i||(s.isRendered||s.render(),n.appendChild(s.element));else if(Re(s))n.appendChild(s);else if(i){const a=t.revertData,c=rd();a.children.push(c),s._renderNode({intoFragment:!1,node:n.childNodes[r++],isApplying:!0,revertData:c})}else n.appendChild(s.render());t.intoFragment&&e.appendChild(n)}_setUpListeners(t){if(this.eventListeners)for(const e in this.eventListeners){const n=this.eventListeners[e].map(i=>{const[r,s]=e.split("@");return i.activateDomEventListener(r,s,t)});t.revertData&&t.revertData.bindings.push(n)}}_bindToObservable({schema:t,updater:e,data:n}){const i=n.revertData;Ql(t,e,n);const r=t.filter(s=>!En(s)).filter(s=>s.observable).map(s=>s.activateAttributeListener(t,e,n));i&&i.bindings.push(r)}_revertTemplateFromNode(t,e){for(const i of e.bindings)for(const r of i)r();if(e.text){t.textContent=e.text;return}const n=t;for(const i in e.attributes){const r=e.attributes[i];r===null?n.removeAttribute(i):n.setAttribute(i,r)}for(let i=0;iQl(t,e,n);return this.emitter.listenTo(this.observable,`change:${this.attribute}`,i),()=>{this.emitter.stopListening(this.observable,`change:${this.attribute}`,i)}}}class y0 extends no{constructor(t){super(t),this.eventNameOrFunction=t.eventNameOrFunction}activateDomEventListener(t,e,n){const i=(r,s)=>{(!e||s.target.matches(e))&&(typeof this.eventNameOrFunction=="function"?this.eventNameOrFunction(s):this.observable.fire(this.eventNameOrFunction,s))};return this.emitter.listenTo(n.node,t,i),()=>{this.emitter.stopListening(n.node,t,i)}}}class Yl extends no{constructor(t){super(t),this.valueIfTrue=t.valueIfTrue}getValue(t){const e=super.getValue(t);return En(e)?!1:this.valueIfTrue||!0}}function Go(o){return o?(o.value&&(o=o.value),Array.isArray(o)?o.some(Go):o instanceof no):!1}function x0(o,t){return o.map(e=>e instanceof no?e.getValue(t):e)}function Ql(o,t,{node:e}){const n=x0(o,e);let i;o.length==1&&o[0]instanceof Yl?i=n[0]:i=n.reduce(ed,""),En(i)?t.remove():t.set(i)}function E0(o){return{set(t){o.textContent=t},remove(){o.textContent=""}}}function D0(o,t,e){return{set(n){o.setAttributeNS(e,t,n)},remove(){o.removeAttributeNS(e,t)}}}function S0(o,t){return{set(e){o.style[t]=e},remove(){o.style[t]=null}}}function Jl(o){return gr(o,e=>{if(e&&(e instanceof no||vr(e)||$o(e)||yr(e)))return e})}function Xl(o){if(typeof o=="string"?o=M0(o):o.text&&B0(o),o.on&&(o.eventListeners=I0(o.on),delete o.on),!o.text){o.attributes&&T0(o.attributes);const t=[];if(o.children)if(yr(o.children))t.push(o.children);else for(const e of o.children)vr(e)||$o(e)||Re(e)?t.push(e):t.push(new re(e));o.children=t}return o}function T0(o){for(const t in o)o[t].value&&(o[t].value=Tt(o[t].value)),td(o,t)}function I0(o){for(const t in o)td(o,t);return o}function M0(o){return{text:[o]}}function B0(o){o.text=Tt(o.text)}function td(o,t){o[t]=Tt(o[t])}function ed(o,t){return En(t)?o:En(o)?t:`${o} ${t}`}function nd(o,t){for(const e in t)o[e]?o[e].push(...t[e]):o[e]=t[e]}function od(o,t){if(t.attributes&&(o.attributes||(o.attributes={}),nd(o.attributes,t.attributes)),t.eventListeners&&(o.eventListeners||(o.eventListeners={}),nd(o.eventListeners,t.eventListeners)),t.text&&o.text.push(...t.text),t.children&&t.children.length){if(o.children.length!=t.children.length)throw new b("ui-template-extend-children-mismatch",o);let e=0;for(const n of t.children)od(o.children[e++],n)}}function En(o){return!o&&o!==0}function $o(o){return o instanceof Y}function vr(o){return o instanceof re}function yr(o){return o instanceof be}function id(o){return _t(o[0])&&o[0].ns}function rd(){return{children:[],bindings:[],attributes:{}}}function sd(o){return o=="class"||o=="style"}class N0 extends be{constructor(t,e=[]){super(e),this.locale=t}get bodyCollectionContainer(){return this._bodyCollectionContainer}attachToDom(){this._bodyCollectionContainer=new re({tag:"div",attributes:{class:["ck","ck-reset_all","ck-body","ck-rounded-corners"],dir:this.locale.uiLanguageDirection},children:this}).render();let t=document.querySelector(".ck-body-wrapper");t||(t=Wn(document,"div",{class:"ck-body-wrapper"}),document.body.appendChild(t)),t.appendChild(this._bodyCollectionContainer)}detachFromDom(){super.destroy(),this._bodyCollectionContainer&&this._bodyCollectionContainer.remove();const t=document.querySelector(".ck-body-wrapper");t&&t.childElementCount==0&&t.remove()}}var ad=L(1977),xr={injectType:"singletonStyleTag",attributes:{"data-cke":!0}};xr.insert="head",xr.singleton=!0,F()(ad.Z,xr),ad.Z.locals;class Se extends Y{constructor(){super();const t=this.bindTemplate;this.set("content",""),this.set("viewBox","0 0 20 20"),this.set("fillColor",""),this.set("isColorInherited",!0),this.set("isVisible",!0),this.setTemplate({tag:"svg",ns:"http://www.w3.org/2000/svg",attributes:{class:["ck","ck-icon",t.if("isVisible","ck-hidden",e=>!e),"ck-reset_all-excluded",t.if("isColorInherited","ck-icon_inherit-color")],viewBox:t.to("viewBox")}})}render(){super.render(),this._updateXMLContent(),this._colorFillPaths(),this.on("change:content",()=>{this._updateXMLContent(),this._colorFillPaths()}),this.on("change:fillColor",()=>{this._colorFillPaths()})}_updateXMLContent(){if(this.content){const e=new DOMParser().parseFromString(this.content.trim(),"image/svg+xml").querySelector("svg"),n=e.getAttribute("viewBox");n&&(this.viewBox=n);for(const{name:i,value:r}of Array.from(e.attributes))Se.presentationalAttributeNames.includes(i)&&this.element.setAttribute(i,r);for(;this.element.firstChild;)this.element.removeChild(this.element.firstChild);for(;e.childNodes.length>0;)this.element.appendChild(e.childNodes[0])}}_colorFillPaths(){this.fillColor&&this.element.querySelectorAll(".ck-icon__fill").forEach(t=>{t.style.fill=this.fillColor})}}Se.presentationalAttributeNames=["alignment-baseline","baseline-shift","clip-path","clip-rule","color","color-interpolation","color-interpolation-filters","color-rendering","cursor","direction","display","dominant-baseline","fill","fill-opacity","fill-rule","filter","flood-color","flood-opacity","font-family","font-size","font-size-adjust","font-stretch","font-style","font-variant","font-weight","image-rendering","letter-spacing","lighting-color","marker-end","marker-mid","marker-start","mask","opacity","overflow","paint-order","pointer-events","shape-rendering","stop-color","stop-opacity","stroke","stroke-dasharray","stroke-dashoffset","stroke-linecap","stroke-linejoin","stroke-miterlimit","stroke-opacity","stroke-width","text-anchor","text-decoration","text-overflow","text-rendering","transform","unicode-bidi","vector-effect","visibility","white-space","word-spacing","writing-mode"];class z0 extends Y{constructor(){super(),this.set({style:void 0,text:void 0,id:void 0});const t=this.bindTemplate;this.setTemplate({tag:"span",attributes:{class:["ck","ck-button__label"],style:t.to("style"),id:t.to("id")},children:[{text:t.to("text")}]})}}var cd=L(4971),Er={injectType:"singletonStyleTag",attributes:{"data-cke":!0}};Er.insert="head",Er.singleton=!0,F()(cd.Z,Er),cd.Z.locals;class ht extends Y{constructor(t,e=new z0){super(t),this._focusDelayed=null;const n=this.bindTemplate,i=qt();this.set("ariaLabel",void 0),this.set("ariaLabelledBy",`ck-editor__aria-label_${i}`),this.set("class",void 0),this.set("labelStyle",void 0),this.set("icon",void 0),this.set("isEnabled",!0),this.set("isOn",!1),this.set("isVisible",!0),this.set("isToggleable",!1),this.set("keystroke",void 0),this.set("label",void 0),this.set("role",void 0),this.set("tabindex",-1),this.set("tooltip",!1),this.set("tooltipPosition","s"),this.set("type","button"),this.set("withText",!1),this.set("withKeystroke",!1),this.children=this.createCollection(),this.labelView=this._setupLabelView(e),this.iconView=new Se,this.iconView.extendTemplate({attributes:{class:"ck-button__icon"}}),this.keystrokeView=this._createKeystrokeView(),this.bind("_tooltipString").to(this,"tooltip",this,"label",this,"keystroke",this._getTooltipString.bind(this));const r={tag:"button",attributes:{class:["ck","ck-button",n.to("class"),n.if("isEnabled","ck-disabled",s=>!s),n.if("isVisible","ck-hidden",s=>!s),n.to("isOn",s=>s?"ck-on":"ck-off"),n.if("withText","ck-button_with-text"),n.if("withKeystroke","ck-button_with-keystroke")],role:n.to("role"),type:n.to("type",s=>s||"button"),tabindex:n.to("tabindex"),"aria-label":n.to("ariaLabel"),"aria-labelledby":n.to("ariaLabelledBy"),"aria-disabled":n.if("isEnabled",!0,s=>!s),"aria-pressed":n.to("isOn",s=>this.isToggleable?String(!!s):!1),"data-cke-tooltip-text":n.to("_tooltipString"),"data-cke-tooltip-position":n.to("tooltipPosition")},children:this.children,on:{click:n.to(s=>{this.isEnabled?this.fire("execute"):s.preventDefault()})}};g.isSafari&&(this._focusDelayed||(this._focusDelayed=wr(()=>this.focus(),0)),r.on.mousedown=n.to(()=>{this._focusDelayed()}),r.on.mouseup=n.to(()=>{this._focusDelayed.cancel()})),this.setTemplate(r)}render(){super.render(),this.icon&&(this.iconView.bind("content").to(this,"icon"),this.children.add(this.iconView)),this.children.add(this.labelView),this.withKeystroke&&this.keystroke&&this.children.add(this.keystrokeView)}focus(){this.element.focus()}destroy(){this._focusDelayed&&this._focusDelayed.cancel(),super.destroy()}_setupLabelView(t){return t.bind("text","style","id").to(this,"label","labelStyle","ariaLabelledBy"),t}_createKeystrokeView(){const t=new Y;return t.setTemplate({tag:"span",attributes:{class:["ck","ck-button__keystroke"]},children:[{text:this.bindTemplate.to("keystroke",e=>Gl(e))}]}),t}_getTooltipString(t,e,n){return t?typeof t=="string"?t:(n&&(n=Gl(n)),t instanceof Function?t(e,n):`${e}${n?` (${n})`:""}`):""}}var ld=L(7258),Dr={injectType:"singletonStyleTag",attributes:{"data-cke":!0}};Dr.insert="head",Dr.singleton=!0,F()(ld.Z,Dr),ld.Z.locals;class Ko extends ht{constructor(t){super(t),this.isToggleable=!0,this.toggleSwitchView=this._createToggleView(),this.extendTemplate({attributes:{class:"ck-switchbutton"}})}render(){super.render(),this.children.add(this.toggleSwitchView)}_createToggleView(){const t=new Y;return t.setTemplate({tag:"span",attributes:{class:["ck","ck-button__toggle"]},children:[{tag:"span",attributes:{class:["ck","ck-button__toggle__inner"]}}]}),t}}var dd=L(4923),Sr={injectType:"singletonStyleTag",attributes:{"data-cke":!0}};Sr.insert="head",Sr.singleton=!0,F()(dd.Z,Sr),dd.Z.locals,L(8874),L(2085);var ud=L(3525),Tr={injectType:"singletonStyleTag",attributes:{"data-cke":!0}};Tr.insert="head",Tr.singleton=!0,F()(ud.Z,Tr),ud.Z.locals;class Ir extends Y{constructor(t){super(t),this.set("text",void 0),this.set("for",void 0),this.id=`ck-editor__label_${qt()}`;const e=this.bindTemplate;this.setTemplate({tag:"label",attributes:{class:["ck","ck-label"],id:this.id,for:e.to("for")},children:[{text:e.to("text")}]})}}var hd=L(2933),Mr={injectType:"singletonStyleTag",attributes:{"data-cke":!0}};Mr.insert="head",Mr.singleton=!0,F()(hd.Z,Mr),hd.Z.locals;class Zo extends Y{constructor(t,e){super(t);const n=`ck-labeled-field-view-${qt()}`,i=`ck-labeled-field-view-status-${qt()}`;this.fieldView=e(this,n,i),this.set("label",void 0),this.set("isEnabled",!0),this.set("isEmpty",!0),this.set("isFocused",!1),this.set("errorText",null),this.set("infoText",null),this.set("class",void 0),this.set("placeholder",void 0),this.labelView=this._createLabelView(n),this.statusView=this._createStatusView(i),this.fieldWrapperChildren=this.createCollection([this.fieldView,this.labelView]),this.bind("_statusText").to(this,"errorText",this,"infoText",(s,a)=>s||a);const r=this.bindTemplate;this.setTemplate({tag:"div",attributes:{class:["ck","ck-labeled-field-view",r.to("class"),r.if("isEnabled","ck-disabled",s=>!s),r.if("isEmpty","ck-labeled-field-view_empty"),r.if("isFocused","ck-labeled-field-view_focused"),r.if("placeholder","ck-labeled-field-view_placeholder"),r.if("errorText","ck-error")]},children:[{tag:"div",attributes:{class:["ck","ck-labeled-field-view__input-wrapper"]},children:this.fieldWrapperChildren},this.statusView]})}_createLabelView(t){const e=new Ir(this.locale);return e.for=t,e.bind("text").to(this,"label"),e}_createStatusView(t){const e=new Y(this.locale),n=this.bindTemplate;return e.setTemplate({tag:"div",attributes:{class:["ck","ck-labeled-field-view__status",n.if("errorText","ck-labeled-field-view__status_error"),n.if("_statusText","ck-hidden",i=>!i)],id:t,role:n.if("errorText","alert")},children:[{text:n.to("_statusText")}]}),e}focus(t){this.fieldView.focus(t)}}class P0 extends Y{constructor(t){super(t),this.set("value",void 0),this.set("id",void 0),this.set("placeholder",void 0),this.set("isReadOnly",!1),this.set("hasError",!1),this.set("ariaDescribedById",void 0),this.focusTracker=new Ht,this.bind("isFocused").to(this.focusTracker),this.set("isEmpty",!0);const e=this.bindTemplate;this.setTemplate({tag:"input",attributes:{class:["ck","ck-input",e.if("isFocused","ck-input_focused"),e.if("isEmpty","ck-input-text_empty"),e.if("hasError","ck-error")],id:e.to("id"),placeholder:e.to("placeholder"),readonly:e.to("isReadOnly"),"aria-invalid":e.if("hasError",!0),"aria-describedby":e.to("ariaDescribedById")},on:{input:e.to((...n)=>{this.fire("input",...n),this._updateIsEmpty()}),change:e.to(this._updateIsEmpty.bind(this))}})}render(){super.render(),this.focusTracker.add(this.element),this._setDomElementValue(this.value),this._updateIsEmpty(),this.on("change:value",(t,e,n)=>{this._setDomElementValue(n),this._updateIsEmpty()})}destroy(){super.destroy(),this.focusTracker.destroy()}select(){this.element.select()}focus(){this.element.focus()}reset(){this.value=this.element.value="",this._updateIsEmpty()}_updateIsEmpty(){this.isEmpty=L0(this.element)}_setDomElementValue(t){this.element.value=!t&&t!==0?"":t}}function L0(o){return!o.value}var gd=L(2470),Br={injectType:"singletonStyleTag",attributes:{"data-cke":!0}};Br.insert="head",Br.singleton=!0,F()(gd.Z,Br),gd.Z.locals;class O0 extends P0{constructor(t){super(t),this.set("inputMode","text");const e=this.bindTemplate;this.extendTemplate({attributes:{inputmode:e.to("inputMode")}})}}class R0 extends O0{constructor(t){super(t),this.extendTemplate({attributes:{type:"text",class:["ck-input-text"]}})}}var fd=L(5224),Nr={injectType:"singletonStyleTag",attributes:{"data-cke":!0}};Nr.insert="head",Nr.singleton=!0,F()(fd.Z,Nr),fd.Z.locals;class j0 extends Y{constructor(t){super(t);const e=this.bindTemplate;this.set("isVisible",!1),this.set("position","se"),this.children=this.createCollection(),this.setTemplate({tag:"div",attributes:{class:["ck","ck-reset","ck-dropdown__panel",e.to("position",n=>`ck-dropdown__panel_${n}`),e.if("isVisible","ck-dropdown__panel-visible")],tabindex:"-1"},children:this.children,on:{selectstart:e.to(n=>{n.target.tagName.toLocaleLowerCase()!=="input"&&n.preventDefault()})}})}focus(){if(this.children.length){const t=this.children.first;typeof t.focus=="function"?t.focus():at("ui-dropdown-panel-focus-child-missing-focus",{childView:this.children.first,dropdownPanel:this})}}focusLast(){if(this.children.length){const t=this.children.last;typeof t.focusLast=="function"?t.focusLast():t.focus()}}}var md=L(5062),zr={injectType:"singletonStyleTag",attributes:{"data-cke":!0}};zr.insert="head",zr.singleton=!0,F()(md.Z,zr),md.Z.locals;class Dn extends Y{constructor(t,e,n){super(t);const i=this.bindTemplate;this.buttonView=e,this.panelView=n,this.set("isOpen",!1),this.set("isEnabled",!0),this.set("class",void 0),this.set("id",void 0),this.set("panelPosition","auto"),this.panelView.bind("isVisible").to(this,"isOpen"),this.keystrokes=new ie,this.focusTracker=new Ht,this.setTemplate({tag:"div",attributes:{class:["ck","ck-dropdown",i.to("class"),i.if("isEnabled","ck-disabled",r=>!r)],id:i.to("id"),"aria-describedby":i.to("ariaDescribedById")},children:[e,n]}),e.extendTemplate({attributes:{class:["ck-dropdown__button"],"data-cke-tooltip-disabled":i.to("isOpen")}})}render(){super.render(),this.focusTracker.add(this.buttonView.element),this.focusTracker.add(this.panelView.element),this.listenTo(this.buttonView,"open",()=>{this.isOpen=!this.isOpen}),this.on("change:isOpen",(e,n,i)=>{if(i)if(this.panelPosition==="auto"){const r=Dn._getOptimalPosition({element:this.panelView.element,target:this.buttonView.element,fitInViewport:!0,positions:this._panelPositions});this.panelView.position=r?r.name:this._panelPositions[0].name}else this.panelView.position=this.panelPosition}),this.keystrokes.listenTo(this.element);const t=(e,n)=>{this.isOpen&&(this.isOpen=!1,n())};this.keystrokes.set("arrowdown",(e,n)=>{this.buttonView.isEnabled&&!this.isOpen&&(this.isOpen=!0,n())}),this.keystrokes.set("arrowright",(e,n)=>{this.isOpen&&n()}),this.keystrokes.set("arrowleft",t),this.keystrokes.set("esc",t)}focus(){this.buttonView.focus()}get _panelPositions(){const{south:t,north:e,southEast:n,southWest:i,northEast:r,northWest:s,southMiddleEast:a,southMiddleWest:c,northMiddleEast:l,northMiddleWest:d}=Dn.defaultPanelPositions;return this.locale.uiLanguageDirection!=="rtl"?[n,i,a,c,t,r,s,l,d,e]:[i,n,c,a,t,s,r,d,l,e]}}Dn.defaultPanelPositions={south:(o,t)=>({top:o.bottom,left:o.left-(t.width-o.width)/2,name:"s"}),southEast:o=>({top:o.bottom,left:o.left,name:"se"}),southWest:(o,t)=>({top:o.bottom,left:o.left-t.width+o.width,name:"sw"}),southMiddleEast:(o,t)=>({top:o.bottom,left:o.left-(t.width-o.width)/4,name:"sme"}),southMiddleWest:(o,t)=>({top:o.bottom,left:o.left-(t.width-o.width)*3/4,name:"smw"}),north:(o,t)=>({top:o.top-t.height,left:o.left-(t.width-o.width)/2,name:"n"}),northEast:(o,t)=>({top:o.top-t.height,left:o.left,name:"ne"}),northWest:(o,t)=>({top:o.top-t.height,left:o.left-t.width+o.width,name:"nw"}),northMiddleEast:(o,t)=>({top:o.top-t.height,left:o.left-(t.width-o.width)/4,name:"nme"}),northMiddleWest:(o,t)=>({top:o.top-t.height,left:o.left-(t.width-o.width)*3/4,name:"nmw"})},Dn._getOptimalPosition=pr;const Pr='';class pd extends ht{constructor(t){super(t),this.arrowView=this._createArrowView(),this.extendTemplate({attributes:{"aria-haspopup":!0,"aria-expanded":this.bindTemplate.to("isOn",e=>String(e))}}),this.delegate("execute").to(this,"open")}render(){super.render(),this.children.add(this.arrowView)}_createArrowView(){const t=new Se;return t.content=Pr,t.extendTemplate({attributes:{class:"ck-dropdown__arrow"}}),t}}class Te extends ct(){constructor(t){if(super(),this.focusables=t.focusables,this.focusTracker=t.focusTracker,this.keystrokeHandler=t.keystrokeHandler,this.actions=t.actions,t.actions&&t.keystrokeHandler)for(const e in t.actions){let n=t.actions[e];typeof n=="string"&&(n=[n]);for(const i of n)t.keystrokeHandler.set(i,(r,s)=>{this[e](),s()})}this.on("forwardCycle",()=>this.focusFirst(),{priority:"low"}),this.on("backwardCycle",()=>this.focusLast(),{priority:"low"})}get first(){return this.focusables.find(Lr)||null}get last(){return this.focusables.filter(Lr).slice(-1)[0]||null}get next(){return this._getFocusableItem(1)}get previous(){return this._getFocusableItem(-1)}get current(){let t=null;return this.focusTracker.focusedElement===null?null:(this.focusables.find((e,n)=>{const i=e.element===this.focusTracker.focusedElement;return i&&(t=n),i}),t)}focusFirst(){this._focus(this.first,1)}focusLast(){this._focus(this.last,-1)}focusNext(){const t=this.next;t&&this.focusables.getIndex(t)===this.current||(t===this.first?this.fire("forwardCycle"):this._focus(t,1))}focusPrevious(){const t=this.previous;t&&this.focusables.getIndex(t)===this.current||(t===this.last?this.fire("backwardCycle"):this._focus(t,-1))}_focus(t,e){t&&t.focus(e)}_getFocusableItem(t){const e=this.current,n=this.focusables.length;if(!n)return null;if(e===null)return this[t===1?"first":"last"];let i=(e+n+t)%n;do{const r=this.focusables.get(i);if(Lr(r))return r;i=(i+n+t)%n}while(i!==e);return null}}function Lr(o){return!!("focus"in o&&Je(o.element))}class kd extends Y{constructor(t){super(t),this.setTemplate({tag:"span",attributes:{class:["ck","ck-toolbar__separator"]}})}}class F0 extends Y{constructor(t){super(t),this.setTemplate({tag:"span",attributes:{class:["ck","ck-toolbar__line-break"]}})}}function V0(o){return o.bindTemplate.to(t=>{t.target===o.element&&t.preventDefault()})}function bd(o){if(Array.isArray(o))return{items:o,removeItems:[]};const t={items:[],removeItems:[]};return o?{...t,...o}:t}class P extends rt(){constructor(t){super(),this._disableStack=new Set,this.editor=t,this.set("isEnabled",!0)}forceDisabled(t){this._disableStack.add(t),this._disableStack.size==1&&(this.on("set:isEnabled",wd,{priority:"highest"}),this.isEnabled=!1)}clearForceDisabled(t){this._disableStack.delete(t),this._disableStack.size==0&&(this.off("set:isEnabled",wd),this.isEnabled=!0)}destroy(){this.stopListening()}static get isContextPlugin(){return!1}}function wd(o){o.return=!1,o.stop()}class X extends rt(){constructor(t){super(),this.editor=t,this.set("value",void 0),this.set("isEnabled",!1),this._affectsData=!0,this._isEnabledBasedOnSelection=!0,this._disableStack=new Set,this.decorate("execute"),this.listenTo(this.editor.model.document,"change",()=>{this.refresh()}),this.listenTo(t,"change:isReadOnly",()=>{this.refresh()}),this.on("set:isEnabled",e=>{if(!this.affectsData)return;const n=t.model.document.selection,r=!(n.getFirstPosition().root.rootName=="$graveyard")&&t.model.canEditAt(n);(t.isReadOnly||this._isEnabledBasedOnSelection&&!r)&&(e.return=!1,e.stop())},{priority:"highest"}),this.on("execute",e=>{this.isEnabled||e.stop()},{priority:"high"})}get affectsData(){return this._affectsData}set affectsData(t){this._affectsData=t}refresh(){this.isEnabled=!0}forceDisabled(t){this._disableStack.add(t),this._disableStack.size==1&&(this.on("set:isEnabled",Ad,{priority:"highest"}),this.isEnabled=!1)}clearForceDisabled(t){this._disableStack.delete(t),this._disableStack.size==0&&(this.off("set:isEnabled",Ad),this.refresh())}execute(...t){}destroy(){this.stopListening()}}function Ad(o){o.return=!1,o.stop()}class Cd extends X{constructor(){super(...arguments),this._childCommandsDefinitions=[]}refresh(){}execute(...t){const e=this._getFirstEnabledCommand();return!!e&&e.execute(t)}registerChildCommand(t,e={}){xc(this._childCommandsDefinitions,{command:t,priority:e.priority||"normal"}),t.on("change:isEnabled",()=>this._checkEnabled()),this._checkEnabled()}_checkEnabled(){this.isEnabled=!!this._getFirstEnabledCommand()}_getFirstEnabledCommand(){const t=this._childCommandsDefinitions.find(({command:e})=>e.isEnabled);return t&&t.command}}class _d extends ct(){constructor(t,e=[],n=[]){super(),this._plugins=new Map,this._context=t,this._availablePlugins=new Map;for(const i of e)i.pluginName&&this._availablePlugins.set(i.pluginName,i);this._contextPlugins=new Map;for(const[i,r]of n)this._contextPlugins.set(i,r),this._contextPlugins.set(r,i),i.pluginName&&this._availablePlugins.set(i.pluginName,i)}*[Symbol.iterator](){for(const t of this._plugins)typeof t[0]=="function"&&(yield t)}get(t){const e=this._plugins.get(t);if(!e){let n=t;throw typeof t=="function"&&(n=t.pluginName||t.name),new b("plugincollection-plugin-not-loaded",this._context,{plugin:n})}return e}has(t){return this._plugins.has(t)}init(t,e=[],n=[]){const i=this,r=this._context;p(t),S(t);const s=t.filter(H=>!u(H,e)),a=[...w(s)];pt(a,n);const c=J(a);return st(c,"init").then(()=>st(c,"afterInit")).then(()=>c);function l(H){return typeof H=="function"}function d(H){return l(H)&&!!H.isContextPlugin}function u(H,Z){return Z.some(q=>q===H||f(H)===q||f(q)===H)}function f(H){return l(H)?H.pluginName||H.name:H}function p(H,Z=new Set){H.forEach(q=>{l(q)&&(Z.has(q)||(Z.add(q),q.pluginName&&!i._availablePlugins.has(q.pluginName)&&i._availablePlugins.set(q.pluginName,q),q.requires&&p(q.requires,Z)))})}function w(H,Z=new Set){return H.map(q=>l(q)?q:i._availablePlugins.get(q)).reduce((q,At)=>Z.has(At)?q:(Z.add(At),At.requires&&(S(At.requires,At),w(At.requires,Z).forEach(mn=>q.add(mn))),q.add(At)),new Set)}function S(H,Z=null){H.map(q=>l(q)?q:i._availablePlugins.get(q)||q).forEach(q=>{B(q,Z),z(q,Z),V(q,Z)})}function B(H,Z){if(!l(H))throw Z?new b("plugincollection-soft-required",r,{missingPlugin:H,requiredBy:f(Z)}):new b("plugincollection-plugin-not-found",r,{plugin:H})}function z(H,Z){if(d(Z)&&!d(H))throw new b("plugincollection-context-required",r,{plugin:f(H),requiredBy:f(Z)})}function V(H,Z){if(Z&&u(H,e))throw new b("plugincollection-required",r,{plugin:f(H),requiredBy:f(Z)})}function J(H){return H.map(Z=>{let q=i._contextPlugins.get(Z);return q=q||new Z(r),i._add(Z,q),q})}function st(H,Z){return H.reduce((q,At)=>!At[Z]||i._contextPlugins.has(At)?q:q.then(At[Z].bind(At)),Promise.resolve())}function pt(H,Z){for(const q of Z){if(typeof q!="function")throw new b("plugincollection-replace-plugin-invalid-type",null,{pluginItem:q});const At=q.pluginName;if(!At)throw new b("plugincollection-replace-plugin-missing-name",null,{pluginItem:q});if(q.requires&&q.requires.length)throw new b("plugincollection-plugin-for-replacing-cannot-have-dependencies",null,{pluginName:At});const mn=i._availablePlugins.get(At);if(!mn)throw new b("plugincollection-plugin-for-replacing-not-exist",null,{pluginName:At});const Qp=H.indexOf(mn);if(Qp===-1){if(i._contextPlugins.has(mn))return;throw new b("plugincollection-plugin-for-replacing-not-loaded",null,{pluginName:At})}if(mn.requires&&mn.requires.length)throw new b("plugincollection-replaced-plugin-cannot-have-dependencies",null,{pluginName:At});H.splice(Qp,1,q),i._availablePlugins.set(At,q)}}}destroy(){const t=[];for(const[,e]of this)typeof e.destroy=="function"&&!this._contextPlugins.has(e)&&t.push(e.destroy());return Promise.all(t)}_add(t,e){this._plugins.set(t,e);const n=t.pluginName;if(n){if(this._plugins.has(n))throw new b("plugincollection-plugin-name-conflict",null,{pluginName:n,plugin1:this._plugins.get(n).constructor,plugin2:t});this._plugins.set(n,e)}}}class vd{constructor(t){this._contextOwner=null,this.config=new El(t,this.constructor.defaultConfig);const e=this.constructor.builtinPlugins;this.config.define("plugins",e),this.plugins=new _d(this,e);const n=this.config.get("language")||{};this.locale=new d0({uiLanguage:typeof n=="string"?n:n.ui,contentLanguage:this.config.get("language.content")}),this.t=this.locale.t,this.editors=new oe}initPlugins(){const t=this.config.get("plugins")||[],e=this.config.get("substitutePlugins")||[];for(const n of t.concat(e)){if(typeof n!="function")throw new b("context-initplugins-constructor-only",null,{Plugin:n});if(n.isContextPlugin!==!0)throw new b("context-initplugins-invalid-plugin",null,{Plugin:n})}return this.plugins.init(t,[],e)}destroy(){return Promise.all(Array.from(this.editors,t=>t.destroy())).then(()=>this.plugins.destroy())}_addEditor(t,e){if(this._contextOwner)throw new b("context-addeditor-private-context");this.editors.add(t),e&&(this._contextOwner=t)}_removeEditor(t){return this.editors.has(t)&&this.editors.remove(t),this._contextOwner===t?this.destroy():Promise.resolve()}_getEditorConfig(){const t={};for(const e of this.config.names())["plugins","removePlugins","extraPlugins"].includes(e)||(t[e]=this.config.get(e));return t}static create(t){return new Promise(e=>{const n=new this(t);e(n.initPlugins().then(()=>n))})}}class Yo extends rt(){constructor(t){super(),this.context=t}destroy(){this.stopListening()}static get isContextPlugin(){return!0}}var yd=L(7372),Or={injectType:"singletonStyleTag",attributes:{"data-cke":!0}};Or.insert="head",Or.singleton=!0,F()(yd.Z,Or),yd.Z.locals;const Qo=new WeakMap;let xd=!1;function Ed({view:o,element:t,text:e,isDirectHost:n=!0,keepOnFocus:i=!1}){const r=o.document;Qo.has(r)||(Qo.set(r,new Map),r.registerPostFixer(a=>Rr(r,a)),r.on("change:isComposing",()=>{o.change(a=>Rr(r,a))},{priority:"high"})),t.is("editableElement")&&t.on("change:placeholder",(a,c,l)=>{s(l)}),t.placeholder?s(t.placeholder):e&&s(e),e&&G0();function s(a){Qo.get(r).set(t,{text:a,isDirectHost:n,keepOnFocus:i,hostElement:n?t:null}),o.change(c=>Rr(r,c))}}function H0(o,t){return t.hasClass("ck-placeholder")?!1:(o.addClass("ck-placeholder",t),!0)}function U0(o,t){return t.hasClass("ck-placeholder")?(o.removeClass("ck-placeholder",t),!0):!1}function q0(o,t){if(!o.isAttached()||Array.from(o.getChildren()).some(s=>!s.is("uiElement")))return!1;const n=o.document,r=n.selection.anchor;return n.isComposing&&r&&r.parent===o?!1:t||!n.isFocused?!0:!!r&&r.parent!==o}function Rr(o,t){const e=Qo.get(o),n=[];let i=!1;for(const[r,s]of e)s.isDirectHost&&(n.push(r),Dd(t,r,s)&&(i=!0));for(const[r,s]of e){if(s.isDirectHost)continue;const a=W0(r);a&&(n.includes(a)||(s.hostElement=a,Dd(t,r,s)&&(i=!0)))}return i}function Dd(o,t,e){const{text:n,isDirectHost:i,hostElement:r}=e;let s=!1;return r.getAttribute("data-placeholder")!==n&&(o.setAttribute("data-placeholder",n,r),s=!0),(i||t.childCount==1)&&q0(r,e.keepOnFocus)?H0(o,r)&&(s=!0):U0(o,r)&&(s=!0),s}function W0(o){if(o.childCount){const t=o.getChild(0);if(t.is("element")&&!t.is("uiElement")&&!t.is("attributeElement"))return t}return null}function G0(){xd||at("enableplaceholder-deprecated-text-option"),xd=!0}class Xe{is(){throw new Error("is() method is abstract")}}var $0=4;function K0(o){return hr(o,$0)}const Sd=K0;class tn extends ct(Xe){constructor(t){super(),this.document=t,this.parent=null}get index(){let t;if(!this.parent)return null;if((t=this.parent.getChildIndex(this))==-1)throw new b("view-node-not-found-in-parent",this);return t}get nextSibling(){const t=this.index;return t!==null&&this.parent.getChild(t+1)||null}get previousSibling(){const t=this.index;return t!==null&&this.parent.getChild(t-1)||null}get root(){let t=this;for(;t.parent;)t=t.parent;return t}isAttached(){return this.root.is("rootElement")}getPath(){const t=[];let e=this;for(;e.parent;)t.unshift(e.index),e=e.parent;return t}getAncestors(t={}){const e=[];let n=t.includeSelf?this:this.parent;for(;n;)e[t.parentFirst?"push":"unshift"](n),n=n.parent;return e}getCommonAncestor(t,e={}){const n=this.getAncestors(e),i=t.getAncestors(e);let r=0;for(;n[r]==i[r]&&n[r];)r++;return r===0?null:n[r-1]}isBefore(t){if(this==t||this.root!==t.root)return!1;const e=this.getPath(),n=t.getPath(),i=jt(e,n);switch(i){case"prefix":return!0;case"extension":return!1;default:return e[i]t.data.length)throw new b("view-textproxy-wrong-offsetintext",this);if(n<0||e+n>t.data.length)throw new b("view-textproxy-wrong-length",this);this.data=t.data.substring(e,e+n),this.offsetInText=e}get offsetSize(){return this.data.length}get isPartial(){return this.data.length!==this.textNode.data.length}get parent(){return this.textNode.parent}get root(){return this.textNode.root}get document(){return this.textNode.document}getAncestors(t={}){const e=[];let n=t.includeSelf?this.textNode:this.parent;for(;n!==null;)e[t.parentFirst?"push":"unshift"](n),n=n.parent;return e}}we.prototype.is=function(o){return o==="$textProxy"||o==="view:$textProxy"||o==="textProxy"||o==="view:textProxy"};class de{constructor(...t){this._patterns=[],this.add(...t)}add(...t){for(let e of t)(typeof e=="string"||e instanceof RegExp)&&(e={name:e}),this._patterns.push(e)}match(...t){for(const e of t)for(const n of this._patterns){const i=Td(e,n);if(i)return{element:e,pattern:n,match:i}}return null}matchAll(...t){const e=[];for(const n of t)for(const i of this._patterns){const r=Td(n,i);r&&e.push({element:n,pattern:i,match:r})}return e.length>0?e:null}getElementName(){if(this._patterns.length!==1)return null;const t=this._patterns[0],e=t.name;return typeof t!="function"&&e&&!(e instanceof RegExp)?e:null}}function Td(o,t){if(typeof t=="function")return t(o);const e={};return t.name&&(e.name=Z0(t.name,o.name),!e.name)||t.attributes&&(e.attributes=X0(t.attributes,o),!e.attributes)||t.classes&&(e.classes=tv(t.classes,o),!e.classes)||t.styles&&(e.styles=ev(t.styles,o),!e.styles)?null:e}function Z0(o,t){return o instanceof RegExp?!!t.match(o):o===t}function jr(o,t,e){const n=Y0(o),i=Array.from(t),r=[];if(n.forEach(([s,a])=>{i.forEach(c=>{Q0(s,c)&&J0(a,c,e)&&r.push(c)})}),!(!n.length||r.lengthKt(t)?((t.key===void 0||t.value===void 0)&&at("matcher-pattern-missing-key-or-value",t),[t.key,t.value]):[t,!0]):Kt(o)?Object.entries(o):[[o,!0]]}function Q0(o,t){return o===!0||o===t||o instanceof RegExp&&t.match(o)}function J0(o,t,e){if(o===!0)return!0;const n=e(t);return o===n||o instanceof RegExp&&!!String(n).match(o)}function X0(o,t){const e=new Set(t.getAttributeKeys());return Kt(o)?(o.style!==void 0&&at("matcher-pattern-deprecated-attributes-style-key",o),o.class!==void 0&&at("matcher-pattern-deprecated-attributes-class-key",o)):(e.delete("style"),e.delete("class")),jr(o,e,n=>t.getAttribute(n))}function tv(o,t){return jr(o,t.getClassNames(),()=>{})}function ev(o,t){return jr(o,t.getStyleNames(!0),e=>t.getStyle(e))}var nv="[object Symbol]";function ov(o){return typeof o=="symbol"||ne(o)&&Oe(o)==nv}const Jo=ov;var iv=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,rv=/^\w*$/;function sv(o,t){if(Vt(o))return!1;var e=typeof o;return e=="number"||e=="symbol"||e=="boolean"||o==null||Jo(o)?!0:rv.test(o)||!iv.test(o)||t!=null&&o in Object(t)}const av=sv;var cv="Expected a function";function Fr(o,t){if(typeof o!="function"||t!=null&&typeof t!="function")throw new TypeError(cv);var e=function(){var n=arguments,i=t?t.apply(this,n):n[0],r=e.cache;if(r.has(i))return r.get(i);var s=o.apply(this,n);return e.cache=r.set(i,s)||r,s};return e.cache=new(Fr.Cache||Oo),e}Fr.Cache=Oo;const lv=Fr;var dv=500;function uv(o){var t=lv(o,function(n){return e.size===dv&&e.clear(),n}),e=t.cache;return t}const hv=uv;var gv=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,fv=/\\(\\)?/g,mv=hv(function(o){var t=[];return o.charCodeAt(0)===46&&t.push(""),o.replace(gv,function(e,n,i,r){t.push(i?r.replace(fv,"$1"):n||e)}),t});const pv=mv;function kv(o,t){for(var e=-1,n=o==null?0:o.length,i=Array(n);++ei?0:i+t),e=e>i?i:e,e<0&&(e+=i),i=t>e?0:e-t>>>0,t>>>=0;for(var r=Array(i);++n0){if(++t>=oy)return arguments[0]}else t=0;return o.apply(void 0,arguments)}}var ay=sy(ny);const cy=ay;function ly(o,t){return cy(Jv(o,t,en),o+"")}const dy=ly;function uy(o,t,e){if(!_t(e))return!1;var n=typeof t;return(n=="number"?jo(e)&&Xi(t,e.length):n=="string"&&t in e)?Gn(e[t],o):!1}const hy=uy;function gy(o){return dy(function(t,e){var n=-1,i=e.length,r=i>1?e[i-1]:void 0,s=i>2?e[2]:void 0;for(r=o.length>3&&typeof r=="function"?(i--,r):void 0,s&&hy(e[0],e[1],s)&&(r=i<3?void 0:r,i=1),t=Object(t);++ni===t);return Array.isArray(n)}set(t,e){if(_t(t))for(const[n,i]of Object.entries(t))this._styleProcessor.toNormalizedForm(n,i,this._styles);else this._styleProcessor.toNormalizedForm(t,e,this._styles)}remove(t){const e=Gr(t);zv(this._styles,e),delete this._styles[t],this._cleanEmptyObjectsOnPath(e)}getNormalized(t){return this._styleProcessor.getNormalized(t,this._styles)}toString(){return this.isEmpty?"":this._getStylesEntries().map(t=>t.join(":")).sort().join(";")+";"}getAsString(t){if(this.isEmpty)return;if(this._styles[t]&&!_t(this._styles[t]))return this._styles[t];const n=this._styleProcessor.getReducedForm(t,this._styles).find(([i])=>i===t);if(Array.isArray(n))return n[1]}getStyleNames(t=!1){return this.isEmpty?[]:t?this._styleProcessor.getStyleNames(this._styles):this._getStylesEntries().map(([n])=>n)}clear(){this._styles={}}_getStylesEntries(){const t=[],e=Object.keys(this._styles);for(const n of e)t.push(...this._styleProcessor.getReducedForm(n,this._styles));return t}_cleanEmptyObjectsOnPath(t){const e=t.split(".");if(!(e.length>1))return;const i=e.splice(0,e.length-1).join("."),r=Xo(this._styles,i);if(!r)return;!Object.keys(r).length&&this.remove(i)}}class Ay{constructor(){this._normalizers=new Map,this._extractors=new Map,this._reducers=new Map,this._consumables=new Map}toNormalizedForm(t,e,n){if(_t(e)){$r(n,Gr(t),e);return}if(this._normalizers.has(t)){const i=this._normalizers.get(t),{path:r,value:s}=i(e);$r(n,r,s)}else $r(n,t,e)}getNormalized(t,e){if(!t)return Rd({},e);if(e[t]!==void 0)return e[t];if(this._extractors.has(t)){const n=this._extractors.get(t);if(typeof n=="string")return Xo(e,n);const i=n(t,e);if(i)return i}return Xo(e,Gr(t))}getReducedForm(t,e){const n=this.getNormalized(t,e);return n===void 0?[]:this._reducers.has(t)?this._reducers.get(t)(n):[[t,n]]}getStyleNames(t){const e=Array.from(this._consumables.keys()).filter(i=>{const r=this.getNormalized(i,t);return r&&typeof r=="object"?Object.keys(r).length:r}),n=new Set([...e,...Object.keys(t)]);return Array.from(n)}getRelatedStyles(t){return this._consumables.get(t)||[]}setNormalizer(t,e){this._normalizers.set(t,e)}setExtractor(t,e){this._extractors.set(t,e)}setReducer(t,e){this._reducers.set(t,e)}setStyleRelation(t,e){this._mapStyleNames(t,e);for(const n of e)this._mapStyleNames(n,[t])}_mapStyleNames(t,e){this._consumables.has(t)||this._consumables.set(t,[]),this._consumables.get(t).push(...e)}}function Cy(o){let t=null,e=0,n=0,i=null;const r=new Map;if(o==="")return r;o.charAt(o.length-1)!=";"&&(o=o+";");for(let s=0;s0&&(yield"class"),this._styles.isEmpty||(yield"style"),yield*this._attrs.keys()}*getAttributes(){yield*this._attrs.entries(),this._classes.size>0&&(yield["class",this.getAttribute("class")]),this._styles.isEmpty||(yield["style",this.getAttribute("style")])}getAttribute(t){if(t=="class")return this._classes.size>0?[...this._classes].join(" "):void 0;if(t=="style"){const e=this._styles.toString();return e==""?void 0:e}return this._attrs.get(t)}hasAttribute(t){return t=="class"?this._classes.size>0:t=="style"?!this._styles.isEmpty:this._attrs.has(t)}isSimilar(t){if(!(t instanceof Yt))return!1;if(this===t)return!0;if(this.name!=t.name||this._attrs.size!==t._attrs.size||this._classes.size!==t._classes.size||this._styles.size!==t._styles.size)return!1;for(const[e,n]of this._attrs)if(!t._attrs.has(e)||t._attrs.get(e)!==n)return!1;for(const e of this._classes)if(!t._classes.has(e))return!1;for(const e of this._styles.getStyleNames())if(!t._styles.has(e)||t._styles.getAsString(e)!==this._styles.getAsString(e))return!1;return!0}hasClass(...t){for(const e of t)if(!this._classes.has(e))return!1;return!0}getClassNames(){return this._classes.keys()}getStyle(t){return this._styles.getAsString(t)}getNormalizedStyle(t){return this._styles.getNormalized(t)}getStyleNames(t){return this._styles.getStyleNames(t)}hasStyle(...t){for(const e of t)if(!this._styles.has(e))return!1;return!0}findAncestor(...t){const e=new de(...t);let n=this.parent;for(;n&&!n.is("documentFragment");){if(e.match(n))return n;n=n.parent}return null}getCustomProperty(t){return this._customProperties.get(t)}*getCustomProperties(){yield*this._customProperties.entries()}getIdentity(){const t=Array.from(this._classes).sort().join(","),e=this._styles.toString(),n=Array.from(this._attrs).map(i=>`${i[0]}="${i[1]}"`).sort().join(" ");return this.name+(t==""?"":` class="${t}"`)+(e?` style="${e}"`:"")+(n==""?"":` ${n}`)}shouldRenderUnsafeAttribute(t){return this._unsafeAttributesToRender.includes(t)}_clone(t=!1){const e=[];if(t)for(const i of this.getChildren())e.push(i._clone(t));const n=new this.constructor(this.document,this.name,this._attrs,e);return n._classes=new Set(this._classes),n._styles.set(this._styles.getNormalized()),n._customProperties=new Map(this._customProperties),n.getFillerOffset=this.getFillerOffset,n._unsafeAttributesToRender=this._unsafeAttributesToRender,n}_appendChild(t){return this._insertChild(this.childCount,t)}_insertChild(t,e){this._fireChange("children",this);let n=0;const i=vy(this.document,e);for(const r of i)r.parent!==null&&r._remove(),r.parent=this,r.document=this.document,this._children.splice(t,0,r),t++,n++;return n}_removeChildren(t,e=1){this._fireChange("children",this);for(let n=t;n0?(this._classes.clear(),!0):!1:t=="style"?this._styles.isEmpty?!1:(this._styles.clear(),!0):this._attrs.delete(t)}_addClass(t){this._fireChange("attributes",this);for(const e of Tt(t))this._classes.add(e)}_removeClass(t){this._fireChange("attributes",this);for(const e of Tt(t))this._classes.delete(e)}_setStyle(t,e){this._fireChange("attributes",this),typeof t!="string"?this._styles.set(t):this._styles.set(t,e)}_removeStyle(t){this._fireChange("attributes",this);for(const e of Tt(t))this._styles.remove(e)}_setCustomProperty(t,e){this._customProperties.set(t,e)}_removeCustomProperty(t){return this._customProperties.delete(t)}}Yt.prototype.is=function(o,t){return t?t===this.name&&(o==="element"||o==="view:element"):o==="element"||o==="view:element"||o==="node"||o==="view:node"};function _y(o){const t=De(o);for(const[e,n]of t)n===null?t.delete(e):typeof n!="string"&&t.set(e,String(n));return t}function jd(o,t){const e=t.split(/\s+/);o.clear(),e.forEach(n=>o.add(n))}function vy(o,t){return typeof t=="string"?[new gt(o,t)]:($t(t)||(t=[t]),Array.from(t).map(e=>typeof e=="string"?new gt(o,e):e instanceof we?new gt(o,e.data):e))}class oo extends Yt{constructor(t,e,n,i){super(t,e,n,i),this.getFillerOffset=Fd}}oo.prototype.is=function(o,t){return t?t===this.name&&(o==="containerElement"||o==="view:containerElement"||o==="element"||o==="view:element"):o==="containerElement"||o==="view:containerElement"||o==="element"||o==="view:element"||o==="node"||o==="view:node"};function Fd(){const o=[...this.getChildren()],t=o[this.childCount-1];if(t&&t.is("element","br"))return this.childCount;for(const e of o)if(!e.is("uiElement"))return null;return this.childCount}class ti extends rt(oo){constructor(t,e,n,i){super(t,e,n,i),this.set("isReadOnly",!1),this.set("isFocused",!1),this.set("placeholder",void 0),this.bind("isReadOnly").to(t),this.bind("isFocused").to(t,"isFocused",r=>r&&t.selection.editableElement==this),this.listenTo(t.selection,"change",()=>{this.isFocused=t.isFocused&&t.selection.editableElement==this})}destroy(){this.stopListening()}}ti.prototype.is=function(o,t){return t?t===this.name&&(o==="editableElement"||o==="view:editableElement"||o==="containerElement"||o==="view:containerElement"||o==="element"||o==="view:element"):o==="editableElement"||o==="view:editableElement"||o==="containerElement"||o==="view:containerElement"||o==="element"||o==="view:element"||o==="node"||o==="view:node"};const Vd=Symbol("rootName");class Hd extends ti{constructor(t,e){super(t,e),this.rootName="main"}get rootName(){return this.getCustomProperty(Vd)}set rootName(t){this._setCustomProperty(Vd,t)}set _name(t){this.name=t}}Hd.prototype.is=function(o,t){return t?t===this.name&&(o==="rootElement"||o==="view:rootElement"||o==="editableElement"||o==="view:editableElement"||o==="containerElement"||o==="view:containerElement"||o==="element"||o==="view:element"):o==="rootElement"||o==="view:rootElement"||o==="editableElement"||o==="view:editableElement"||o==="containerElement"||o==="view:containerElement"||o==="element"||o==="view:element"||o==="node"||o==="view:node"};class nn{constructor(t={}){if(!t.boundaries&&!t.startPosition)throw new b("view-tree-walker-no-start-position",null);if(t.direction&&t.direction!="forward"&&t.direction!="backward")throw new b("view-tree-walker-unknown-direction",t.startPosition,{direction:t.direction});this.boundaries=t.boundaries||null,t.startPosition?this._position=O._createAt(t.startPosition):this._position=O._createAt(t.boundaries[t.direction=="backward"?"end":"start"]),this.direction=t.direction||"forward",this.singleCharacters=!!t.singleCharacters,this.shallow=!!t.shallow,this.ignoreElementEnd=!!t.ignoreElementEnd,this._boundaryStartParent=this.boundaries?this.boundaries.start.parent:null,this._boundaryEndParent=this.boundaries?this.boundaries.end.parent:null}[Symbol.iterator](){return this}get position(){return this._position}skip(t){let e,n;do n=this.position,e=this.next();while(!e.done&&t(e.value));e.done||(this._position=n)}next(){return this.direction=="forward"?this._next():this._previous()}_next(){let t=this.position.clone();const e=this.position,n=t.parent;if(n.parent===null&&t.offset===n.childCount)return{done:!0,value:void 0};if(n===this._boundaryEndParent&&t.offset==this.boundaries.end.offset)return{done:!0,value:void 0};let i;if(n instanceof gt){if(t.isAtEnd)return this._position=O._createAfter(n),this._next();i=n.data[t.offset]}else i=n.getChild(t.offset);if(i instanceof Yt){if(!this.shallow)t=new O(i,0);else{if(this.boundaries&&this.boundaries.end.isBefore(t))return{done:!0,value:void 0};t.offset++}return this._position=t,this._formatReturnValue("elementStart",i,e,t,1)}if(i instanceof gt){if(this.singleCharacters)return t=new O(i,0),this._position=t,this._next();let r=i.data.length,s;return i==this._boundaryEndParent?(r=this.boundaries.end.offset,s=new we(i,0,r),t=O._createAfter(s)):(s=new we(i,0,i.data.length),t.offset++),this._position=t,this._formatReturnValue("text",s,e,t,r)}if(typeof i=="string"){let r;this.singleCharacters?r=1:r=(n===this._boundaryEndParent?this.boundaries.end.offset:n.data.length)-t.offset;const s=new we(n,t.offset,r);return t.offset+=r,this._position=t,this._formatReturnValue("text",s,e,t,r)}return t=O._createAfter(n),this._position=t,this.ignoreElementEnd?this._next():this._formatReturnValue("elementEnd",n,e,t)}_previous(){let t=this.position.clone();const e=this.position,n=t.parent;if(n.parent===null&&t.offset===0)return{done:!0,value:void 0};if(n==this._boundaryStartParent&&t.offset==this.boundaries.start.offset)return{done:!0,value:void 0};let i;if(n instanceof gt){if(t.isAtStart)return this._position=O._createBefore(n),this._previous();i=n.data[t.offset-1]}else i=n.getChild(t.offset-1);if(i instanceof Yt)return this.shallow?(t.offset--,this._position=t,this._formatReturnValue("elementStart",i,e,t,1)):(t=new O(i,i.childCount),this._position=t,this.ignoreElementEnd?this._previous():this._formatReturnValue("elementEnd",i,e,t));if(i instanceof gt){if(this.singleCharacters)return t=new O(i,i.data.length),this._position=t,this._previous();let r=i.data.length,s;if(i==this._boundaryStartParent){const a=this.boundaries.start.offset;s=new we(i,a,i.data.length-a),r=s.data.length,t=O._createBefore(s)}else s=new we(i,0,i.data.length),t.offset--;return this._position=t,this._formatReturnValue("text",s,e,t,r)}if(typeof i=="string"){let r;if(this.singleCharacters)r=1;else{const a=n===this._boundaryStartParent?this.boundaries.start.offset:0;r=t.offset-a}t.offset-=r;const s=new we(n,t.offset,r);return this._position=t,this._formatReturnValue("text",s,e,t,r)}return t=O._createBefore(n),this._position=t,this._formatReturnValue("elementStart",n,e,t,1)}_formatReturnValue(t,e,n,i,r){return e instanceof we&&(e.offsetInText+e.data.length==e.textNode.data.length&&(this.direction=="forward"&&!(this.boundaries&&this.boundaries.end.isEqual(this.position))?(i=O._createAfter(e.textNode),this._position=i):n=O._createAfter(e.textNode)),e.offsetInText===0&&(this.direction=="backward"&&!(this.boundaries&&this.boundaries.start.isEqual(this.position))?(i=O._createBefore(e.textNode),this._position=i):n=O._createBefore(e.textNode))),{done:!1,value:{type:t,item:e,previousPosition:n,nextPosition:i,length:r}}}}class O extends Xe{constructor(t,e){super(),this.parent=t,this.offset=e}get nodeAfter(){return this.parent.is("$text")?null:this.parent.getChild(this.offset)||null}get nodeBefore(){return this.parent.is("$text")?null:this.parent.getChild(this.offset-1)||null}get isAtStart(){return this.offset===0}get isAtEnd(){const t=this.parent.is("$text")?this.parent.data.length:this.parent.childCount;return this.offset===t}get root(){return this.parent.root}get editableElement(){let t=this.parent;for(;!(t instanceof ti);)if(t.parent)t=t.parent;else return null;return t}getShiftedBy(t){const e=O._createAt(this),n=e.offset+t;return e.offset=n<0?0:n,e}getLastMatchingPosition(t,e={}){e.startPosition=this;const n=new nn(e);return n.skip(t),n.position}getAncestors(){return this.parent.is("documentFragment")?[this.parent]:this.parent.getAncestors({includeSelf:!0})}getCommonAncestor(t){const e=this.getAncestors(),n=t.getAncestors();let i=0;for(;e[i]==n[i]&&e[i];)i++;return i===0?null:e[i-1]}isEqual(t){return this.parent==t.parent&&this.offset==t.offset}isBefore(t){return this.compareWith(t)=="before"}isAfter(t){return this.compareWith(t)=="after"}compareWith(t){if(this.root!==t.root)return"different";if(this.isEqual(t))return"same";const e=this.parent.is("node")?this.parent.getPath():[],n=t.parent.is("node")?t.parent.getPath():[];e.push(this.offset),n.push(t.offset);const i=jt(e,n);switch(i){case"prefix":return"before";case"extension":return"after";default:return e[i]0?new this(n,i):new this(i,n)}static _createIn(t){return this._createFromParentsAndOffsets(t,0,t,t.childCount)}static _createOn(t){const e=t.is("$textProxy")?t.offsetSize:1;return this._createFromPositionAndShift(O._createBefore(t),e)}}K.prototype.is=function(o){return o==="range"||o==="view:range"};function ei(o){return!!(o.item.is("attributeElement")||o.item.is("uiElement"))}class ue extends ct(Xe){constructor(...t){super(),this._ranges=[],this._lastRangeBackward=!1,this._isFake=!1,this._fakeSelectionLabel="",t.length&&this.setTo(...t)}get isFake(){return this._isFake}get fakeSelectionLabel(){return this._fakeSelectionLabel}get anchor(){if(!this._ranges.length)return null;const t=this._ranges[this._ranges.length-1];return(this._lastRangeBackward?t.end:t.start).clone()}get focus(){if(!this._ranges.length)return null;const t=this._ranges[this._ranges.length-1];return(this._lastRangeBackward?t.start:t.end).clone()}get isCollapsed(){return this.rangeCount===1&&this._ranges[0].isCollapsed}get rangeCount(){return this._ranges.length}get isBackward(){return!this.isCollapsed&&this._lastRangeBackward}get editableElement(){return this.anchor?this.anchor.editableElement:null}*getRanges(){for(const t of this._ranges)yield t.clone()}getFirstRange(){let t=null;for(const e of this._ranges)(!t||e.start.isBefore(t.start))&&(t=e);return t?t.clone():null}getLastRange(){let t=null;for(const e of this._ranges)(!t||e.end.isAfter(t.end))&&(t=e);return t?t.clone():null}getFirstPosition(){const t=this.getFirstRange();return t?t.start.clone():null}getLastPosition(){const t=this.getLastRange();return t?t.end.clone():null}isEqual(t){if(this.isFake!=t.isFake||this.isFake&&this.fakeSelectionLabel!=t.fakeSelectionLabel||this.rangeCount!=t.rangeCount)return!1;if(this.rangeCount===0)return!0;if(!this.anchor.isEqual(t.anchor)||!this.focus.isEqual(t.focus))return!1;for(const e of this._ranges){let n=!1;for(const i of t._ranges)if(e.isEqual(i)){n=!0;break}if(!n)return!1}return!0}isSimilar(t){if(this.isBackward!=t.isBackward)return!1;const e=$i(this.getRanges()),n=$i(t.getRanges());if(e!=n)return!1;if(e==0)return!0;for(let i of this.getRanges()){i=i.getTrimmed();let r=!1;for(let s of t.getRanges())if(s=s.getTrimmed(),i.start.isEqual(s.start)&&i.end.isEqual(s.end)){r=!0;break}if(!r)return!1}return!0}getSelectedElement(){return this.rangeCount!==1?null:this.getFirstRange().getContainedElement()}setTo(...t){let[e,n,i]=t;if(typeof n=="object"&&(i=n,n=void 0),e===null)this._setRanges([]),this._setFakeOptions(i);else if(e instanceof ue||e instanceof Kr)this._setRanges(e.getRanges(),e.isBackward),this._setFakeOptions({fake:e.isFake,label:e.fakeSelectionLabel});else if(e instanceof K)this._setRanges([e],i&&i.backward),this._setFakeOptions(i);else if(e instanceof O)this._setRanges([new K(e)]),this._setFakeOptions(i);else if(e instanceof tn){const r=!!i&&!!i.backward;let s;if(n===void 0)throw new b("view-selection-setto-required-second-parameter",this);n=="in"?s=K._createIn(e):n=="on"?s=K._createOn(e):s=new K(O._createAt(e,n)),this._setRanges([s],r),this._setFakeOptions(i)}else if($t(e))this._setRanges(e,i&&i.backward),this._setFakeOptions(i);else throw new b("view-selection-setto-not-selectable",this);this.fire("change")}setFocus(t,e){if(this.anchor===null)throw new b("view-selection-setfocus-no-ranges",this);const n=O._createAt(t,e);if(n.compareWith(this.focus)=="same")return;const i=this.anchor;this._ranges.pop(),n.compareWith(i)=="before"?this._addRange(new K(n,i),!0):this._addRange(new K(i,n)),this.fire("change")}_setRanges(t,e=!1){t=Array.from(t),this._ranges=[];for(const n of t)this._addRange(n);this._lastRangeBackward=!!e}_setFakeOptions(t={}){this._isFake=!!t.fake,this._fakeSelectionLabel=t.fake&&t.label||""}_addRange(t,e=!1){if(!(t instanceof K))throw new b("view-selection-add-range-not-range",this);this._pushRange(t),this._lastRangeBackward=!!e}_pushRange(t){for(const e of this._ranges)if(t.isIntersecting(e))throw new b("view-selection-range-intersects",this,{addedRange:t,intersectingRange:e});this._ranges.push(new K(t.start,t.end))}}ue.prototype.is=function(o){return o==="selection"||o==="view:selection"};class Kr extends ct(Xe){constructor(...t){super(),this._selection=new ue,this._selection.delegate("change").to(this),t.length&&this._selection.setTo(...t)}get isFake(){return this._selection.isFake}get fakeSelectionLabel(){return this._selection.fakeSelectionLabel}get anchor(){return this._selection.anchor}get focus(){return this._selection.focus}get isCollapsed(){return this._selection.isCollapsed}get rangeCount(){return this._selection.rangeCount}get isBackward(){return this._selection.isBackward}get editableElement(){return this._selection.editableElement}get _ranges(){return this._selection._ranges}*getRanges(){yield*this._selection.getRanges()}getFirstRange(){return this._selection.getFirstRange()}getLastRange(){return this._selection.getLastRange()}getFirstPosition(){return this._selection.getFirstPosition()}getLastPosition(){return this._selection.getLastPosition()}getSelectedElement(){return this._selection.getSelectedElement()}isEqual(t){return this._selection.isEqual(t)}isSimilar(t){return this._selection.isSimilar(t)}_setTo(...t){this._selection.setTo(...t)}_setFocus(t,e){this._selection.setFocus(t,e)}}Kr.prototype.is=function(o){return o==="selection"||o=="documentSelection"||o=="view:selection"||o=="view:documentSelection"};class Sn extends Pt{constructor(t,e,n){super(t,e),this.startRange=n,this._eventPhase="none",this._currentTarget=null}get eventPhase(){return this._eventPhase}get currentTarget(){return this._currentTarget}}const Zr=Symbol("bubbling contexts");function Yr(o){class t extends o{fire(n,...i){try{const r=n instanceof Pt?n:new Pt(this,n),s=Qr(this);if(!s.size)return;if(io(r,"capturing",this),Tn(s,"$capture",r,...i))return r.return;const a=r.startRange||this.selection.getFirstRange(),c=a?a.getContainedElement():null,l=c?!!Ud(s,c):!1;let d=c||yy(a);if(io(r,"atTarget",d),!l){if(Tn(s,"$text",r,...i))return r.return;io(r,"bubbling",d)}for(;d;){if(d.is("rootElement")){if(Tn(s,"$root",r,...i))return r.return}else if(d.is("element")&&Tn(s,d.name,r,...i))return r.return;if(Tn(s,d,r,...i))return r.return;d=d.parent,io(r,"bubbling",d)}return io(r,"bubbling",this),Tn(s,"$document",r,...i),r.return}catch(r){b.rethrowUnexpectedError(r,this)}}_addEventListener(n,i,r){const s=Tt(r.context||"$document"),a=Qr(this);for(const c of s){let l=a.get(c);l||(l=new(ct()),a.set(c,l)),this.listenTo(l,n,i,r)}}_removeEventListener(n,i){const r=Qr(this);for(const s of r.values())this.stopListening(s,n,i)}}return t}{const o=Yr(Object);["fire","_addEventListener","_removeEventListener"].forEach(t=>{Yr[t]=o.prototype[t]})}function io(o,t,e){o instanceof Sn&&(o._eventPhase=t,o._currentTarget=e)}function Tn(o,t,e,...n){const i=typeof t=="string"?o.get(t):Ud(o,t);return i?(i.fire(e,...n),e.stop.called):!1}function Ud(o,t){for(const[e,n]of o)if(typeof e=="function"&&e(t))return n;return null}function Qr(o){return o[Zr]||(o[Zr]=new Map),o[Zr]}function yy(o){if(!o)return null;const t=o.start.parent,e=o.end.parent,n=t.getPath(),i=e.getPath();return n.length>i.length?t:e}class ni extends Yr(rt()){constructor(t){super(),this._postFixers=new Set,this.selection=new Kr,this.roots=new oe({idProperty:"rootName"}),this.stylesProcessor=t,this.set("isReadOnly",!1),this.set("isFocused",!1),this.set("isSelecting",!1),this.set("isComposing",!1)}getRoot(t="main"){return this.roots.get(t)}registerPostFixer(t){this._postFixers.add(t)}destroy(){this.roots.forEach(t=>t.destroy()),this.stopListening()}_callPostFixers(t){let e=!1;do for(const n of this._postFixers)if(e=n(t),e)break;while(e)}}const qd=10;class on extends Yt{constructor(t,e,n,i){super(t,e,n,i),this._priority=qd,this._id=null,this._clonesGroup=null,this.getFillerOffset=xy}get priority(){return this._priority}get id(){return this._id}getElementsWithSameId(){if(this.id===null)throw new b("attribute-element-get-elements-with-same-id-no-id",this);return new Set(this._clonesGroup)}isSimilar(t){return this.id!==null||t.id!==null?this.id===t.id:super.isSimilar(t)&&this.priority==t.priority}_clone(t=!1){const e=super._clone(t);return e._priority=this._priority,e._id=this._id,e}}on.DEFAULT_PRIORITY=qd,on.prototype.is=function(o,t){return t?t===this.name&&(o==="attributeElement"||o==="view:attributeElement"||o==="element"||o==="view:element"):o==="attributeElement"||o==="view:attributeElement"||o==="element"||o==="view:element"||o==="node"||o==="view:node"};function xy(){if(Jr(this))return null;let o=this.parent;for(;o&&o.is("attributeElement");){if(Jr(o)>1)return null;o=o.parent}return!o||Jr(o)>1?null:this.childCount}function Jr(o){return Array.from(o.getChildren()).filter(t=>!t.is("uiElement")).length}class Xr extends Yt{constructor(t,e,n,i){super(t,e,n,i),this.getFillerOffset=Ey}_insertChild(t,e){if(e&&(e instanceof tn||Array.from(e).length>0))throw new b("view-emptyelement-cannot-add",[this,e]);return 0}}Xr.prototype.is=function(o,t){return t?t===this.name&&(o==="emptyElement"||o==="view:emptyElement"||o==="element"||o==="view:element"):o==="emptyElement"||o==="view:emptyElement"||o==="element"||o==="view:element"||o==="node"||o==="view:node"};function Ey(){return null}class oi extends Yt{constructor(t,e,n,i){super(t,e,n,i),this.getFillerOffset=Sy}_insertChild(t,e){if(e&&(e instanceof tn||Array.from(e).length>0))throw new b("view-uielement-cannot-add",[this,e]);return 0}render(t,e){return this.toDomElement(t)}toDomElement(t){const e=t.createElement(this.name);for(const n of this.getAttributeKeys())e.setAttribute(n,this.getAttribute(n));return e}}oi.prototype.is=function(o,t){return t?t===this.name&&(o==="uiElement"||o==="view:uiElement"||o==="element"||o==="view:element"):o==="uiElement"||o==="view:uiElement"||o==="element"||o==="view:element"||o==="node"||o==="view:node"};function Dy(o){o.document.on("arrowKey",(t,e)=>Ty(t,e,o.domConverter),{priority:"low"})}function Sy(){return null}function Ty(o,t,e){if(t.keyCode==tt.arrowright){const n=t.domTarget.ownerDocument.defaultView.getSelection(),i=n.rangeCount==1&&n.getRangeAt(0).collapsed;if(i||t.shiftKey){const r=n.focusNode,s=n.focusOffset,a=e.domPositionToView(r,s);if(a===null)return;let c=!1;const l=a.getLastMatchingPosition(d=>(d.item.is("uiElement")&&(c=!0),!!(d.item.is("uiElement")||d.item.is("attributeElement"))));if(c){const d=e.viewPositionToDom(l);i?n.collapse(d.parent,d.offset):n.extend(d.parent,d.offset)}}}}class ts extends Yt{constructor(t,e,n,i){super(t,e,n,i),this.getFillerOffset=Iy}_insertChild(t,e){if(e&&(e instanceof tn||Array.from(e).length>0))throw new b("view-rawelement-cannot-add",[this,e]);return 0}render(t,e){}}ts.prototype.is=function(o,t){return t?t===this.name&&(o==="rawElement"||o==="view:rawElement"||o==="element"||o==="view:element"):o==="rawElement"||o==="view:rawElement"||o===this.name||o==="view:"+this.name||o==="element"||o==="view:element"||o==="node"||o==="view:node"};function Iy(){return null}class rn extends ct(Xe){constructor(t,e){super(),this._children=[],this._customProperties=new Map,this.document=t,e&&this._insertChild(0,e)}[Symbol.iterator](){return this._children[Symbol.iterator]()}get childCount(){return this._children.length}get isEmpty(){return this.childCount===0}get root(){return this}get parent(){return null}get name(){}get getFillerOffset(){}getCustomProperty(t){return this._customProperties.get(t)}*getCustomProperties(){yield*this._customProperties.entries()}_appendChild(t){return this._insertChild(this.childCount,t)}getChild(t){return this._children[t]}getChildIndex(t){return this._children.indexOf(t)}getChildren(){return this._children[Symbol.iterator]()}_insertChild(t,e){this._fireChange("children",this);let n=0;const i=My(this.document,e);for(const r of i)r.parent!==null&&r._remove(),r.parent=this,this._children.splice(t,0,r),t++,n++;return n}_removeChildren(t,e=1){this._fireChange("children",this);for(let n=t;ntypeof e=="string"?new gt(o,e):e instanceof we?new gt(o,e.data):e))}class Wd{constructor(t){this._cloneGroups=new Map,this._slotFactory=null,this.document=t}setSelection(...t){this.document.selection._setTo(...t)}setSelectionFocus(t,e){this.document.selection._setFocus(t,e)}createDocumentFragment(t){return new rn(this.document,t)}createText(t){return new gt(this.document,t)}createAttributeElement(t,e,n={}){const i=new on(this.document,t,e);return typeof n.priority=="number"&&(i._priority=n.priority),n.id&&(i._id=n.id),n.renderUnsafeAttributes&&i._unsafeAttributesToRender.push(...n.renderUnsafeAttributes),i}createContainerElement(t,e,n={},i={}){let r=null;Kt(n)?i=n:r=n;const s=new oo(this.document,t,e,r);return i.renderUnsafeAttributes&&s._unsafeAttributesToRender.push(...i.renderUnsafeAttributes),s}createEditableElement(t,e,n={}){const i=new ti(this.document,t,e);return n.renderUnsafeAttributes&&i._unsafeAttributesToRender.push(...n.renderUnsafeAttributes),i}createEmptyElement(t,e,n={}){const i=new Xr(this.document,t,e);return n.renderUnsafeAttributes&&i._unsafeAttributesToRender.push(...n.renderUnsafeAttributes),i}createUIElement(t,e,n){const i=new oi(this.document,t,e);return n&&(i.render=n),i}createRawElement(t,e,n,i={}){const r=new ts(this.document,t,e);return n&&(r.render=n),i.renderUnsafeAttributes&&r._unsafeAttributesToRender.push(...i.renderUnsafeAttributes),r}setAttribute(t,e,n){n._setAttribute(t,e)}removeAttribute(t,e){e._removeAttribute(t)}addClass(t,e){e._addClass(t)}removeClass(t,e){e._removeClass(t)}setStyle(t,e,n){Kt(t)&&n===void 0?e._setStyle(t):n._setStyle(t,e)}removeStyle(t,e){e._removeStyle(t)}setCustomProperty(t,e,n){n._setCustomProperty(t,e)}removeCustomProperty(t,e){return e._removeCustomProperty(t)}breakAttributes(t){return t instanceof O?this._breakAttributes(t):this._breakAttributesRange(t)}breakContainer(t){const e=t.parent;if(!e.is("containerElement"))throw new b("view-writer-break-non-container-element",this.document);if(!e.parent)throw new b("view-writer-break-root",this.document);if(t.isAtStart)return O._createBefore(e);if(!t.isAtEnd){const n=e._clone(!1);this.insert(O._createAfter(e),n);const i=new K(t,O._createAt(e,"end")),r=new O(n,0);this.move(i,r)}return O._createAfter(e)}mergeAttributes(t){const e=t.offset,n=t.parent;if(n.is("$text"))return t;if(n.is("attributeElement")&&n.childCount===0){const s=n.parent,a=n.index;return n._remove(),this._removeFromClonedElementsGroup(n),this.mergeAttributes(new O(s,a))}const i=n.getChild(e-1),r=n.getChild(e);if(!i||!r)return t;if(i.is("$text")&&r.is("$text"))return $d(i,r);if(i.is("attributeElement")&&r.is("attributeElement")&&i.isSimilar(r)){const s=i.childCount;return i._appendChild(r.getChildren()),r._remove(),this._removeFromClonedElementsGroup(r),this.mergeAttributes(new O(i,s))}return t}mergeContainers(t){const e=t.nodeBefore,n=t.nodeAfter;if(!e||!n||!e.is("containerElement")||!n.is("containerElement"))throw new b("view-writer-merge-containers-invalid-position",this.document);const i=e.getChild(e.childCount-1),r=i instanceof gt?O._createAt(i,"end"):O._createAt(e,"end");return this.move(K._createIn(n),O._createAt(e,"end")),this.remove(K._createOn(n)),r}insert(t,e){e=$t(e)?[...e]:[e],Kd(e,this.document);const n=e.reduce((s,a)=>{const c=s[s.length-1],l=!a.is("uiElement");return!c||c.breakAttributes!=l?s.push({breakAttributes:l,nodes:[a]}):c.nodes.push(a),s},[]);let i=null,r=t;for(const{nodes:s,breakAttributes:a}of n){const c=this._insertNodes(r,s,a);i||(i=c.start),r=c.end}return i?new K(i,r):new K(t)}remove(t){const e=t instanceof K?t:K._createOn(t);if(ro(e,this.document),e.isCollapsed)return new rn(this.document);const{start:n,end:i}=this._breakAttributesRange(e,!0),r=n.parent,s=i.offset-n.offset,a=r._removeChildren(n.offset,s);for(const l of a)this._removeFromClonedElementsGroup(l);const c=this.mergeAttributes(n);return e.start=c,e.end=c.clone(),new rn(this.document,a)}clear(t,e){ro(t,this.document);const n=t.getWalker({direction:"backward",ignoreElementEnd:!0});for(const i of n){const r=i.item;let s;if(r.is("element")&&e.isSimilar(r))s=K._createOn(r);else if(!i.nextPosition.isAfter(t.start)&&r.is("$textProxy")){const a=r.getAncestors().find(c=>c.is("element")&&e.isSimilar(c));a&&(s=K._createIn(a))}s&&(s.end.isAfter(t.end)&&(s.end=t.end),s.start.isBefore(t.start)&&(s.start=t.start),this.remove(s))}}move(t,e){let n;if(e.isAfter(t.end)){e=this._breakAttributes(e,!0);const i=e.parent,r=i.childCount;t=this._breakAttributesRange(t,!0),n=this.remove(t),e.offset+=i.childCount-r}else n=this.remove(t);return this.insert(e,n)}wrap(t,e){if(!(e instanceof on))throw new b("view-writer-wrap-invalid-attribute",this.document);if(ro(t,this.document),t.isCollapsed){let n=t.start;n.parent.is("element")&&!By(n.parent)&&(n=n.getLastMatchingPosition(r=>r.item.is("uiElement"))),n=this._wrapPosition(n,e);const i=this.document.selection;return i.isCollapsed&&i.getFirstPosition().isEqual(t.start)&&this.setSelection(n),new K(n)}else return this._wrapRange(t,e)}unwrap(t,e){if(!(e instanceof on))throw new b("view-writer-unwrap-invalid-attribute",this.document);if(ro(t,this.document),t.isCollapsed)return t;const{start:n,end:i}=this._breakAttributesRange(t,!0),r=n.parent,s=this._unwrapChildren(r,n.offset,i.offset,e),a=this.mergeAttributes(s.start);a.isEqual(s.start)||s.end.offset--;const c=this.mergeAttributes(s.end);return new K(a,c)}rename(t,e){const n=new oo(this.document,t,e.getAttributes());return this.insert(O._createAfter(e),n),this.move(K._createIn(e),O._createAt(n,0)),this.remove(K._createOn(e)),n}clearClonedElementsGroup(t){this._cloneGroups.delete(t)}createPositionAt(t,e){return O._createAt(t,e)}createPositionAfter(t){return O._createAfter(t)}createPositionBefore(t){return O._createBefore(t)}createRange(t,e){return new K(t,e)}createRangeOn(t){return K._createOn(t)}createRangeIn(t){return K._createIn(t)}createSelection(...t){return new ue(...t)}createSlot(t="children"){if(!this._slotFactory)throw new b("view-writer-invalid-create-slot-context",this.document);return this._slotFactory(this,t)}_registerSlotFactory(t){this._slotFactory=t}_clearSlotFactory(){this._slotFactory=null}_insertNodes(t,e,n){let i;if(n?i=es(t):i=t.parent.is("$text")?t.parent.parent:t.parent,!i)throw new b("view-writer-invalid-position-container",this.document);let r;n?r=this._breakAttributes(t,!0):r=t.parent.is("$text")?ns(t):t;const s=i._insertChild(r.offset,e);for(const d of e)this._addToClonedElementsGroup(d);const a=r.getShiftedBy(s),c=this.mergeAttributes(r);c.isEqual(r)||a.offset--;const l=this.mergeAttributes(a);return new K(c,l)}_wrapChildren(t,e,n,i){let r=e;const s=[];for(;r!1,t.parent._insertChild(t.offset,n);const i=new K(t,t.getShiftedBy(1));this.wrap(i,e);const r=new O(n.parent,n.index);n._remove();const s=r.nodeBefore,a=r.nodeAfter;return s instanceof gt&&a instanceof gt?$d(s,a):Gd(r)}_wrapAttributeElement(t,e){if(!Zd(t,e)||t.name!==e.name||t.priority!==e.priority)return!1;for(const n of t.getAttributeKeys())if(!(n==="class"||n==="style")&&e.hasAttribute(n)&&e.getAttribute(n)!==t.getAttribute(n))return!1;for(const n of t.getStyleNames())if(e.hasStyle(n)&&e.getStyle(n)!==t.getStyle(n))return!1;for(const n of t.getAttributeKeys())n==="class"||n==="style"||e.hasAttribute(n)||this.setAttribute(n,t.getAttribute(n),e);for(const n of t.getStyleNames())e.hasStyle(n)||this.setStyle(n,t.getStyle(n),e);for(const n of t.getClassNames())e.hasClass(n)||this.addClass(n,e);return!0}_unwrapAttributeElement(t,e){if(!Zd(t,e)||t.name!==e.name||t.priority!==e.priority)return!1;for(const n of t.getAttributeKeys())if(!(n==="class"||n==="style")&&(!e.hasAttribute(n)||e.getAttribute(n)!==t.getAttribute(n)))return!1;if(!e.hasClass(...t.getClassNames()))return!1;for(const n of t.getStyleNames())if(!e.hasStyle(n)||e.getStyle(n)!==t.getStyle(n))return!1;for(const n of t.getAttributeKeys())n==="class"||n==="style"||this.removeAttribute(n,e);return this.removeClass(Array.from(t.getClassNames()),e),this.removeStyle(Array.from(t.getStyleNames()),e),!0}_breakAttributesRange(t,e=!1){const n=t.start,i=t.end;if(ro(t,this.document),t.isCollapsed){const c=this._breakAttributes(t.start,e);return new K(c,c)}const r=this._breakAttributes(i,e),s=r.parent.childCount,a=this._breakAttributes(n,e);return r.offset+=r.parent.childCount-s,new K(a,r)}_breakAttributes(t,e=!1){const n=t.offset,i=t.parent;if(t.parent.is("emptyElement"))throw new b("view-writer-cannot-break-empty-element",this.document);if(t.parent.is("uiElement"))throw new b("view-writer-cannot-break-ui-element",this.document);if(t.parent.is("rawElement"))throw new b("view-writer-cannot-break-raw-element",this.document);if(!e&&i.is("$text")&&os(i.parent)||os(i))return t.clone();if(i.is("$text"))return this._breakAttributes(ns(t),e);const r=i.childCount;if(n==r){const s=new O(i.parent,i.index+1);return this._breakAttributes(s,e)}else if(n===0){const s=new O(i.parent,i.index);return this._breakAttributes(s,e)}else{const s=i.index+1,a=i._clone();i.parent._insertChild(s,a),this._addToClonedElementsGroup(a);const c=i.childCount-n,l=i._removeChildren(n,c);a._appendChild(l);const d=new O(i.parent,s);return this._breakAttributes(d,e)}}_addToClonedElementsGroup(t){if(!t.root.is("rootElement"))return;if(t.is("element"))for(const i of t.getChildren())this._addToClonedElementsGroup(i);const e=t.id;if(!e)return;let n=this._cloneGroups.get(e);n||(n=new Set,this._cloneGroups.set(e,n)),n.add(t),t._clonesGroup=n}_removeFromClonedElementsGroup(t){if(t.is("element"))for(const i of t.getChildren())this._removeFromClonedElementsGroup(i);const e=t.id;if(!e)return;const n=this._cloneGroups.get(e);n&&n.delete(t)}}function By(o){return Array.from(o.getChildren()).some(t=>!t.is("uiElement"))}function es(o){let t=o.parent;for(;!os(t);){if(!t)return;t=t.parent}return t}function Ny(o,t){return o.priorityt.priority?!1:o.getIdentity()e instanceof n))throw new b("view-writer-insert-invalid-node-type",t);e.is("$text")||Kd(e.getChildren(),t)}}function os(o){return o&&(o.is("containerElement")||o.is("documentFragment"))}function ro(o,t){const e=es(o.start),n=es(o.end);if(!e||!n||e!==n)throw new b("view-writer-invalid-range-container",t)}function Zd(o,t){return o.id===null&&t.id===null}const Yd=o=>o.createTextNode(" "),Qd=o=>{const t=o.createElement("span");return t.dataset.ckeFiller="true",t.innerText=" ",t},Jd=o=>{const t=o.createElement("br");return t.dataset.ckeFiller="true",t},he=7,so="⁠".repeat(he);function Qt(o){return typeof o=="string"?o.substr(0,he)===so:Dt(o)&&o.data.substr(0,he)===so}function ao(o){return o.data.length==he&&Qt(o)}function Xd(o){const t=typeof o=="string"?o:o.data;return Qt(o)?t.slice(he):t}function Py(o){o.document.on("arrowKey",Ly,{priority:"low"})}function Ly(o,t){if(t.keyCode==tt.arrowleft){const e=t.domTarget.ownerDocument.defaultView.getSelection();if(e.rangeCount==1&&e.getRangeAt(0).collapsed){const n=e.getRangeAt(0).startContainer,i=e.getRangeAt(0).startOffset;Qt(n)&&i<=he&&e.collapse(n,0)}}}var tu=L(5037),is={injectType:"singletonStyleTag",attributes:{"data-cke":!0}};is.insert="head",is.singleton=!0,F()(tu.Z,is),tu.Z.locals;class Oy extends rt(){constructor(t,e){super(),this.domDocuments=new Set,this.markedAttributes=new Set,this.markedChildren=new Set,this.markedTexts=new Set,this._inlineFiller=null,this._fakeSelectionContainer=null,this.domConverter=t,this.selection=e,this.set("isFocused",!1),this.set("isSelecting",!1),g.isBlink&&!g.isAndroid&&this.on("change:isSelecting",()=>{this.isSelecting||this.render()}),this.set("isComposing",!1),this.on("change:isComposing",()=>{this.isComposing||this.render()})}markToSync(t,e){if(t==="text")this.domConverter.mapViewToDom(e.parent)&&this.markedTexts.add(e);else{if(!this.domConverter.mapViewToDom(e))return;if(t==="attributes")this.markedAttributes.add(e);else if(t==="children")this.markedChildren.add(e);else throw new b("view-renderer-unknown-type",this)}}render(){if(this.isComposing&&!g.isAndroid)return;let t=null;const e=g.isBlink&&!g.isAndroid?!this.isSelecting:!0;for(const n of this.markedChildren)this._updateChildrenMappings(n);e?(this._inlineFiller&&!this._isSelectionInInlineFiller()&&this._removeInlineFiller(),this._inlineFiller?t=this._getInlineFillerPosition():this._needsInlineFillerAtSelection()&&(t=this.selection.getFirstPosition(),this.markedChildren.add(t.parent))):this._inlineFiller&&this._inlineFiller.parentNode&&(t=this.domConverter.domPositionToView(this._inlineFiller),t&&t.parent.is("$text")&&(t=O._createBefore(t.parent)));for(const n of this.markedAttributes)this._updateAttrs(n);for(const n of this.markedChildren)this._updateChildren(n,{inlineFillerPosition:t});for(const n of this.markedTexts)!this.markedChildren.has(n.parent)&&this.domConverter.mapViewToDom(n.parent)&&this._updateText(n,{inlineFillerPosition:t});if(e)if(t){const n=this.domConverter.viewPositionToDom(t),i=n.parent.ownerDocument;Qt(n.parent)?this._inlineFiller=n.parent:this._inlineFiller=eu(i,n.parent,n.offset)}else this._inlineFiller=null;this._updateFocus(),this._updateSelection(),this.domConverter._clearTemporaryCustomProperties(),this.markedTexts.clear(),this.markedAttributes.clear(),this.markedChildren.clear()}_updateChildrenMappings(t){const e=this.domConverter.mapViewToDom(t);if(!e)return;const n=Array.from(e.childNodes),i=Array.from(this.domConverter.viewChildrenToDom(t,{withChildren:!1})),r=this._diffNodeLists(n,i),s=this._findUpdateActions(r,n,i,jy);if(s.indexOf("update")!==-1){const a={equal:0,insert:0,delete:0};for(const c of s)if(c==="update"){const l=a.equal+a.insert,d=a.equal+a.delete,u=t.getChild(l);u&&!u.is("uiElement")&&!u.is("rawElement")&&this._updateElementMappings(u,n[d]),jl(i[l]),a.equal++}else a[c]++}}_updateElementMappings(t,e){this.domConverter.unbindDomElement(e),this.domConverter.bindElements(e,t),this.markedChildren.add(t),this.markedAttributes.add(t)}_getInlineFillerPosition(){const t=this.selection.getFirstPosition();return t.parent.is("$text")?O._createBefore(t.parent):t}_isSelectionInInlineFiller(){if(this.selection.rangeCount!=1||!this.selection.isCollapsed)return!1;const t=this.selection.getFirstPosition(),e=this.domConverter.viewPositionToDom(t);return!!(e&&Dt(e.parent)&&Qt(e.parent))}_removeInlineFiller(){const t=this._inlineFiller;if(!Qt(t))throw new b("view-renderer-filler-was-lost",this);ao(t)?t.remove():t.data=t.data.substr(he),this._inlineFiller=null}_needsInlineFillerAtSelection(){if(this.selection.rangeCount!=1||!this.selection.isCollapsed)return!1;const t=this.selection.getFirstPosition(),e=t.parent,n=t.offset;if(!this.domConverter.mapViewToDom(e.root)||!e.is("element")||!Ry(e)||n===e.getFillerOffset())return!1;const i=t.nodeBefore,r=t.nodeAfter;return!(i instanceof gt||r instanceof gt||g.isAndroid&&(i||r))}_updateText(t,e){const n=this.domConverter.findCorrespondingDomText(t);let r=this.domConverter.viewToDom(t).data;const s=e.inlineFillerPosition;s&&s.parent==t.parent&&s.offset==t.index&&(r=so+r),nu(n,r)}_updateAttrs(t){const e=this.domConverter.mapViewToDom(t);if(!e)return;const n=Array.from(e.attributes).map(r=>r.name),i=t.getAttributeKeys();for(const r of i)this.domConverter.setDomElementAttribute(e,r,t.getAttribute(r),t);for(const r of n)t.hasAttribute(r)||this.domConverter.removeDomElementAttribute(e,r)}_updateChildren(t,e){const n=this.domConverter.mapViewToDom(t);if(!n)return;if(g.isAndroid){let u=null;for(const f of Array.from(n.childNodes)){if(u&&Dt(u)&&Dt(f)){n.normalize();break}u=f}}const i=e.inlineFillerPosition,r=n.childNodes,s=Array.from(this.domConverter.viewChildrenToDom(t,{bind:!0}));i&&i.parent===t&&eu(n.ownerDocument,s,i.offset);const a=this._diffNodeLists(r,s),c=this._findUpdateActions(a,r,s,Fy);let l=0;const d=new Set;for(const u of c)u==="delete"?(d.add(r[l]),jl(r[l])):(u==="equal"||u==="update")&&l++;l=0;for(const u of c)u==="insert"?(Ll(n,l,s[l]),l++):u==="update"?(nu(r[l],s[l].data),l++):u==="equal"&&(this._markDescendantTextToSync(this.domConverter.domToView(s[l])),l++);for(const u of d)u.parentNode||this.domConverter.unbindDomElement(u)}_diffNodeLists(t,e){return t=Uy(t,this._fakeSelectionContainer),Bt(t,e,Vy.bind(null,this.domConverter))}_findUpdateActions(t,e,n,i){if(t.indexOf("insert")===-1||t.indexOf("delete")===-1)return t;let r=[],s=[],a=[];const c={equal:0,insert:0,delete:0};for(const l of t)l==="insert"?a.push(n[c.equal+c.insert]):l==="delete"?s.push(e[c.equal+c.delete]):(r=r.concat(Bt(s,a,i).map(d=>d==="equal"?"update":d)),r.push("equal"),s=[],a=[]),c[l]++;return r.concat(Bt(s,a,i).map(l=>l==="equal"?"update":l))}_markDescendantTextToSync(t){if(t){if(t.is("$text"))this.markedTexts.add(t);else if(t.is("element"))for(const e of t.getChildren())this._markDescendantTextToSync(e)}}_updateSelection(){if(g.isBlink&&!g.isAndroid&&this.isSelecting&&!this.markedChildren.size)return;if(this.selection.rangeCount===0){this._removeDomSelection(),this._removeFakeSelection();return}const t=this.domConverter.mapViewToDom(this.selection.editableElement);!this.isFocused||!t||(this.selection.isFake?this._updateFakeSelection(t):this._fakeSelectionContainer&&this._fakeSelectionContainer.isConnected?(this._removeFakeSelection(),this._updateDomSelection(t)):this.isComposing&&g.isAndroid||this._updateDomSelection(t))}_updateFakeSelection(t){const e=t.ownerDocument;this._fakeSelectionContainer||(this._fakeSelectionContainer=qy(e));const n=this._fakeSelectionContainer;if(this.domConverter.bindFakeSelection(n,this.selection),!this._fakeSelectionNeedsUpdate(t))return;(!n.parentElement||n.parentElement!=t)&&t.appendChild(n),n.textContent=this.selection.fakeSelectionLabel||" ";const i=e.getSelection(),r=e.createRange();i.removeAllRanges(),r.selectNodeContents(n),i.addRange(r)}_updateDomSelection(t){const e=t.ownerDocument.defaultView.getSelection();if(!this._domSelectionNeedsUpdate(e))return;const n=this.domConverter.viewPositionToDom(this.selection.anchor),i=this.domConverter.viewPositionToDom(this.selection.focus);e.setBaseAndExtent(n.parent,n.offset,i.parent,i.offset),g.isGecko&&Hy(i,e)}_domSelectionNeedsUpdate(t){if(!this.domConverter.isDomSelectionCorrect(t))return!0;const e=t&&this.domConverter.domSelectionToView(t);return!(e&&this.selection.isEqual(e)||!this.selection.isCollapsed&&this.selection.isSimilar(e))}_fakeSelectionNeedsUpdate(t){const e=this._fakeSelectionContainer,n=t.ownerDocument.getSelection();return!e||e.parentElement!==t||n.anchorNode!==e&&!e.contains(n.anchorNode)?!0:e.textContent!==this.selection.fakeSelectionLabel}_removeDomSelection(){for(const t of this.domDocuments){const e=t.getSelection();if(e.rangeCount){const n=t.activeElement,i=this.domConverter.mapDomToView(n);n&&i&&e.removeAllRanges()}}}_removeFakeSelection(){const t=this._fakeSelectionContainer;t&&t.remove()}_updateFocus(){if(this.isFocused){const t=this.selection.editableElement;t&&this.domConverter.focus(t)}}}function Ry(o){if(o.getAttribute("contenteditable")=="false")return!1;const t=o.findAncestor(e=>e.hasAttribute("contenteditable"));return!t||t.getAttribute("contenteditable")=="true"}function eu(o,t,e){const n=t instanceof Array?t:t.childNodes,i=n[e];if(Dt(i))return i.data=so+i.data,i;{const r=o.createTextNode(so);return Array.isArray(t)?n.splice(e,0,r):Ll(t,e,r),r}}function jy(o,t){return Re(o)&&Re(t)&&!Dt(o)&&!Dt(t)&&!to(o)&&!to(t)&&o.tagName.toLowerCase()===t.tagName.toLowerCase()}function Fy(o,t){return Re(o)&&Re(t)&&Dt(o)&&Dt(t)}function Vy(o,t,e){return t===e?!0:Dt(t)&&Dt(e)?t.data===e.data:!!(o.isBlockFiller(t)&&o.isBlockFiller(e))}function Hy(o,t){const e=o.parent;if(e.nodeType!=Node.ELEMENT_NODE||o.offset!=e.childNodes.length-1)return;const n=e.childNodes[o.offset];n&&n.tagName=="BR"&&t.addRange(t.getRangeAt(0))}function Uy(o,t){const e=Array.from(o);return e.length==0||!t||e[e.length-1]==t&&e.pop(),e}function qy(o){const t=o.createElement("div");return t.className="ck-fake-selection-container",Object.assign(t.style,{position:"fixed",top:0,left:"-9999px",width:"42px"}),t.textContent=" ",t}function nu(o,t){const e=o.data;if(e==t)return;const n=R(e,t);for(const i of n)i.type==="insert"?o.insertData(i.index,i.values.join("")):o.deleteData(i.index,i.howMany)}const Wy=Jd(U.document),Gy=Yd(U.document),$y=Qd(U.document),ii="data-ck-unsafe-attribute-",ou="data-ck-unsafe-element";class ri{constructor(t,{blockFillerMode:e,renderingMode:n="editing"}={}){this._domToViewMapping=new WeakMap,this._viewToDomMapping=new WeakMap,this._fakeSelectionMapping=new WeakMap,this._rawContentElementMatcher=new de,this._inlineObjectElementMatcher=new de,this._elementsWithTemporaryCustomProperties=new Set,this.document=t,this.renderingMode=n,this.blockFillerMode=e||(n==="editing"?"br":"nbsp"),this.preElements=["pre"],this.blockElements=["address","article","aside","blockquote","caption","center","dd","details","dir","div","dl","dt","fieldset","figcaption","figure","footer","form","h1","h2","h3","h4","h5","h6","header","hgroup","legend","li","main","menu","nav","ol","p","pre","section","summary","table","tbody","td","tfoot","th","thead","tr","ul"],this.inlineObjectElements=["object","iframe","input","button","textarea","select","option","video","embed","audio","img","canvas"],this.unsafeElements=["script","style"],this._domDocument=this.renderingMode==="editing"?U.document:U.document.implementation.createHTMLDocument("")}bindFakeSelection(t,e){this._fakeSelectionMapping.set(t,new ue(e))}fakeSelectionToView(t){return this._fakeSelectionMapping.get(t)}bindElements(t,e){this._domToViewMapping.set(t,e),this._viewToDomMapping.set(e,t)}unbindDomElement(t){const e=this._domToViewMapping.get(t);if(e){this._domToViewMapping.delete(t),this._viewToDomMapping.delete(e);for(const n of Array.from(t.children))this.unbindDomElement(n)}}bindDocumentFragments(t,e){this._domToViewMapping.set(t,e),this._viewToDomMapping.set(e,t)}shouldRenderAttribute(t,e,n){return this.renderingMode==="data"?!0:(t=t.toLowerCase(),t.startsWith("on")||t==="srcdoc"&&e.match(/\bon\S+\s*=|javascript:|<\s*\/*script/i)?!1:n==="img"&&(t==="src"||t==="srcset")||n==="source"&&t==="srcset"?!0:!e.match(/^\s*(javascript:|data:(image\/svg|text\/x?html))/i))}setContentOf(t,e){if(this.renderingMode==="data"){t.innerHTML=e;return}const n=new DOMParser().parseFromString(e,"text/html"),i=n.createDocumentFragment(),r=n.body.childNodes;for(;r.length>0;)i.appendChild(r[0]);const s=n.createTreeWalker(i,NodeFilter.SHOW_ELEMENT),a=[];let c;for(;c=s.nextNode();)a.push(c);for(const l of a){for(const u of l.getAttributeNames())this.setDomElementAttribute(l,u,l.getAttribute(u));const d=l.tagName.toLowerCase();this._shouldRenameElement(d)&&(su(d),l.replaceWith(this._createReplacementDomElement(d,l)))}for(;t.firstChild;)t.firstChild.remove();t.append(i)}viewToDom(t,e={}){if(t.is("$text")){const n=this._processDataFromViewText(t);return this._domDocument.createTextNode(n)}else{const n=t;if(this.mapViewToDom(n))if(n.getCustomProperty("editingPipeline:doNotReuseOnce"))this._elementsWithTemporaryCustomProperties.add(n);else return this.mapViewToDom(n);let i;if(n.is("documentFragment"))i=this._domDocument.createDocumentFragment(),e.bind&&this.bindDocumentFragments(i,n);else{if(n.is("uiElement"))return n.name==="$comment"?i=this._domDocument.createComment(n.getCustomProperty("$rawContent")):i=n.render(this._domDocument,this),e.bind&&this.bindElements(i,n),i;this._shouldRenameElement(n.name)?(su(n.name),i=this._createReplacementDomElement(n.name)):n.hasAttribute("xmlns")?i=this._domDocument.createElementNS(n.getAttribute("xmlns"),n.name):i=this._domDocument.createElement(n.name),n.is("rawElement")&&n.render(i,this),e.bind&&this.bindElements(i,n);for(const r of n.getAttributeKeys())this.setDomElementAttribute(i,r,n.getAttribute(r),n)}if(e.withChildren!==!1)for(const r of this.viewChildrenToDom(n,e))i.appendChild(r);return i}}setDomElementAttribute(t,e,n,i){const r=this.shouldRenderAttribute(e,n,t.tagName.toLowerCase())||i&&i.shouldRenderUnsafeAttribute(e);if(r||at("domconverter-unsafe-attribute-detected",{domElement:t,key:e,value:n}),!W_(e)){at("domconverter-invalid-attribute-detected",{domElement:t,key:e,value:n});return}t.hasAttribute(e)&&!r?t.removeAttribute(e):t.hasAttribute(ii+e)&&r&&t.removeAttribute(ii+e),t.setAttribute(r?e:ii+e,n)}removeDomElementAttribute(t,e){e!=ou&&(t.removeAttribute(e),t.removeAttribute(ii+e))}*viewChildrenToDom(t,e={}){const n=t.getFillerOffset&&t.getFillerOffset();let i=0;for(const r of t.getChildren()){n===i&&(yield this._getBlockFiller());const s=r.is("element")&&!!r.getCustomProperty("dataPipeline:transparentRendering")&&!It(r.getAttributes());s&&this.renderingMode=="data"?yield*this.viewChildrenToDom(r,e):(s&&at("domconverter-transparent-rendering-unsupported-in-editing-pipeline",{viewElement:r}),yield this.viewToDom(r,e)),i++}n===i&&(yield this._getBlockFiller())}viewRangeToDom(t){const e=this.viewPositionToDom(t.start),n=this.viewPositionToDom(t.end),i=this._domDocument.createRange();return i.setStart(e.parent,e.offset),i.setEnd(n.parent,n.offset),i}viewPositionToDom(t){const e=t.parent;if(e.is("$text")){const n=this.findCorrespondingDomText(e);if(!n)return null;let i=t.offset;return Qt(n)&&(i+=he),{parent:n,offset:i}}else{let n,i,r;if(t.offset===0){if(n=this.mapViewToDom(e),!n)return null;r=n.childNodes[0]}else{const a=t.nodeBefore;if(i=a.is("$text")?this.findCorrespondingDomText(a):this.mapViewToDom(a),!i)return null;n=i.parentNode,r=i.nextSibling}if(Dt(r)&&Qt(r))return{parent:r,offset:he};const s=i?Wo(i)+1:0;return{parent:n,offset:s}}}domToView(t,e={}){const n=[],i=this._domToView(t,e,n),r=i.next().value;return!r||(i.next(),this._processDomInlineNodes(null,n,e),r.is("$text")&&r.data.length==0)?null:r}*domChildrenToView(t,e={},n=[]){for(let i=0;i{const{scrollLeft:a,scrollTop:c}=s;r.push([a,c])}),e.focus(),iu(e,s=>{const[a,c]=r.shift();s.scrollLeft=a,s.scrollTop=c}),U.window.scrollTo(n,i)}}_clearDomSelection(){const t=this.mapViewToDom(this.document.selection.editableElement);if(!t)return;const e=t.ownerDocument.defaultView.getSelection(),n=this.domSelectionToView(e);n&&n.rangeCount>0&&e.removeAllRanges()}isElement(t){return t&&t.nodeType==Node.ELEMENT_NODE}isDocumentFragment(t){return t&&t.nodeType==Node.DOCUMENT_FRAGMENT_NODE}isBlockFiller(t){return this.blockFillerMode=="br"?t.isEqualNode(Wy):t.tagName==="BR"&&ru(t,this.blockElements)&&t.parentNode.childNodes.length===1?!0:t.isEqualNode($y)||Zy(t,this.blockElements)}isDomSelectionBackward(t){if(t.isCollapsed)return!1;const e=this._domDocument.createRange();try{e.setStart(t.anchorNode,t.anchorOffset),e.setEnd(t.focusNode,t.focusOffset)}catch{return!1}const n=e.collapsed;return e.detach(),n}getHostViewElement(t){const e=V_(t);for(e.pop();e.length;){const n=e.pop(),i=this._domToViewMapping.get(n);if(i&&(i.is("uiElement")||i.is("rawElement")))return i}return null}isDomSelectionCorrect(t){return this._isDomSelectionPositionCorrect(t.anchorNode,t.anchorOffset)&&this._isDomSelectionPositionCorrect(t.focusNode,t.focusOffset)}registerRawContentMatcher(t){this._rawContentElementMatcher.add(t)}registerInlineObjectMatcher(t){this._inlineObjectElementMatcher.add(t)}_clearTemporaryCustomProperties(){for(const t of this._elementsWithTemporaryCustomProperties)t._removeCustomProperty("editingPipeline:doNotReuseOnce");this._elementsWithTemporaryCustomProperties.clear()}_getBlockFiller(){switch(this.blockFillerMode){case"nbsp":return Yd(this._domDocument);case"markedNbsp":return Qd(this._domDocument);case"br":return Jd(this._domDocument)}}_isDomSelectionPositionCorrect(t,e){if(Dt(t)&&Qt(t)&&e0?e[r-1]:null,d=r+1this.preElements.includes(n.name)))return e;if(e.charAt(0)==" "){const n=this._getTouchingInlineViewNode(t,!1);(n&&n.is("$textProxy")&&this._nodeEndsWithSpace(n)||!n)&&(e=" "+e.substr(1))}if(e.charAt(e.length-1)==" "){const n=this._getTouchingInlineViewNode(t,!0),i=n&&n.is("$textProxy")&&n.data.charAt(0)==" ";(e.charAt(e.length-2)==" "||!n||i)&&(e=e.substr(0,e.length-1)+" ")}return e.replace(/ {2}/g,"  ")}_nodeEndsWithSpace(t){if(t.getAncestors().some(n=>this.preElements.includes(n.name)))return!1;const e=this._processDataFromViewText(t);return e.charAt(e.length-1)==" "}_getTouchingInlineViewNode(t,e){const n=new nn({startPosition:e?O._createAfter(t):O._createBefore(t),direction:e?"forward":"backward"});for(const i of n){if(i.item.is("element","br"))return null;if(this._isInlineObjectElement(i.item))return i.item;if(i.item.is("containerElement"))return null;if(i.item.is("$textProxy"))return i.item}return null}_isBlockDomElement(t){return this.isElement(t)&&this.blockElements.includes(t.tagName.toLowerCase())}_isBlockViewElement(t){return t.is("element")&&this.blockElements.includes(t.name)}_isInlineObjectElement(t){return t.is("element")?t.name=="br"||this.inlineObjectElements.includes(t.name)||!!this._inlineObjectElementMatcher.match(t):!1}_createViewElement(t,e){if(to(t))return new oi(this.document,"$comment");const n=e.keepOriginalCase?t.tagName:t.tagName.toLowerCase();return new Yt(this.document,n)}_isViewElementWithRawContent(t,e){return e.withChildren!==!1&&t.is("element")&&!!this._rawContentElementMatcher.match(t)}_shouldRenameElement(t){const e=t.toLowerCase();return this.renderingMode==="editing"&&this.unsafeElements.includes(e)}_createReplacementDomElement(t,e){const n=this._domDocument.createElement("span");if(n.setAttribute(ou,t),e){for(;e.firstChild;)n.appendChild(e.firstChild);for(const i of e.getAttributeNames())n.setAttribute(i,e.getAttribute(i))}return n}}function Ky(o,t){return o.getAncestors().some(e=>e.is("element")&&t.includes(e.name))}function iu(o,t){let e=o;for(;e;)t(e),e=e.parentElement}function Zy(o,t){return o.isEqualNode(Gy)&&ru(o,t)&&o.parentNode.childNodes.length===1}function ru(o,t){const e=o.parentNode;return!!e&&!!e.tagName&&t.includes(e.tagName.toLowerCase())}function su(o){o==="script"&&at("domconverter-unsafe-script-element-detected"),o==="style"&&at("domconverter-unsafe-style-element-detected")}function Yy(o){if(!g.isGecko||!o.rangeCount)return!1;const t=o.getRangeAt(0).startContainer;try{Object.prototype.toString.call(t)}catch{return!0}return!1}class Ae extends Zt(){constructor(t){super(),this._isEnabled=!1,this.view=t,this.document=t.document}get isEnabled(){return this._isEnabled}enable(){this._isEnabled=!0}disable(){this._isEnabled=!1}destroy(){this.disable(),this.stopListening()}checkShouldIgnoreEventFromTarget(t){return t&&t.nodeType===3&&(t=t.parentNode),!t||t.nodeType!==1?!1:t.matches("[data-cke-ignore-events], [data-cke-ignore-events] *")}}var Qy=Od(function(o,t){_n(t,yn(t),o)});const au=Qy;class In{constructor(t,e,n){this.view=t,this.document=t.document,this.domEvent=e,this.domTarget=e.target,au(this,n)}get target(){return this.view.domConverter.mapDomToView(this.domTarget)}preventDefault(){this.domEvent.preventDefault()}stopPropagation(){this.domEvent.stopPropagation()}}class je extends Ae{constructor(){super(...arguments),this.useCapture=!1}observe(t){(typeof this.domEventType=="string"?[this.domEventType]:this.domEventType).forEach(n=>{this.listenTo(t,n,(i,r)=>{this.isEnabled&&!this.checkShouldIgnoreEventFromTarget(r.target)&&this.onDomEvent(r)},{useCapture:this.useCapture})})}stopObserving(t){this.stopListening(t)}fire(t,e,n){this.isEnabled&&this.document.fire(t,new In(this.view,e,n))}}class Jy extends je{constructor(){super(...arguments),this.domEventType=["keydown","keyup"]}onDomEvent(t){const e={keyCode:t.keyCode,altKey:t.altKey,ctrlKey:t.ctrlKey,shiftKey:t.shiftKey,metaKey:t.metaKey,get keystroke(){return xn(this)}};this.fire(t.type,t,e)}}var Xy=function(){return le.Date.now()};const rs=Xy;var t1=/\s/;function e1(o){for(var t=o.length;t--&&t1.test(o.charAt(t)););return t}const n1=e1;var o1=/^\s+/;function i1(o){return o&&o.slice(0,n1(o)+1).replace(o1,"")}const r1=i1;var cu=0/0,s1=/^[-+]0x[0-9a-f]+$/i,a1=/^0b[01]+$/i,c1=/^0o[0-7]+$/i,l1=parseInt;function d1(o){if(typeof o=="number")return o;if(Jo(o))return cu;if(_t(o)){var t=typeof o.valueOf=="function"?o.valueOf():o;o=_t(t)?t+"":t}if(typeof o!="string")return o===0?o:+o;o=r1(o);var e=a1.test(o);return e||c1.test(o)?l1(o.slice(2),e?2:8):s1.test(o)?cu:+o}const lu=d1;var u1="Expected a function",h1=Math.max,g1=Math.min;function f1(o,t,e){var n,i,r,s,a,c,l=0,d=!1,u=!1,f=!0;if(typeof o!="function")throw new TypeError(u1);t=lu(t)||0,_t(e)&&(d=!!e.leading,u="maxWait"in e,r=u?h1(lu(e.maxWait)||0,t):r,f="trailing"in e?!!e.trailing:f);function p(H){var Z=n,q=i;return n=i=void 0,l=H,s=o.apply(q,Z),s}function w(H){return l=H,a=setTimeout(z,t),d?p(H):s}function S(H){var Z=H-c,q=H-l,At=t-Z;return u?g1(At,r-q):At}function B(H){var Z=H-c,q=H-l;return c===void 0||Z>=t||Z<0||u&&q>=r}function z(){var H=rs();if(B(H))return V(H);a=setTimeout(z,S(H))}function V(H){return a=void 0,f&&n?p(H):(n=i=void 0,s)}function J(){a!==void 0&&clearTimeout(a),l=0,n=c=i=a=void 0}function st(){return a===void 0?s:V(rs())}function pt(){var H=rs(),Z=B(H);if(n=arguments,i=this,c=H,Z){if(a===void 0)return w(c);if(u)return clearTimeout(a),a=setTimeout(z,t),p(c)}return a===void 0&&(a=setTimeout(z,t)),s}return pt.cancel=J,pt.flush=st,pt}const co=f1;class m1 extends Ae{constructor(t){super(t),this._fireSelectionChangeDoneDebounced=co(e=>{this.document.fire("selectionChangeDone",e)},200)}observe(){const t=this.document;t.on("arrowKey",(e,n)=>{t.selection.isFake&&this.isEnabled&&n.preventDefault()},{context:"$capture"}),t.on("arrowKey",(e,n)=>{t.selection.isFake&&this.isEnabled&&this._handleSelectionMove(n.keyCode)},{priority:"lowest"})}stopObserving(){}destroy(){super.destroy(),this._fireSelectionChangeDoneDebounced.cancel()}_handleSelectionMove(t){const e=this.document.selection,n=new ue(e.getRanges(),{backward:e.isBackward,fake:!1});(t==tt.arrowleft||t==tt.arrowup)&&n.setTo(n.getFirstPosition()),(t==tt.arrowright||t==tt.arrowdown)&&n.setTo(n.getLastPosition());const i={oldSelection:e,newSelection:n,domSelection:null};this.document.fire("selectionChange",i),this._fireSelectionChangeDoneDebounced(i)}}var p1="__lodash_hash_undefined__";function k1(o){return this.__data__.set(o,p1),this}const b1=k1;function w1(o){return this.__data__.has(o)}const A1=w1;function si(o){var t=-1,e=o==null?0:o.length;for(this.__data__=new Oo;++ta))return!1;var l=r.get(o),d=r.get(t);if(l&&d)return l==t&&d==o;var u=-1,f=!0,p=e&D1?new C1:void 0;for(r.set(o,t),r.set(t,o);++u{this._isFocusChanging=!0,this._renderTimeoutId=setTimeout(()=>{this.flush(),t.change(()=>{})},50)}),e.on("blur",(n,i)=>{const r=e.selection.editableElement;(r===null||r===i.target)&&(e.isFocused=!1,this._isFocusChanging=!1,t.change(()=>{}))})}flush(){this._isFocusChanging&&(this._isFocusChanging=!1,this.document.isFocused=!0)}onDomEvent(t){this.fire(t.type,t)}destroy(){this._renderTimeoutId&&clearTimeout(this._renderTimeoutId),super.destroy()}}class sx extends Ae{constructor(t){super(t),this.mutationObserver=t.getObserver(ku),this.focusObserver=t.getObserver(ci),this.selection=this.document.selection,this.domConverter=t.domConverter,this._documents=new WeakSet,this._fireSelectionChangeDoneDebounced=co(e=>{this.document.fire("selectionChangeDone",e)},200),this._clearInfiniteLoopInterval=setInterval(()=>this._clearInfiniteLoop(),1e3),this._documentIsSelectingInactivityTimeoutDebounced=co(()=>this.document.isSelecting=!1,5e3),this._loopbackCounter=0}observe(t){const e=t.ownerDocument,n=()=>{this.document.isSelecting=!0,this._documentIsSelectingInactivityTimeoutDebounced()},i=()=>{this.document.isSelecting&&(this._handleSelectionChange(null,e),this.document.isSelecting=!1,this._documentIsSelectingInactivityTimeoutDebounced.cancel())};this.listenTo(t,"selectstart",n,{priority:"highest"}),this.listenTo(t,"keydown",i,{priority:"highest",useCapture:!0}),this.listenTo(t,"keyup",i,{priority:"highest",useCapture:!0}),!this._documents.has(e)&&(this.listenTo(e,"mouseup",i,{priority:"highest",useCapture:!0}),this.listenTo(e,"selectionchange",(r,s)=>{this.document.isComposing&&!g.isAndroid||(this._handleSelectionChange(s,e),this._documentIsSelectingInactivityTimeoutDebounced())}),this._documents.add(e))}stopObserving(t){this.stopListening(t)}destroy(){super.destroy(),clearInterval(this._clearInfiniteLoopInterval),this._fireSelectionChangeDoneDebounced.cancel(),this._documentIsSelectingInactivityTimeoutDebounced.cancel()}_reportInfiniteLoop(){}_handleSelectionChange(t,e){if(!this.isEnabled)return;const n=e.defaultView.getSelection();if(this.checkShouldIgnoreEventFromTarget(n.anchorNode))return;this.mutationObserver.flush();const i=this.domConverter.domSelectionToView(n);if(i.rangeCount==0){this.view.hasDomSelection=!1;return}if(this.view.hasDomSelection=!0,this.focusObserver.flush(),!(this.selection.isEqual(i)&&this.domConverter.isDomSelectionCorrect(n))){if(++this._loopbackCounter>60){this._reportInfiniteLoop();return}if(this.selection.isSimilar(i))this.view.forceRender();else{const r={oldSelection:this.selection,newSelection:i,domSelection:n};this.document.fire("selectionChange",r),this._fireSelectionChangeDoneDebounced(r)}}}_clearInfiniteLoop(){this._loopbackCounter=0}}class ax extends je{constructor(t){super(t),this.domEventType=["compositionstart","compositionupdate","compositionend"];const e=this.document;e.on("compositionstart",()=>{e.isComposing=!0},{priority:"low"}),e.on("compositionend",()=>{e.isComposing=!1},{priority:"low"})}onDomEvent(t){this.fire(t.type,t,{data:t.data})}}class bu{constructor(t,e={}){this._files=e.cacheFiles?wu(t):null,this._native=t}get files(){return this._files||(this._files=wu(this._native)),this._files}get types(){return this._native.types}getData(t){return this._native.getData(t)}setData(t,e){this._native.setData(t,e)}set effectAllowed(t){this._native.effectAllowed=t}get effectAllowed(){return this._native.effectAllowed}set dropEffect(t){this._native.dropEffect=t}get dropEffect(){return this._native.dropEffect}setDragImage(t,e,n){this._native.setDragImage(t,e,n)}get isCanceled(){return this._native.dropEffect=="none"||!!this._native.mozUserCancelled}}function wu(o){const t=Array.from(o.files||[]),e=Array.from(o.items||[]);return t.length?t:e.filter(n=>n.kind==="file").map(n=>n.getAsFile())}class cx extends je{constructor(){super(...arguments),this.domEventType="beforeinput"}onDomEvent(t){const e=t.getTargetRanges(),n=this.view,i=n.document;let r=null,s=null,a=[];if(t.dataTransfer&&(r=new bu(t.dataTransfer)),t.data!==null?s=t.data:r&&(s=r.getData("text/plain")),i.selection.isFake)a=Array.from(i.selection.getRanges());else if(e.length)a=e.map(c=>{const l=n.domConverter.domPositionToView(c.startContainer,c.startOffset),d=n.domConverter.domPositionToView(c.endContainer,c.endOffset);if(l)return n.createRange(l,d);if(d)return n.createRange(d)}).filter(c=>!!c);else if(g.isAndroid){const c=t.target.ownerDocument.defaultView.getSelection();a=Array.from(n.domConverter.domSelectionToView(c).getRanges())}if(g.isAndroid&&t.inputType=="insertCompositionText"&&s&&s.endsWith(` +`)){this.fire(t.type,t,{inputType:"insertParagraph",targetRanges:[n.createRange(a[0].end)]});return}if(t.inputType=="insertText"&&s&&s.includes(` +`)){const c=s.split(/\n{1,2}/g);let l=a;for(let d=0;d{if(this.isEnabled&&e0(n.keyCode)){const i=new Sn(this.document,"arrowKey",this.document.selection.getFirstRange());this.document.fire(i,n),i.stop.called&&e.stop()}})}observe(){}stopObserving(){}}class dx extends Ae{constructor(t){super(t);const e=this.document;e.on("keydown",(n,i)=>{if(!this.isEnabled||i.keyCode!=tt.tab||i.ctrlKey)return;const r=new Sn(e,"tab",e.selection.getFirstRange());e.fire(r,i),r.stop.called&&n.stop()})}observe(){}stopObserving(){}}var ux=1,hx=4;function gx(o){return hr(o,ux|hx)}const Fe=gx;class fx extends rt(){constructor(t){super(),this.domRoots=new Map,this._initialDomRootAttributes=new WeakMap,this._observers=new Map,this._ongoingChange=!1,this._postFixersInProgress=!1,this._renderingDisabled=!1,this._hasChangedSinceTheLastRendering=!1,this.document=new ni(t),this.domConverter=new ri(this.document),this.set("isRenderingInProgress",!1),this.set("hasDomSelection",!1),this._renderer=new Oy(this.domConverter,this.document.selection),this._renderer.bind("isFocused","isSelecting","isComposing").to(this.document,"isFocused","isSelecting","isComposing"),this._writer=new Wd(this.document),this.addObserver(ku),this.addObserver(ci),this.addObserver(sx),this.addObserver(Jy),this.addObserver(m1),this.addObserver(ax),this.addObserver(lx),this.addObserver(cx),this.addObserver(dx),Py(this),Dy(this),this.on("render",()=>{this._render(),this.document.fire("layoutChanged"),this._hasChangedSinceTheLastRendering=!1}),this.listenTo(this.document.selection,"change",()=>{this._hasChangedSinceTheLastRendering=!0}),this.listenTo(this.document,"change:isFocused",()=>{this._hasChangedSinceTheLastRendering=!0}),g.isiOS&&this.listenTo(this.document,"blur",(e,n)=>{this.domConverter.mapDomToView(n.domEvent.relatedTarget)||this.domConverter._clearDomSelection()})}attachDomRoot(t,e="main"){const n=this.document.getRoot(e);n._name=t.tagName.toLowerCase();const i={};for(const{name:s,value:a}of Array.from(t.attributes))i[s]=a,s==="class"?this._writer.addClass(a.split(" "),n):this._writer.setAttribute(s,a,n);this._initialDomRootAttributes.set(t,i);const r=()=>{this._writer.setAttribute("contenteditable",(!n.isReadOnly).toString(),n),n.isReadOnly?this._writer.addClass("ck-read-only",n):this._writer.removeClass("ck-read-only",n)};r(),this.domRoots.set(e,t),this.domConverter.bindElements(t,n),this._renderer.markToSync("children",n),this._renderer.markToSync("attributes",n),this._renderer.domDocuments.add(t.ownerDocument),n.on("change:children",(s,a)=>this._renderer.markToSync("children",a)),n.on("change:attributes",(s,a)=>this._renderer.markToSync("attributes",a)),n.on("change:text",(s,a)=>this._renderer.markToSync("text",a)),n.on("change:isReadOnly",()=>this.change(r)),n.on("change",()=>{this._hasChangedSinceTheLastRendering=!0});for(const s of this._observers.values())s.observe(t,e)}detachDomRoot(t){const e=this.domRoots.get(t);Array.from(e.attributes).forEach(({name:i})=>e.removeAttribute(i));const n=this._initialDomRootAttributes.get(e);for(const i in n)e.setAttribute(i,n[i]);this.domRoots.delete(t),this.domConverter.unbindDomElement(e);for(const i of this._observers.values())i.stopObserving(e)}getDomRoot(t="main"){return this.domRoots.get(t)}addObserver(t){let e=this._observers.get(t);if(e)return e;e=new t(this),this._observers.set(t,e);for(const[n,i]of this.domRoots)e.observe(i,n);return e.enable(),e}getObserver(t){return this._observers.get(t)}disableObservers(){for(const t of this._observers.values())t.disable()}enableObservers(){for(const t of this._observers.values())t.enable()}scrollToTheSelection({alignToTop:t,forceScroll:e,viewportOffset:n=20,ancestorOffset:i=20}={}){const r=this.document.selection.getFirstRange();if(!r)return;const s=Fe({alignToTop:t,forceScroll:e,viewportOffset:n,ancestorOffset:i});typeof n=="number"&&(n={top:n,bottom:n,left:n,right:n});const a={target:this.domConverter.viewRangeToDom(r),viewportOffset:n,ancestorOffset:i,alignToTop:t,forceScroll:e};this.fire("scrollToTheSelection",a,s),K_(a)}focus(){if(!this.document.isFocused){const t=this.document.selection.editableElement;t&&(this.domConverter.focus(t),this.forceRender())}}change(t){if(this.isRenderingInProgress||this._postFixersInProgress)throw new b("cannot-change-view-tree",this);try{if(this._ongoingChange)return t(this._writer);this._ongoingChange=!0;const e=t(this._writer);return this._ongoingChange=!1,!this._renderingDisabled&&this._hasChangedSinceTheLastRendering&&(this._postFixersInProgress=!0,this.document._callPostFixers(this._writer),this._postFixersInProgress=!1,this.fire("render")),e}catch(e){b.rethrowUnexpectedError(e,this)}}forceRender(){this._hasChangedSinceTheLastRendering=!0,this.getObserver(ci).flush(),this.change(()=>{})}destroy(){for(const t of this._observers.values())t.destroy();this.document.destroy(),this.stopListening()}createPositionAt(t,e){return O._createAt(t,e)}createPositionAfter(t){return O._createAfter(t)}createPositionBefore(t){return O._createBefore(t)}createRange(t,e){return new K(t,e)}createRangeOn(t){return K._createOn(t)}createRangeIn(t){return K._createIn(t)}createSelection(...t){return new ue(...t)}_disableRendering(t){this._renderingDisabled=t,t==!1&&this.change(()=>{})}_render(){this.isRenderingInProgress=!0,this.disableObservers(),this._renderer.render(),this.enableObservers(),this.isRenderingInProgress=!1}}class Ve{is(){throw new Error("is() method is abstract")}}class sn extends Ve{constructor(t){super(),this.parent=null,this._attrs=De(t)}get document(){return null}get index(){let t;if(!this.parent)return null;if((t=this.parent.getChildIndex(this))===null)throw new b("model-node-not-found-in-parent",this);return t}get startOffset(){let t;if(!this.parent)return null;if((t=this.parent.getChildStartOffset(this))===null)throw new b("model-node-not-found-in-parent",this);return t}get offsetSize(){return 1}get endOffset(){return this.parent?this.startOffset+this.offsetSize:null}get nextSibling(){const t=this.index;return t!==null&&this.parent.getChild(t+1)||null}get previousSibling(){const t=this.index;return t!==null&&this.parent.getChild(t-1)||null}get root(){let t=this;for(;t.parent;)t=t.parent;return t}isAttached(){return this.parent===null?!1:this.root.isAttached()}getPath(){const t=[];let e=this;for(;e.parent;)t.unshift(e.startOffset),e=e.parent;return t}getAncestors(t={}){const e=[];let n=t.includeSelf?this:this.parent;for(;n;)e[t.parentFirst?"push":"unshift"](n),n=n.parent;return e}getCommonAncestor(t,e={}){const n=this.getAncestors(e),i=t.getAncestors(e);let r=0;for(;n[r]==i[r]&&n[r];)r++;return r===0?null:n[r-1]}isBefore(t){if(this==t||this.root!==t.root)return!1;const e=this.getPath(),n=t.getPath(),i=jt(e,n);switch(i){case"prefix":return!0;case"extension":return!1;default:return e[i](e[n[0]]=n[1],e),{})),t}_clone(t){return new this.constructor(this._attrs)}_remove(){this.parent._removeChildren(this.index)}_setAttribute(t,e){this._attrs.set(t,e)}_setAttributesTo(t){this._attrs=De(t)}_removeAttribute(t){return this._attrs.delete(t)}_clearAttributes(){this._attrs.clear()}}sn.prototype.is=function(o){return o==="node"||o==="model:node"};class lo{constructor(t){this._nodes=[],t&&this._insertNodes(0,t)}[Symbol.iterator](){return this._nodes[Symbol.iterator]()}get length(){return this._nodes.length}get maxOffset(){return this._nodes.reduce((t,e)=>t+e.offsetSize,0)}getNode(t){return this._nodes[t]||null}getNodeIndex(t){const e=this._nodes.indexOf(t);return e==-1?null:e}getNodeStartOffset(t){const e=this.getNodeIndex(t);return e===null?null:this._nodes.slice(0,e).reduce((n,i)=>n+i.offsetSize,0)}indexToOffset(t){if(t==this._nodes.length)return this.maxOffset;const e=this._nodes[t];if(!e)throw new b("model-nodelist-index-out-of-bounds",this);return this.getNodeStartOffset(e)}offsetToIndex(t){let e=0;for(const n of this._nodes){if(t>=e&&tt.toJSON())}}class ft extends sn{constructor(t,e){super(e),this._data=t||""}get offsetSize(){return this.data.length}get data(){return this._data}toJSON(){const t=super.toJSON();return t.data=this.data,t}_clone(){return new ft(this.data,this.getAttributes())}static fromJSON(t){return new ft(t.data,t.attributes)}}ft.prototype.is=function(o){return o==="$text"||o==="model:$text"||o==="text"||o==="model:text"||o==="node"||o==="model:node"};class ge extends Ve{constructor(t,e,n){if(super(),this.textNode=t,e<0||e>t.offsetSize)throw new b("model-textproxy-wrong-offsetintext",this);if(n<0||e+n>t.offsetSize)throw new b("model-textproxy-wrong-length",this);this.data=t.data.substring(e,e+n),this.offsetInText=e}get startOffset(){return this.textNode.startOffset!==null?this.textNode.startOffset+this.offsetInText:null}get offsetSize(){return this.data.length}get endOffset(){return this.startOffset!==null?this.startOffset+this.offsetSize:null}get isPartial(){return this.offsetSize!==this.textNode.offsetSize}get parent(){return this.textNode.parent}get root(){return this.textNode.root}getPath(){const t=this.textNode.getPath();return t.length>0&&(t[t.length-1]+=this.offsetInText),t}getAncestors(t={}){const e=[];let n=t.includeSelf?this:this.parent;for(;n;)e[t.parentFirst?"push":"unshift"](n),n=n.parent;return e}hasAttribute(t){return this.textNode.hasAttribute(t)}getAttribute(t){return this.textNode.getAttribute(t)}getAttributes(){return this.textNode.getAttributes()}getAttributeKeys(){return this.textNode.getAttributeKeys()}}ge.prototype.is=function(o){return o==="$textProxy"||o==="model:$textProxy"||o==="textProxy"||o==="model:textProxy"};class lt extends sn{constructor(t,e,n){super(e),this._children=new lo,this.name=t,n&&this._insertChild(0,n)}get childCount(){return this._children.length}get maxOffset(){return this._children.maxOffset}get isEmpty(){return this.childCount===0}getChild(t){return this._children.getNode(t)}getChildren(){return this._children[Symbol.iterator]()}getChildIndex(t){return this._children.getNodeIndex(t)}getChildStartOffset(t){return this._children.getNodeStartOffset(t)}offsetToIndex(t){return this._children.offsetToIndex(t)}getNodeByPath(t){let e=this;for(const n of t)e=e.getChild(e.offsetToIndex(n));return e}findAncestor(t,e={}){let n=e.includeSelf?this:this.parent;for(;n;){if(n.name===t)return n;n=n.parent}return null}toJSON(){const t=super.toJSON();if(t.name=this.name,this._children.length>0){t.children=[];for(const e of this._children)t.children.push(e.toJSON())}return t}_clone(t=!1){const e=t?Array.from(this._children).map(n=>n._clone(!0)):void 0;return new lt(this.name,this.getAttributes(),e)}_appendChild(t){this._insertChild(this.childCount,t)}_insertChild(t,e){const n=mx(e);for(const i of n)i.parent!==null&&i._remove(),i.parent=this;this._children._insertNodes(t,n)}_removeChildren(t,e=1){const n=this._children._removeNodes(t,e);for(const i of n)i.parent=null;return n}static fromJSON(t){let e;if(t.children){e=[];for(const n of t.children)n.name?e.push(lt.fromJSON(n)):e.push(ft.fromJSON(n))}return new lt(t.name,t.attributes,e)}}lt.prototype.is=function(o,t){return t?t===this.name&&(o==="element"||o==="model:element"):o==="element"||o==="model:element"||o==="node"||o==="model:node"};function mx(o){return typeof o=="string"?[new ft(o)]:($t(o)||(o=[o]),Array.from(o).map(t=>typeof t=="string"?new ft(t):t instanceof ge?new ft(t.data,t.getAttributes()):t))}class fe{constructor(t){if(!t||!t.boundaries&&!t.startPosition)throw new b("model-tree-walker-no-start-position",null);const e=t.direction||"forward";if(e!="forward"&&e!="backward")throw new b("model-tree-walker-unknown-direction",t,{direction:e});this.direction=e,this.boundaries=t.boundaries||null,t.startPosition?this._position=t.startPosition.clone():this._position=N._createAt(this.boundaries[this.direction=="backward"?"end":"start"]),this.position.stickiness="toNone",this.singleCharacters=!!t.singleCharacters,this.shallow=!!t.shallow,this.ignoreElementEnd=!!t.ignoreElementEnd,this._boundaryStartParent=this.boundaries?this.boundaries.start.parent:null,this._boundaryEndParent=this.boundaries?this.boundaries.end.parent:null,this._visitedParent=this.position.parent}[Symbol.iterator](){return this}get position(){return this._position}skip(t){let e,n,i,r;do i=this.position,r=this._visitedParent,{done:e,value:n}=this.next();while(!e&&t(n));e||(this._position=i,this._visitedParent=r)}next(){return this.direction=="forward"?this._next():this._previous()}_next(){const t=this.position,e=this.position.clone(),n=this._visitedParent;if(n.parent===null&&e.offset===n.maxOffset)return{done:!0,value:void 0};if(n===this._boundaryEndParent&&e.offset==this.boundaries.end.offset)return{done:!0,value:void 0};const i=uo(e,n),r=i||Au(e,n,i);if(r instanceof lt){if(!this.shallow)e.path.push(0),this._visitedParent=r;else{if(this.boundaries&&this.boundaries.end.isBefore(e))return{done:!0,value:void 0};e.offset++}return this._position=e,an("elementStart",r,t,e,1)}if(r instanceof ft){let s;if(this.singleCharacters)s=1;else{let l=r.endOffset;this._boundaryEndParent==n&&this.boundaries.end.offsetd&&(d=this.boundaries.start.offset),a=e.offset-d}const c=e.offset-s.startOffset,l=new ge(s,c-a,a);return e.offset-=a,this._position=e,an("text",l,t,e,a)}return e.path.pop(),this._position=e,this._visitedParent=n.parent,an("elementStart",n,t,e,1)}}function an(o,t,e,n,i){return{done:!1,value:{type:o,item:t,previousPosition:e,nextPosition:n,length:i}}}class N extends Ve{constructor(t,e,n="toNone"){if(super(),!t.is("element")&&!t.is("documentFragment"))throw new b("model-position-root-invalid",t);if(!(e instanceof Array)||e.length===0)throw new b("model-position-path-incorrect-format",t,{path:e});t.is("rootElement")?e=e.slice():(e=[...t.getPath(),...e],t=t.root),this.root=t,this.path=e,this.stickiness=n}get offset(){return this.path[this.path.length-1]}set offset(t){this.path[this.path.length-1]=t}get parent(){let t=this.root;for(let e=0;e1)return!1;if(i===1)return _u(t,this,n);if(i===-1)return _u(this,t,n)}return this.path.length===t.path.length?!0:this.path.length>t.path.length?as(this.path,e):as(t.path,e)}hasSameParentAs(t){if(this.root!==t.root)return!1;const e=this.getParentPath(),n=t.getParentPath();return jt(e,n)=="same"}getTransformedByOperation(t){let e;switch(t.type){case"insert":e=this._getTransformedByInsertOperation(t);break;case"move":case"remove":case"reinsert":e=this._getTransformedByMoveOperation(t);break;case"split":e=this._getTransformedBySplitOperation(t);break;case"merge":e=this._getTransformedByMergeOperation(t);break;default:e=N._createAt(this);break}return e}_getTransformedByInsertOperation(t){return this._getTransformedByInsertion(t.position,t.howMany)}_getTransformedByMoveOperation(t){return this._getTransformedByMove(t.sourcePosition,t.targetPosition,t.howMany)}_getTransformedBySplitOperation(t){const e=t.movedRange;return e.containsPosition(this)||e.start.isEqual(this)&&this.stickiness=="toNext"?this._getCombined(t.splitPosition,t.moveTargetPosition):t.graveyardPosition?this._getTransformedByMove(t.graveyardPosition,t.insertionPosition,1):this._getTransformedByInsertion(t.insertionPosition,1)}_getTransformedByMergeOperation(t){const e=t.movedRange,n=e.containsPosition(this)||e.start.isEqual(this);let i;return n?(i=this._getCombined(t.sourcePosition,t.targetPosition),t.sourcePosition.isBefore(t.targetPosition)&&(i=i._getTransformedByDeletion(t.deletionPosition,1))):this.isEqual(t.deletionPosition)?i=N._createAt(t.deletionPosition):i=this._getTransformedByMove(t.deletionPosition,t.graveyardPosition,1),i}_getTransformedByDeletion(t,e){const n=N._createAt(this);if(this.root!=t.root)return n;if(jt(t.getParentPath(),this.getParentPath())=="same"){if(t.offsetthis.offset)return null;n.offset-=e}}else if(jt(t.getParentPath(),this.getParentPath())=="prefix"){const i=t.path.length-1;if(t.offset<=this.path[i]){if(t.offset+e>this.path[i])return null;n.path[i]-=e}}return n}_getTransformedByInsertion(t,e){const n=N._createAt(this);if(this.root!=t.root)return n;if(jt(t.getParentPath(),this.getParentPath())=="same")(t.offset=t;){if(o.path[n]+i!==e.maxOffset)return!1;i=1,n--,e=e.parent}return!0}class T extends Ve{constructor(t,e){super(),this.start=N._createAt(t),this.end=e?N._createAt(e):N._createAt(t),this.start.stickiness=this.isCollapsed?"toNone":"toNext",this.end.stickiness=this.isCollapsed?"toNone":"toPrevious"}*[Symbol.iterator](){yield*new fe({boundaries:this,ignoreElementEnd:!0})}get isCollapsed(){return this.start.isEqual(this.end)}get isFlat(){const t=this.start.getParentPath(),e=this.end.getParentPath();return jt(t,e)=="same"}get root(){return this.start.root}containsPosition(t){return t.isAfter(this.start)&&t.isBefore(this.end)}containsRange(t,e=!1){t.isCollapsed&&(e=!1);const n=this.containsPosition(t.start)||e&&this.start.isEqual(t.start),i=this.containsPosition(t.end)||e&&this.end.isEqual(t.end);return n&&i}containsItem(t){const e=N._createBefore(t);return this.containsPosition(e)||this.start.isEqual(e)}isEqual(t){return this.start.isEqual(t.start)&&this.end.isEqual(t.end)}isIntersecting(t){return this.start.isBefore(t.end)&&this.end.isAfter(t.start)}getDifference(t){const e=[];return this.isIntersecting(t)?(this.containsPosition(t.start)&&e.push(new T(this.start,t.start)),this.containsPosition(t.end)&&e.push(new T(t.end,this.end))):e.push(new T(this.start,this.end)),e}getIntersection(t){if(this.isIntersecting(t)){let e=this.start,n=this.end;return this.containsPosition(t.start)&&(e=t.start),this.containsPosition(t.end)&&(n=t.end),new T(e,n)}return null}getJoined(t,e=!1){let n=this.isIntersecting(t);if(n||(this.start.isBefore(t.start)?n=e?this.end.isTouching(t.start):this.end.isEqual(t.start):n=e?t.end.isTouching(this.start):t.end.isEqual(this.start)),!n)return null;let i=this.start,r=this.end;return t.start.isBefore(i)&&(i=t.start),t.end.isAfter(r)&&(r=t.end),new T(i,r)}getMinimalFlatRanges(){const t=[],e=this.start.getCommonPath(this.end).length,n=N._createAt(this.start);let i=n.parent;for(;n.path.length>e+1;){const r=i.maxOffset-n.offset;r!==0&&t.push(new T(n,n.getShiftedBy(r))),n.path=n.path.slice(0,-1),n.offset++,i=i.parent}for(;n.path.length<=this.end.path.length;){const r=this.end.path[n.path.length-1],s=r-n.offset;s!==0&&t.push(new T(n,n.getShiftedBy(s))),n.offset=r,n.path.push(0)}return t}getWalker(t={}){return t.boundaries=this,new fe(t)}*getItems(t={}){t.boundaries=this,t.ignoreElementEnd=!0;const e=new fe(t);for(const n of e)yield n.item}*getPositions(t={}){t.boundaries=this;const e=new fe(t);yield e.position;for(const n of e)yield n.nextPosition}getTransformedByOperation(t){switch(t.type){case"insert":return this._getTransformedByInsertOperation(t);case"move":case"remove":case"reinsert":return this._getTransformedByMoveOperation(t);case"split":return[this._getTransformedBySplitOperation(t)];case"merge":return[this._getTransformedByMergeOperation(t)]}return[new T(this.start,this.end)]}getTransformedByOperations(t){const e=[new T(this.start,this.end)];for(const n of t)for(let i=0;i0?new this(n,i):new this(i,n)}static _createIn(t){return new this(N._createAt(t,0),N._createAt(t,t.maxOffset))}static _createOn(t){return this._createFromPositionAndShift(N._createBefore(t),t.offsetSize)}static _createFromRanges(t){if(t.length===0)throw new b("range-create-from-ranges-empty-array",null);if(t.length==1)return t[0].clone();const e=t[0];t.sort((r,s)=>r.start.isAfter(s.start)?1:-1);const n=t.indexOf(e),i=new this(e.start,e.end);if(n>0)for(let r=n-1;t[r].end.isEqual(i.start);r++)i.start=N._createAt(t[r].start);for(let r=n+1;r{if(e.viewPosition)return;const n=this._modelToViewMapping.get(e.modelPosition.parent);if(!n)throw new b("mapping-model-position-view-parent-not-found",this,{modelPosition:e.modelPosition});e.viewPosition=this.findPositionIn(n,e.modelPosition.offset)},{priority:"low"}),this.on("viewToModelPosition",(t,e)=>{if(e.modelPosition)return;const n=this.findMappedViewAncestor(e.viewPosition),i=this._viewToModelMapping.get(n),r=this._toModelOffset(e.viewPosition.parent,e.viewPosition.offset,n);e.modelPosition=N._createAt(i,r)},{priority:"low"})}bindElements(t,e){this._modelToViewMapping.set(t,e),this._viewToModelMapping.set(e,t)}unbindViewElement(t,e={}){const n=this.toModelElement(t);if(this._elementToMarkerNames.has(t))for(const i of this._elementToMarkerNames.get(t))this._unboundMarkerNames.add(i);e.defer?this._deferredBindingRemovals.set(t,t.root):(this._viewToModelMapping.delete(t),this._modelToViewMapping.get(n)==t&&this._modelToViewMapping.delete(n))}unbindModelElement(t){const e=this.toViewElement(t);this._modelToViewMapping.delete(t),this._viewToModelMapping.get(e)==t&&this._viewToModelMapping.delete(e)}bindElementToMarker(t,e){const n=this._markerNameToElements.get(e)||new Set;n.add(t);const i=this._elementToMarkerNames.get(t)||new Set;i.add(e),this._markerNameToElements.set(e,n),this._elementToMarkerNames.set(t,i)}unbindElementFromMarkerName(t,e){const n=this._markerNameToElements.get(e);n&&(n.delete(t),n.size==0&&this._markerNameToElements.delete(e));const i=this._elementToMarkerNames.get(t);i&&(i.delete(e),i.size==0&&this._elementToMarkerNames.delete(t))}flushUnboundMarkerNames(){const t=Array.from(this._unboundMarkerNames);return this._unboundMarkerNames.clear(),t}flushDeferredBindings(){for(const[t,e]of this._deferredBindingRemovals)t.root==e&&this.unbindViewElement(t);this._deferredBindingRemovals=new Map}clearBindings(){this._modelToViewMapping=new WeakMap,this._viewToModelMapping=new WeakMap,this._markerNameToElements=new Map,this._elementToMarkerNames=new Map,this._unboundMarkerNames=new Set,this._deferredBindingRemovals=new Map}toModelElement(t){return this._viewToModelMapping.get(t)}toViewElement(t){return this._modelToViewMapping.get(t)}toModelRange(t){return new T(this.toModelPosition(t.start),this.toModelPosition(t.end))}toViewRange(t){return new K(this.toViewPosition(t.start),this.toViewPosition(t.end))}toModelPosition(t){const e={viewPosition:t,mapper:this};return this.fire("viewToModelPosition",e),e.modelPosition}toViewPosition(t,e={}){const n={modelPosition:t,mapper:this,isPhantom:e.isPhantom};return this.fire("modelToViewPosition",n),n.viewPosition}markerNameToElements(t){const e=this._markerNameToElements.get(t);if(!e)return null;const n=new Set;for(const i of e)if(i.is("attributeElement"))for(const r of i.getElementsWithSameId())n.add(r);else n.add(i);return n}registerViewToModelLength(t,e){this._viewToModelLengthCallbacks.set(t,e)}findMappedViewAncestor(t){let e=t.parent;for(;!this._viewToModelMapping.has(e);)e=e.parent;return e}_toModelOffset(t,e,n){if(n!=t){const r=this._toModelOffset(t.parent,t.index,n),s=this._toModelOffset(t,e,t);return r+s}if(t.is("$text"))return e;let i=0;for(let r=0;r1?t[0]+":"+t[1]:t[0]}class yu extends ct(){constructor(t){super(),this._conversionApi={dispatcher:this,...t},this._firedEventsMap=new WeakMap}convertChanges(t,e,n){const i=this._createConversionApi(n,t.getRefreshedItems());for(const s of t.getMarkersToRemove())this._convertMarkerRemove(s.name,s.range,i);const r=this._reduceChanges(t.getChanges());for(const s of r)s.type==="insert"?this._convertInsert(T._createFromPositionAndShift(s.position,s.length),i):s.type==="reinsert"?this._convertReinsert(T._createFromPositionAndShift(s.position,s.length),i):s.type==="remove"?this._convertRemove(s.position,s.length,s.name,i):this._convertAttribute(s.range,s.attributeKey,s.attributeOldValue,s.attributeNewValue,i);i.mapper.flushDeferredBindings();for(const s of i.mapper.flushUnboundMarkerNames()){const a=e.get(s).getRange();this._convertMarkerRemove(s,a,i),this._convertMarkerAdd(s,a,i)}for(const s of t.getMarkersToAdd())this._convertMarkerAdd(s.name,s.range,i);i.consumable.verifyAllConsumed("insert")}convert(t,e,n,i={}){const r=this._createConversionApi(n,void 0,i);this._convertInsert(t,r);for(const[s,a]of e)this._convertMarkerAdd(s,a,r);r.consumable.verifyAllConsumed("insert")}convertSelection(t,e,n){const i=this._createConversionApi(n);this.fire("cleanSelection",{selection:t},i);const r=t.getFirstPosition().root;if(!i.mapper.toViewElement(r))return;const s=Array.from(e.getMarkersAtPosition(t.getFirstPosition()));if(this._addConsumablesForSelection(i.consumable,t,s),this.fire("selection",{selection:t},i),!!t.isCollapsed){for(const a of s)if(i.consumable.test(t,"addMarker:"+a.name)){const c=a.getRange();if(!bx(t.getFirstPosition(),a,i.mapper))continue;const l={item:t,markerName:a.name,markerRange:c};this.fire(`addMarker:${a.name}`,l,i)}for(const a of t.getAttributeKeys())if(i.consumable.test(t,"attribute:"+a)){const c={item:t,range:t.getFirstRange(),attributeKey:a,attributeOldValue:null,attributeNewValue:t.getAttribute(a)};this.fire(`attribute:${a}:$text`,c,i)}}}_convertInsert(t,e,n={}){n.doNotAddConsumables||this._addConsumablesForInsert(e.consumable,t);for(const i of Array.from(t.getWalker({shallow:!0})).map(xu))this._testAndFire("insert",i,e)}_convertRemove(t,e,n,i){this.fire(`remove:${n}`,{position:t,length:e},i)}_convertAttribute(t,e,n,i,r){this._addConsumablesForRange(r.consumable,t,`attribute:${e}`);for(const s of t){const a={item:s.item,range:T._createFromPositionAndShift(s.previousPosition,s.length),attributeKey:e,attributeOldValue:n,attributeNewValue:i};this._testAndFire(`attribute:${e}`,a,r)}}_convertReinsert(t,e){const n=Array.from(t.getWalker({shallow:!0}));this._addConsumablesForInsert(e.consumable,n);for(const i of n.map(xu))this._testAndFire("insert",{...i,reconversion:!0},e)}_convertMarkerAdd(t,e,n){if(e.root.rootName=="$graveyard")return;const i=`addMarker:${t}`;if(n.consumable.add(e,i),this.fire(i,{markerName:t,markerRange:e},n),!!n.consumable.consume(e,i)){this._addConsumablesForRange(n.consumable,e,i);for(const r of e.getItems()){if(!n.consumable.test(r,i))continue;const s={item:r,range:T._createOn(r),markerName:t,markerRange:e};this.fire(i,s,n)}}}_convertMarkerRemove(t,e,n){e.root.rootName!="$graveyard"&&this.fire(`removeMarker:${t}`,{markerName:t,markerRange:e},n)}_reduceChanges(t){const e={changes:t};return this.fire("reduceChanges",e),e.changes}_addConsumablesForInsert(t,e){for(const n of e){const i=n.item;if(t.test(i,"insert")===null){t.add(i,"insert");for(const r of i.getAttributeKeys())t.add(i,"attribute:"+r)}}return t}_addConsumablesForRange(t,e,n){for(const i of e.getItems())t.add(i,n);return t}_addConsumablesForSelection(t,e,n){t.add(e,"selection");for(const i of n)t.add(e,"addMarker:"+i.name);for(const i of e.getAttributeKeys())t.add(e,"attribute:"+i);return t}_testAndFire(t,e,n){const i=wx(t,e),r=e.item.is("$textProxy")?n.consumable._getSymbolForTextProxy(e.item):e.item,s=this._firedEventsMap.get(n),a=s.get(r);if(!a)s.set(r,new Set([i]));else if(!a.has(i))a.add(i);else return;this.fire(i,e,n)}_testAndFireAddAttributes(t,e){const n={item:t,range:T._createOn(t)};for(const i of n.item.getAttributeKeys())n.attributeKey=i,n.attributeOldValue=null,n.attributeNewValue=n.item.getAttribute(i),this._testAndFire(`attribute:${i}`,n,e)}_createConversionApi(t,e=new Set,n={}){const i={...this._conversionApi,consumable:new kx,writer:t,options:n,convertItem:r=>this._convertInsert(T._createOn(r),i),convertChildren:r=>this._convertInsert(T._createIn(r),i,{doNotAddConsumables:!0}),convertAttributes:r=>this._testAndFireAddAttributes(r,i),canReuseView:r=>!e.has(i.mapper.toModelElement(r))};return this._firedEventsMap.set(i,new Map),i}}function bx(o,t,e){const n=t.getRange(),i=Array.from(o.getAncestors());return i.shift(),i.reverse(),!i.some(s=>{if(n.containsItem(s))return!!e.toViewElement(s).getCustomProperty("addHighlight")})}function wx(o,t){const e=t.item.is("element")?t.item.name:"$text";return`${o}:${e}`}function xu(o){const t=o.item,e=T._createFromPositionAndShift(o.previousPosition,o.length);return{item:t,range:e}}class Jt extends ct(Ve){constructor(...t){super(),this._lastRangeBackward=!1,this._attrs=new Map,this._ranges=[],t.length&&this.setTo(...t)}get anchor(){if(this._ranges.length>0){const t=this._ranges[this._ranges.length-1];return this._lastRangeBackward?t.end:t.start}return null}get focus(){if(this._ranges.length>0){const t=this._ranges[this._ranges.length-1];return this._lastRangeBackward?t.start:t.end}return null}get isCollapsed(){return this._ranges.length===1?this._ranges[0].isCollapsed:!1}get rangeCount(){return this._ranges.length}get isBackward(){return!this.isCollapsed&&this._lastRangeBackward}isEqual(t){if(this.rangeCount!=t.rangeCount)return!1;if(this.rangeCount===0)return!0;if(!this.anchor.isEqual(t.anchor)||!this.focus.isEqual(t.focus))return!1;for(const e of this._ranges){let n=!1;for(const i of t._ranges)if(e.isEqual(i)){n=!0;break}if(!n)return!1}return!0}*getRanges(){for(const t of this._ranges)yield new T(t.start,t.end)}getFirstRange(){let t=null;for(const e of this._ranges)(!t||e.start.isBefore(t.start))&&(t=e);return t?new T(t.start,t.end):null}getLastRange(){let t=null;for(const e of this._ranges)(!t||e.end.isAfter(t.end))&&(t=e);return t?new T(t.start,t.end):null}getFirstPosition(){const t=this.getFirstRange();return t?t.start.clone():null}getLastPosition(){const t=this.getLastRange();return t?t.end.clone():null}setTo(...t){let[e,n,i]=t;if(typeof n=="object"&&(i=n,n=void 0),e===null)this._setRanges([]);else if(e instanceof Jt)this._setRanges(e.getRanges(),e.isBackward);else if(e&&typeof e.getRanges=="function")this._setRanges(e.getRanges(),e.isBackward);else if(e instanceof T)this._setRanges([e],!!i&&!!i.backward);else if(e instanceof N)this._setRanges([new T(e)]);else if(e instanceof sn){const r=!!i&&!!i.backward;let s;if(n=="in")s=T._createIn(e);else if(n=="on")s=T._createOn(e);else if(n!==void 0)s=new T(N._createAt(e,n));else throw new b("model-selection-setto-required-second-parameter",[this,e]);this._setRanges([s],r)}else if($t(e))this._setRanges(e,i&&!!i.backward);else throw new b("model-selection-setto-not-selectable",[this,e])}_setRanges(t,e=!1){const n=Array.from(t),i=n.some(r=>{if(!(r instanceof T))throw new b("model-selection-set-ranges-not-range",[this,t]);return this._ranges.every(s=>!s.isEqual(r))});n.length===this._ranges.length&&!i||(this._replaceAllRanges(n),this._lastRangeBackward=!!e,this.fire("change:range",{directChange:!0}))}setFocus(t,e){if(this.anchor===null)throw new b("model-selection-setfocus-no-ranges",[this,t]);const n=N._createAt(t,e);if(n.compareWith(this.focus)=="same")return;const i=this.anchor;this._ranges.length&&this._popRange(),n.compareWith(i)=="before"?(this._pushRange(new T(n,i)),this._lastRangeBackward=!0):(this._pushRange(new T(i,n)),this._lastRangeBackward=!1),this.fire("change:range",{directChange:!0})}getAttribute(t){return this._attrs.get(t)}getAttributes(){return this._attrs.entries()}getAttributeKeys(){return this._attrs.keys()}hasAttribute(t){return this._attrs.has(t)}removeAttribute(t){this.hasAttribute(t)&&(this._attrs.delete(t),this.fire("change:attribute",{attributeKeys:[t],directChange:!0}))}setAttribute(t,e){this.getAttribute(t)!==e&&(this._attrs.set(t,e),this.fire("change:attribute",{attributeKeys:[t],directChange:!0}))}getSelectedElement(){return this.rangeCount!==1?null:this.getFirstRange().getContainedElement()}*getSelectedBlocks(){const t=new WeakSet;for(const e of this.getRanges()){const n=Du(e.start,t);Cx(n,e)&&(yield n);for(const r of e.getWalker()){const s=r.item;r.type=="elementEnd"&&Ax(s,t,e)&&(yield s)}const i=Du(e.end,t);_x(i,e)&&(yield i)}}containsEntireContent(t=this.anchor.root){const e=N._createAt(t,0),n=N._createAt(t,"end");return e.isTouching(this.getFirstPosition())&&n.isTouching(this.getLastPosition())}_pushRange(t){this._checkRange(t),this._ranges.push(new T(t.start,t.end))}_checkRange(t){for(let e=0;e0;)this._popRange()}_popRange(){this._ranges.pop()}}Jt.prototype.is=function(o){return o==="selection"||o==="model:selection"};function Eu(o,t){return t.has(o)?!1:(t.add(o),o.root.document.model.schema.isBlock(o)&&!!o.parent)}function Ax(o,t,e){return Eu(o,t)&&cs(o,e)}function Du(o,t){const n=o.parent.root.document.model.schema,i=o.parent.getAncestors({parentFirst:!0,includeSelf:!0});let r=!1;const s=i.find(a=>r?!1:(r=n.isLimit(a),!r&&Eu(a,t)));return i.forEach(a=>t.add(a)),s}function cs(o,t){const e=vx(o);return e?!t.containsRange(T._createOn(e),!0):!0}function Cx(o,t){return o?t.isCollapsed||o.isEmpty?!0:t.start.isTouching(N._createAt(o,o.maxOffset))?!1:cs(o,t):!1}function _x(o,t){return o?t.isCollapsed||o.isEmpty?!0:t.end.isTouching(N._createAt(o,0))?!1:cs(o,t):!1}function vx(o){const t=o.root.document.model.schema;let e=o.parent;for(;e;){if(t.isBlock(e))return e;e=e.parent}}class Xt extends ct(T){constructor(t,e){super(t,e),yx.call(this)}detach(){this.stopListening()}toRange(){return new T(this.start,this.end)}static fromRange(t){return new Xt(t.start,t.end)}}Xt.prototype.is=function(o){return o==="liveRange"||o==="model:liveRange"||o=="range"||o==="model:range"};function yx(){this.listenTo(this.root.document.model,"applyOperation",(o,t)=>{const e=t[0];e.isDocumentOperation&&xx.call(this,e)},{priority:"low"})}function xx(o){const t=this.getTransformedByOperation(o),e=T._createFromRanges(t),n=!e.isEqual(this),i=Ex(this,o);let r=null;if(n){e.root.rootName=="$graveyard"&&(o.type=="remove"?r=o.sourcePosition:r=o.deletionPosition);const s=this.toRange();this.start=e.start,this.end=e.end,this.fire("change:range",s,{deletionPosition:r})}else i&&this.fire("change:content",this.toRange(),{deletionPosition:r})}function Ex(o,t){switch(t.type){case"insert":return o.containsPosition(t.position);case"move":case"remove":case"reinsert":case"merge":return o.containsPosition(t.sourcePosition)||o.start.isEqual(t.sourcePosition)||o.containsPosition(t.targetPosition);case"split":return o.containsPosition(t.splitPosition)||o.containsPosition(t.insertionPosition)}return!1}const ho="selection:";class me extends ct(Ve){constructor(t){super(),this._selection=new Dx(t),this._selection.delegate("change:range").to(this),this._selection.delegate("change:attribute").to(this),this._selection.delegate("change:marker").to(this)}get isCollapsed(){return this._selection.isCollapsed}get anchor(){return this._selection.anchor}get focus(){return this._selection.focus}get rangeCount(){return this._selection.rangeCount}get hasOwnRange(){return this._selection.hasOwnRange}get isBackward(){return this._selection.isBackward}get isGravityOverridden(){return this._selection.isGravityOverridden}get markers(){return this._selection.markers}get _ranges(){return this._selection._ranges}getRanges(){return this._selection.getRanges()}getFirstPosition(){return this._selection.getFirstPosition()}getLastPosition(){return this._selection.getLastPosition()}getFirstRange(){return this._selection.getFirstRange()}getLastRange(){return this._selection.getLastRange()}getSelectedBlocks(){return this._selection.getSelectedBlocks()}getSelectedElement(){return this._selection.getSelectedElement()}containsEntireContent(t){return this._selection.containsEntireContent(t)}destroy(){this._selection.destroy()}getAttributeKeys(){return this._selection.getAttributeKeys()}getAttributes(){return this._selection.getAttributes()}getAttribute(t){return this._selection.getAttribute(t)}hasAttribute(t){return this._selection.hasAttribute(t)}refresh(){this._selection.updateMarkers(),this._selection._updateAttributes(!1)}observeMarkers(t){this._selection.observeMarkers(t)}_setFocus(t,e){this._selection.setFocus(t,e)}_setTo(...t){this._selection.setTo(...t)}_setAttribute(t,e){this._selection.setAttribute(t,e)}_removeAttribute(t){this._selection.removeAttribute(t)}_getStoredAttributes(){return this._selection.getStoredAttributes()}_overrideGravity(){return this._selection.overrideGravity()}_restoreGravity(t){this._selection.restoreGravity(t)}static _getStoreAttributeKey(t){return ho+t}static _isStoreAttributeKey(t){return t.startsWith(ho)}}me.prototype.is=function(o){return o==="selection"||o=="model:selection"||o=="documentSelection"||o=="model:documentSelection"};class Dx extends Jt{constructor(t){super(),this.markers=new oe({idProperty:"name"}),this._attributePriority=new Map,this._selectionRestorePosition=null,this._hasChangedRange=!1,this._overriddenGravityRegister=new Set,this._observedMarkers=new Set,this._model=t.model,this._document=t,this.listenTo(this._model,"applyOperation",(e,n)=>{const i=n[0];!i.isDocumentOperation||i.type=="marker"||i.type=="rename"||i.type=="noop"||(this._ranges.length==0&&this._selectionRestorePosition&&this._fixGraveyardSelection(this._selectionRestorePosition),this._selectionRestorePosition=null,this._hasChangedRange&&(this._hasChangedRange=!1,this.fire("change:range",{directChange:!1})))},{priority:"lowest"}),this.on("change:range",()=>{this._validateSelectionRanges(this.getRanges())}),this.listenTo(this._model.markers,"update",(e,n,i,r)=>{this._updateMarker(n,r)}),this.listenTo(this._document,"change",(e,n)=>{Sx(this._model,n)})}get isCollapsed(){return this._ranges.length===0?this._document._getDefaultRange().isCollapsed:super.isCollapsed}get anchor(){return super.anchor||this._document._getDefaultRange().start}get focus(){return super.focus||this._document._getDefaultRange().end}get rangeCount(){return this._ranges.length?this._ranges.length:1}get hasOwnRange(){return this._ranges.length>0}get isGravityOverridden(){return!!this._overriddenGravityRegister.size}destroy(){for(let t=0;t{if(this._hasChangedRange=!0,e.root==this._document.graveyard){this._selectionRestorePosition=r.deletionPosition;const s=this._ranges.indexOf(e);this._ranges.splice(s,1),e.detach()}}),e}updateMarkers(){if(!this._observedMarkers.size)return;const t=[];let e=!1;for(const i of this._model.markers){const r=i.name.split(":",1)[0];if(!this._observedMarkers.has(r))continue;const s=i.getRange();for(const a of this.getRanges())s.containsRange(a,!a.isCollapsed)&&t.push(i)}const n=Array.from(this.markers);for(const i of t)this.markers.has(i)||(this.markers.add(i),e=!0);for(const i of Array.from(this.markers))t.includes(i)||(this.markers.remove(i),e=!0);e&&this.fire("change:marker",{oldMarkers:n,directChange:!1})}_updateMarker(t,e){const n=t.name.split(":",1)[0];if(!this._observedMarkers.has(n))return;let i=!1;const r=Array.from(this.markers),s=this.markers.has(t);if(!e)s&&(this.markers.remove(t),i=!0);else{let a=!1;for(const c of this.getRanges())if(e.containsRange(c,!c.isCollapsed)){a=!0;break}a&&!s?(this.markers.add(t),i=!0):!a&&s&&(this.markers.remove(t),i=!0)}i&&this.fire("change:marker",{oldMarkers:r,directChange:!1})}_updateAttributes(t){const e=De(this._getSurroundingAttributes()),n=De(this.getAttributes());if(t)this._attributePriority=new Map,this._attrs=new Map;else for(const[r,s]of this._attributePriority)s=="low"&&(this._attrs.delete(r),this._attributePriority.delete(r));this._setAttributesTo(e);const i=[];for(const[r,s]of this.getAttributes())(!n.has(r)||n.get(r)!==s)&&i.push(r);for(const[r]of n)this.hasAttribute(r)||i.push(r);i.length>0&&this.fire("change:attribute",{attributeKeys:i,directChange:!1})}_setAttribute(t,e,n=!0){const i=n?"normal":"low";return i=="low"&&this._attributePriority.get(t)=="normal"||super.getAttribute(t)===e?!1:(this._attrs.set(t,e),this._attributePriority.set(t,i),!0)}_removeAttribute(t,e=!0){const n=e?"normal":"low";return n=="low"&&this._attributePriority.get(t)=="normal"||(this._attributePriority.set(t,n),!super.hasAttribute(t))?!1:(this._attrs.delete(t),!0)}_setAttributesTo(t){const e=new Set;for(const[n,i]of this.getAttributes())t.get(n)!==i&&this._removeAttribute(n,!1);for(const[n,i]of t)this._setAttribute(n,i,!1)&&e.add(n);return e}*getStoredAttributes(){const t=this.getFirstPosition().parent;if(this.isCollapsed&&t.isEmpty)for(const e of t.getAttributeKeys())e.startsWith(ho)&&(yield[e.substr(ho.length),t.getAttribute(e)])}_getSurroundingAttributes(){const t=this.getFirstPosition(),e=this._model.schema;if(t.root.rootName=="$graveyard")return null;let n=null;if(this.isCollapsed){const i=t.textNode?t.textNode:t.nodeBefore,r=t.textNode?t.textNode:t.nodeAfter;if(this.isGravityOverridden||(n=go(i,e)),n||(n=go(r,e)),!this.isGravityOverridden&&!n){let s=i;for(;s&&!n;)s=s.previousSibling,n=go(s,e)}if(!n){let s=r;for(;s&&!n;)s=s.nextSibling,n=go(s,e)}n||(n=this.getStoredAttributes())}else{const i=this.getFirstRange();for(const r of i){if(r.item.is("element")&&e.isObject(r.item)){n=go(r.item,e);break}if(r.type=="text"){n=r.item.getAttributes();break}}}return n}_fixGraveyardSelection(t){const e=this._model.schema.getNearestSelectionRange(t);e&&this._pushRange(e)}}function go(o,t){if(!o)return null;if(o instanceof ge||o instanceof ft)return o.getAttributes();if(!t.isInline(o))return null;if(!t.isObject(o))return[];const e=[];for(const[n,i]of o.getAttributes())t.checkAttribute("$text",n)&&t.getAttributeProperties(n).copyFromObject!==!1&&e.push([n,i]);return e}function Sx(o,t){const e=o.document.differ;for(const n of e.getChanges()){if(n.type!="insert")continue;const i=n.position.parent;n.length===i.maxOffset&&o.enqueueChange(t,s=>{const a=Array.from(i.getAttributeKeys()).filter(c=>c.startsWith(ho));for(const c of a)s.removeAttribute(c,i)})}}class Su{constructor(t){this._dispatchers=t}add(t){for(const e of this._dispatchers)t(e);return this}}class Tx extends Su{elementToElement(t){return this.add($x(t))}elementToStructure(t){return this.add(Kx(t))}attributeToElement(t){return this.add(Zx(t))}attributeToAttribute(t){return this.add(Yx(t))}markerToElement(t){return this.add(Qx(t))}markerToHighlight(t){return this.add(Xx(t))}markerToData(t){return this.add(Jx(t))}}function Tu(){return(o,t,e)=>{if(!e.consumable.consume(t.item,o.name))return;const n=e.writer,i=e.mapper.toViewPosition(t.range.start),r=n.createText(t.item.data);n.insert(i,r)}}function Iu(){return(o,t,e)=>{e.convertAttributes(t.item),!t.reconversion&&t.item.is("element")&&!t.item.isEmpty&&e.convertChildren(t.item)}}function Ix(){return(o,t,e)=>{const n=e.mapper.toViewPosition(t.position),i=t.position.getShiftedBy(t.length),r=e.mapper.toViewPosition(i,{isPhantom:!0}),s=e.writer.createRange(n,r),a=e.writer.remove(s.getTrimmed());for(const c of e.writer.createRangeIn(a).getItems())e.mapper.unbindViewElement(c,{defer:!0})}}function Mu(o,t){const e=o.createAttributeElement("span",t.attributes);return t.classes&&e._addClass(t.classes),typeof t.priority=="number"&&(e._priority=t.priority),e._id=t.id,e}function Mx(){return(o,t,e)=>{const n=t.selection;if(n.isCollapsed||!e.consumable.consume(n,"selection"))return;const i=[];for(const r of n.getRanges())i.push(e.mapper.toViewRange(r));e.writer.setSelection(i,{backward:n.isBackward})}}function Bx(){return(o,t,e)=>{const n=t.selection;if(!n.isCollapsed||!e.consumable.consume(n,"selection"))return;const i=e.writer,r=n.getFirstPosition(),s=e.mapper.toViewPosition(r),a=i.breakAttributes(s);i.setSelection(a)}}function Nx(){return(o,t,e)=>{const n=e.writer,i=n.document.selection;for(const r of i.getRanges())r.isCollapsed&&r.end.parent.isAttached()&&e.writer.mergeAttributes(r.start);n.setSelection(null)}}function zx(o){return(t,e,n)=>{if(!n.consumable.test(e.item,t.name))return;const i=o(e.attributeOldValue,n,e),r=o(e.attributeNewValue,n,e);if(!i&&!r)return;n.consumable.consume(e.item,t.name);const s=n.writer,a=s.document.selection;if(e.item instanceof Jt||e.item instanceof me)s.wrap(a.getFirstRange(),r);else{let c=n.mapper.toViewRange(e.range);e.attributeOldValue!==null&&i&&(c=s.unwrap(c,i)),e.attributeNewValue!==null&&r&&s.wrap(c,r)}}}function Px(o,t=s2){return(e,n,i)=>{if(!t(n.item,i.consumable,{preflight:!0}))return;const r=o(n.item,i,n);if(!r)return;t(n.item,i.consumable);const s=i.mapper.toViewPosition(n.range.start);i.mapper.bindElements(n.item,r),i.writer.insert(s,r),i.convertAttributes(n.item),Ru(r,n.item.getChildren(),i,{reconversion:n.reconversion})}}function Lx(o,t){return(e,n,i)=>{if(!t(n.item,i.consumable,{preflight:!0}))return;const r=new Map;i.writer._registerSlotFactory(n2(n.item,r,i));const s=o(n.item,i,n);if(i.writer._clearSlotFactory(),!s)return;o2(n.item,r,i),t(n.item,i.consumable);const a=i.mapper.toViewPosition(n.range.start);i.mapper.bindElements(n.item,s),i.writer.insert(a,s),i.convertAttributes(n.item),i2(s,r,i,{reconversion:n.reconversion})}}function Ox(o){return(t,e,n)=>{e.isOpening=!0;const i=o(e,n);e.isOpening=!1;const r=o(e,n);if(!i||!r)return;const s=e.markerRange;if(s.isCollapsed&&!n.consumable.consume(s,t.name))return;for(const l of s)if(!n.consumable.consume(l.item,t.name))return;const a=n.mapper,c=n.writer;c.insert(a.toViewPosition(s.start),i),n.mapper.bindElementToMarker(i,e.markerName),s.isCollapsed||(c.insert(a.toViewPosition(s.end),r),n.mapper.bindElementToMarker(r,e.markerName)),t.stop()}}function Rx(){return(o,t,e)=>{const n=e.mapper.markerNameToElements(t.markerName);if(n){for(const i of n)e.mapper.unbindElementFromMarkerName(i,t.markerName),e.writer.clear(e.writer.createRangeOn(i),i);e.writer.clearClonedElementsGroup(t.markerName),o.stop()}}}function jx(o){return(t,e,n)=>{const i=o(e.markerName,n);if(!i)return;const r=e.markerRange;n.consumable.consume(r,t.name)&&(Bu(r,!1,n,e,i),Bu(r,!0,n,e,i),t.stop())}}function Bu(o,t,e,n,i){const r=t?o.start:o.end,s=r.nodeAfter&&r.nodeAfter.is("element")?r.nodeAfter:null,a=r.nodeBefore&&r.nodeBefore.is("element")?r.nodeBefore:null;if(s||a){let l,d;t&&s||!t&&!a?(l=s,d=!0):(l=a,d=!1);const u=e.mapper.toViewElement(l);if(u){Fx(u,t,d,e,n,i);return}}const c=e.mapper.toViewPosition(r);Vx(c,t,e,n,i)}function Fx(o,t,e,n,i,r){const s=`data-${r.group}-${t?"start":"end"}-${e?"before":"after"}`,a=o.hasAttribute(s)?o.getAttribute(s).split(","):[];a.unshift(r.name),n.writer.setAttribute(s,a.join(","),o),n.mapper.bindElementToMarker(o,i.markerName)}function Vx(o,t,e,n,i){const r=`${i.group}-${t?"start":"end"}`,s=i.name?{name:i.name}:null,a=e.writer.createUIElement(r,s);e.writer.insert(o,a),e.mapper.bindElementToMarker(a,n.markerName)}function Hx(o){return(t,e,n)=>{const i=o(e.markerName,n);if(!i)return;const r=n.mapper.markerNameToElements(e.markerName);if(!r)return;for(const a of r)n.mapper.unbindElementFromMarkerName(a,e.markerName),a.is("containerElement")?(s(`data-${i.group}-start-before`,a),s(`data-${i.group}-start-after`,a),s(`data-${i.group}-end-before`,a),s(`data-${i.group}-end-after`,a)):n.writer.clear(n.writer.createRangeOn(a),a);n.writer.clearClonedElementsGroup(e.markerName),t.stop();function s(a,c){if(c.hasAttribute(a)){const l=new Set(c.getAttribute(a).split(","));l.delete(i.name),l.size==0?n.writer.removeAttribute(a,c):n.writer.setAttribute(a,Array.from(l).join(","),c)}}}}function Ux(o){return(t,e,n)=>{if(!n.consumable.test(e.item,t.name))return;const i=o(e.attributeOldValue,n,e),r=o(e.attributeNewValue,n,e);if(!i&&!r)return;n.consumable.consume(e.item,t.name);const s=n.mapper.toViewElement(e.item),a=n.writer;if(!s)throw new b("conversion-attribute-to-attribute-on-text",n.dispatcher,e);if(e.attributeOldValue!==null&&i)if(i.key=="class"){const c=Tt(i.value);for(const l of c)a.removeClass(l,s)}else if(i.key=="style"){const c=Object.keys(i.value);for(const l of c)a.removeStyle(l,s)}else a.removeAttribute(i.key,s);if(e.attributeNewValue!==null&&r)if(r.key=="class"){const c=Tt(r.value);for(const l of c)a.addClass(l,s)}else if(r.key=="style"){const c=Object.keys(r.value);for(const l of c)a.setStyle(l,r.value[l],s)}else a.setAttribute(r.key,r.value,s)}}function qx(o){return(t,e,n)=>{if(!e.item||!(e.item instanceof Jt||e.item instanceof me)&&!e.item.is("$textProxy"))return;const i=ls(o,e,n);if(!i||!n.consumable.consume(e.item,t.name))return;const r=n.writer,s=Mu(r,i),a=r.document.selection;if(e.item instanceof Jt||e.item instanceof me)r.wrap(a.getFirstRange(),s);else{const c=n.mapper.toViewRange(e.range),l=r.wrap(c,s);for(const d of l.getItems())if(d.is("attributeElement")&&d.isSimilar(s)){n.mapper.bindElementToMarker(d,e.markerName);break}}}}function Wx(o){return(t,e,n)=>{if(!e.item||!(e.item instanceof lt))return;const i=ls(o,e,n);if(!i||!n.consumable.test(e.item,t.name))return;const r=n.mapper.toViewElement(e.item);if(r&&r.getCustomProperty("addHighlight")){n.consumable.consume(e.item,t.name);for(const a of T._createIn(e.item))n.consumable.consume(a.item,t.name);r.getCustomProperty("addHighlight")(r,i,n.writer),n.mapper.bindElementToMarker(r,e.markerName)}}}function Gx(o){return(t,e,n)=>{if(e.markerRange.isCollapsed)return;const i=ls(o,e,n);if(!i)return;const r=Mu(n.writer,i),s=n.mapper.markerNameToElements(e.markerName);if(s){for(const a of s)n.mapper.unbindElementFromMarkerName(a,e.markerName),a.is("attributeElement")?n.writer.unwrap(n.writer.createRangeOn(a),r):a.getCustomProperty("removeHighlight")(a,i.id,n.writer);n.writer.clearClonedElementsGroup(e.markerName),t.stop()}}}function $x(o){const t=Nu(o.model),e=fo(o.view,"container");return t.attributes.length&&(t.children=!0),n=>{n.on(`insert:${t.name}`,Px(e,Ou(t)),{priority:o.converterPriority||"normal"}),(t.children||t.attributes.length)&&n.on("reduceChanges",Lu(t),{priority:"low"})}}function Kx(o){const t=Nu(o.model),e=fo(o.view,"container");return t.children=!0,n=>{if(n._conversionApi.schema.checkChild(t.name,"$text"))throw new b("conversion-element-to-structure-disallowed-text",n,{elementName:t.name});n.on(`insert:${t.name}`,Lx(e,Ou(t)),{priority:o.converterPriority||"normal"}),n.on("reduceChanges",Lu(t),{priority:"low"})}}function Zx(o){o=Fe(o);let t=o.model;typeof t=="string"&&(t={key:t});let e=`attribute:${t.key}`;if(t.name&&(e+=":"+t.name),t.values)for(const i of t.values)o.view[i]=fo(o.view[i],"attribute");else o.view=fo(o.view,"attribute");const n=zu(o);return i=>{i.on(e,zx(n),{priority:o.converterPriority||"normal"})}}function Yx(o){o=Fe(o);let t=o.model;typeof t=="string"&&(t={key:t});let e=`attribute:${t.key}`;if(t.name&&(e+=":"+t.name),t.values)for(const i of t.values)o.view[i]=Pu(o.view[i]);else o.view=Pu(o.view);const n=zu(o);return i=>{i.on(e,Ux(n),{priority:o.converterPriority||"normal"})}}function Qx(o){const t=fo(o.view,"ui");return e=>{e.on(`addMarker:${o.model}`,Ox(t),{priority:o.converterPriority||"normal"}),e.on(`removeMarker:${o.model}`,Rx(),{priority:o.converterPriority||"normal"})}}function Jx(o){o=Fe(o);const t=o.model;let e=o.view;return e||(e=n=>({group:t,name:n.substr(o.model.length+1)})),n=>{n.on(`addMarker:${t}`,jx(e),{priority:o.converterPriority||"normal"}),n.on(`removeMarker:${t}`,Hx(e),{priority:o.converterPriority||"normal"})}}function Xx(o){return t=>{t.on(`addMarker:${o.model}`,qx(o.view),{priority:o.converterPriority||"normal"}),t.on(`addMarker:${o.model}`,Wx(o.view),{priority:o.converterPriority||"normal"}),t.on(`removeMarker:${o.model}`,Gx(o.view),{priority:o.converterPriority||"normal"})}}function Nu(o){return typeof o=="string"&&(o={name:o}),{name:o.name,attributes:o.attributes?Tt(o.attributes):[],children:!!o.children}}function fo(o,t){return typeof o=="function"?o:(e,n)=>t2(o,n,t)}function t2(o,t,e){typeof o=="string"&&(o={name:o});let n;const i=t.writer,r=Object.assign({},o.attributes);if(e=="container")n=i.createContainerElement(o.name,r);else if(e=="attribute"){const s={priority:o.priority||on.DEFAULT_PRIORITY};n=i.createAttributeElement(o.name,r,s)}else n=i.createUIElement(o.name,r);if(o.styles){const s=Object.keys(o.styles);for(const a of s)i.setStyle(a,o.styles[a],n)}if(o.classes){const s=o.classes;if(typeof s=="string")i.addClass(s,n);else for(const a of s)i.addClass(a,n)}return n}function zu(o){return o.model.values?(t,e,n)=>{const i=o.view[t];return i?i(t,e,n):null}:o.view}function Pu(o){return typeof o=="string"?t=>({key:o,value:t}):typeof o=="object"?o.value?()=>o:t=>({key:o.key,value:t}):o}function ls(o,t,e){const n=typeof o=="function"?o(t,e):o;return n?(n.priority||(n.priority=10),n.id||(n.id=t.markerName),n):null}function e2(o){return(t,e)=>{if(!t.is("element",o.name))return!1;if(e.type=="attribute"){if(o.attributes.includes(e.attributeKey))return!0}else if(o.children)return!0;return!1}}function Lu(o){const t=e2(o);return(e,n)=>{const i=[];n.reconvertedElements||(n.reconvertedElements=new Set);for(const r of n.changes){const s=r.type=="attribute"?r.range.start.nodeAfter:r.position.parent;if(!s||!t(s,r)){i.push(r);continue}if(!n.reconvertedElements.has(s)){n.reconvertedElements.add(s);const a=N._createBefore(s);let c=i.length;for(let l=i.length-1;l>=0;l--){const d=i[l],f=(d.type=="attribute"?d.range.start:d.position).compareWith(a);if(f=="before"||d.type=="remove"&&f=="same")break;c=l}i.splice(c,0,{type:"remove",name:s.name,position:a,length:1},{type:"reinsert",name:s.name,position:a,length:1})}}n.changes=i}}function Ou(o){return(t,e,n={})=>{const i=["insert"];for(const r of o.attributes)t.hasAttribute(r)&&i.push(`attribute:${r}`);return i.every(r=>e.test(t,r))?(n.preflight||i.forEach(r=>e.consume(t,r)),!0):!1}}function n2(o,t,e){return(n,i)=>{const r=n.createContainerElement("$slot");let s=null;if(i==="children")s=Array.from(o.getChildren());else if(typeof i=="function")s=Array.from(o.getChildren()).filter(a=>i(a));else throw new b("conversion-slot-mode-unknown",e.dispatcher,{modeOrFilter:i});return t.set(r,s),r}}function o2(o,t,e){const n=Array.from(t.values()).flat(),i=new Set(n);if(i.size!=n.length)throw new b("conversion-slot-filter-overlap",e.dispatcher,{element:o});if(i.size!=o.childCount)throw new b("conversion-slot-filter-incomplete",e.dispatcher,{element:o})}function i2(o,t,e,n){e.mapper.on("modelToViewPosition",s,{priority:"highest"});let i=null,r=null;for([i,r]of t)Ru(o,r,e,n),e.writer.move(e.writer.createRangeIn(i),e.writer.createPositionBefore(i)),e.writer.remove(i);e.mapper.off("modelToViewPosition",s);function s(a,c){const l=c.modelPosition.nodeAfter,d=r.indexOf(l);d<0||(c.viewPosition=c.mapper.findPositionIn(i,d))}}function Ru(o,t,e,n){for(const i of t)r2(o.root,i,e,n)||e.convertItem(i)}function r2(o,t,e,n){const{writer:i,mapper:r}=e;if(!n.reconversion)return!1;const s=r.toViewElement(t);return!s||s.root==o||!e.canReuseView(s)?!1:(i.move(i.createRangeOn(s),r.toViewPosition(N._createBefore(t))),!0)}function s2(o,t,{preflight:e}={}){return e?t.test(o,"insert"):t.consume(o,"insert")}function ju(o){const{schema:t,document:e}=o.model;for(const n of e.getRoots())if(n.isEmpty&&!t.checkChild(n,"$text")&&t.checkChild(n,"paragraph"))return o.insertElement("paragraph",n),!0;return!1}function Fu(o,t,e){const n=e.createContext(o);return!(!e.checkChild(n,"paragraph")||!e.checkChild(n.push("paragraph"),t))}function Vu(o,t){const e=t.createElement("paragraph");return t.insert(e,o),t.createPositionAt(e,0)}class a2 extends Su{elementToElement(t){return this.add(Uu(t))}elementToAttribute(t){return this.add(d2(t))}attributeToAttribute(t){return this.add(u2(t))}elementToMarker(t){return this.add(h2(t))}dataToMarker(t){return this.add(g2(t))}}function Hu(){return(o,t,e)=>{if(!t.modelRange&&e.consumable.consume(t.viewItem,{name:!0})){const{modelRange:n,modelCursor:i}=e.convertChildren(t.viewItem,t.modelCursor);t.modelRange=n,t.modelCursor=i}}}function c2(){return(o,t,{schema:e,consumable:n,writer:i})=>{let r=t.modelCursor;if(!n.test(t.viewItem))return;if(!e.checkChild(r,"$text")){if(!Fu(r,"$text",e)||t.viewItem.data.trim().length==0)return;const a=r.nodeBefore;r=Vu(r,i),a&&a.is("element","$marker")&&(i.move(i.createRangeOn(a),r),r=i.createPositionAfter(a))}n.consume(t.viewItem);const s=i.createText(t.viewItem.data);i.insert(s,r),t.modelRange=i.createRange(r,r.getShiftedBy(s.offsetSize)),t.modelCursor=t.modelRange.end}}function l2(o,t){return(e,n)=>{const i=n.newSelection,r=[];for(const a of i.getRanges())r.push(t.toModelRange(a));const s=o.createSelection(r,{backward:i.isBackward});s.isEqual(o.document.selection)||o.change(a=>{a.setSelection(s)})}}function Uu(o){o=Fe(o);const t=us(o),e=ds(o.view),n=e?`element:${e}`:"element";return i=>{i.on(n,t,{priority:o.converterPriority||"normal"})}}function d2(o){o=Fe(o),qu(o);const t=Wu(o,!1),e=ds(o.view),n=e?`element:${e}`:"element";return i=>{i.on(n,t,{priority:o.converterPriority||"low"})}}function u2(o){o=Fe(o);let t=null;(typeof o.view=="string"||o.view.key)&&(t=p2(o)),qu(o,t);const e=Wu(o,!0);return n=>{n.on("element",e,{priority:o.converterPriority||"low"})}}function h2(o){const t=w2(o.model);return Uu({...o,model:t})}function g2(o){o=Fe(o),o.model||(o.model=i=>i?o.view+":"+i:o.view);const t={view:o.view,model:o.model},e=us(Gu(t,"start")),n=us(Gu(t,"end"));return i=>{i.on(`element:${o.view}-start`,e,{priority:o.converterPriority||"normal"}),i.on(`element:${o.view}-end`,n,{priority:o.converterPriority||"normal"});const r=Le.low,s=Le.highest,a=Le.get(o.converterPriority)/s;i.on("element",f2(t),{priority:r+a})}}function f2(o){return(t,e,n)=>{const i=`data-${o.view}`;if(!n.consumable.test(e.viewItem,{attributes:i+"-end-after"})&&!n.consumable.test(e.viewItem,{attributes:i+"-start-after"})&&!n.consumable.test(e.viewItem,{attributes:i+"-end-before"})&&!n.consumable.test(e.viewItem,{attributes:i+"-start-before"}))return;e.modelRange||Object.assign(e,n.convertChildren(e.viewItem,e.modelCursor)),n.consumable.consume(e.viewItem,{attributes:i+"-end-after"})&&r(e.modelRange.end,e.viewItem.getAttribute(i+"-end-after").split(",")),n.consumable.consume(e.viewItem,{attributes:i+"-start-after"})&&r(e.modelRange.end,e.viewItem.getAttribute(i+"-start-after").split(",")),n.consumable.consume(e.viewItem,{attributes:i+"-end-before"})&&r(e.modelRange.start,e.viewItem.getAttribute(i+"-end-before").split(",")),n.consumable.consume(e.viewItem,{attributes:i+"-start-before"})&&r(e.modelRange.start,e.viewItem.getAttribute(i+"-start-before").split(","));function r(s,a){for(const c of a){const l=o.model(c,n),d=n.writer.createElement("$marker",{"data-name":l});n.writer.insert(d,s),e.modelCursor.isEqual(s)?e.modelCursor=e.modelCursor.getShiftedBy(1):e.modelCursor=e.modelCursor._getTransformedByInsertion(s,1),e.modelRange=e.modelRange._getTransformedByInsertion(s,1)[0]}}}}function ds(o){return typeof o=="string"?o:typeof o=="object"&&typeof o.name=="string"?o.name:null}function us(o){const t=new de(o.view);return(e,n,i)=>{const r=t.match(n.viewItem);if(!r)return;const s=r.match;if(s.name=!0,!i.consumable.test(n.viewItem,s))return;const a=m2(o.model,n.viewItem,i);a&&i.safeInsert(a,n.modelCursor)&&(i.consumable.consume(n.viewItem,s),i.convertChildren(n.viewItem,a),i.updateConversionResult(a,n))}}function m2(o,t,e){return o instanceof Function?o(t,e):e.writer.createElement(o)}function p2(o){typeof o.view=="string"&&(o.view={key:o.view});const t=o.view.key;let e;if(t=="class"||t=="style")e={[t=="class"?"classes":"styles"]:o.view.value};else{const n=typeof o.view.value>"u"?/[\s\S]*/:o.view.value;e={attributes:{[t]:n}}}return o.view.name&&(e.name=o.view.name),o.view=e,t}function qu(o,t=null){const e=t===null?!0:r=>r.getAttribute(t),n=typeof o.model!="object"?o.model:o.model.key,i=typeof o.model!="object"||typeof o.model.value>"u"?e:o.model.value;o.model={key:n,value:i}}function Wu(o,t){const e=new de(o.view);return(n,i,r)=>{if(!i.modelRange&&t)return;const s=e.match(i.viewItem);if(!s||(k2(o.view,i.viewItem)?s.match.name=!0:delete s.match.name,!r.consumable.test(i.viewItem,s.match)))return;const a=o.model.key,c=typeof o.model.value=="function"?o.model.value(i.viewItem,r):o.model.value;if(c===null)return;i.modelRange||Object.assign(i,r.convertChildren(i.viewItem,i.modelCursor)),b2(i.modelRange,{key:a,value:c},t,r)&&(r.consumable.test(i.viewItem,{name:!0})&&(s.match.name=!0),r.consumable.consume(i.viewItem,s.match))}}function k2(o,t){const e=typeof o=="function"?o(t):o;return typeof e=="object"&&!ds(e)?!1:!e.classes&&!e.attributes&&!e.styles}function b2(o,t,e,n){let i=!1;for(const r of Array.from(o.getItems({shallow:e})))n.schema.checkAttribute(r,t.key)&&(i=!0,!r.hasAttribute(t.key)&&n.writer.setAttribute(t.key,t.value,r));return i}function w2(o){return(t,e)=>{const n=typeof o=="string"?o:o(t,e);return e.writer.createElement("$marker",{"data-name":n})}}function Gu(o,t){const e=(n,i)=>{const r=n.getAttribute("name"),s=o.model(r,i);return i.writer.createElement("$marker",{"data-name":s})};return{view:`${o.view}-${t}`,model:e}}function A2(o){o.document.registerPostFixer(t=>C2(t,o))}function C2(o,t){const e=t.document.selection,n=t.schema,i=[];let r=!1;for(const s of e.getRanges()){const a=$u(s,n);a&&!a.isEqual(s)?(i.push(a),r=!0):i.push(s)}return r&&o.setSelection(x2(i),{backward:e.isBackward}),!1}function $u(o,t){return o.isCollapsed?_2(o,t):v2(o,t)}function _2(o,t){const e=o.start,n=t.getNearestSelectionRange(e);if(!n){const r=e.getAncestors().reverse().find(s=>t.isObject(s));return r?T._createOn(r):null}if(!n.isCollapsed)return n;const i=n.start;return e.isEqual(i)?null:new T(i)}function v2(o,t){const{start:e,end:n}=o,i=t.checkChild(e,"$text"),r=t.checkChild(n,"$text"),s=t.getLimitElement(e),a=t.getLimitElement(n);if(s===a){if(i&&r)return null;if(y2(e,n,t)){const u=e.nodeAfter&&t.isSelectable(e.nodeAfter)?null:t.getNearestSelectionRange(e,"forward"),p=n.nodeBefore&&t.isSelectable(n.nodeBefore)?null:t.getNearestSelectionRange(n,"backward"),w=u?u.start:e,S=p?p.end:n;return new T(w,S)}}const c=s&&!s.is("rootElement"),l=a&&!a.is("rootElement");if(c||l){const d=e.nodeAfter&&n.nodeBefore&&e.nodeAfter.parent===n.nodeBefore.parent,u=c&&(!d||!Zu(e.nodeAfter,t)),f=l&&(!d||!Zu(n.nodeBefore,t));let p=e,w=n;return u&&(p=N._createBefore(Ku(s,t))),f&&(w=N._createAfter(Ku(a,t))),new T(p,w)}return null}function Ku(o,t){let e=o,n=e;for(;t.isLimit(n)&&n.parent;)e=n,n=n.parent;return e}function y2(o,t,e){const n=o.nodeAfter&&!e.isLimit(o.nodeAfter)||e.checkChild(o,"$text"),i=t.nodeBefore&&!e.isLimit(t.nodeBefore)||e.checkChild(t,"$text");return n||i}function x2(o){const t=[...o],e=new Set;let n=1;for(;n!e.has(s))}function Zu(o,t){return o&&t.isSelectable(o)}class E2 extends rt(){constructor(t,e){super(),this.model=t,this.view=new fx(e),this.mapper=new vu,this.downcastDispatcher=new yu({mapper:this.mapper,schema:t.schema});const n=this.model.document,i=n.selection,r=this.model.markers;this.listenTo(this.model,"_beforeChanges",()=>{this.view._disableRendering(!0)},{priority:"highest"}),this.listenTo(this.model,"_afterChanges",()=>{this.view._disableRendering(!1)},{priority:"lowest"}),this.listenTo(n,"change",()=>{this.view.change(s=>{this.downcastDispatcher.convertChanges(n.differ,r,s),this.downcastDispatcher.convertSelection(i,r,s)})},{priority:"low"}),this.listenTo(this.view.document,"selectionChange",l2(this.model,this.mapper)),this.listenTo(this.view.document,"beforeinput",D2(this.mapper,this.model.schema,this.view),{priority:"high"}),this.downcastDispatcher.on("insert:$text",Tu(),{priority:"lowest"}),this.downcastDispatcher.on("insert",Iu(),{priority:"lowest"}),this.downcastDispatcher.on("remove",Ix(),{priority:"low"}),this.downcastDispatcher.on("cleanSelection",Nx()),this.downcastDispatcher.on("selection",Mx(),{priority:"low"}),this.downcastDispatcher.on("selection",Bx(),{priority:"low"}),this.view.document.roots.bindTo(this.model.document.roots).using(s=>{if(s.rootName=="$graveyard")return null;const a=new Hd(this.view.document,s.name);return a.rootName=s.rootName,this.mapper.bindElements(s,a),a})}destroy(){this.view.destroy(),this.stopListening()}reconvertMarker(t){const e=typeof t=="string"?t:t.name,n=this.model.markers.get(e);if(!n)throw new b("editingcontroller-reconvertmarker-marker-not-exist",this,{markerName:e});this.model.change(()=>{this.model.markers._refresh(n)})}reconvertItem(t){this.model.change(()=>{this.model.document.differ._refreshItem(t)})}}function D2(o,t,e){return(n,i)=>{if(!(e.document.isComposing&&!g.isAndroid))for(let r=0;r{e[0]=new cn(e[0])},{priority:"highest"}),this.on("checkChild",(t,e)=>{e[0]=new cn(e[0]),e[1]=this.getDefinition(e[1])},{priority:"highest"})}register(t,e){if(this._sourceDefinitions[t])throw new b("schema-cannot-register-item-twice",this,{itemName:t});this._sourceDefinitions[t]=[Object.assign({},e)],this._clearCache()}extend(t,e){if(!this._sourceDefinitions[t])throw new b("schema-cannot-extend-missing-item",this,{itemName:t});this._sourceDefinitions[t].push(Object.assign({},e)),this._clearCache()}getDefinitions(){return this._compiledDefinitions||this._compile(),this._compiledDefinitions}getDefinition(t){let e;return typeof t=="string"?e=t:"is"in t&&(t.is("$text")||t.is("$textProxy"))?e="$text":e=t.name,this.getDefinitions()[e]}isRegistered(t){return!!this.getDefinition(t)}isBlock(t){const e=this.getDefinition(t);return!!(e&&e.isBlock)}isLimit(t){const e=this.getDefinition(t);return e?!!(e.isLimit||e.isObject):!1}isObject(t){const e=this.getDefinition(t);return e?!!(e.isObject||e.isLimit&&e.isSelectable&&e.isContent):!1}isInline(t){const e=this.getDefinition(t);return!!(e&&e.isInline)}isSelectable(t){const e=this.getDefinition(t);return e?!!(e.isSelectable||e.isObject):!1}isContent(t){const e=this.getDefinition(t);return e?!!(e.isContent||e.isObject):!1}checkChild(t,e){return e?this._checkContextMatch(e,t):!1}checkAttribute(t,e){const n=this.getDefinition(t.last);return n?n.allowAttributes.includes(e):!1}checkMerge(t,e){if(t instanceof N){const n=t.nodeBefore,i=t.nodeAfter;if(!(n instanceof lt))throw new b("schema-check-merge-no-element-before",this);if(!(i instanceof lt))throw new b("schema-check-merge-no-element-after",this);return this.checkMerge(n,i)}for(const n of e.getChildren())if(!this.checkChild(t,n))return!1;return!0}addChildCheck(t){this.on("checkChild",(e,[n,i])=>{if(!i)return;const r=t(n,i);typeof r=="boolean"&&(e.stop(),e.return=r)},{priority:"high"})}addAttributeCheck(t){this.on("checkAttribute",(e,[n,i])=>{const r=t(n,i);typeof r=="boolean"&&(e.stop(),e.return=r)},{priority:"high"})}setAttributeProperties(t,e){this._attributeProperties[t]=Object.assign(this.getAttributeProperties(t),e)}getAttributeProperties(t){return this._attributeProperties[t]||{}}getLimitElement(t){let e;for(t instanceof N?e=t.parent:e=(t instanceof T?[t]:Array.from(t.getRanges())).reduce((i,r)=>{const s=r.getCommonAncestor();return i?i.getCommonAncestor(s,{includeSelf:!0}):s},null);!this.isLimit(e)&&e.parent;)e=e.parent;return e}checkAttributeInSelection(t,e){if(t.isCollapsed){const i=[...t.getFirstPosition().getAncestors(),new ft("",t.getAttributes())];return this.checkAttribute(i,e)}else{const n=t.getRanges();for(const i of n)for(const r of i)if(this.checkAttribute(r.item,e))return!0}return!1}*getValidRanges(t,e){t=W2(t);for(const n of t)yield*this._getValidRangesForRange(n,e)}getNearestSelectionRange(t,e="both"){if(t.root.rootName=="$graveyard")return null;if(this.checkChild(t,"$text"))return new T(t);let n,i;const r=t.getAncestors().reverse().find(s=>this.isLimit(s))||t.root;(e=="both"||e=="backward")&&(n=new fe({boundaries:T._createIn(r),startPosition:t,direction:"backward"})),(e=="both"||e=="forward")&&(i=new fe({boundaries:T._createIn(r),startPosition:t}));for(const s of q2(n,i)){const a=s.walker==n?"elementEnd":"elementStart",c=s.value;if(c.type==a&&this.isObject(c.item))return T._createOn(c.item);if(this.checkChild(c.nextPosition,"$text"))return new T(c.nextPosition)}return null}findAllowedParent(t,e){let n=t.parent;for(;n;){if(this.checkChild(n,e))return n;if(this.isLimit(n))return null;n=n.parent}return null}setAllowedAttributes(t,e,n){const i=n.model;for(const[r,s]of Object.entries(e))i.schema.checkAttribute(t,r)&&n.setAttribute(r,s,t)}removeDisallowedAttributes(t,e){for(const n of t)if(n.is("$text"))Yu(this,n,e);else{const r=T._createIn(n).getPositions();for(const s of r){const a=s.nodeBefore||s.parent;Yu(this,a,e)}}}getAttributesWithProperty(t,e,n){const i={};for(const[r,s]of t.getAttributes()){const a=this.getAttributeProperties(r);a[e]!==void 0&&(n===void 0||n===a[e])&&(i[r]=s)}return i}createContext(t){return new cn(t)}_clearCache(){this._compiledDefinitions=null}_compile(){const t={},e=this._sourceDefinitions,n=Object.keys(e);for(const i of n)t[i]=I2(e[i],i);for(const i of n)M2(t,i);for(const i of n)B2(t,i);for(const i of n)N2(t,i);for(const i of n)z2(t,i),P2(t,i);for(const i of n)L2(t,i),O2(t,i),R2(t,i);this._compiledDefinitions=t}_checkContextMatch(t,e,n=e.length-1){const i=e.getItem(n);if(t.allowIn.includes(i.name)){if(n==0)return!0;{const r=this.getDefinition(i);return this._checkContextMatch(r,e,n-1)}}else return!1}*_getValidRangesForRange(t,e){let n=t.start,i=t.start;for(const r of t.getItems({shallow:!0}))r.is("element")&&(yield*this._getValidRangesForRange(T._createIn(r),e)),this.checkAttribute(r,e)||(n.isEqual(i)||(yield new T(n,i)),n=N._createAfter(r)),i=N._createAfter(r);n.isEqual(i)||(yield new T(n,i))}}class cn{constructor(t){if(t instanceof cn)return t;let e;typeof t=="string"?e=[t]:Array.isArray(t)?e=t:e=t.getAncestors({includeSelf:!0}),this._items=e.map(U2)}get length(){return this._items.length}get last(){return this._items[this._items.length-1]}[Symbol.iterator](){return this._items[Symbol.iterator]()}push(t){const e=new cn([t]);return e._items=[...this._items,...e._items],e}getItem(t){return this._items[t]}*getNames(){yield*this._items.map(t=>t.name)}endsWith(t){return Array.from(this.getNames()).join(" ").endsWith(t)}startsWith(t){return Array.from(this.getNames()).join(" ").startsWith(t)}}function I2(o,t){const e={name:t,allowIn:[],allowContentOf:[],allowWhere:[],allowAttributes:[],allowAttributesOf:[],allowChildren:[],inheritTypesFrom:[]};return j2(o,e),ln(o,e,"allowIn"),ln(o,e,"allowContentOf"),ln(o,e,"allowWhere"),ln(o,e,"allowAttributes"),ln(o,e,"allowAttributesOf"),ln(o,e,"allowChildren"),ln(o,e,"inheritTypesFrom"),F2(o,e),e}function M2(o,t){const e=o[t];for(const n of e.allowChildren){const i=o[n];i&&i.allowIn.push(t)}e.allowChildren.length=0}function B2(o,t){for(const e of o[t].allowContentOf)o[e]&&V2(o,e).forEach(i=>{i.allowIn.push(t)});delete o[t].allowContentOf}function N2(o,t){for(const e of o[t].allowWhere){const n=o[e];if(n){const i=n.allowIn;o[t].allowIn.push(...i)}}delete o[t].allowWhere}function z2(o,t){for(const e of o[t].allowAttributesOf){const n=o[e];if(n){const i=n.allowAttributes;o[t].allowAttributes.push(...i)}}delete o[t].allowAttributesOf}function P2(o,t){const e=o[t];for(const n of e.inheritTypesFrom){const i=o[n];if(i){const r=Object.keys(i).filter(s=>s.startsWith("is"));for(const s of r)s in e||(e[s]=i[s])}}delete e.inheritTypesFrom}function L2(o,t){const e=o[t],n=e.allowIn.filter(i=>o[i]);e.allowIn=Array.from(new Set(n))}function O2(o,t){const e=o[t];for(const n of e.allowIn)o[n].allowChildren.push(t)}function R2(o,t){const e=o[t];e.allowAttributes=Array.from(new Set(e.allowAttributes))}function j2(o,t){for(const e of o){const n=Object.keys(e).filter(i=>i.startsWith("is"));for(const i of n)t[i]=!!e[i]}}function ln(o,t,e){for(const n of o){const i=n[e];typeof i=="string"?t[e].push(i):Array.isArray(i)&&t[e].push(...i)}}function F2(o,t){for(const e of o){const n=e.inheritAllFrom;n&&(t.allowContentOf.push(n),t.allowWhere.push(n),t.allowAttributesOf.push(n),t.inheritTypesFrom.push(n))}}function V2(o,t){const e=o[t];return H2(o).filter(n=>n.allowIn.includes(e.name))}function H2(o){return Object.keys(o).map(t=>o[t])}function U2(o){return typeof o=="string"||o.is("documentFragment")?{name:typeof o=="string"?o:"$documentFragment",*getAttributeKeys(){},getAttribute(){}}:{name:o.is("element")?o.name:"$text",*getAttributeKeys(){yield*o.getAttributeKeys()},getAttribute(t){return o.getAttribute(t)}}}function*q2(o,t){let e=!1;for(;!e;){if(e=!0,o){const n=o.next();n.done||(e=!1,yield{walker:o,value:n.value})}if(t){const n=t.next();n.done||(e=!1,yield{walker:t,value:n.value})}}}function*W2(o){for(const t of o)yield*t.getMinimalFlatRanges()}function Yu(o,t,e){for(const n of t.getAttributeKeys())o.checkAttribute(t,n)||e.removeAttribute(n,t)}class G2 extends ct(){constructor(t){super(),this._splitParts=new Map,this._cursorParents=new Map,this._modelCursor=null,this._emptyElementsToKeep=new Set,this.conversionApi={...t,consumable:null,writer:null,store:null,convertItem:(e,n)=>this._convertItem(e,n),convertChildren:(e,n)=>this._convertChildren(e,n),safeInsert:(e,n)=>this._safeInsert(e,n),updateConversionResult:(e,n)=>this._updateConversionResult(e,n),splitToAllowedParent:(e,n)=>this._splitToAllowedParent(e,n),getSplitParts:e=>this._getSplitParts(e),keepEmptyElement:e=>this._keepEmptyElement(e)}}convert(t,e,n=["$root"]){this.fire("viewCleanup",t),this._modelCursor=K2(n,e),this.conversionApi.writer=e,this.conversionApi.consumable=mo.createFrom(t),this.conversionApi.store={};const{modelRange:i}=this._convertItem(t,this._modelCursor),r=e.createDocumentFragment();if(i){this._removeEmptyElements();for(const s of Array.from(this._modelCursor.parent.getChildren()))e.append(s,r);r.markers=$2(r,e)}return this._modelCursor=null,this._splitParts.clear(),this._cursorParents.clear(),this._emptyElementsToKeep.clear(),this.conversionApi.writer=null,this.conversionApi.store=null,r}_convertItem(t,e){const n={viewItem:t,modelCursor:e,modelRange:null};if(t.is("element")?this.fire(`element:${t.name}`,n,this.conversionApi):t.is("$text")?this.fire("text",n,this.conversionApi):this.fire("documentFragment",n,this.conversionApi),n.modelRange&&!(n.modelRange instanceof T))throw new b("view-conversion-dispatcher-incorrect-result",this);return{modelRange:n.modelRange,modelCursor:n.modelCursor}}_convertChildren(t,e){let n=e.is("position")?e:N._createAt(e,0);const i=new T(n);for(const r of Array.from(t.getChildren())){const s=this._convertItem(r,n);s.modelRange instanceof T&&(i.end=s.modelRange.end,n=s.modelCursor)}return{modelRange:i,modelCursor:n}}_safeInsert(t,e){const n=this._splitToAllowedParent(t,e);return n?(this.conversionApi.writer.insert(t,n.position),!0):!1}_updateConversionResult(t,e){const n=this._getSplitParts(t),i=this.conversionApi.writer;e.modelRange||(e.modelRange=i.createRange(i.createPositionBefore(t),i.createPositionAfter(n[n.length-1])));const r=this._cursorParents.get(t);r?e.modelCursor=i.createPositionAt(r,0):e.modelCursor=e.modelRange.end}_splitToAllowedParent(t,e){const{schema:n,writer:i}=this.conversionApi;let r=n.findAllowedParent(e,t);if(r){if(r===e.parent)return{position:e};this._modelCursor.parent.getAncestors().includes(r)&&(r=null)}if(!r)return Fu(e,t,n)?{position:Vu(e,i)}:null;const s=this.conversionApi.writer.split(e,r),a=[];for(const l of s.range.getWalker())if(l.type=="elementEnd")a.push(l.item);else{const d=a.pop(),u=l.item;this._registerSplitPair(d,u)}const c=s.range.end.parent;return this._cursorParents.set(t,c),{position:s.position,cursorParent:c}}_registerSplitPair(t,e){this._splitParts.has(t)||this._splitParts.set(t,[t]);const n=this._splitParts.get(t);this._splitParts.set(e,n),n.push(e)}_getSplitParts(t){let e;return this._splitParts.has(t)?e=this._splitParts.get(t):e=[t],e}_keepEmptyElement(t){this._emptyElementsToKeep.add(t)}_removeEmptyElements(){let t=!1;for(const e of this._splitParts.keys())e.isEmpty&&!this._emptyElementsToKeep.has(e)&&(this.conversionApi.writer.remove(e),this._splitParts.delete(e),t=!0);t&&this._removeEmptyElements()}}function $2(o,t){const e=new Set,n=new Map,i=T._createIn(o).getItems();for(const r of i)r.is("element","$marker")&&e.add(r);for(const r of e){const s=r.getAttribute("data-name"),a=t.createPositionBefore(r);n.has(s)?n.get(s).end=a.clone():n.set(s,new T(a.clone())),t.remove(r)}return n}function K2(o,t){let e;for(const n of new cn(o)){const i={};for(const s of n.getAttributeKeys())i[s]=n.getAttribute(s);const r=t.createElement(n.name,i);e&&t.insert(r,e),e=N._createAt(r,0)}return e}class Z2{getHtml(t){const n=U.document.implementation.createHTMLDocument("").createElement("div");return n.appendChild(t),n.innerHTML}}class Y2{constructor(t){this.skipComments=!0,this.domParser=new DOMParser,this.domConverter=new ri(t,{renderingMode:"data"}),this.htmlWriter=new Z2}toData(t){const e=this.domConverter.viewToDom(t);return this.htmlWriter.getHtml(e)}toView(t){const e=this._toDom(t);return this.domConverter.domToView(e,{skipComments:this.skipComments})}registerRawContentMatcher(t){this.domConverter.registerRawContentMatcher(t)}useFillerType(t){this.domConverter.blockFillerMode=t=="marked"?"markedNbsp":"nbsp"}_toDom(t){t.match(/<(?:html|body|head|meta)(?:\s[^>]*)?>/i)||(t=`${t}`);const e=this.domParser.parseFromString(t,"text/html"),n=e.createDocumentFragment(),i=e.body.childNodes;for(;i.length>0;)n.appendChild(i[0]);return n}}class Q2 extends ct(){constructor(t,e){super(),this.model=t,this.mapper=new vu,this.downcastDispatcher=new yu({mapper:this.mapper,schema:t.schema}),this.downcastDispatcher.on("insert:$text",Tu(),{priority:"lowest"}),this.downcastDispatcher.on("insert",Iu(),{priority:"lowest"}),this.upcastDispatcher=new G2({schema:t.schema}),this.viewDocument=new ni(e),this.stylesProcessor=e,this.htmlProcessor=new Y2(this.viewDocument),this.processor=this.htmlProcessor,this._viewWriter=new Wd(this.viewDocument),this.upcastDispatcher.on("text",c2(),{priority:"lowest"}),this.upcastDispatcher.on("element",Hu(),{priority:"lowest"}),this.upcastDispatcher.on("documentFragment",Hu(),{priority:"lowest"}),rt().prototype.decorate.call(this,"init"),rt().prototype.decorate.call(this,"set"),rt().prototype.decorate.call(this,"get"),rt().prototype.decorate.call(this,"toView"),rt().prototype.decorate.call(this,"toModel"),this.on("init",()=>{this.fire("ready")},{priority:"lowest"}),this.on("ready",()=>{this.model.enqueueChange({isUndoable:!1},ju)},{priority:"lowest"})}get(t={}){const{rootName:e="main",trim:n="empty"}=t;if(!this._checkIfRootsExists([e]))throw new b("datacontroller-get-non-existent-root",this);const i=this.model.document.getRoot(e);return i.isAttached()||at("datacontroller-get-detached-root",this),n==="empty"&&!this.model.hasContent(i,{ignoreWhitespaces:!0})?"":this.stringify(i,t)}stringify(t,e={}){const n=this.toView(t,e);return this.processor.toData(n)}toView(t,e={}){const n=this.viewDocument,i=this._viewWriter;this.mapper.clearBindings();const r=T._createIn(t),s=new rn(n);this.mapper.bindElements(t,s);const a=t.is("documentFragment")?t.markers:J2(t);return this.downcastDispatcher.convert(r,a,i,e),s}init(t){if(this.model.document.version)throw new b("datacontroller-init-document-not-empty",this);let e={};if(typeof t=="string"?e.main=t:e=t,!this._checkIfRootsExists(Object.keys(e)))throw new b("datacontroller-init-non-existent-root",this);return this.model.enqueueChange({isUndoable:!1},n=>{for(const i of Object.keys(e)){const r=this.model.document.getRoot(i);n.insert(this.parse(e[i],r),r,0)}}),Promise.resolve()}set(t,e={}){let n={};if(typeof t=="string"?n.main=t:n=t,!this._checkIfRootsExists(Object.keys(n)))throw new b("datacontroller-set-non-existent-root",this);this.model.enqueueChange(e.batchType||{},i=>{i.setSelection(null),i.removeSelectionAttribute(this.model.document.selection.getAttributeKeys());for(const r of Object.keys(n)){const s=this.model.document.getRoot(r);i.remove(i.createRangeIn(s)),i.insert(this.parse(n[r],s),s,0)}})}parse(t,e="$root"){const n=this.processor.toView(t);return this.toModel(n,e)}toModel(t,e="$root"){return this.model.change(n=>this.upcastDispatcher.convert(t,n,e))}addStyleProcessorRules(t){t(this.stylesProcessor)}registerRawContentMatcher(t){this.processor&&this.processor!==this.htmlProcessor&&this.processor.registerRawContentMatcher(t),this.htmlProcessor.registerRawContentMatcher(t)}destroy(){this.stopListening()}_checkIfRootsExists(t){for(const e of t)if(!this.model.document.getRoot(e))return!1;return!0}}function J2(o){const t=[],e=o.root.document;if(!e)return new Map;const n=T._createIn(o);for(const i of e.model.markers){const r=i.getRange(),s=r.isCollapsed,a=r.start.isEqual(n.start)||r.end.isEqual(n.end);if(s&&a)t.push([i.name,r]);else{const c=n.getIntersection(r);c&&t.push([i.name,c])}}return t.sort(([i,r],[s,a])=>{if(r.end.compareWith(a.start)!=="after")return 1;if(r.start.compareWith(a.end)!=="before")return-1;switch(r.start.compareWith(a.start)){case"before":return 1;case"after":return-1;default:switch(r.end.compareWith(a.end)){case"before":return 1;case"after":return-1;default:return s.localeCompare(i)}}}),new Map(t)}class X2{constructor(t,e){this._helpers=new Map,this._downcast=Tt(t),this._createConversionHelpers({name:"downcast",dispatchers:this._downcast,isDowncast:!0}),this._upcast=Tt(e),this._createConversionHelpers({name:"upcast",dispatchers:this._upcast,isDowncast:!1})}addAlias(t,e){const n=this._downcast.includes(e);if(!this._upcast.includes(e)&&!n)throw new b("conversion-add-alias-dispatcher-not-registered",this);this._createConversionHelpers({name:t,dispatchers:[e],isDowncast:n})}for(t){if(!this._helpers.has(t))throw new b("conversion-for-unknown-group",this);return this._helpers.get(t)}elementToElement(t){this.for("downcast").elementToElement(t);for(const{model:e,view:n}of hs(t))this.for("upcast").elementToElement({model:e,view:n,converterPriority:t.converterPriority})}attributeToElement(t){this.for("downcast").attributeToElement(t);for(const{model:e,view:n}of hs(t))this.for("upcast").elementToAttribute({view:n,model:e,converterPriority:t.converterPriority})}attributeToAttribute(t){this.for("downcast").attributeToAttribute(t);for(const{model:e,view:n}of hs(t))this.for("upcast").attributeToAttribute({view:n,model:e})}_createConversionHelpers({name:t,dispatchers:e,isDowncast:n}){if(this._helpers.has(t))throw new b("conversion-group-exists",this);const i=n?new Tx(e):new a2(e);this._helpers.set(t,i)}}function*hs(o){if(o.model.values)for(const t of o.model.values){const e={key:o.model.key,value:t},n=o.view[t],i=o.upcastAlso?o.upcastAlso[t]:void 0;yield*Qu(e,n,i)}else yield*Qu(o.model,o.view,o.upcastAlso)}function*Qu(o,t,e){if(yield{model:o,view:t},e)for(const n of Tt(e))yield{model:o,view:n}}class te{constructor(t){this.baseVersion=t,this.isDocumentOperation=this.baseVersion!==null,this.batch=null}_validate(){}toJSON(){const t=Object.assign({},this);return t.__className=this.constructor.className,delete t.batch,delete t.isDocumentOperation,t}static get className(){return"Operation"}static fromJSON(t,e){return new this(t.baseVersion)}}function gs(o,t){const e=Xu(t),n=e.reduce((s,a)=>s+a.offsetSize,0),i=o.parent;bo(o);const r=o.index;return i._insertChild(r,e),ko(i,r+e.length),ko(i,r),new T(o,o.getShiftedBy(n))}function Ju(o){if(!o.isFlat)throw new b("operation-utils-remove-range-not-flat",this);const t=o.start.parent;bo(o.start),bo(o.end);const e=t._removeChildren(o.start.index,o.end.index-o.start.index);return ko(t,o.start.index),e}function po(o,t){if(!o.isFlat)throw new b("operation-utils-move-range-not-flat",this);const e=Ju(o);return t=t._getTransformedByDeletion(o.start,o.end.offset-o.start.offset),gs(t,e)}function tE(o,t,e){bo(o.start),bo(o.end);for(const n of o.getItems({shallow:!0})){const i=n.is("$textProxy")?n.textNode:n;e!==null?i._setAttribute(t,e):i._removeAttribute(t),ko(i.parent,i.index)}ko(o.end.parent,o.end.index)}function Xu(o){const t=[];function e(n){if(typeof n=="string")t.push(new ft(n));else if(n instanceof ge)t.push(new ft(n.data,n.getAttributes()));else if(n instanceof sn)t.push(n);else if($t(n))for(const i of n)e(i)}e(o);for(let n=1;nt.maxOffset)throw new b("move-operation-nodes-do-not-exist",this);if(t===e&&n=n&&this.targetPosition.path[r]n._clone(!0))),e=new Nt(this.position,t,this.baseVersion);return e.shouldReceiveAttributes=this.shouldReceiveAttributes,e}getReversed(){const t=this.position.root.document.graveyard,e=new N(t,[0]);return new ot(this.position,this.nodes.maxOffset,e,this.baseVersion+1)}_validate(){const t=this.position.parent;if(!t||t.maxOffsete._clone(!0))),gs(this.position,t)}toJSON(){const t=super.toJSON();return t.position=this.position.toJSON(),t.nodes=this.nodes.toJSON(),t}static get className(){return"InsertOperation"}static fromJSON(t,e){const n=[];for(const r of t.nodes)r.name?n.push(lt.fromJSON(r)):n.push(ft.fromJSON(r));const i=new Nt(N.fromJSON(t.position,e),n,t.baseVersion);return i.shouldReceiveAttributes=t.shouldReceiveAttributes,i}}class mt extends te{constructor(t,e,n,i,r){super(r),this.splitPosition=t.clone(),this.splitPosition.stickiness="toNext",this.howMany=e,this.insertionPosition=n,this.graveyardPosition=i?i.clone():null,this.graveyardPosition&&(this.graveyardPosition.stickiness="toNext")}get type(){return"split"}get moveTargetPosition(){const t=this.insertionPosition.path.slice();return t.push(0),new N(this.insertionPosition.root,t)}get movedRange(){const t=this.splitPosition.getShiftedBy(Number.POSITIVE_INFINITY);return new T(this.splitPosition,t)}get affectedSelectable(){const t=[T._createFromPositionAndShift(this.splitPosition,0),T._createFromPositionAndShift(this.insertionPosition,0)];return this.graveyardPosition&&t.push(T._createFromPositionAndShift(this.graveyardPosition,0)),t}clone(){return new mt(this.splitPosition,this.howMany,this.insertionPosition,this.graveyardPosition,this.baseVersion)}getReversed(){const t=this.splitPosition.root.document.graveyard,e=new N(t,[0]);return new vt(this.moveTargetPosition,this.howMany,this.splitPosition,e,this.baseVersion+1)}_validate(){const t=this.splitPosition.parent,e=this.splitPosition.offset;if(!t||t.maxOffset{if(o.key===t.key&&o.range.start.hasSameParentAs(t.range.start)){const n=o.range.getDifference(t.range).map(r=>new Et(r,o.key,o.oldValue,o.newValue,0)),i=o.range.getIntersection(t.range);return i&&e.aIsStrong&&n.push(new Et(i,t.key,t.newValue,o.newValue,0)),n.length==0?[new St(0)]:n}else return[o]}),et(Et,Nt,(o,t)=>{if(o.range.start.hasSameParentAs(t.position)&&o.range.containsPosition(t.position)){const n=o.range._getTransformedByInsertion(t.position,t.howMany,!t.shouldReceiveAttributes).map(i=>new Et(i,o.key,o.oldValue,o.newValue,o.baseVersion));if(t.shouldReceiveAttributes){const i=rh(t,o.key,o.oldValue);i&&n.unshift(i)}return n}return o.range=o.range._getTransformedByInsertion(t.position,t.howMany,!1)[0],[o]});function rh(o,t,e){const i=o.nodes.getNode(0).getAttribute(t);if(i==e)return null;const r=new T(o.position,o.position.getShiftedBy(o.howMany));return new Et(r,t,i,e,0)}et(Et,vt,(o,t)=>{const e=[];o.range.start.hasSameParentAs(t.deletionPosition)&&(o.range.containsPosition(t.deletionPosition)||o.range.start.isEqual(t.deletionPosition))&&e.push(T._createFromPositionAndShift(t.graveyardPosition,1));const n=o.range._getTransformedByMergeOperation(t);return n.isCollapsed||e.push(n),e.map(i=>new Et(i,o.key,o.oldValue,o.newValue,o.baseVersion))}),et(Et,ot,(o,t)=>aE(o.range,t).map(n=>new Et(n,o.key,o.oldValue,o.newValue,o.baseVersion)));function aE(o,t){const e=T._createFromPositionAndShift(t.sourcePosition,t.howMany);let n=null,i=[];e.containsRange(o,!0)?n=o:o.start.hasSameParentAs(e.start)?(i=o.getDifference(e),n=o.getIntersection(e)):i=[o];const r=[];for(let s of i){s=s._getTransformedByDeletion(t.sourcePosition,t.howMany);const a=t.getMovedRangeStart(),c=s.start.hasSameParentAs(a),l=s._getTransformedByInsertion(a,t.howMany,c);r.push(...l)}return n&&r.push(n._getTransformedByMove(t.sourcePosition,t.targetPosition,t.howMany,!1)[0]),r}et(Et,mt,(o,t)=>{if(o.range.end.isEqual(t.insertionPosition))return t.graveyardPosition||o.range.end.offset++,[o];if(o.range.start.hasSameParentAs(t.splitPosition)&&o.range.containsPosition(t.splitPosition)){const e=o.clone();return e.range=new T(t.moveTargetPosition.clone(),o.range.end._getCombined(t.splitPosition,t.moveTargetPosition)),o.range.end=t.splitPosition.clone(),o.range.end.stickiness="toPrevious",[o,e]}return o.range=o.range._getTransformedBySplitOperation(t),[o]}),et(Nt,Et,(o,t)=>{const e=[o];if(o.shouldReceiveAttributes&&o.position.hasSameParentAs(t.range.start)&&t.range.containsPosition(o.position)){const n=rh(o,t.key,t.newValue);n&&e.push(n)}return e}),et(Nt,Nt,(o,t,e)=>o.position.isEqual(t.position)&&e.aIsStrong?[o]:(o.position=o.position._getTransformedByInsertOperation(t),[o])),et(Nt,ot,(o,t)=>(o.position=o.position._getTransformedByMoveOperation(t),[o])),et(Nt,mt,(o,t)=>(o.position=o.position._getTransformedBySplitOperation(t),[o])),et(Nt,vt,(o,t)=>(o.position=o.position._getTransformedByMergeOperation(t),[o])),et(Wt,Nt,(o,t)=>(o.oldRange&&(o.oldRange=o.oldRange._getTransformedByInsertOperation(t)[0]),o.newRange&&(o.newRange=o.newRange._getTransformedByInsertOperation(t)[0]),[o])),et(Wt,Wt,(o,t,e)=>{if(o.name==t.name)if(e.aIsStrong)o.oldRange=t.newRange?t.newRange.clone():null;else return[new St(0)];return[o]}),et(Wt,vt,(o,t)=>(o.oldRange&&(o.oldRange=o.oldRange._getTransformedByMergeOperation(t)),o.newRange&&(o.newRange=o.newRange._getTransformedByMergeOperation(t)),[o])),et(Wt,ot,(o,t,e)=>{if(o.oldRange&&(o.oldRange=T._createFromRanges(o.oldRange._getTransformedByMoveOperation(t))),o.newRange){if(e.abRelation){const n=T._createFromRanges(o.newRange._getTransformedByMoveOperation(t));if(e.abRelation.side=="left"&&t.targetPosition.isEqual(o.newRange.start))return o.newRange.end=n.end,o.newRange.start.path=e.abRelation.path,[o];if(e.abRelation.side=="right"&&t.targetPosition.isEqual(o.newRange.end))return o.newRange.start=n.start,o.newRange.end.path=e.abRelation.path,[o]}o.newRange=T._createFromRanges(o.newRange._getTransformedByMoveOperation(t))}return[o]}),et(Wt,mt,(o,t,e)=>{if(o.oldRange&&(o.oldRange=o.oldRange._getTransformedBySplitOperation(t)),o.newRange){if(e.abRelation){const n=o.newRange._getTransformedBySplitOperation(t);return o.newRange.start.isEqual(t.splitPosition)&&e.abRelation.wasStartBeforeMergedElement?o.newRange.start=N._createAt(t.insertionPosition):o.newRange.start.isEqual(t.splitPosition)&&!e.abRelation.wasInLeftElement&&(o.newRange.start=N._createAt(t.moveTargetPosition)),o.newRange.end.isEqual(t.splitPosition)&&e.abRelation.wasInRightElement?o.newRange.end=N._createAt(t.moveTargetPosition):o.newRange.end.isEqual(t.splitPosition)&&e.abRelation.wasEndBeforeMergedElement?o.newRange.end=N._createAt(t.insertionPosition):o.newRange.end=n.end,[o]}o.newRange=o.newRange._getTransformedBySplitOperation(t)}return[o]}),et(vt,Nt,(o,t)=>(o.sourcePosition.hasSameParentAs(t.position)&&(o.howMany+=t.howMany),o.sourcePosition=o.sourcePosition._getTransformedByInsertOperation(t),o.targetPosition=o.targetPosition._getTransformedByInsertOperation(t),[o])),et(vt,vt,(o,t,e)=>{if(o.sourcePosition.isEqual(t.sourcePosition)&&o.targetPosition.isEqual(t.targetPosition))if(e.bWasUndone){const n=t.graveyardPosition.path.slice();return n.push(0),o.sourcePosition=new N(t.graveyardPosition.root,n),o.howMany=0,[o]}else return[new St(0)];if(o.sourcePosition.isEqual(t.sourcePosition)&&!o.targetPosition.isEqual(t.targetPosition)&&!e.bWasUndone&&e.abRelation!="splitAtSource"){const n=o.targetPosition.root.rootName=="$graveyard",i=t.targetPosition.root.rootName=="$graveyard";if(i&&!n||!(n&&!i)&&e.aIsStrong){const c=t.targetPosition._getTransformedByMergeOperation(t),l=o.targetPosition._getTransformedByMergeOperation(t);return[new ot(c,o.howMany,l,0)]}else return[new St(0)]}return o.sourcePosition.hasSameParentAs(t.targetPosition)&&(o.howMany+=t.howMany),o.sourcePosition=o.sourcePosition._getTransformedByMergeOperation(t),o.targetPosition=o.targetPosition._getTransformedByMergeOperation(t),(!o.graveyardPosition.isEqual(t.graveyardPosition)||!e.aIsStrong)&&(o.graveyardPosition=o.graveyardPosition._getTransformedByMergeOperation(t)),[o]}),et(vt,ot,(o,t,e)=>{const n=T._createFromPositionAndShift(t.sourcePosition,t.howMany);return t.type=="remove"&&!e.bWasUndone&&!e.forceWeakRemove&&o.deletionPosition.hasSameParentAs(t.sourcePosition)&&n.containsPosition(o.sourcePosition)?[new St(0)]:(o.sourcePosition.hasSameParentAs(t.targetPosition)&&(o.howMany+=t.howMany),o.sourcePosition.hasSameParentAs(t.sourcePosition)&&(o.howMany-=t.howMany),o.sourcePosition=o.sourcePosition._getTransformedByMoveOperation(t),o.targetPosition=o.targetPosition._getTransformedByMoveOperation(t),o.graveyardPosition.isEqual(t.targetPosition)||(o.graveyardPosition=o.graveyardPosition._getTransformedByMoveOperation(t)),[o])}),et(vt,mt,(o,t,e)=>{if(t.graveyardPosition&&(o.graveyardPosition=o.graveyardPosition._getTransformedByDeletion(t.graveyardPosition,1),o.deletionPosition.isEqual(t.graveyardPosition)&&(o.howMany=t.howMany)),o.targetPosition.isEqual(t.splitPosition)){const n=t.howMany!=0,i=t.graveyardPosition&&o.deletionPosition.isEqual(t.graveyardPosition);if(n||i||e.abRelation=="mergeTargetNotMoved")return o.sourcePosition=o.sourcePosition._getTransformedBySplitOperation(t),[o]}if(o.sourcePosition.isEqual(t.splitPosition)){if(e.abRelation=="mergeSourceNotMoved")return o.howMany=0,o.targetPosition=o.targetPosition._getTransformedBySplitOperation(t),[o];if(e.abRelation=="mergeSameElement"||o.sourcePosition.offset>0)return o.sourcePosition=t.moveTargetPosition.clone(),o.targetPosition=o.targetPosition._getTransformedBySplitOperation(t),[o]}return o.sourcePosition.hasSameParentAs(t.splitPosition)&&(o.howMany=t.splitPosition.offset),o.sourcePosition=o.sourcePosition._getTransformedBySplitOperation(t),o.targetPosition=o.targetPosition._getTransformedBySplitOperation(t),[o]}),et(ot,Nt,(o,t)=>{const n=T._createFromPositionAndShift(o.sourcePosition,o.howMany)._getTransformedByInsertOperation(t,!1)[0];return o.sourcePosition=n.start,o.howMany=n.end.offset-n.start.offset,o.targetPosition.isEqual(t.position)||(o.targetPosition=o.targetPosition._getTransformedByInsertOperation(t)),[o]}),et(ot,ot,(o,t,e)=>{const n=T._createFromPositionAndShift(o.sourcePosition,o.howMany),i=T._createFromPositionAndShift(t.sourcePosition,t.howMany);let r=e.aIsStrong,s=!e.aIsStrong;e.abRelation=="insertBefore"||e.baRelation=="insertAfter"?s=!0:(e.abRelation=="insertAfter"||e.baRelation=="insertBefore")&&(s=!1);let a;if(o.targetPosition.isEqual(t.targetPosition)&&s?a=o.targetPosition._getTransformedByDeletion(t.sourcePosition,t.howMany):a=o.targetPosition._getTransformedByMove(t.sourcePosition,t.targetPosition,t.howMany),sh(o,t)&&sh(t,o))return[t.getReversed()];if(n.containsPosition(t.targetPosition)&&n.containsRange(i,!0))return n.start=n.start._getTransformedByMove(t.sourcePosition,t.targetPosition,t.howMany),n.end=n.end._getTransformedByMove(t.sourcePosition,t.targetPosition,t.howMany),Mn([n],a);if(i.containsPosition(o.targetPosition)&&i.containsRange(n,!0))return n.start=n.start._getCombined(t.sourcePosition,t.getMovedRangeStart()),n.end=n.end._getCombined(t.sourcePosition,t.getMovedRangeStart()),Mn([n],a);const d=jt(o.sourcePosition.getParentPath(),t.sourcePosition.getParentPath());if(d=="prefix"||d=="extension")return n.start=n.start._getTransformedByMove(t.sourcePosition,t.targetPosition,t.howMany),n.end=n.end._getTransformedByMove(t.sourcePosition,t.targetPosition,t.howMany),Mn([n],a);o.type=="remove"&&t.type!="remove"&&!e.aWasUndone&&!e.forceWeakRemove?r=!0:o.type!="remove"&&t.type=="remove"&&!e.bWasUndone&&!e.forceWeakRemove&&(r=!1);const u=[],f=n.getDifference(i);for(const w of f){w.start=w.start._getTransformedByDeletion(t.sourcePosition,t.howMany),w.end=w.end._getTransformedByDeletion(t.sourcePosition,t.howMany);const S=jt(w.start.getParentPath(),t.getMovedRangeStart().getParentPath())=="same",B=w._getTransformedByInsertion(t.getMovedRangeStart(),t.howMany,S);u.push(...B)}const p=n.getIntersection(i);return p!==null&&r&&(p.start=p.start._getCombined(t.sourcePosition,t.getMovedRangeStart()),p.end=p.end._getCombined(t.sourcePosition,t.getMovedRangeStart()),u.length===0?u.push(p):u.length==1?i.start.isBefore(n.start)||i.start.isEqual(n.start)?u.unshift(p):u.push(p):u.splice(1,0,p)),u.length===0?[new St(o.baseVersion)]:Mn(u,a)}),et(ot,mt,(o,t,e)=>{let n=o.targetPosition.clone();(!o.targetPosition.isEqual(t.insertionPosition)||!t.graveyardPosition||e.abRelation=="moveTargetAfter")&&(n=o.targetPosition._getTransformedBySplitOperation(t));const i=T._createFromPositionAndShift(o.sourcePosition,o.howMany);if(i.end.isEqual(t.insertionPosition))return t.graveyardPosition||o.howMany++,o.targetPosition=n,[o];if(i.start.hasSameParentAs(t.splitPosition)&&i.containsPosition(t.splitPosition)){let a=new T(t.splitPosition,i.end);a=a._getTransformedBySplitOperation(t);const c=[new T(i.start,t.splitPosition),a];return Mn(c,n)}o.targetPosition.isEqual(t.splitPosition)&&e.abRelation=="insertAtSource"&&(n=t.moveTargetPosition),o.targetPosition.isEqual(t.insertionPosition)&&e.abRelation=="insertBetween"&&(n=o.targetPosition);const s=[i._getTransformedBySplitOperation(t)];if(t.graveyardPosition){const a=i.start.isEqual(t.graveyardPosition)||i.containsPosition(t.graveyardPosition);o.howMany>1&&a&&!e.aWasUndone&&s.push(T._createFromPositionAndShift(t.insertionPosition,1))}return Mn(s,n)}),et(ot,vt,(o,t,e)=>{const n=T._createFromPositionAndShift(o.sourcePosition,o.howMany);if(t.deletionPosition.hasSameParentAs(o.sourcePosition)&&n.containsPosition(t.sourcePosition)){if(o.type=="remove"&&!e.forceWeakRemove){if(!e.aWasUndone){const s=[];let a=t.graveyardPosition.clone(),c=t.targetPosition._getTransformedByMergeOperation(t);o.howMany>1&&(s.push(new ot(o.sourcePosition,o.howMany-1,o.targetPosition,0)),a=a._getTransformedByMove(o.sourcePosition,o.targetPosition,o.howMany-1),c=c._getTransformedByMove(o.sourcePosition,o.targetPosition,o.howMany-1));const l=t.deletionPosition._getCombined(o.sourcePosition,o.targetPosition),d=new ot(a,1,l,0),u=d.getMovedRangeStart().path.slice();u.push(0);const f=new N(d.targetPosition.root,u);c=c._getTransformedByMove(a,l,1);const p=new ot(c,t.howMany,f,0);return s.push(d),s.push(p),s}}else if(o.howMany==1)return e.bWasUndone?(o.sourcePosition=t.graveyardPosition.clone(),o.targetPosition=o.targetPosition._getTransformedByMergeOperation(t),[o]):[new St(0)]}const r=T._createFromPositionAndShift(o.sourcePosition,o.howMany)._getTransformedByMergeOperation(t);return o.sourcePosition=r.start,o.howMany=r.end.offset-r.start.offset,o.targetPosition=o.targetPosition._getTransformedByMergeOperation(t),[o]}),et(Gt,Nt,(o,t)=>(o.position=o.position._getTransformedByInsertOperation(t),[o])),et(Gt,vt,(o,t)=>o.position.isEqual(t.deletionPosition)?(o.position=t.graveyardPosition.clone(),o.position.stickiness="toNext",[o]):(o.position=o.position._getTransformedByMergeOperation(t),[o])),et(Gt,ot,(o,t)=>(o.position=o.position._getTransformedByMoveOperation(t),[o])),et(Gt,Gt,(o,t,e)=>{if(o.position.isEqual(t.position))if(e.aIsStrong)o.oldName=t.newName;else return[new St(0)];return[o]}),et(Gt,mt,(o,t)=>{const e=o.position.path,n=t.splitPosition.getParentPath();if(jt(e,n)=="same"&&!t.graveyardPosition){const i=new Gt(o.position.getShiftedBy(1),o.oldName,o.newName,0);return[o,i]}return o.position=o.position._getTransformedBySplitOperation(t),[o]}),et(Ie,Ie,(o,t,e)=>{if(o.root===t.root&&o.key===t.key){if(!e.aIsStrong||o.newValue===t.newValue)return[new St(0)];o.oldValue=t.newValue}return[o]}),et(Ce,Ce,(o,t)=>o.rootName===t.rootName&&o.isAdd===t.isAdd?[new St(0)]:[o]),et(mt,Nt,(o,t)=>(o.splitPosition.hasSameParentAs(t.position)&&o.splitPosition.offset{if(!o.graveyardPosition&&!e.bWasUndone&&o.splitPosition.hasSameParentAs(t.sourcePosition)){const n=t.graveyardPosition.path.slice();n.push(0);const i=new N(t.graveyardPosition.root,n),r=mt.getInsertionPosition(new N(t.graveyardPosition.root,n)),s=new mt(i,0,r,null,0);return o.splitPosition=o.splitPosition._getTransformedByMergeOperation(t),o.insertionPosition=mt.getInsertionPosition(o.splitPosition),o.graveyardPosition=s.insertionPosition.clone(),o.graveyardPosition.stickiness="toNext",[s,o]}return o.splitPosition.hasSameParentAs(t.deletionPosition)&&!o.splitPosition.isAfter(t.deletionPosition)&&o.howMany--,o.splitPosition.hasSameParentAs(t.targetPosition)&&(o.howMany+=t.howMany),o.splitPosition=o.splitPosition._getTransformedByMergeOperation(t),o.insertionPosition=mt.getInsertionPosition(o.splitPosition),o.graveyardPosition&&(o.graveyardPosition=o.graveyardPosition._getTransformedByMergeOperation(t)),[o]}),et(mt,ot,(o,t,e)=>{const n=T._createFromPositionAndShift(t.sourcePosition,t.howMany);if(o.graveyardPosition){const r=n.start.isEqual(o.graveyardPosition)||n.containsPosition(o.graveyardPosition);if(!e.bWasUndone&&r){const s=o.splitPosition._getTransformedByMoveOperation(t),a=o.graveyardPosition._getTransformedByMoveOperation(t),c=a.path.slice();c.push(0);const l=new N(a.root,c);return[new ot(s,o.howMany,l,0)]}o.graveyardPosition=o.graveyardPosition._getTransformedByMoveOperation(t)}const i=o.splitPosition.isEqual(t.targetPosition);if(i&&(e.baRelation=="insertAtSource"||e.abRelation=="splitBefore"))return o.howMany+=t.howMany,o.splitPosition=o.splitPosition._getTransformedByDeletion(t.sourcePosition,t.howMany),o.insertionPosition=mt.getInsertionPosition(o.splitPosition),[o];if(i&&e.abRelation&&e.abRelation.howMany){const{howMany:r,offset:s}=e.abRelation;return o.howMany+=r,o.splitPosition=o.splitPosition.getShiftedBy(s),[o]}if(o.splitPosition.hasSameParentAs(t.sourcePosition)&&n.containsPosition(o.splitPosition)){const r=t.howMany-(o.splitPosition.offset-t.sourcePosition.offset);return o.howMany-=r,o.splitPosition.hasSameParentAs(t.targetPosition)&&o.splitPosition.offset{if(o.splitPosition.isEqual(t.splitPosition)){if(!o.graveyardPosition&&!t.graveyardPosition)return[new St(0)];if(o.graveyardPosition&&t.graveyardPosition&&o.graveyardPosition.isEqual(t.graveyardPosition))return[new St(0)];if(e.abRelation=="splitBefore")return o.howMany=0,o.graveyardPosition=o.graveyardPosition._getTransformedBySplitOperation(t),[o]}if(o.graveyardPosition&&t.graveyardPosition&&o.graveyardPosition.isEqual(t.graveyardPosition)){const n=o.splitPosition.root.rootName=="$graveyard",i=t.splitPosition.root.rootName=="$graveyard";if(i&&!n||!(n&&!i)&&e.aIsStrong){const c=[];return t.howMany&&c.push(new ot(t.moveTargetPosition,t.howMany,t.splitPosition,0)),o.howMany&&c.push(new ot(o.splitPosition,o.howMany,o.moveTargetPosition,0)),c}else return[new St(0)]}if(o.graveyardPosition&&(o.graveyardPosition=o.graveyardPosition._getTransformedBySplitOperation(t)),o.splitPosition.isEqual(t.insertionPosition)&&e.abRelation=="splitBefore")return o.howMany++,[o];if(t.splitPosition.isEqual(o.insertionPosition)&&e.baRelation=="splitBefore"){const n=t.insertionPosition.path.slice();n.push(0);const i=new N(t.insertionPosition.root,n),r=new ot(o.insertionPosition,1,i,0);return[o,r]}return o.splitPosition.hasSameParentAs(t.splitPosition)&&o.splitPosition.offset{const e=t[0];e.isDocumentOperation&&lE.call(this,e)},{priority:"low"})}function lE(o){const t=this.getTransformedByOperation(o);if(!this.isEqual(t)){const e=this.toPosition();this.path=t.path,this.root=t.root,this.fire("change",e)}}class Bn{constructor(t={}){typeof t=="string"&&(t=t==="transparent"?{isUndoable:!1}:{},at("batch-constructor-deprecated-string-type"));const{isUndoable:e=!0,isLocal:n=!0,isUndo:i=!1,isTyping:r=!1}=t;this.operations=[],this.isUndoable=e,this.isLocal=n,this.isUndo=i,this.isTyping=r}get type(){return at("batch-type-deprecated"),"default"}get baseVersion(){for(const t of this.operations)if(t.baseVersion!==null)return t.baseVersion;return null}addOperation(t){return t.batch=this,this.operations.push(t),t}}class dE{constructor(t){this._changesInElement=new Map,this._elementSnapshots=new Map,this._changedMarkers=new Map,this._changedRoots=new Map,this._changeCount=0,this._cachedChanges=null,this._cachedChangesWithGraveyard=null,this._refreshedItems=new Set,this._markerCollection=t}get isEmpty(){return this._changesInElement.size==0&&this._changedMarkers.size==0&&this._changedRoots.size==0}bufferOperation(t){const e=t;switch(e.type){case"insert":{if(this._isInInsertedElement(e.position.parent))return;this._markInsert(e.position.parent,e.position.offset,e.nodes.maxOffset);break}case"addAttribute":case"removeAttribute":case"changeAttribute":{for(const n of e.range.getItems({shallow:!0}))this._isInInsertedElement(n.parent)||this._markAttribute(n);break}case"remove":case"move":case"reinsert":{if(e.sourcePosition.isEqual(e.targetPosition)||e.sourcePosition.getShiftedBy(e.howMany).isEqual(e.targetPosition))return;const n=this._isInInsertedElement(e.sourcePosition.parent),i=this._isInInsertedElement(e.targetPosition.parent);n||this._markRemove(e.sourcePosition.parent,e.sourcePosition.offset,e.howMany),i||this._markInsert(e.targetPosition.parent,e.getMovedRangeStart().offset,e.howMany);break}case"rename":{if(this._isInInsertedElement(e.position.parent))return;this._markRemove(e.position.parent,e.position.offset,1),this._markInsert(e.position.parent,e.position.offset,1);const n=T._createFromPositionAndShift(e.position,1);for(const i of this._markerCollection.getMarkersIntersectingRange(n)){const r=i.getData();this.bufferMarkerChange(i.name,r,r)}break}case"split":{const n=e.splitPosition.parent;this._isInInsertedElement(n)||this._markRemove(n,e.splitPosition.offset,e.howMany),this._isInInsertedElement(e.insertionPosition.parent)||this._markInsert(e.insertionPosition.parent,e.insertionPosition.offset,1),e.graveyardPosition&&this._markRemove(e.graveyardPosition.parent,e.graveyardPosition.offset,1);break}case"merge":{const n=e.sourcePosition.parent;this._isInInsertedElement(n.parent)||this._markRemove(n.parent,n.startOffset,1);const i=e.graveyardPosition.parent;this._markInsert(i,e.graveyardPosition.offset,1);const r=e.targetPosition.parent;this._isInInsertedElement(r)||this._markInsert(r,e.targetPosition.offset,n.maxOffset);break}case"detachRoot":case"addRoot":{const n=e.affectedSelectable;if(!n._isLoaded||n.isAttached()==e.isAdd)return;this._bufferRootStateChange(e.rootName,e.isAdd);break}case"addRootAttribute":case"removeRootAttribute":case"changeRootAttribute":{if(!e.root._isLoaded)return;const n=e.root.rootName;this._bufferRootAttributeChange(n,e.key,e.oldValue,e.newValue);break}}this._cachedChanges=null}bufferMarkerChange(t,e,n){e.range&&e.range.root.is("rootElement")&&!e.range.root._isLoaded&&(e.range=null),n.range&&n.range.root.is("rootElement")&&!n.range.root._isLoaded&&(n.range=null);let i=this._changedMarkers.get(t);i?i.newMarkerData=n:(i={newMarkerData:n,oldMarkerData:e},this._changedMarkers.set(t,i)),i.oldMarkerData.range==null&&n.range==null&&this._changedMarkers.delete(t)}getMarkersToRemove(){const t=[];for(const[e,n]of this._changedMarkers)n.oldMarkerData.range!=null&&t.push({name:e,range:n.oldMarkerData.range});return t}getMarkersToAdd(){const t=[];for(const[e,n]of this._changedMarkers)n.newMarkerData.range!=null&&t.push({name:e,range:n.newMarkerData.range});return t}getChangedMarkers(){return Array.from(this._changedMarkers).map(([t,e])=>({name:t,data:{oldRange:e.oldMarkerData.range,newRange:e.newMarkerData.range}}))}hasDataChanges(){if(this._changesInElement.size>0||this._changedRoots.size>0)return!0;for(const{newMarkerData:t,oldMarkerData:e}of this._changedMarkers.values()){if(t.affectsData!==e.affectsData)return!0;if(t.affectsData){const n=t.range&&!e.range,i=!t.range&&e.range,r=t.range&&e.range&&!t.range.isEqual(e.range);if(n||i||r)return!0}}return!1}getChanges(t={}){if(this._cachedChanges)return t.includeChangesInGraveyard?this._cachedChangesWithGraveyard.slice():this._cachedChanges.slice();let e=[];for(const n of this._changesInElement.keys()){const i=this._changesInElement.get(n).sort((d,u)=>d.offset===u.offset?d.type!=u.type?d.type=="remove"?-1:1:0:d.offsetn.position.root!=i.position.root?n.position.root.rootNamen);for(const n of e)delete n.changeCount,n.type=="attribute"&&(delete n.position,delete n.length);return this._changeCount=0,this._cachedChangesWithGraveyard=e,this._cachedChanges=e.filter(hE),t.includeChangesInGraveyard?this._cachedChangesWithGraveyard.slice():this._cachedChanges.slice()}getChangedRoots(){return Array.from(this._changedRoots.values()).map(t=>{const e={...t};return e.state!==void 0&&delete e.attributes,e})}getRefreshedItems(){return new Set(this._refreshedItems)}reset(){this._changesInElement.clear(),this._elementSnapshots.clear(),this._changedMarkers.clear(),this._changedRoots.clear(),this._refreshedItems=new Set,this._cachedChanges=null}_bufferRootStateChange(t,e){if(!this._changedRoots.has(t)){this._changedRoots.set(t,{name:t,state:e?"attached":"detached"});return}const n=this._changedRoots.get(t);n.state!==void 0?(delete n.state,n.attributes===void 0&&this._changedRoots.delete(t)):n.state=e?"attached":"detached"}_bufferRootAttributeChange(t,e,n,i){const r=this._changedRoots.get(t)||{name:t},s=r.attributes||{};if(s[e]){const a=s[e];i===a.oldValue?delete s[e]:a.newValue=i}else s[e]={oldValue:n,newValue:i};Object.entries(s).length===0?(delete r.attributes,r.state===void 0&&this._changedRoots.delete(t)):(r.attributes=s,this._changedRoots.set(t,r))}_refreshItem(t){if(this._isInInsertedElement(t.parent))return;this._markRemove(t.parent,t.startOffset,t.offsetSize),this._markInsert(t.parent,t.startOffset,t.offsetSize),this._refreshedItems.add(t);const e=T._createOn(t);for(const n of this._markerCollection.getMarkersIntersectingRange(e)){const i=n.getData();this.bufferMarkerChange(n.name,i,i)}this._cachedChanges=null}_bufferRootLoad(t){if(t.isAttached()){this._bufferRootStateChange(t.rootName,!0),this._markInsert(t,0,t.maxOffset);for(const e of t.getAttributeKeys())this._bufferRootAttributeChange(t.rootName,e,null,t.getAttribute(e));for(const e of this._markerCollection)if(e.getRange().root==t){const n=e.getData();this.bufferMarkerChange(e.name,{...n,range:null},n)}}}_markInsert(t,e,n){if(t.root.is("rootElement")&&!t.root._isLoaded)return;const i={type:"insert",offset:e,howMany:n,count:this._changeCount++};this._markChange(t,i)}_markRemove(t,e,n){if(t.root.is("rootElement")&&!t.root._isLoaded)return;const i={type:"remove",offset:e,howMany:n,count:this._changeCount++};this._markChange(t,i),this._removeAllNestedChanges(t,e,n)}_markAttribute(t){if(t.root.is("rootElement")&&!t.root._isLoaded)return;const e={type:"attribute",offset:t.startOffset,howMany:t.offsetSize,count:this._changeCount++};this._markChange(t.parent,e)}_markChange(t,e){this._makeSnapshot(t);const n=this._getChangesForElement(t);this._handleChange(e,n),n.push(e);for(let i=0;in.offset){if(i>r){const s={type:"attribute",offset:r,howMany:i-r,count:this._changeCount++};this._handleChange(s,e),e.push(s)}t.nodesToHandle=n.offset-t.offset,t.howMany=t.nodesToHandle}else t.offset>=n.offset&&t.offsetr?(t.nodesToHandle=i-r,t.offset=r):t.nodesToHandle=0);if(n.type=="remove"&&t.offsetn.offset){const s={type:"attribute",offset:n.offset,howMany:i-n.offset,count:this._changeCount++};this._handleChange(s,e),e.push(s),t.nodesToHandle=n.offset-t.offset,t.howMany=t.nodesToHandle}n.type=="attribute"&&(t.offset>=n.offset&&i<=r?(t.nodesToHandle=0,t.howMany=0,t.offset=0):t.offset<=n.offset&&i>=r&&(n.howMany=0))}}t.howMany=t.nodesToHandle,delete t.nodesToHandle}_getInsertDiff(t,e,n){return{type:"insert",position:N._createAt(t,e),name:n.name,attributes:new Map(n.attributes),length:1,changeCount:this._changeCount++}}_getRemoveDiff(t,e,n){return{type:"remove",position:N._createAt(t,e),name:n.name,attributes:new Map(n.attributes),length:1,changeCount:this._changeCount++}}_getAttributesDiff(t,e,n){const i=[];n=new Map(n);for(const[r,s]of e){const a=n.has(r)?n.get(r):null;a!==s&&i.push({type:"attribute",position:t.start,range:t.clone(),length:1,attributeKey:r,attributeOldValue:s,attributeNewValue:a,changeCount:this._changeCount++}),n.delete(r)}for(const[r,s]of n)i.push({type:"attribute",position:t.start,range:t.clone(),length:1,attributeKey:r,attributeOldValue:null,attributeNewValue:s,changeCount:this._changeCount++});return i}_isInInsertedElement(t){const e=t.parent;if(!e)return!1;const n=this._changesInElement.get(e),i=t.startOffset;if(n){for(const r of n)if(r.type=="insert"&&i>=r.offset&&in){for(let s=0;sthis._version+1&&this._gaps.set(this._version,t),this._version=t}get lastOperation(){return this._operations[this._operations.length-1]}addOperation(t){if(t.baseVersion!==this.version)throw new b("model-document-history-addoperation-incorrect-version",this,{operation:t,historyVersion:this.version});this._operations.push(t),this._version++,this._baseVersionToOperationIndex.set(t.baseVersion,this._operations.length-1)}getOperations(t,e=this.version){if(!this._operations.length)return[];const n=this._operations[0];t===void 0&&(t=n.baseVersion);let i=e-1;for(const[a,c]of this._gaps)t>a&&ta&&ithis.lastOperation.baseVersion)return[];let r=this._baseVersionToOperationIndex.get(t);r===void 0&&(r=0);let s=this._baseVersionToOperationIndex.get(i);return s===void 0&&(s=this._operations.length-1),this._operations.slice(r,s+1)}getOperation(t){const e=this._baseVersionToOperationIndex.get(t);if(e!==void 0)return this._operations[e]}setOperationAsUndone(t,e){this._undoPairs.set(e,t),this._undoneOperations.add(t)}isUndoingOperation(t){return this._undoPairs.has(t)}isUndoneOperation(t){return this._undoneOperations.has(t)}getUndoneOperation(t){return this._undoPairs.get(t)}reset(){this._version=0,this._undoPairs=new Map,this._operations=[],this._undoneOperations=new Set,this._gaps=new Map,this._baseVersionToOperationIndex=new Map}}class ui extends lt{constructor(t,e,n="main"){super(e),this._isAttached=!0,this._isLoaded=!0,this._document=t,this.rootName=n}get document(){return this._document}isAttached(){return this._isAttached}toJSON(){return this.rootName}}ui.prototype.is=function(o,t){return t?t===this.name&&(o==="rootElement"||o==="model:rootElement"||o==="element"||o==="model:element"):o==="rootElement"||o==="model:rootElement"||o==="element"||o==="model:element"||o==="node"||o==="model:node"};const ch="$graveyard";class fE extends ct(){constructor(t){super(),this.model=t,this.history=new gE,this.selection=new me(this),this.roots=new oe({idProperty:"rootName"}),this.differ=new dE(t.markers),this.isReadOnly=!1,this._postFixers=new Set,this._hasSelectionChangedFromTheLastChangeBlock=!1,this.createRoot("$root",ch),this.listenTo(t,"applyOperation",(e,n)=>{const i=n[0];i.isDocumentOperation&&this.differ.bufferOperation(i)},{priority:"high"}),this.listenTo(t,"applyOperation",(e,n)=>{const i=n[0];i.isDocumentOperation&&this.history.addOperation(i)},{priority:"low"}),this.listenTo(this.selection,"change",()=>{this._hasSelectionChangedFromTheLastChangeBlock=!0}),this.listenTo(t.markers,"update",(e,n,i,r,s)=>{const a={...n.getData(),range:r};this.differ.bufferMarkerChange(n.name,s,a),i===null&&n.on("change",(c,l)=>{const d=n.getData();this.differ.bufferMarkerChange(n.name,{...d,range:l},d)})}),this.registerPostFixer(e=>{let n=!1;for(const i of this.roots)!i.isAttached()&&!i.isEmpty&&(e.remove(e.createRangeIn(i)),n=!0);for(const i of this.model.markers)i.getRange().root.isAttached()||(e.removeMarker(i),n=!0);return n})}get version(){return this.history.version}set version(t){this.history.version=t}get graveyard(){return this.getRoot(ch)}createRoot(t="$root",e="main"){if(this.roots.get(e))throw new b("model-document-createroot-name-exists",this,{name:e});const n=new ui(this,t,e);return this.roots.add(n),n}destroy(){this.selection.destroy(),this.stopListening()}getRoot(t="main"){return this.roots.get(t)}getRootNames(t=!1){return this.getRoots(t).map(e=>e.rootName)}getRoots(t=!1){return this.roots.filter(e=>e!=this.graveyard&&(t||e.isAttached())&&e._isLoaded)}registerPostFixer(t){this._postFixers.add(t)}toJSON(){const t=Sd(this);return t.selection="[engine.model.DocumentSelection]",t.model="[engine.model.Model]",t}_handleChangeBlock(t){this._hasDocumentChangedFromTheLastChangeBlock()&&(this._callPostFixers(t),this.selection.refresh(),this.differ.hasDataChanges()?this.fire("change:data",t.batch):this.fire("change",t.batch),this.selection.refresh(),this.differ.reset()),this._hasSelectionChangedFromTheLastChangeBlock=!1}_hasDocumentChangedFromTheLastChangeBlock(){return!this.differ.isEmpty||this._hasSelectionChangedFromTheLastChangeBlock}_getDefaultRoot(){const t=this.getRoots();return t.length?t[0]:this.graveyard}_getDefaultRange(){const t=this._getDefaultRoot(),e=this.model,n=e.schema,i=e.createPositionFromPath(t,[0]);return n.getNearestSelectionRange(i)||e.createRange(i)}_validateSelectionRange(t){return lh(t.start)&&lh(t.end)}_callPostFixers(t){let e=!1;do for(const n of this._postFixers)if(this.selection.refresh(),e=n(t),e)break;while(e)}}function lh(o){const t=o.textNode;if(t){const e=t.data,n=o.offset-t.startOffset;return!Ar(e,n)&&!Cr(e,n)}return!0}class mE extends ct(){constructor(){super(...arguments),this._markers=new Map}[Symbol.iterator](){return this._markers.values()}has(t){const e=t instanceof Nn?t.name:t;return this._markers.has(e)}get(t){return this._markers.get(t)||null}_set(t,e,n=!1,i=!1){const r=t instanceof Nn?t.name:t;if(r.includes(","))throw new b("markercollection-incorrect-marker-name",this);const s=this._markers.get(r);if(s){const l=s.getData(),d=s.getRange();let u=!1;return d.isEqual(e)||(s._attachLiveRange(Xt.fromRange(e)),u=!0),n!=s.managedUsingOperations&&(s._managedUsingOperations=n,u=!0),typeof i=="boolean"&&i!=s.affectsData&&(s._affectsData=i,u=!0),u&&this.fire(`update:${r}`,s,d,e,l),s}const a=Xt.fromRange(e),c=new Nn(r,a,n,i);return this._markers.set(r,c),this.fire(`update:${r}`,c,null,e,{...c.getData(),range:null}),c}_remove(t){const e=t instanceof Nn?t.name:t,n=this._markers.get(e);return n?(this._markers.delete(e),this.fire(`update:${e}`,n,n.getRange(),null,n.getData()),this._destroyMarker(n),!0):!1}_refresh(t){const e=t instanceof Nn?t.name:t,n=this._markers.get(e);if(!n)throw new b("markercollection-refresh-marker-not-exists",this);const i=n.getRange();this.fire(`update:${e}`,n,i,i,n.getData())}*getMarkersAtPosition(t){for(const e of this)e.getRange().containsPosition(t)&&(yield e)}*getMarkersIntersectingRange(t){for(const e of this)e.getRange().getIntersection(t)!==null&&(yield e)}destroy(){for(const t of this._markers.values())this._destroyMarker(t);this._markers=null,this.stopListening()}*getMarkersGroup(t){for(const e of this._markers.values())e.name.startsWith(t+":")&&(yield e)}_destroyMarker(t){t.stopListening(),t._detachLiveRange()}}class Nn extends ct(Ve){constructor(t,e,n,i){super(),this.name=t,this._liveRange=this._attachLiveRange(e),this._managedUsingOperations=n,this._affectsData=i}get managedUsingOperations(){if(!this._liveRange)throw new b("marker-destroyed",this);return this._managedUsingOperations}get affectsData(){if(!this._liveRange)throw new b("marker-destroyed",this);return this._affectsData}getData(){return{range:this.getRange(),affectsData:this.affectsData,managedUsingOperations:this.managedUsingOperations}}getStart(){if(!this._liveRange)throw new b("marker-destroyed",this);return this._liveRange.start.clone()}getEnd(){if(!this._liveRange)throw new b("marker-destroyed",this);return this._liveRange.end.clone()}getRange(){if(!this._liveRange)throw new b("marker-destroyed",this);return this._liveRange.toRange()}_attachLiveRange(t){return this._liveRange&&this._detachLiveRange(),t.delegate("change:range").to(this),t.delegate("change:content").to(this),this._liveRange=t,t}_detachLiveRange(){this._liveRange.stopDelegating("change:range",this),this._liveRange.stopDelegating("change:content",this),this._liveRange.detach(),this._liveRange=null}}Nn.prototype.is=function(o){return o==="marker"||o==="model:marker"};class pE extends te{constructor(t,e){super(null),this.sourcePosition=t.clone(),this.howMany=e}get type(){return"detach"}get affectedSelectable(){return null}toJSON(){const t=super.toJSON();return t.sourcePosition=this.sourcePosition.toJSON(),t}_validate(){if(this.sourcePosition.root.document)throw new b("detach-operation-on-document-node",this)}_execute(){Ju(T._createFromPositionAndShift(this.sourcePosition,this.howMany))}static get className(){return"DetachOperation"}}class Me extends Ve{constructor(t){super(),this.markers=new Map,this._children=new lo,t&&this._insertChild(0,t)}[Symbol.iterator](){return this.getChildren()}get childCount(){return this._children.length}get maxOffset(){return this._children.maxOffset}get isEmpty(){return this.childCount===0}get nextSibling(){return null}get previousSibling(){return null}get root(){return this}get parent(){return null}get document(){return null}isAttached(){return!1}getAncestors(){return[]}getChild(t){return this._children.getNode(t)}getChildren(){return this._children[Symbol.iterator]()}getChildIndex(t){return this._children.getNodeIndex(t)}getChildStartOffset(t){return this._children.getNodeStartOffset(t)}getPath(){return[]}getNodeByPath(t){let e=this;for(const n of t)e=e.getChild(e.offsetToIndex(n));return e}offsetToIndex(t){return this._children.offsetToIndex(t)}toJSON(){const t=[];for(const e of this._children)t.push(e.toJSON());return t}static fromJSON(t){const e=[];for(const n of t)n.name?e.push(lt.fromJSON(n)):e.push(ft.fromJSON(n));return new Me(e)}_appendChild(t){this._insertChild(this.childCount,t)}_insertChild(t,e){const n=kE(e);for(const i of n)i.parent!==null&&i._remove(),i.parent=this;this._children._insertNodes(t,n)}_removeChildren(t,e=1){const n=this._children._removeNodes(t,e);for(const i of n)i.parent=null;return n}}Me.prototype.is=function(o){return o==="documentFragment"||o==="model:documentFragment"};function kE(o){return typeof o=="string"?[new ft(o)]:($t(o)||(o=[o]),Array.from(o).map(t=>typeof t=="string"?new ft(t):t instanceof ge?new ft(t.data,t.getAttributes()):t))}class bE{constructor(t,e){this.model=t,this.batch=e}createText(t,e){return new ft(t,e)}createElement(t,e){return new lt(t,e)}createDocumentFragment(){return new Me}cloneElement(t,e=!0){return t._clone(e)}insert(t,e,n=0){if(this._assertWriterUsedCorrectly(),t instanceof ft&&t.data=="")return;const i=N._createAt(e,n);if(t.parent)if(hh(t.root,i.root)){this.move(T._createOn(t),i);return}else{if(t.root.document)throw new b("model-writer-insert-forbidden-move",this);this.remove(t)}const r=i.root.document?i.root.document.version:null,s=new Nt(i,t,r);if(t instanceof ft&&(s.shouldReceiveAttributes=!0),this.batch.addOperation(s),this.model.applyOperation(s),t instanceof Me)for(const[a,c]of t.markers){const l=N._createAt(c.root,0),u={range:new T(c.start._getCombined(l,i),c.end._getCombined(l,i)),usingOperation:!0,affectsData:!0};this.model.markers.has(a)?this.updateMarker(a,u):this.addMarker(a,u)}}insertText(t,e,n,i){e instanceof Me||e instanceof lt||e instanceof N?this.insert(this.createText(t),e,n):this.insert(this.createText(t,e),n,i)}insertElement(t,e,n,i){e instanceof Me||e instanceof lt||e instanceof N?this.insert(this.createElement(t),e,n):this.insert(this.createElement(t,e),n,i)}append(t,e){this.insert(t,e,"end")}appendText(t,e,n){e instanceof Me||e instanceof lt?this.insert(this.createText(t),e,"end"):this.insert(this.createText(t,e),n,"end")}appendElement(t,e,n){e instanceof Me||e instanceof lt?this.insert(this.createElement(t),e,"end"):this.insert(this.createElement(t,e),n,"end")}setAttribute(t,e,n){if(this._assertWriterUsedCorrectly(),n instanceof T){const i=n.getMinimalFlatRanges();for(const r of i)dh(this,t,e,r)}else uh(this,t,e,n)}setAttributes(t,e){for(const[n,i]of De(t))this.setAttribute(n,i,e)}removeAttribute(t,e){if(this._assertWriterUsedCorrectly(),e instanceof T){const n=e.getMinimalFlatRanges();for(const i of n)dh(this,t,null,i)}else uh(this,t,null,e)}clearAttributes(t){this._assertWriterUsedCorrectly();const e=n=>{for(const i of n.getAttributeKeys())this.removeAttribute(i,n)};if(!(t instanceof T))e(t);else for(const n of t.getItems())e(n)}move(t,e,n){if(this._assertWriterUsedCorrectly(),!(t instanceof T))throw new b("writer-move-invalid-range",this);if(!t.isFlat)throw new b("writer-move-range-not-flat",this);const i=N._createAt(e,n);if(i.isEqual(t.start))return;if(this._addOperationForAffectedMarkers("move",t),!hh(t.root,i.root))throw new b("writer-move-different-document",this);const r=t.root.document?t.root.document.version:null,s=new ot(t.start,t.end.offset-t.start.offset,i,r);this.batch.addOperation(s),this.model.applyOperation(s)}remove(t){this._assertWriterUsedCorrectly();const n=(t instanceof T?t:T._createOn(t)).getMinimalFlatRanges().reverse();for(const i of n)this._addOperationForAffectedMarkers("move",i),wE(i.start,i.end.offset-i.start.offset,this.batch,this.model)}merge(t){this._assertWriterUsedCorrectly();const e=t.nodeBefore,n=t.nodeAfter;if(this._addOperationForAffectedMarkers("merge",t),!(e instanceof lt))throw new b("writer-merge-no-element-before",this);if(!(n instanceof lt))throw new b("writer-merge-no-element-after",this);t.root.document?this._merge(t):this._mergeDetached(t)}createPositionFromPath(t,e,n){return this.model.createPositionFromPath(t,e,n)}createPositionAt(t,e){return this.model.createPositionAt(t,e)}createPositionAfter(t){return this.model.createPositionAfter(t)}createPositionBefore(t){return this.model.createPositionBefore(t)}createRange(t,e){return this.model.createRange(t,e)}createRangeIn(t){return this.model.createRangeIn(t)}createRangeOn(t){return this.model.createRangeOn(t)}createSelection(...t){return this.model.createSelection(...t)}_mergeDetached(t){const e=t.nodeBefore,n=t.nodeAfter;this.move(T._createIn(n),N._createAt(e,"end")),this.remove(n)}_merge(t){const e=N._createAt(t.nodeBefore,"end"),n=N._createAt(t.nodeAfter,0),i=t.root.document.graveyard,r=new N(i,[0]),s=t.root.document.version,a=new vt(n,t.nodeAfter.maxOffset,e,r,s);this.batch.addOperation(a),this.model.applyOperation(a)}rename(t,e){if(this._assertWriterUsedCorrectly(),!(t instanceof lt))throw new b("writer-rename-not-element-instance",this);const n=t.root.document?t.root.document.version:null,i=new Gt(N._createBefore(t),t.name,e,n);this.batch.addOperation(i),this.model.applyOperation(i)}split(t,e){this._assertWriterUsedCorrectly();let n=t.parent;if(!n.parent)throw new b("writer-split-element-no-parent",this);if(e||(e=n.parent),!t.parent.getAncestors({includeSelf:!0}).includes(e))throw new b("writer-split-invalid-limit-element",this);let i,r;do{const s=n.root.document?n.root.document.version:null,a=n.maxOffset-t.offset,c=mt.getInsertionPosition(t),l=new mt(t,a,c,null,s);this.batch.addOperation(l),this.model.applyOperation(l),!i&&!r&&(i=n,r=t.parent.nextSibling),t=this.createPositionAfter(t.parent),n=t.parent}while(n!==e);return{position:t,range:new T(N._createAt(i,"end"),N._createAt(r,0))}}wrap(t,e){if(this._assertWriterUsedCorrectly(),!t.isFlat)throw new b("writer-wrap-range-not-flat",this);const n=e instanceof lt?e:new lt(e);if(n.childCount>0)throw new b("writer-wrap-element-not-empty",this);if(n.parent!==null)throw new b("writer-wrap-element-attached",this);this.insert(n,t.start);const i=new T(t.start.getShiftedBy(1),t.end.getShiftedBy(1));this.move(i,N._createAt(n,0))}unwrap(t){if(this._assertWriterUsedCorrectly(),t.parent===null)throw new b("writer-unwrap-element-no-parent",this);this.move(T._createIn(t),this.createPositionAfter(t)),this.remove(t)}addMarker(t,e){if(this._assertWriterUsedCorrectly(),!e||typeof e.usingOperation!="boolean")throw new b("writer-addmarker-no-usingoperation",this);const n=e.usingOperation,i=e.range,r=e.affectsData===void 0?!1:e.affectsData;if(this.model.markers.has(t))throw new b("writer-addmarker-marker-exists",this);if(!i)throw new b("writer-addmarker-no-range",this);return n?(wo(this,t,null,i,r),this.model.markers.get(t)):this.model.markers._set(t,i,n,r)}updateMarker(t,e){this._assertWriterUsedCorrectly();const n=typeof t=="string"?t:t.name,i=this.model.markers.get(n);if(!i)throw new b("writer-updatemarker-marker-not-exists",this);if(!e){at("writer-updatemarker-reconvert-using-editingcontroller",{markerName:n}),this.model.markers._refresh(i);return}const r=typeof e.usingOperation=="boolean",s=typeof e.affectsData=="boolean",a=s?e.affectsData:i.affectsData;if(!r&&!e.range&&!s)throw new b("writer-updatemarker-wrong-options",this);const c=i.getRange(),l=e.range?e.range:c;if(r&&e.usingOperation!==i.managedUsingOperations){e.usingOperation?wo(this,n,null,l,a):(wo(this,n,c,null,a),this.model.markers._set(n,l,void 0,a));return}i.managedUsingOperations?wo(this,n,c,l,a):this.model.markers._set(n,l,void 0,a)}removeMarker(t){this._assertWriterUsedCorrectly();const e=typeof t=="string"?t:t.name;if(!this.model.markers.has(e))throw new b("writer-removemarker-no-marker",this);const n=this.model.markers.get(e);if(!n.managedUsingOperations){this.model.markers._remove(e);return}const i=n.getRange();wo(this,e,i,null,n.affectsData)}addRoot(t,e="$root"){this._assertWriterUsedCorrectly();const n=this.model.document.getRoot(t);if(n&&n.isAttached())throw new b("writer-addroot-root-exists",this);const i=this.model.document,r=new Ce(t,e,!0,i,i.version);return this.batch.addOperation(r),this.model.applyOperation(r),this.model.document.getRoot(t)}detachRoot(t){this._assertWriterUsedCorrectly();const e=typeof t=="string"?this.model.document.getRoot(t):t;if(!e||!e.isAttached())throw new b("writer-detachroot-no-root",this);for(const r of this.model.markers)r.getRange().root===e&&this.removeMarker(r);for(const r of e.getAttributeKeys())this.removeAttribute(r,e);this.remove(this.createRangeIn(e));const n=this.model.document,i=new Ce(e.rootName,e.name,!1,n,n.version);this.batch.addOperation(i),this.model.applyOperation(i)}setSelection(...t){this._assertWriterUsedCorrectly(),this.model.document.selection._setTo(...t)}setSelectionFocus(t,e){this._assertWriterUsedCorrectly(),this.model.document.selection._setFocus(t,e)}setSelectionAttribute(t,e){if(this._assertWriterUsedCorrectly(),typeof t=="string")this._setSelectionAttribute(t,e);else for(const[n,i]of De(t))this._setSelectionAttribute(n,i)}removeSelectionAttribute(t){if(this._assertWriterUsedCorrectly(),typeof t=="string")this._removeSelectionAttribute(t);else for(const e of t)this._removeSelectionAttribute(e)}overrideSelectionGravity(){return this.model.document.selection._overrideGravity()}restoreSelectionGravity(t){this.model.document.selection._restoreGravity(t)}_setSelectionAttribute(t,e){const n=this.model.document.selection;if(n.isCollapsed&&n.anchor.parent.isEmpty){const i=me._getStoreAttributeKey(t);this.setAttribute(i,e,n.anchor.parent)}n._setAttribute(t,e)}_removeSelectionAttribute(t){const e=this.model.document.selection;if(e.isCollapsed&&e.anchor.parent.isEmpty){const n=me._getStoreAttributeKey(t);this.removeAttribute(n,e.anchor.parent)}e._removeAttribute(t)}_assertWriterUsedCorrectly(){if(this.model._currentWriter!==this)throw new b("writer-incorrect-use",this)}_addOperationForAffectedMarkers(t,e){for(const n of this.model.markers){if(!n.managedUsingOperations)continue;const i=n.getRange();let r=!1;if(t==="move"){const s=e;r=s.containsPosition(i.start)||s.start.isEqual(i.start)||s.containsPosition(i.end)||s.end.isEqual(i.end)}else{const s=e,a=s.nodeBefore,c=s.nodeAfter,l=i.start.parent==a&&i.start.isAtEnd,d=i.end.parent==c&&i.end.offset==0,u=i.end.nodeAfter==c,f=i.start.nodeAfter==c;r=l||d||u||f}r&&this.updateMarker(n.name,{range:i})}}}function dh(o,t,e,n){const i=o.model,r=i.document;let s=n.start,a,c,l;for(const u of n.getWalker({shallow:!0}))l=u.item.getAttribute(t),a&&c!=l&&(c!=e&&d(),s=a),a=u.nextPosition,c=l;a instanceof N&&a!=s&&c!=e&&d();function d(){const u=new T(s,a),f=u.root.document?r.version:null,p=new Et(u,t,c,e,f);o.batch.addOperation(p),i.applyOperation(p)}}function uh(o,t,e,n){const i=o.model,r=i.document,s=n.getAttribute(t);let a,c;if(s!=e){if(n.root===n){const d=n.document?r.version:null;c=new Ie(n,t,s,e,d)}else{a=new T(N._createBefore(n),o.createPositionAfter(n));const d=a.root.document?r.version:null;c=new Et(a,t,s,e,d)}o.batch.addOperation(c),i.applyOperation(c)}}function wo(o,t,e,n,i){const r=o.model,s=r.document,a=new Wt(t,e,n,r.markers,!!i,s.version);o.batch.addOperation(a),r.applyOperation(a)}function wE(o,t,e,n){let i;if(o.root.document){const r=n.document,s=new N(r.graveyard,[0]);i=new ot(o,t,s,r.version)}else i=new pE(o,t);e.addOperation(i),n.applyOperation(i)}function hh(o,t){return o===t||o instanceof ui&&t instanceof ui}function AE(o,t,e={}){if(t.isCollapsed)return;const n=t.getFirstRange();if(n.root.rootName=="$graveyard")return;const i=o.schema;o.change(r=>{if(!e.doNotResetEntireContent&&TE(i,t)){SE(r,t);return}const s={};if(!e.doNotAutoparagraph){const l=t.getSelectedElement();l&&Object.assign(s,i.getAttributesWithProperty(l,"copyOnReplace",!0))}const[a,c]=CE(n);a.isTouching(c)||r.remove(r.createRange(a,c)),e.leaveUnmerged||(vE(r,a,c),i.removeDisallowedAttributes(a.parent.getChildren(),r)),ph(r,t,a),!e.doNotAutoparagraph&&EE(i,a)&&mh(r,a,t,s),a.detach(),c.detach()})}function CE(o){const t=o.root.document.model,e=o.start;let n=o.end;if(t.hasContent(o,{ignoreMarkers:!0})){const i=_E(n);if(i&&n.isTouching(t.createPositionAt(i,0))){const r=t.createSelection(o);t.modifySelection(r,{direction:"backward"});const s=r.getLastPosition(),a=t.createRange(s,n);t.hasContent(a,{ignoreMarkers:!0})||(n=s)}}return[Lt.fromPosition(e,"toPrevious"),Lt.fromPosition(n,"toNext")]}function _E(o){const t=o.parent,e=t.root.document.model.schema,n=t.getAncestors({parentFirst:!0,includeSelf:!0});for(const i of n){if(e.isLimit(i))return null;if(e.isBlock(i))return i}}function vE(o,t,e){const n=o.model;if(!ms(o.model.schema,t,e))return;const[i,r]=xE(t,e);!i||!r||(!n.hasContent(i,{ignoreMarkers:!0})&&n.hasContent(r,{ignoreMarkers:!0})?fh(o,t,e,i.parent):gh(o,t,e,i.parent))}function gh(o,t,e,n){const i=t.parent,r=e.parent;if(!(i==n||r==n)){for(t=o.createPositionAfter(i),e=o.createPositionBefore(r),e.isEqual(t)||o.insert(r,t),o.merge(t);e.parent.isEmpty;){const s=e.parent;e=o.createPositionBefore(s),o.remove(s)}ms(o.model.schema,t,e)&&gh(o,t,e,n)}}function fh(o,t,e,n){const i=t.parent,r=e.parent;if(!(i==n||r==n)){for(t=o.createPositionAfter(i),e=o.createPositionBefore(r),e.isEqual(t)||o.insert(i,e);t.parent.isEmpty;){const s=t.parent;t=o.createPositionBefore(s),o.remove(s)}e=o.createPositionBefore(r),yE(o,e),ms(o.model.schema,t,e)&&fh(o,t,e,n)}}function yE(o,t){const e=t.nodeBefore,n=t.nodeAfter;e.name!=n.name&&o.rename(e,n.name),o.clearAttributes(e),o.setAttributes(Object.fromEntries(n.getAttributes()),e),o.merge(t)}function ms(o,t,e){const n=t.parent,i=e.parent;return n==i||o.isLimit(n)||o.isLimit(i)?!1:DE(t,e,o)}function xE(o,t){const e=o.getAncestors(),n=t.getAncestors();let i=0;for(;e[i]&&e[i]==n[i];)i++;return[e[i],n[i]]}function EE(o,t){const e=o.checkChild(t,"$text"),n=o.checkChild(t,"paragraph");return!e&&n}function DE(o,t,e){const n=new T(o,t);for(const i of n.getWalker())if(e.isLimit(i.item))return!1;return!0}function mh(o,t,e,n={}){const i=o.createElement("paragraph");o.model.schema.setAllowedAttributes(i,n,o),o.insert(i,t),ph(o,e,o.createPositionAt(i,0))}function SE(o,t){const e=o.model.schema.getLimitElement(t);o.remove(o.createRangeIn(e)),mh(o,o.createPositionAt(e,0),t)}function TE(o,t){const e=o.getLimitElement(t);if(!t.containsEntireContent(e))return!1;const n=t.getFirstRange();return n.start.parent==n.end.parent?!1:o.checkChild(e,"paragraph")}function ph(o,t,e){t instanceof me?o.setSelection(e):t.setTo(e)}function IE(o,t){return o.change(e=>{const n=e.createDocumentFragment(),i=t.getFirstRange();if(!i||i.isCollapsed)return n;const r=i.start.root,s=i.start.getCommonPath(i.end),a=r.getNodeByPath(s);let c;i.start.parent==i.end.parent?c=i:c=e.createRange(e.createPositionAt(a,i.start.path[s.length]),e.createPositionAt(a,i.end.path[s.length]+1));const l=c.end.offset-c.start.offset;for(const d of c.getItems({shallow:!0}))d.is("$textProxy")?e.appendText(d.data,d.getAttributes(),n):e.append(e.cloneElement(d,!0),n);if(c!=i){const d=i._getTransformedByMove(c.start,e.createPositionAt(n,0),l)[0],u=e.createRange(e.createPositionAt(n,0),d.start),f=e.createRange(d.end,e.createPositionAt(n,"end"));kh(f,e),kh(u,e)}return n})}function kh(o,t){const e=[];Array.from(o.getItems({direction:"backward"})).map(n=>t.createRangeOn(n)).filter(n=>(n.start.isAfter(o.start)||n.start.isEqual(o.start))&&(n.end.isBefore(o.end)||n.end.isEqual(o.end))).forEach(n=>{e.push(n.start.parent),t.remove(n)}),e.forEach(n=>{let i=n;for(;i.parent&&i.isEmpty;){const r=t.createRangeOn(i);i=i.parent,t.remove(r)}})}function ME(o,t,e){return o.change(n=>{const i=e||o.document.selection;i.isCollapsed||o.deleteContent(i,{doNotAutoparagraph:!0});const r=new BE(o,n,i.anchor),s=[];let a;if(t.is("documentFragment")){if(t.markers.size){const d=[];for(const[u,f]of t.markers){const{start:p,end:w}=f,S=p.isEqual(w);d.push({position:p,name:u,isCollapsed:S},{position:w,name:u,isCollapsed:S})}d.sort(({position:u},{position:f})=>u.isBefore(f)?1:-1);for(const{position:u,name:f,isCollapsed:p}of d){let w=null,S=null;const B=u.parent===t&&u.isAtStart,z=u.parent===t&&u.isAtEnd;!B&&!z?(w=n.createElement("$marker"),n.insert(w,u)):p&&(S=B?"start":"end"),s.push({name:f,element:w,collapsed:S})}}a=t.getChildren()}else a=[t];r.handleNodes(a);let c=r.getSelectionRange();if(t.is("documentFragment")&&s.length){const d=c?Xt.fromRange(c):null,u={};for(let f=s.length-1;f>=0;f--){const{name:p,element:w,collapsed:S}=s[f],B=!u[p];if(B&&(u[p]=[]),w){const z=n.createPositionAt(w,"before");u[p].push(z),n.remove(w)}else{const z=r.getAffectedRange();if(!z){S&&u[p].push(r.position);continue}S?u[p].push(z[S]):u[p].push(B?z.start:z.end)}}for(const[f,[p,w]]of Object.entries(u))p&&w&&p.root===w.root&&n.addMarker(f,{usingOperation:!0,affectsData:!0,range:new T(p,w)});d&&(c=d.toRange(),d.detach())}c&&(i instanceof me?n.setSelection(c):i.setTo(c));const l=r.getAffectedRange()||o.createRange(i.anchor);return r.destroy(),l})}class BE{constructor(t,e,n){this._firstNode=null,this._lastNode=null,this._lastAutoParagraph=null,this._filterAttributesOf=[],this._affectedStart=null,this._affectedEnd=null,this._nodeToSelect=null,this.model=t,this.writer=e,this.position=n,this.canMergeWith=new Set([this.position.parent]),this.schema=t.schema,this._documentFragment=e.createDocumentFragment(),this._documentFragmentPosition=e.createPositionAt(this._documentFragment,0)}handleNodes(t){for(const e of Array.from(t))this._handleNode(e);this._insertPartialFragment(),this._lastAutoParagraph&&this._updateLastNodeFromAutoParagraph(this._lastAutoParagraph),this._mergeOnRight(),this.schema.removeDisallowedAttributes(this._filterAttributesOf,this.writer),this._filterAttributesOf=[]}_updateLastNodeFromAutoParagraph(t){const e=this.writer.createPositionAfter(this._lastNode),n=this.writer.createPositionAfter(t);if(n.isAfter(e)){if(this._lastNode=t,this.position.parent!=t||!this.position.isAtEnd)throw new b("insertcontent-invalid-insertion-position",this);this.position=n,this._setAffectedBoundaries(this.position)}}getSelectionRange(){return this._nodeToSelect?T._createOn(this._nodeToSelect):this.model.schema.getNearestSelectionRange(this.position)}getAffectedRange(){return this._affectedStart?new T(this._affectedStart,this._affectedEnd):null}destroy(){this._affectedStart&&this._affectedStart.detach(),this._affectedEnd&&this._affectedEnd.detach()}_handleNode(t){if(this.schema.isObject(t)){this._handleObject(t);return}let e=this._checkAndAutoParagraphToAllowedPosition(t);if(!e&&(e=this._checkAndSplitToAllowedPosition(t),!e)){this._handleDisallowedNode(t);return}this._appendToFragment(t),this._firstNode||(this._firstNode=t),this._lastNode=t}_insertPartialFragment(){if(this._documentFragment.isEmpty)return;const t=Lt.fromPosition(this.position,"toNext");this._setAffectedBoundaries(this.position),this._documentFragment.getChild(0)==this._firstNode&&(this.writer.insert(this._firstNode,this.position),this._mergeOnLeft(),this.position=t.toPosition()),this._documentFragment.isEmpty||this.writer.insert(this._documentFragment,this.position),this._documentFragmentPosition=this.writer.createPositionAt(this._documentFragment,0),this.position=t.toPosition(),t.detach()}_handleObject(t){this._checkAndSplitToAllowedPosition(t)?this._appendToFragment(t):this._tryAutoparagraphing(t)}_handleDisallowedNode(t){t.is("element")?this.handleNodes(t.getChildren()):this._tryAutoparagraphing(t)}_appendToFragment(t){if(!this.schema.checkChild(this.position,t))throw new b("insertcontent-wrong-position",this,{node:t,position:this.position});this.writer.insert(t,this._documentFragmentPosition),this._documentFragmentPosition=this._documentFragmentPosition.getShiftedBy(t.offsetSize),this.schema.isObject(t)&&!this.schema.checkChild(this.position,"$text")?this._nodeToSelect=t:this._nodeToSelect=null,this._filterAttributesOf.push(t)}_setAffectedBoundaries(t){this._affectedStart||(this._affectedStart=Lt.fromPosition(t,"toPrevious")),(!this._affectedEnd||this._affectedEnd.isBefore(t))&&(this._affectedEnd&&this._affectedEnd.detach(),this._affectedEnd=Lt.fromPosition(t,"toNext"))}_mergeOnLeft(){const t=this._firstNode;if(!(t instanceof lt)||!this._canMergeLeft(t))return;const e=Lt._createBefore(t);e.stickiness="toNext";const n=Lt.fromPosition(this.position,"toNext");this._affectedStart.isEqual(e)&&(this._affectedStart.detach(),this._affectedStart=Lt._createAt(e.nodeBefore,"end","toPrevious")),this._firstNode===this._lastNode&&(this._firstNode=e.nodeBefore,this._lastNode=e.nodeBefore),this.writer.merge(e),e.isEqual(this._affectedEnd)&&this._firstNode===this._lastNode&&(this._affectedEnd.detach(),this._affectedEnd=Lt._createAt(e.nodeBefore,"end","toNext")),this.position=n.toPosition(),n.detach(),this._filterAttributesOf.push(this.position.parent),e.detach()}_mergeOnRight(){const t=this._lastNode;if(!(t instanceof lt)||!this._canMergeRight(t))return;const e=Lt._createAfter(t);if(e.stickiness="toNext",!this.position.isEqual(e))throw new b("insertcontent-invalid-insertion-position",this);this.position=N._createAt(e.nodeBefore,"end");const n=Lt.fromPosition(this.position,"toPrevious");this._affectedEnd.isEqual(e)&&(this._affectedEnd.detach(),this._affectedEnd=Lt._createAt(e.nodeBefore,"end","toNext")),this._firstNode===this._lastNode&&(this._firstNode=e.nodeBefore,this._lastNode=e.nodeBefore),this.writer.merge(e),e.getShiftedBy(-1).isEqual(this._affectedStart)&&this._firstNode===this._lastNode&&(this._affectedStart.detach(),this._affectedStart=Lt._createAt(e.nodeBefore,0,"toPrevious")),this.position=n.toPosition(),n.detach(),this._filterAttributesOf.push(this.position.parent),e.detach()}_canMergeLeft(t){const e=t.previousSibling;return e instanceof lt&&this.canMergeWith.has(e)&&this.model.schema.checkMerge(e,t)}_canMergeRight(t){const e=t.nextSibling;return e instanceof lt&&this.canMergeWith.has(e)&&this.model.schema.checkMerge(t,e)}_tryAutoparagraphing(t){const e=this.writer.createElement("paragraph");this._getAllowedIn(this.position.parent,e)&&this.schema.checkChild(e,t)&&(e._appendChild(t),this._handleNode(e))}_checkAndAutoParagraphToAllowedPosition(t){if(this.schema.checkChild(this.position.parent,t))return!0;if(!this.schema.checkChild(this.position.parent,"paragraph")||!this.schema.checkChild("paragraph",t))return!1;this._insertPartialFragment();const e=this.writer.createElement("paragraph");return this.writer.insert(e,this.position),this._setAffectedBoundaries(this.position),this._lastAutoParagraph=e,this.position=this.writer.createPositionAt(e,0),!0}_checkAndSplitToAllowedPosition(t){const e=this._getAllowedIn(this.position.parent,t);if(!e)return!1;for(e!=this.position.parent&&this._insertPartialFragment();e!=this.position.parent;)if(this.position.isAtStart){const n=this.position.parent;this.position=this.writer.createPositionBefore(n),n.isEmpty&&n.parent===e&&this.writer.remove(n)}else if(this.position.isAtEnd)this.position=this.writer.createPositionAfter(this.position.parent);else{const n=this.writer.createPositionAfter(this.position.parent);this._setAffectedBoundaries(this.position),this.writer.split(this.position),this.position=n,this.canMergeWith.add(this.position.nodeAfter)}return!0}_getAllowedIn(t,e){return this.schema.checkChild(t,e)?t:this.schema.isLimit(t)?null:this._getAllowedIn(t.parent,e)}}function bh(o,t,e="auto"){const n=o.getSelectedElement();if(n&&t.schema.isObject(n)&&!t.schema.isInline(n))return e=="before"||e=="after"?t.createRange(t.createPositionAt(n,e)):t.createRangeOn(n);const i=It(o.getSelectedBlocks());if(!i)return t.createRange(o.focus);if(i.isEmpty)return t.createRange(t.createPositionAt(i,0));const r=t.createPositionAfter(i);return o.focus.isTouching(r)?t.createRange(r):t.createRange(t.createPositionBefore(i))}function NE(o,t,e,n={}){if(!o.schema.isObject(t))throw new b("insertobject-element-not-an-object",o,{object:t});const i=e||o.document.selection;let r=i;n.findOptimalPosition&&o.schema.isBlock(t)&&(r=o.createSelection(bh(i,o,n.findOptimalPosition)));const s=It(i.getSelectedBlocks()),a={};return s&&Object.assign(a,o.schema.getAttributesWithProperty(s,"copyOnReplace",!0)),o.change(c=>{r.isCollapsed||o.deleteContent(r,{doNotAutoparagraph:!0});let l=t;const d=r.anchor.parent;!o.schema.checkChild(d,t)&&o.schema.checkChild(d,"paragraph")&&o.schema.checkChild("paragraph",t)&&(l=c.createElement("paragraph"),c.insert(t,l)),o.schema.setAllowedAttributes(l,a,c);const u=o.insertContent(l,r);return u.isCollapsed||n.setSelection&&zE(c,t,n.setSelection,a),u})}function zE(o,t,e,n){const i=o.model;if(e=="on"){o.setSelection(t,"on");return}if(e!="after")throw new b("insertobject-invalid-place-parameter-value",i);let r=t.nextSibling;if(i.schema.isInline(t)){o.setSelection(t,"after");return}!(r&&i.schema.checkChild(r,"$text"))&&i.schema.checkChild(t.parent,"paragraph")&&(r=o.createElement("paragraph"),i.schema.setAllowedAttributes(r,n,o),i.insertContent(r,o.createPositionAfter(t))),r&&o.setSelection(r,0)}const PE=' ,.?!:;"-()';function LE(o,t,e={}){const n=o.schema,i=e.direction!="backward",r=e.unit?e.unit:"character",s=!!e.treatEmojiAsSingleUnit,a=t.focus,c=new fe({boundaries:FE(a,i),singleCharacters:!0,direction:i?"forward":"backward"}),l={walker:c,schema:n,isForward:i,unit:r,treatEmojiAsSingleUnit:s};let d;for(;d=c.next();){if(d.done)return;const u=OE(l,d.value);if(u){t instanceof me?o.change(f=>{f.setSelectionFocus(u)}):t.setFocus(u);return}}}function OE(o,t){const{isForward:e,walker:n,unit:i,schema:r,treatEmojiAsSingleUnit:s}=o,{type:a,item:c,nextPosition:l}=t;if(a=="text")return o.unit==="word"?jE(n,e):RE(n,i,s);if(a==(e?"elementStart":"elementEnd")){if(r.isSelectable(c))return N._createAt(c,e?"after":"before");if(r.checkChild(l,"$text"))return l}else{if(r.isLimit(c)){n.skip(()=>!0);return}if(r.checkChild(l,"$text"))return l}}function RE(o,t,e){const n=o.position.textNode;if(n){const i=n.data;let r=o.position.offset-n.startOffset;for(;Ar(i,r)||t=="character"&&Cr(i,r)||e&&Kl(i,r);)o.next(),r=o.position.offset-n.startOffset}return o.position}function jE(o,t){let e=o.position.textNode;for(e||(e=t?o.position.nodeAfter:o.position.nodeBefore);e&&e.is("$text");){const n=o.position.offset-e.startOffset;if(HE(e,n,t))e=t?o.position.nodeAfter:o.position.nodeBefore;else{if(VE(e.data,n,t))break;o.next()}}return o.position}function FE(o,t){const e=o.root,n=N._createAt(e,t?"end":0);return t?new T(o,n):new T(n,o)}function VE(o,t,e){const n=t+(e?0:-1);return PE.includes(o.charAt(n))}function HE(o,t,e){return t===(e?o.offsetSize:0)}class UE extends rt(){constructor(){super(),this.markers=new mE,this.document=new fE(this),this.schema=new T2,this._pendingChanges=[],this._currentWriter=null,["deleteContent","modifySelection","getSelectedContent","applyOperation"].forEach(t=>this.decorate(t)),this.on("applyOperation",(t,e)=>{e[0]._validate()},{priority:"highest"}),this.schema.register("$root",{isLimit:!0}),this.schema.register("$container",{allowIn:["$root","$container"]}),this.schema.register("$block",{allowIn:["$root","$container"],isBlock:!0}),this.schema.register("$blockObject",{allowWhere:"$block",isBlock:!0,isObject:!0}),this.schema.register("$inlineObject",{allowWhere:"$text",allowAttributesOf:"$text",isInline:!0,isObject:!0}),this.schema.register("$text",{allowIn:"$block",isInline:!0,isContent:!0}),this.schema.register("$clipboardHolder",{allowContentOf:"$root",allowChildren:"$text",isLimit:!0}),this.schema.register("$documentFragment",{allowContentOf:"$root",allowChildren:"$text",isLimit:!0}),this.schema.register("$marker"),this.schema.addChildCheck((t,e)=>{if(e.name==="$marker")return!0}),A2(this),this.document.registerPostFixer(ju),this.on("insertContent",(t,[e,n])=>{t.return=ME(this,e,n)}),this.on("insertObject",(t,[e,n,i])=>{t.return=NE(this,e,n,i)}),this.on("canEditAt",t=>{const e=!this.document.isReadOnly;t.return=e,e||t.stop()})}change(t){try{return this._pendingChanges.length===0?(this._pendingChanges.push({batch:new Bn,callback:t}),this._runPendingChanges()[0]):t(this._currentWriter)}catch(e){b.rethrowUnexpectedError(e,this)}}enqueueChange(t,e){try{t?typeof t=="function"?(e=t,t=new Bn):t instanceof Bn||(t=new Bn(t)):t=new Bn,this._pendingChanges.push({batch:t,callback:e}),this._pendingChanges.length==1&&this._runPendingChanges()}catch(n){b.rethrowUnexpectedError(n,this)}}applyOperation(t){t._execute()}insertContent(t,e,n,...i){const r=ps(e,n);return this.fire("insertContent",[t,r,n,...i])}insertObject(t,e,n,i,...r){const s=ps(e,n);return this.fire("insertObject",[t,s,i,i,...r])}deleteContent(t,e){AE(this,t,e)}modifySelection(t,e){LE(this,t,e)}getSelectedContent(t){return IE(this,t)}hasContent(t,e={}){const n=t instanceof T?t:T._createIn(t);if(n.isCollapsed)return!1;const{ignoreWhitespaces:i=!1,ignoreMarkers:r=!1}=e;if(!r){for(const s of this.markers.getMarkersIntersectingRange(n))if(s.affectsData)return!0}for(const s of n.getItems())if(this.schema.isContent(s))if(s.is("$textProxy"))if(i){if(s.data.search(/\S/)!==-1)return!0}else return!0;else return!0;return!1}canEditAt(t){const e=ps(t);return this.fire("canEditAt",[e])}createPositionFromPath(t,e,n){return new N(t,e,n)}createPositionAt(t,e){return N._createAt(t,e)}createPositionAfter(t){return N._createAfter(t)}createPositionBefore(t){return N._createBefore(t)}createRange(t,e){return new T(t,e)}createRangeIn(t){return T._createIn(t)}createRangeOn(t){return T._createOn(t)}createSelection(...t){return new Jt(...t)}createBatch(t){return new Bn(t)}createOperationFromJSON(t){return nE.fromJSON(t,this.document)}destroy(){this.document.destroy(),this.stopListening()}_runPendingChanges(){const t=[];this.fire("_beforeChanges");try{for(;this._pendingChanges.length;){const e=this._pendingChanges[0].batch;this._currentWriter=new bE(this,e);const n=this._pendingChanges[0].callback(this._currentWriter);t.push(n),this.document._handleChangeBlock(this._currentWriter),this._pendingChanges.shift(),this._currentWriter=null}}finally{this._pendingChanges.length=0,this._currentWriter=null,this.fire("_afterChanges")}return t}}function ps(o,t){if(o)return o instanceof Jt||o instanceof me?o:o instanceof sn?t||t===0?new Jt(o,t):o.is("rootElement")?new Jt(o,"in"):new Jt(o,"on"):new Jt(o)}class qE extends je{constructor(){super(...arguments),this.domEventType="click"}onDomEvent(t){this.fire(t.type,t)}}class hi extends je{constructor(){super(...arguments),this.domEventType=["mousedown","mouseup","mouseover","mouseout"]}onDomEvent(t){this.fire(t.type,t)}}class He{constructor(t){this.document=t}createDocumentFragment(t){return new rn(this.document,t)}createElement(t,e,n){return new Yt(this.document,t,e,n)}createText(t){return new gt(this.document,t)}clone(t,e=!1){return t._clone(e)}appendChild(t,e){return e._appendChild(t)}insertChild(t,e,n){return n._insertChild(t,e)}removeChildren(t,e,n){return n._removeChildren(t,e)}remove(t){const e=t.parent;return e?this.removeChildren(e.getChildIndex(t),1,e):[]}replace(t,e){const n=t.parent;if(n){const i=n.getChildIndex(t);return this.removeChildren(i,1,n),this.insertChild(i,e,n),!0}return!1}unwrapElement(t){const e=t.parent;if(e){const n=e.getChildIndex(t);this.remove(t),this.insertChild(n,t.getChildren(),e)}}rename(t,e){const n=new Yt(this.document,t,e.getAttributes(),e.getChildren());return this.replace(e,n)?n:null}setAttribute(t,e,n){n._setAttribute(t,e)}removeAttribute(t,e){e._removeAttribute(t)}addClass(t,e){e._addClass(t)}removeClass(t,e){e._removeClass(t)}setStyle(t,e,n){Kt(t)&&n===void 0?e._setStyle(t):n._setStyle(t,e)}removeStyle(t,e){e._removeStyle(t)}setCustomProperty(t,e,n){n._setCustomProperty(t,e)}removeCustomProperty(t,e){return e._removeCustomProperty(t)}createPositionAt(t,e){return O._createAt(t,e)}createPositionAfter(t){return O._createAfter(t)}createPositionBefore(t){return O._createBefore(t)}createRange(t,e){return new K(t,e)}createRangeOn(t){return K._createOn(t)}createRangeIn(t){return K._createIn(t)}createSelection(...t){return new ue(...t)}}class WE{constructor(){this._commands=new Map}add(t,e){this._commands.set(t,e)}get(t){return this._commands.get(t)}execute(t,...e){const n=this.get(t);if(!n)throw new b("commandcollection-command-not-found",this,{commandName:t});return n.execute(...e)}*names(){yield*this._commands.keys()}*commands(){yield*this._commands.values()}[Symbol.iterator](){return this._commands[Symbol.iterator]()}destroy(){for(const t of this.commands())t.destroy()}}class GE extends ie{constructor(t){super(),this.editor=t}set(t,e,n={}){if(typeof e=="string"){const i=e;e=(r,s)=>{this.editor.execute(i),s()}}super.set(t,e,n)}}class $E extends rt(){constructor(t={}){super();const e=this.constructor,n=t.language||e.defaultConfig&&e.defaultConfig.language;this._context=t.context||new vd({language:n}),this._context._addEditor(this,!t.context);const i=Array.from(e.builtinPlugins||[]);this.config=new El(t,e.defaultConfig),this.config.define("plugins",i),this.config.define(this._context._getEditorConfig()),this.plugins=new _d(this,i,this._context.plugins),this.locale=this._context.locale,this.t=this.locale.t,this._readOnlyLocks=new Set,this.commands=new WE,this.set("state","initializing"),this.once("ready",()=>this.state="ready",{priority:"high"}),this.once("destroy",()=>this.state="destroyed",{priority:"high"}),this.model=new UE,this.on("change:isReadOnly",()=>{this.model.document.isReadOnly=this.isReadOnly});const r=new Ay;this.data=new Q2(this.model,r),this.editing=new E2(this.model,r),this.editing.view.document.bind("isReadOnly").to(this),this.conversion=new X2([this.editing.downcastDispatcher,this.data.downcastDispatcher],this.data.upcastDispatcher),this.conversion.addAlias("dataDowncast",this.data.downcastDispatcher),this.conversion.addAlias("editingDowncast",this.editing.downcastDispatcher),this.keystrokes=new GE(this),this.keystrokes.listenTo(this.editing.view.document)}get isReadOnly(){return this._readOnlyLocks.size>0}set isReadOnly(t){throw new b("editor-isreadonly-has-no-setter")}enableReadOnlyMode(t){if(typeof t!="string"&&typeof t!="symbol")throw new b("editor-read-only-lock-id-invalid",null,{lockId:t});this._readOnlyLocks.has(t)||(this._readOnlyLocks.add(t),this._readOnlyLocks.size===1&&this.fire("change:isReadOnly","isReadOnly",!0,!1))}disableReadOnlyMode(t){if(typeof t!="string"&&typeof t!="symbol")throw new b("editor-read-only-lock-id-invalid",null,{lockId:t});this._readOnlyLocks.has(t)&&(this._readOnlyLocks.delete(t),this._readOnlyLocks.size===0&&this.fire("change:isReadOnly","isReadOnly",!1,!0))}initPlugins(){const t=this.config,e=t.get("plugins"),n=t.get("removePlugins")||[],i=t.get("extraPlugins")||[],r=t.get("substitutePlugins")||[];return this.plugins.init(e.concat(i),n,r)}destroy(){let t=Promise.resolve();return this.state=="initializing"&&(t=new Promise(e=>this.once("ready",e))),t.then(()=>{this.fire("destroy"),this.stopListening(),this.commands.destroy()}).then(()=>this.plugins.destroy()).then(()=>{this.model.destroy(),this.data.destroy(),this.editing.destroy(),this.keystrokes.destroy()}).then(()=>this._context._removeEditor(this))}execute(t,...e){try{return this.commands.execute(t,...e)}catch(n){b.rethrowUnexpectedError(n,this)}}focus(){this.editing.view.focus()}static create(...t){throw new Error("This is an abstract method.")}}function KE(o){if(!$e(o.updateSourceElement))throw new b("attachtoform-missing-elementapi-interface",o);const t=o.sourceElement;if(ZE(t)&&t.form){let e;const n=t.form,i=()=>o.updateSourceElement();$e(n.submit)&&(e=n.submit,n.submit=()=>{i(),e.apply(n)}),n.addEventListener("submit",i),o.on("destroy",()=>{n.removeEventListener("submit",i),e&&(n.submit=e)})}}function ZE(o){return!!o&&o.tagName.toLowerCase()==="textarea"}function gi(o){class t extends o{setData(n){this.data.set(n)}getData(n){return this.data.get(n)}}return t}{const o=gi(Object);gi.setData=o.prototype.setData,gi.getData=o.prototype.getData}function ks(o){class t extends o{updateSourceElement(n){if(!this.sourceElement)throw new b("editor-missing-sourceelement",this);const i=this.config.get("updateSourceElementOnDestroy"),r=this.sourceElement instanceof HTMLTextAreaElement;if(!i&&!r){Pl(this.sourceElement,"");return}const s=typeof n=="string"?n:this.data.get();Pl(this.sourceElement,s)}}return t}ks.updateSourceElement=ks(Object).prototype.updateSourceElement;class fi extends Yo{static get pluginName(){return"PendingActions"}init(){this.set("hasAny",!1),this._actions=new oe({idProperty:"_id"}),this._actions.delegate("add","remove").to(this)}add(t){if(typeof t!="string")throw new b("pendingactions-add-invalid-message",this);const e=new(rt());return e.set("message",t),this._actions.add(e),this.hasAny=!0,e}remove(t){this._actions.remove(t),this.hasAny=!!this._actions.length}get first(){return this._actions.get(0)}[Symbol.iterator](){return this._actions[Symbol.iterator]()}}const dt={bold:'',cancel:'',caption:'',check:'',cog:'',eraser:'',history:'',image:'',imageUpload:'',imageAssetManager:'',imageUrl:'',lowVision:` +`,textAlternative:'',loupe:'',importExport:'',paragraph:'',plus:'',text:'',alignBottom:'',alignMiddle:'',alignTop:'',alignLeft:'',alignCenter:'',alignRight:'',alignJustify:'',objectLeft:'',objectCenter:'',objectRight:'',objectFullWidth:'',objectInline:'',objectBlockLeft:'',objectBlockRight:'',objectSizeFull:'',objectSizeLarge:'',objectSizeSmall:'',objectSizeMedium:'',pencil:'',pilcrow:'',quote:'',threeVerticalDots:'',dragIndicator:''};var wh=L(4768),bs={injectType:"singletonStyleTag",attributes:{"data-cke":!0}};bs.insert="head",bs.singleton=!0,F()(wh.Z,bs),wh.Z.locals;const{threeVerticalDots:Ah}=dt,YE={alignLeft:dt.alignLeft,bold:dt.bold,importExport:dt.importExport,paragraph:dt.paragraph,plus:dt.plus,text:dt.text,threeVerticalDots:dt.threeVerticalDots,pilcrow:dt.pilcrow,dragIndicator:dt.dragIndicator};class ws extends Y{constructor(t,e){super(t);const n=this.bindTemplate,i=this.t;this.options=e||{},this.set("ariaLabel",i("Editor toolbar")),this.set("maxWidth","auto"),this.items=this.createCollection(),this.focusTracker=new Ht,this.keystrokes=new ie,this.set("class",void 0),this.set("isCompact",!1),this.itemsView=new QE(t),this.children=this.createCollection(),this.children.add(this.itemsView),this.focusables=this.createCollection();const r=t.uiLanguageDirection==="rtl";this._focusCycler=new Te({focusables:this.focusables,focusTracker:this.focusTracker,keystrokeHandler:this.keystrokes,actions:{focusPrevious:[r?"arrowright":"arrowleft","arrowup"],focusNext:[r?"arrowleft":"arrowright","arrowdown"]}});const s=["ck","ck-toolbar",n.to("class"),n.if("isCompact","ck-toolbar_compact")];this.options.shouldGroupWhenFull&&this.options.isFloating&&s.push("ck-toolbar_floating"),this.setTemplate({tag:"div",attributes:{class:s,role:"toolbar","aria-label":n.to("ariaLabel"),style:{maxWidth:n.to("maxWidth")},tabindex:-1},children:this.children,on:{mousedown:V0(this)}}),this._behavior=this.options.shouldGroupWhenFull?new XE(this):new JE(this)}render(){super.render(),this.focusTracker.add(this.element);for(const t of this.items)this.focusTracker.add(t.element);this.items.on("add",(t,e)=>{this.focusTracker.add(e.element)}),this.items.on("remove",(t,e)=>{this.focusTracker.remove(e.element)}),this.keystrokes.listenTo(this.element),this._behavior.render(this)}destroy(){return this._behavior.destroy(),this.focusTracker.destroy(),this.keystrokes.destroy(),super.destroy()}focus(){this._focusCycler.focusFirst()}focusLast(){this._focusCycler.focusLast()}fillFromConfig(t,e,n){this.items.addMany(this._buildItemsFromConfig(t,e,n))}_buildItemsFromConfig(t,e,n){const i=bd(t),r=n||i.removeItems;return this._cleanItemsConfiguration(i.items,e,r).map(a=>_t(a)?this._createNestedToolbarDropdown(a,e,r):a==="|"?new kd:a==="-"?new F0:e.create(a)).filter(a=>!!a)}_cleanItemsConfiguration(t,e,n){const i=t.filter((r,s,a)=>r==="|"?!0:n.indexOf(r)!==-1?!1:r==="-"?this.options.shouldGroupWhenFull?(at("toolbarview-line-break-ignored-when-grouping-items",a),!1):!0:!_t(r)&&!e.has(r)?(at("toolbarview-item-unavailable",{item:r}),!1):!0);return this._cleanSeparatorsAndLineBreaks(i)}_cleanSeparatorsAndLineBreaks(t){const e=s=>s!=="-"&&s!=="|",n=t.length,i=t.findIndex(e);if(i===-1)return[];const r=n-t.slice().reverse().findIndex(e);return t.slice(i,r).filter((s,a,c)=>e(s)?!0:!(a>0&&c[a-1]===s))}_createNestedToolbarDropdown(t,e,n){let{label:i,icon:r,items:s,tooltip:a=!0,withText:c=!1}=t;if(s=this._cleanItemsConfiguration(s,e,n),!s.length)return null;const l=this.locale,d=_e(l);return i||at("toolbarview-nested-toolbar-dropdown-missing-label",t),d.class="ck-toolbar__nested-toolbar-dropdown",d.buttonView.set({label:i,tooltip:a,withText:!!c}),r!==!1?d.buttonView.icon=YE[r]||r||Ah:d.buttonView.withText=!0,xs(d,()=>d.toolbarView._buildItemsFromConfig(s,e,n)),d}}class QE extends Y{constructor(t){super(t),this.children=this.createCollection(),this.setTemplate({tag:"div",attributes:{class:["ck","ck-toolbar__items"]},children:this.children})}}class JE{constructor(t){const e=t.bindTemplate;t.set("isVertical",!1),t.itemsView.children.bindTo(t.items).using(n=>n),t.focusables.bindTo(t.items).using(n=>n),t.extendTemplate({attributes:{class:[e.if("isVertical","ck-toolbar_vertical")]}})}render(){}destroy(){}}class XE{constructor(t){this.resizeObserver=null,this.cachedPadding=null,this.shouldUpdateGroupingOnNextResize=!1,this.view=t,this.viewChildren=t.children,this.viewFocusables=t.focusables,this.viewItemsView=t.itemsView,this.viewFocusTracker=t.focusTracker,this.viewLocale=t.locale,this.ungroupedItems=t.createCollection(),this.groupedItems=t.createCollection(),this.groupedItemsDropdown=this._createGroupedItemsDropdown(),t.itemsView.children.bindTo(this.ungroupedItems).using(e=>e),this.ungroupedItems.on("change",this._updateFocusCycleableItems.bind(this)),t.children.on("change",this._updateFocusCycleableItems.bind(this)),t.items.on("change",(e,n)=>{const i=n.index,r=Array.from(n.added);for(const s of n.removed)i>=this.ungroupedItems.length?this.groupedItems.remove(s):this.ungroupedItems.remove(s);for(let s=i;sthis.ungroupedItems.length?this.groupedItems.add(a,s-this.ungroupedItems.length):this.ungroupedItems.add(a,s)}this._updateGrouping()}),t.extendTemplate({attributes:{class:["ck-toolbar_grouping"]}})}render(t){this.viewElement=t.element,this._enableGroupingOnResize(),this._enableGroupingOnMaxWidthChange(t)}destroy(){this.groupedItemsDropdown.destroy(),this.resizeObserver.destroy()}_updateGrouping(){if(!this.viewElement.ownerDocument.body.contains(this.viewElement))return;if(!Je(this.viewElement)){this.shouldUpdateGroupingOnNextResize=!0;return}const t=this.groupedItems.length;let e;for(;this._areItemsOverflowing;)this._groupLastItem(),e=!0;if(!e&&this.groupedItems.length){for(;this.groupedItems.length&&!this._areItemsOverflowing;)this._ungroupFirstItem();this._areItemsOverflowing&&this._groupLastItem()}this.groupedItems.length!==t&&this.view.fire("groupedItemsUpdate")}get _areItemsOverflowing(){if(!this.ungroupedItems.length)return!1;const t=this.viewElement,e=this.viewLocale.uiLanguageDirection,n=new Q(t.lastChild),i=new Q(t);if(!this.cachedPadding){const r=U.window.getComputedStyle(t),s=e==="ltr"?"paddingRight":"paddingLeft";this.cachedPadding=Number.parseInt(r[s])}return e==="ltr"?n.right>i.right-this.cachedPadding:n.left{(!t||t!==e.contentRect.width||this.shouldUpdateGroupingOnNextResize)&&(this.shouldUpdateGroupingOnNextResize=!1,this._updateGrouping(),t=e.contentRect.width)}),this._updateGrouping()}_enableGroupingOnMaxWidthChange(t){t.on("change:maxWidth",()=>{this._updateGrouping()})}_groupLastItem(){this.groupedItems.length||(this.viewChildren.add(new kd),this.viewChildren.add(this.groupedItemsDropdown),this.viewFocusTracker.add(this.groupedItemsDropdown.element)),this.groupedItems.add(this.ungroupedItems.remove(this.ungroupedItems.last),0)}_ungroupFirstItem(){this.ungroupedItems.add(this.groupedItems.remove(this.groupedItems.first)),this.groupedItems.length||(this.viewChildren.remove(this.groupedItemsDropdown),this.viewChildren.remove(this.viewChildren.last),this.viewFocusTracker.remove(this.groupedItemsDropdown.element))}_createGroupedItemsDropdown(){const t=this.viewLocale,e=t.t,n=_e(t);return n.class="ck-toolbar__grouped-dropdown",n.panelPosition=t.uiLanguageDirection==="ltr"?"sw":"se",xs(n,this.groupedItems),n.buttonView.set({label:e("Show more items"),tooltip:!0,tooltipPosition:t.uiLanguageDirection==="rtl"?"se":"sw",icon:Ah}),n}_updateFocusCycleableItems(){this.viewFocusables.clear(),this.ungroupedItems.map(t=>{this.viewFocusables.add(t)}),this.groupedItems.length&&this.viewFocusables.add(this.groupedItemsDropdown)}}class As extends Y{constructor(t){super(t);const e=this.bindTemplate;this.set("isVisible",!0),this.children=this.createCollection(),this.setTemplate({tag:"li",attributes:{class:["ck","ck-list__item",e.if("isVisible","ck-hidden",n=>!n)],role:"presentation"},children:this.children})}focus(){this.children.first&&this.children.first.focus()}}class Ch extends Y{constructor(t){super(t),this.setTemplate({tag:"li",attributes:{class:["ck","ck-list__separator"]}})}}class mi extends Y{constructor(t,e=new Ir){super(t);const n=this.bindTemplate,i=new vh(t);this.set({label:"",isVisible:!0}),this.labelView=e,this.labelView.bind("text").to(this,"label"),this.children=this.createCollection(),this.children.addMany([this.labelView,i]),i.set({role:"group",ariaLabelledBy:e.id}),i.focusTracker.destroy(),i.keystrokes.destroy(),this.items=i.items,this.setTemplate({tag:"li",attributes:{role:"presentation",class:["ck","ck-list__group",n.if("isVisible","ck-hidden",r=>!r)]},children:this.children})}focus(){if(this.items){const t=this.items.find(e=>!(e instanceof Ch));t&&t.focus()}}}var _h=L(179),Cs={injectType:"singletonStyleTag",attributes:{"data-cke":!0}};Cs.insert="head",Cs.singleton=!0,F()(_h.Z,Cs),_h.Z.locals;class vh extends Y{constructor(t){super(t),this._listItemGroupToChangeListeners=new WeakMap;const e=this.bindTemplate;this.focusables=new be,this.items=this.createCollection(),this.focusTracker=new Ht,this.keystrokes=new ie,this._focusCycler=new Te({focusables:this.focusables,focusTracker:this.focusTracker,keystrokeHandler:this.keystrokes,actions:{focusPrevious:"arrowup",focusNext:"arrowdown"}}),this.set("ariaLabel",void 0),this.set("ariaLabelledBy",void 0),this.set("role",void 0),this.setTemplate({tag:"ul",attributes:{class:["ck","ck-reset","ck-list"],role:e.to("role"),"aria-label":e.to("ariaLabel"),"aria-labelledby":e.to("ariaLabelledBy")},children:this.items})}render(){super.render();for(const t of this.items)t instanceof mi?this._registerFocusableItemsGroup(t):t instanceof As&&this._registerFocusableListItem(t);this.items.on("change",(t,e)=>{for(const n of e.removed)n instanceof mi?this._deregisterFocusableItemsGroup(n):this._deregisterFocusableListItem(n);for(const n of Array.from(e.added).reverse())n instanceof mi?this._registerFocusableItemsGroup(n,e.index):this._registerFocusableListItem(n,e.index)}),this.keystrokes.listenTo(this.element)}destroy(){super.destroy(),this.focusTracker.destroy(),this.keystrokes.destroy()}focus(){this._focusCycler.focusFirst()}focusFirst(){this._focusCycler.focusFirst()}focusLast(){this._focusCycler.focusLast()}_registerFocusableListItem(t,e){this.focusTracker.add(t.element),this.focusables.add(t,e)}_deregisterFocusableListItem(t){this.focusTracker.remove(t.element),this.focusables.remove(t)}_getOnGroupItemsChangeCallback(t){return(e,n)=>{for(const i of n.removed)this._deregisterFocusableListItem(i);for(const i of Array.from(n.added).reverse())this._registerFocusableListItem(i,this.items.getIndex(t)+n.index)}}_registerFocusableItemsGroup(t,e){Array.from(t.items).forEach((i,r)=>{const s=typeof e<"u"?e+r:void 0;this._registerFocusableListItem(i,s)});const n=this._getOnGroupItemsChangeCallback(t);this._listItemGroupToChangeListeners.set(t,n),t.items.on("change",n)}_deregisterFocusableItemsGroup(t){for(const e of t.items)this._deregisterFocusableListItem(e);t.items.off("change",this._listItemGroupToChangeListeners.get(t)),this._listItemGroupToChangeListeners.delete(t)}}var yh=L(4791),_s={injectType:"singletonStyleTag",attributes:{"data-cke":!0}};_s.insert="head",_s.singleton=!0,F()(yh.Z,_s),yh.Z.locals;class pi extends Y{constructor(t,e){super(t);const n=this.bindTemplate;this.set("class",void 0),this.set("labelStyle",void 0),this.set("icon",void 0),this.set("isEnabled",!0),this.set("isOn",!1),this.set("isToggleable",!1),this.set("isVisible",!0),this.set("keystroke",void 0),this.set("withKeystroke",!1),this.set("label",void 0),this.set("tabindex",-1),this.set("tooltip",!1),this.set("tooltipPosition","s"),this.set("type","button"),this.set("withText",!1),this.children=this.createCollection(),this.actionView=this._createActionView(e),this.arrowView=this._createArrowView(),this.keystrokes=new ie,this.focusTracker=new Ht,this.setTemplate({tag:"div",attributes:{class:["ck","ck-splitbutton",n.to("class"),n.if("isVisible","ck-hidden",i=>!i),this.arrowView.bindTemplate.if("isOn","ck-splitbutton_open")]},children:this.children})}render(){super.render(),this.children.add(this.actionView),this.children.add(this.arrowView),this.focusTracker.add(this.actionView.element),this.focusTracker.add(this.arrowView.element),this.keystrokes.listenTo(this.element),this.keystrokes.set("arrowright",(t,e)=>{this.focusTracker.focusedElement===this.actionView.element&&(this.arrowView.focus(),e())}),this.keystrokes.set("arrowleft",(t,e)=>{this.focusTracker.focusedElement===this.arrowView.element&&(this.actionView.focus(),e())})}destroy(){super.destroy(),this.focusTracker.destroy(),this.keystrokes.destroy()}focus(){this.actionView.focus()}_createActionView(t){const e=t||new ht;return t||e.bind("icon","isEnabled","isOn","isToggleable","keystroke","label","tabindex","tooltip","tooltipPosition","type","withText").to(this),e.extendTemplate({attributes:{class:"ck-splitbutton__action"}}),e.delegate("execute").to(this),e}_createArrowView(){const t=new ht,e=t.bindTemplate;return t.icon=Pr,t.extendTemplate({attributes:{class:["ck-splitbutton__arrow"],"data-cke-tooltip-disabled":e.to("isOn"),"aria-haspopup":!0,"aria-expanded":e.to("isOn",n=>String(n))}}),t.bind("isEnabled").to(this),t.bind("label").to(this),t.bind("tooltip").to(this),t.delegate("execute").to(this,"open"),t}}var xh=L(2704),vs={injectType:"singletonStyleTag",attributes:{"data-cke":!0}};vs.insert="head",vs.singleton=!0,F()(xh.Z,vs),xh.Z.locals;var Eh=L(1883),ys={injectType:"singletonStyleTag",attributes:{"data-cke":!0}};ys.insert="head",ys.singleton=!0,F()(Eh.Z,ys),Eh.Z.locals;function _e(o,t=pd){const e=typeof t=="function"?new t(o):t,n=new j0(o),i=new Dn(o,e,n);return e.bind("isEnabled").to(i),e instanceof pi?e.arrowView.bind("isOn").to(i,"isOpen"):e.bind("isOn").to(i,"isOpen"),tD(i),i}function xs(o,t,e={}){o.extendTemplate({attributes:{class:["ck-toolbar-dropdown"]}}),o.isOpen?Dh(o,t,e):o.once("change:isOpen",()=>Dh(o,t,e),{priority:"highest"}),e.enableActiveItemFocusOnDropdownOpen&&Th(o,()=>o.toolbarView.items.find(n=>n.isOn))}function Dh(o,t,e){const n=o.locale,i=n.t,r=o.toolbarView=new ws(n),s=typeof t=="function"?t():t;r.ariaLabel=e.ariaLabel||i("Dropdown toolbar"),e.maxWidth&&(r.maxWidth=e.maxWidth),e.class&&(r.class=e.class),e.isCompact&&(r.isCompact=e.isCompact),e.isVertical&&(r.isVertical=!0),s instanceof be?r.items.bindTo(s).using(a=>a):r.items.addMany(s),o.panelView.children.add(r),r.items.delegate("execute").to(o)}function Es(o,t,e={}){o.isOpen?Sh(o,t,e):o.once("change:isOpen",()=>Sh(o,t,e),{priority:"highest"}),Th(o,()=>o.listView.items.find(n=>n instanceof As?n.children.first.isOn:!1))}function Sh(o,t,e){const n=o.locale,i=o.listView=new vh(n),r=typeof t=="function"?t():t;i.ariaLabel=e.ariaLabel,i.role=e.role,Ih(o,i.items,r,n),o.panelView.children.add(i),i.items.delegate("execute").to(o)}function Th(o,t){o.on("change:isOpen",()=>{if(!o.isOpen)return;const e=t();e&&(typeof e.focus=="function"?e.focus():at("ui-dropdown-focus-child-on-open-child-missing-focus",{view:e}))},{priority:Le.low-10})}function tD(o){eD(o),nD(o),oD(o),iD(o),rD(o),sD(o)}function eD(o){o.on("render",()=>{_({emitter:o,activator:()=>o.isOpen,callback:()=>{o.isOpen=!1},contextElements:()=>[o.element,...o.focusTracker._elements]})})}function nD(o){o.on("execute",t=>{t.source instanceof Ko||(o.isOpen=!1)})}function oD(o){o.focusTracker.on("change:isFocused",(t,e,n)=>{o.isOpen&&!n&&(o.isOpen=!1)})}function iD(o){o.keystrokes.set("arrowdown",(t,e)=>{o.isOpen&&(o.panelView.focus(),e())}),o.keystrokes.set("arrowup",(t,e)=>{o.isOpen&&(o.panelView.focusLast(),e())})}function rD(o){o.on("change:isOpen",(t,e,n)=>{if(n)return;const i=o.panelView.element;i&&i.contains(U.document.activeElement)&&o.buttonView.focus()})}function sD(o){o.on("change:isOpen",(t,e,n)=>{n&&o.panelView.focus()},{priority:"low"})}function Ih(o,t,e,n){t.bindTo(e).using(i=>{if(i.type==="separator")return new Ch(n);if(i.type==="group"){const r=new mi(n);return r.set({label:i.label}),Ih(o,r.items,i.items,n),r.items.delegate("execute").to(o),r}else if(i.type==="button"||i.type==="switchbutton"){const r=new As(n);let s;return i.type==="button"?(s=new ht(n),s.extendTemplate({attributes:{"aria-checked":s.bindTemplate.to("isOn")}})):s=new Ko(n),s.bind(...Object.keys(i.model)).to(i.model),s.delegate("execute").to(r),r.children.add(s),r}return null})}const ki=(o,t,e)=>{const n=new R0(o.locale);return n.set({id:t,ariaDescribedById:e}),n.bind("isReadOnly").to(o,"isEnabled",i=>!i),n.bind("hasError").to(o,"errorText",i=>!!i),n.on("input",()=>{o.errorText=null}),o.bind("isEmpty","isFocused","placeholder").to(n),n},Ao=(o,t=0,e=1)=>o>e?e:oMath.round(e*o)/e,aD=o=>hD(Ds(o)),Ds=o=>(o[0]==="#"&&(o=o.substring(1)),o.length<6?{r:parseInt(o[0]+o[0],16),g:parseInt(o[1]+o[1],16),b:parseInt(o[2]+o[2],16),a:o.length===4?Ot(parseInt(o[3]+o[3],16)/255,2):1}:{r:parseInt(o.substring(0,2),16),g:parseInt(o.substring(2,4),16),b:parseInt(o.substring(4,6),16),a:o.length===8?Ot(parseInt(o.substring(6,8),16)/255,2):1}),cD=o=>uD(dD(o)),lD=({h:o,s:t,v:e,a:n})=>{const i=(200-t)*e/100;return{h:Ot(o),s:Ot(i>0&&i<200?t*e/100/(i<=100?i:200-i)*100:0),l:Ot(i/2),a:Ot(n,2)}},Ss=o=>{const{h:t,s:e,l:n}=lD(o);return`hsl(${t}, ${e}%, ${n}%)`},dD=({h:o,s:t,v:e,a:n})=>{o=o/360*6,t=t/100,e=e/100;const i=Math.floor(o),r=e*(1-t),s=e*(1-(o-i)*t),a=e*(1-(1-o+i)*t),c=i%6;return{r:Ot([e,s,r,r,a,e][c]*255),g:Ot([a,e,e,s,r,r][c]*255),b:Ot([r,r,a,e,e,s][c]*255),a:Ot(n,2)}},bi=o=>{const t=o.toString(16);return t.length<2?"0"+t:t},uD=({r:o,g:t,b:e,a:n})=>{const i=n<1?bi(Ot(n*255)):"";return"#"+bi(o)+bi(t)+bi(e)+i},hD=({r:o,g:t,b:e,a:n})=>{const i=Math.max(o,t,e),r=i-Math.min(o,t,e),s=r?i===o?(t-e)/r:i===t?2+(e-o)/r:4+(o-t)/r:0;return{h:Ot(60*(s<0?s+6:s)),s:Ot(i?r/i*100:0),v:Ot(i/255*100),a:n}},Mh=(o,t)=>{if(o===t)return!0;for(const e in o)if(o[e]!==t[e])return!1;return!0},gD=(o,t)=>o.toLowerCase()===t.toLowerCase()?!0:Mh(Ds(o),Ds(t)),Bh={},Nh=o=>{let t=Bh[o];return t||(t=document.createElement("template"),t.innerHTML=o,Bh[o]=t),t},Ts=(o,t,e)=>{o.dispatchEvent(new CustomEvent(t,{bubbles:!0,detail:e}))};let zn=!1;const Is=o=>"touches"in o,fD=o=>zn&&!Is(o)?!1:(zn||(zn=Is(o)),!0),zh=(o,t)=>{const e=Is(t)?t.touches[0]:t,n=o.el.getBoundingClientRect();Ts(o.el,"move",o.getMove({x:Ao((e.pageX-(n.left+window.pageXOffset))/n.width),y:Ao((e.pageY-(n.top+window.pageYOffset))/n.height)}))},mD=(o,t)=>{const e=t.keyCode;e>40||o.xy&&e<37||e<33||(t.preventDefault(),Ts(o.el,"move",o.getMove({x:e===39?.01:e===37?-.01:e===34?.05:e===33?-.05:e===35?1:e===36?-1:0,y:e===40?.01:e===38?-.01:0},!0)))};class Ph{constructor(t,e,n,i){const r=Nh(`
`);t.appendChild(r.content.cloneNode(!0));const s=t.querySelector(`[part=${e}]`);s.addEventListener("mousedown",this),s.addEventListener("touchstart",this),s.addEventListener("keydown",this),this.el=s,this.xy=i,this.nodes=[s.firstChild,s]}set dragging(t){const e=t?document.addEventListener:document.removeEventListener;e(zn?"touchmove":"mousemove",this),e(zn?"touchend":"mouseup",this)}handleEvent(t){switch(t.type){case"mousedown":case"touchstart":if(t.preventDefault(),!fD(t)||!zn&&t.button!=0)return;this.el.focus(),zh(this,t),this.dragging=!0;break;case"mousemove":case"touchmove":t.preventDefault(),zh(this,t);break;case"mouseup":case"touchend":this.dragging=!1;break;case"keydown":mD(this,t);break}}style(t){t.forEach((e,n)=>{for(const i in e)this.nodes[n].style.setProperty(i,e[i])})}}class pD extends Ph{constructor(t){super(t,"hue",'aria-label="Hue" aria-valuemin="0" aria-valuemax="360"',!1)}update({h:t}){this.h=t,this.style([{left:`${t/360*100}%`,color:Ss({h:t,s:100,v:100,a:1})}]),this.el.setAttribute("aria-valuenow",`${Ot(t)}`)}getMove(t,e){return{h:e?Ao(this.h+t.x*360,0,360):360*t.x}}}class kD extends Ph{constructor(t){super(t,"saturation",'aria-label="Color"',!0)}update(t){this.hsva=t,this.style([{top:`${100-t.v}%`,left:`${t.s}%`,color:Ss(t)},{"background-color":Ss({h:t.h,s:100,v:100,a:1})}]),this.el.setAttribute("aria-valuetext",`Saturation ${Ot(t.s)}%, Brightness ${Ot(t.v)}%`)}getMove(t,e){return{s:e?Ao(this.hsva.s+t.x*100,0,100):t.x*100,v:e?Ao(this.hsva.v-t.y*100,0,100):Math.round(100-t.y*100)}}}const bD=':host{display:flex;flex-direction:column;position:relative;width:200px;height:200px;user-select:none;-webkit-user-select:none;cursor:default}:host([hidden]){display:none!important}[role=slider]{position:relative;touch-action:none;user-select:none;-webkit-user-select:none;outline:0}[role=slider]:last-child{border-radius:0 0 8px 8px}[part$=pointer]{position:absolute;z-index:1;box-sizing:border-box;width:28px;height:28px;display:flex;place-content:center center;transform:translate(-50%,-50%);background-color:#fff;border:2px solid #fff;border-radius:50%;box-shadow:0 2px 4px rgba(0,0,0,.2)}[part$=pointer]::after{content:"";width:100%;height:100%;border-radius:inherit;background-color:currentColor}[role=slider]:focus [part$=pointer]{transform:translate(-50%,-50%) scale(1.1)}',wD="[part=hue]{flex:0 0 24px;background:linear-gradient(to right,red 0,#ff0 17%,#0f0 33%,#0ff 50%,#00f 67%,#f0f 83%,red 100%)}[part=hue-pointer]{top:50%;z-index:2}",AD="[part=saturation]{flex-grow:1;border-color:transparent;border-bottom:12px solid #000;border-radius:8px 8px 0 0;background-image:linear-gradient(to top,#000,transparent),linear-gradient(to right,#fff,rgba(255,255,255,0));box-shadow:inset 0 0 0 1px rgba(0,0,0,.05)}[part=saturation-pointer]{z-index:3}",wi=Symbol("same"),Ms=Symbol("color"),Lh=Symbol("hsva"),Bs=Symbol("update"),Oh=Symbol("parts"),Rh=Symbol("css"),jh=Symbol("sliders");class CD extends HTMLElement{static get observedAttributes(){return["color"]}get[Rh](){return[bD,wD,AD]}get[jh](){return[kD,pD]}get color(){return this[Ms]}set color(t){if(!this[wi](t)){const e=this.colorModel.toHsva(t);this[Bs](e),this[Ms]=t}}constructor(){super();const t=Nh(``),e=this.attachShadow({mode:"open"});e.appendChild(t.content.cloneNode(!0)),e.addEventListener("move",this),this[Oh]=this[jh].map(n=>new n(e))}connectedCallback(){if(this.hasOwnProperty("color")){const t=this.color;delete this.color,this.color=t}else this.color||(this.color=this.colorModel.defaultColor)}attributeChangedCallback(t,e,n){const i=this.colorModel.fromAttr(n);this[wi](i)||(this.color=i)}handleEvent(t){const e=this[Lh],n={...e,...t.detail};this[Bs](n);let i;!Mh(n,e)&&!this[wi](i=this.colorModel.fromHsva(n))&&(this[Ms]=i,Ts(this,"color-changed",{value:i}))}[wi](t){return this.color&&this.colorModel.equal(t,this.color)}[Bs](t){this[Lh]=t,this[Oh].forEach(e=>e.update(t))}}const _D={defaultColor:"#000",toHsva:aD,fromHsva:({h:o,s:t,v:e})=>cD({h:o,s:t,v:e,a:1}),equal:gD,fromAttr:o=>o};class vD extends CD{get colorModel(){return _D}}class yD extends vD{}customElements.define("hex-color-picker",yD);var Fh=L(4257),Ns={injectType:"singletonStyleTag",attributes:{"data-cke":!0}};Ns.insert="head",Ns.singleton=!0,F()(Fh.Z,Ns),Fh.Z.locals;var Vh=L(6306),zs={injectType:"singletonStyleTag",attributes:{"data-cke":!0}};zs.insert="head",zs.singleton=!0,F()(Vh.Z,zs),Vh.Z.locals;class xD{constructor(t){this._components=new Map,this.editor=t}*names(){for(const t of this._components.values())yield t.originalName}add(t,e){this._components.set(Ps(t),{callback:e,originalName:t})}create(t){if(!this.has(t))throw new b("componentfactory-item-missing",this,{name:t});return this._components.get(Ps(t)).callback(this.editor.locale)}has(t){return this._components.has(Ps(t))}}function Ps(o){return String(o).toLowerCase()}var Hh=L(4460),Ls={injectType:"singletonStyleTag",attributes:{"data-cke":!0}};Ls.insert="head",Ls.singleton=!0,F()(Hh.Z,Ls),Hh.Z.locals;const Uh=Xn("px"),qh=U.document.body,ED={top:-99999,left:-99999,name:"arrowless",config:{withArrow:!1}};class Rt extends Y{constructor(t){super(t);const e=this.bindTemplate;this.set("top",0),this.set("left",0),this.set("position","arrow_nw"),this.set("isVisible",!1),this.set("withArrow",!0),this.set("class",void 0),this._pinWhenIsVisibleCallback=null,this.content=this.createCollection(),this.setTemplate({tag:"div",attributes:{class:["ck","ck-balloon-panel",e.to("position",n=>`ck-balloon-panel_${n}`),e.if("isVisible","ck-balloon-panel_visible"),e.if("withArrow","ck-balloon-panel_with-arrow"),e.to("class")],style:{top:e.to("top",Uh),left:e.to("left",Uh)}},children:this.content})}show(){this.isVisible=!0}hide(){this.isVisible=!1}attachTo(t){this.show();const e=Rt.defaultPositions,n=Object.assign({},{element:this.element,positions:[e.southArrowNorth,e.southArrowNorthMiddleWest,e.southArrowNorthMiddleEast,e.southArrowNorthWest,e.southArrowNorthEast,e.northArrowSouth,e.northArrowSouthMiddleWest,e.northArrowSouthMiddleEast,e.northArrowSouthWest,e.northArrowSouthEast,e.viewportStickyNorth],limiter:qh,fitInViewport:!0},t),i=Rt._getOptimalPosition(n)||ED,r=parseInt(i.left),s=parseInt(i.top),a=i.name,c=i.config||{},{withArrow:l=!0}=c;this.top=s,this.left=r,this.position=a,this.withArrow=l}pin(t){this.unpin(),this._pinWhenIsVisibleCallback=()=>{this.isVisible?this._startPinning(t):this._stopPinning()},this._startPinning(t),this.listenTo(this,"change:isVisible",this._pinWhenIsVisibleCallback)}unpin(){this._pinWhenIsVisibleCallback&&(this._stopPinning(),this.stopListening(this,"change:isVisible",this._pinWhenIsVisibleCallback),this._pinWhenIsVisibleCallback=null,this.hide())}_startPinning(t){this.attachTo(t);const e=Os(t.target),n=t.limiter?Os(t.limiter):qh;this.listenTo(U.document,"scroll",(i,r)=>{const s=r.target,a=e&&s.contains(e),c=n&&s.contains(n);(a||c||!e||!n)&&this.attachTo(t)},{useCapture:!0}),this.listenTo(U.window,"resize",()=>{this.attachTo(t)})}_stopPinning(){this.stopListening(U.document,"scroll"),this.stopListening(U.window,"resize")}}Rt.arrowSideOffset=25,Rt.arrowHeightOffset=10,Rt.stickyVerticalOffset=20,Rt._getOptimalPosition=pr,Rt.defaultPositions=Wh();function Os(o){return Qe(o)?o:Uo(o)?o.commonAncestorContainer:typeof o=="function"?Os(o()):null}function Wh(o={}){const{sideOffset:t=Rt.arrowSideOffset,heightOffset:e=Rt.arrowHeightOffset,stickyVerticalOffset:n=Rt.stickyVerticalOffset,config:i}=o;return{northWestArrowSouthWest:(a,c)=>({top:r(a,c),left:a.left-t,name:"arrow_sw",...i&&{config:i}}),northWestArrowSouthMiddleWest:(a,c)=>({top:r(a,c),left:a.left-c.width*.25-t,name:"arrow_smw",...i&&{config:i}}),northWestArrowSouth:(a,c)=>({top:r(a,c),left:a.left-c.width/2,name:"arrow_s",...i&&{config:i}}),northWestArrowSouthMiddleEast:(a,c)=>({top:r(a,c),left:a.left-c.width*.75+t,name:"arrow_sme",...i&&{config:i}}),northWestArrowSouthEast:(a,c)=>({top:r(a,c),left:a.left-c.width+t,name:"arrow_se",...i&&{config:i}}),northArrowSouthWest:(a,c)=>({top:r(a,c),left:a.left+a.width/2-t,name:"arrow_sw",...i&&{config:i}}),northArrowSouthMiddleWest:(a,c)=>({top:r(a,c),left:a.left+a.width/2-c.width*.25-t,name:"arrow_smw",...i&&{config:i}}),northArrowSouth:(a,c)=>({top:r(a,c),left:a.left+a.width/2-c.width/2,name:"arrow_s",...i&&{config:i}}),northArrowSouthMiddleEast:(a,c)=>({top:r(a,c),left:a.left+a.width/2-c.width*.75+t,name:"arrow_sme",...i&&{config:i}}),northArrowSouthEast:(a,c)=>({top:r(a,c),left:a.left+a.width/2-c.width+t,name:"arrow_se",...i&&{config:i}}),northEastArrowSouthWest:(a,c)=>({top:r(a,c),left:a.right-t,name:"arrow_sw",...i&&{config:i}}),northEastArrowSouthMiddleWest:(a,c)=>({top:r(a,c),left:a.right-c.width*.25-t,name:"arrow_smw",...i&&{config:i}}),northEastArrowSouth:(a,c)=>({top:r(a,c),left:a.right-c.width/2,name:"arrow_s",...i&&{config:i}}),northEastArrowSouthMiddleEast:(a,c)=>({top:r(a,c),left:a.right-c.width*.75+t,name:"arrow_sme",...i&&{config:i}}),northEastArrowSouthEast:(a,c)=>({top:r(a,c),left:a.right-c.width+t,name:"arrow_se",...i&&{config:i}}),southWestArrowNorthWest:a=>({top:s(a),left:a.left-t,name:"arrow_nw",...i&&{config:i}}),southWestArrowNorthMiddleWest:(a,c)=>({top:s(a),left:a.left-c.width*.25-t,name:"arrow_nmw",...i&&{config:i}}),southWestArrowNorth:(a,c)=>({top:s(a),left:a.left-c.width/2,name:"arrow_n",...i&&{config:i}}),southWestArrowNorthMiddleEast:(a,c)=>({top:s(a),left:a.left-c.width*.75+t,name:"arrow_nme",...i&&{config:i}}),southWestArrowNorthEast:(a,c)=>({top:s(a),left:a.left-c.width+t,name:"arrow_ne",...i&&{config:i}}),southArrowNorthWest:a=>({top:s(a),left:a.left+a.width/2-t,name:"arrow_nw",...i&&{config:i}}),southArrowNorthMiddleWest:(a,c)=>({top:s(a),left:a.left+a.width/2-c.width*.25-t,name:"arrow_nmw",...i&&{config:i}}),southArrowNorth:(a,c)=>({top:s(a),left:a.left+a.width/2-c.width/2,name:"arrow_n",...i&&{config:i}}),southArrowNorthMiddleEast:(a,c)=>({top:s(a),left:a.left+a.width/2-c.width*.75+t,name:"arrow_nme",...i&&{config:i}}),southArrowNorthEast:(a,c)=>({top:s(a),left:a.left+a.width/2-c.width+t,name:"arrow_ne",...i&&{config:i}}),southEastArrowNorthWest:a=>({top:s(a),left:a.right-t,name:"arrow_nw",...i&&{config:i}}),southEastArrowNorthMiddleWest:(a,c)=>({top:s(a),left:a.right-c.width*.25-t,name:"arrow_nmw",...i&&{config:i}}),southEastArrowNorth:(a,c)=>({top:s(a),left:a.right-c.width/2,name:"arrow_n",...i&&{config:i}}),southEastArrowNorthMiddleEast:(a,c)=>({top:s(a),left:a.right-c.width*.75+t,name:"arrow_nme",...i&&{config:i}}),southEastArrowNorthEast:(a,c)=>({top:s(a),left:a.right-c.width+t,name:"arrow_ne",...i&&{config:i}}),westArrowEast:(a,c)=>({top:a.top+a.height/2-c.height/2,left:a.left-c.width-e,name:"arrow_e",...i&&{config:i}}),eastArrowWest:(a,c)=>({top:a.top+a.height/2-c.height/2,left:a.right+e,name:"arrow_w",...i&&{config:i}}),viewportStickyNorth:(a,c,l,d)=>{const u=d||l;return!a.getIntersection(u)||u.height-a.height>n?null:{top:u.top+n,left:a.left+a.width/2-c.width/2,name:"arrowless",config:{withArrow:!1,...i}}}};function r(a,c){return a.top-c.height-e}function s(a){return a.bottom+e}}var Gh=L(3888),Rs={injectType:"singletonStyleTag",attributes:{"data-cke":!0}};Rs.insert="head",Rs.singleton=!0,F()(Gh.Z,Rs),Gh.Z.locals;const $h="ck-tooltip";class zt extends Zt(){constructor(t){if(super(),this._currentElementWithTooltip=null,this._currentTooltipPosition=null,this._resizeObserver=null,zt._editors.add(t),zt._instance)return zt._instance;zt._instance=this,this.tooltipTextView=new Y(t.locale),this.tooltipTextView.set("text",""),this.tooltipTextView.setTemplate({tag:"span",attributes:{class:["ck","ck-tooltip__text"]},children:[{text:this.tooltipTextView.bindTemplate.to("text")}]}),this.balloonPanelView=new Rt(t.locale),this.balloonPanelView.class=$h,this.balloonPanelView.content.add(this.tooltipTextView),this._pinTooltipDebounced=co(this._pinTooltip,600),this.listenTo(U.document,"mouseenter",this._onEnterOrFocus.bind(this),{useCapture:!0}),this.listenTo(U.document,"mouseleave",this._onLeaveOrBlur.bind(this),{useCapture:!0}),this.listenTo(U.document,"focus",this._onEnterOrFocus.bind(this),{useCapture:!0}),this.listenTo(U.document,"blur",this._onLeaveOrBlur.bind(this),{useCapture:!0}),this.listenTo(U.document,"scroll",this._onScroll.bind(this),{useCapture:!0}),this._watchdogExcluded=!0}destroy(t){const e=t.ui.view&&t.ui.view.body;zt._editors.delete(t),this.stopListening(t.ui),e&&e.has(this.balloonPanelView)&&e.remove(this.balloonPanelView),zt._editors.size||(this._unpinTooltip(),this.balloonPanelView.destroy(),this.stopListening(),zt._instance=null)}static getPositioningFunctions(t){const e=zt.defaultBalloonPositions;return{s:[e.southArrowNorth,e.southArrowNorthEast,e.southArrowNorthWest],n:[e.northArrowSouth],e:[e.eastArrowWest],w:[e.westArrowEast],sw:[e.southArrowNorthEast],se:[e.southArrowNorthWest]}[t]}_onEnterOrFocus(t,{target:e}){const n=js(e);n&&n!==this._currentElementWithTooltip&&(this._unpinTooltip(),this._pinTooltipDebounced(n,DD(n)))}_onLeaveOrBlur(t,{target:e,relatedTarget:n}){if(t.name==="mouseleave"){if(!Qe(e)||this._currentElementWithTooltip&&e!==this._currentElementWithTooltip)return;const i=js(e),r=js(n);i&&i!==r&&this._unpinTooltip()}else{if(this._currentElementWithTooltip&&e!==this._currentElementWithTooltip)return;this._unpinTooltip()}}_onScroll(t,{target:e}){this._currentElementWithTooltip&&(e.contains(this.balloonPanelView.element)&&e.contains(this._currentElementWithTooltip)||this._unpinTooltip())}_pinTooltip(t,{text:e,position:n,cssClass:i}){const r=It(zt._editors.values()).ui.view.body;r.has(this.balloonPanelView)||r.add(this.balloonPanelView),this.tooltipTextView.text=e,this.balloonPanelView.pin({target:t,positions:zt.getPositioningFunctions(n)}),this._resizeObserver=new bt(t,()=>{Je(t)||this._unpinTooltip()}),this.balloonPanelView.class=[$h,i].filter(s=>s).join(" ");for(const s of zt._editors)this.listenTo(s.ui,"update",this._updateTooltipPosition.bind(this),{priority:"low"});this._currentElementWithTooltip=t,this._currentTooltipPosition=n}_unpinTooltip(){this._pinTooltipDebounced.cancel(),this.balloonPanelView.unpin();for(const t of zt._editors)this.stopListening(t.ui,"update");this._currentElementWithTooltip=null,this._currentTooltipPosition=null,this._resizeObserver&&this._resizeObserver.destroy()}_updateTooltipPosition(){if(!Je(this._currentElementWithTooltip)){this._unpinTooltip();return}this.balloonPanelView.pin({target:this._currentElementWithTooltip,positions:zt.getPositioningFunctions(this._currentTooltipPosition)})}}zt.defaultBalloonPositions=Wh({heightOffset:5,sideOffset:13}),zt._editors=new Set,zt._instance=null;function js(o){return Qe(o)?o.closest("[data-cke-tooltip-text]:not([data-cke-tooltip-disabled])"):null}function DD(o){return{text:o.dataset.ckeTooltipText,position:o.dataset.ckeTooltipPosition||"s",cssClass:o.dataset.ckeTooltipClass||""}}var SD="Expected a function";function TD(o,t,e){var n=!0,i=!0;if(typeof o!="function")throw new TypeError(SD);return _t(e)&&(n="leading"in e?!!e.leading:n,i="trailing"in e?!!e.trailing:i),co(o,t,{leading:n,maxWait:t,trailing:i})}const Co=TD,ID=` +`,MD=53,BD=10,ND=50,zD=350,PD="Powered by";class LD extends Zt(){constructor(t){super(),this.editor=t,this._balloonView=null,this._lastFocusedEditableElement=null,this._showBalloonThrottled=Co(this._showBalloon.bind(this),50,{leading:!0}),t.on("ready",this._handleEditorReady.bind(this))}destroy(){const t=this._balloonView;t&&(t.unpin(),this._balloonView=null),this._showBalloonThrottled.cancel(),this.stopListening()}_handleEditorReady(){const t=this.editor;!t.config.get("ui.poweredBy.forceVisible")&&m0(t.config.get("licenseKey"))==="VALID"||t.ui.view&&(t.ui.focusTracker.on("change:isFocused",(n,i,r)=>{this._updateLastFocusedEditableElement(),r?this._showBalloon():this._hideBalloon()}),t.ui.focusTracker.on("change:focusedElement",(n,i,r)=>{this._updateLastFocusedEditableElement(),r&&this._showBalloon()}),t.ui.on("update",()=>{this._showBalloonThrottled()}))}_createBalloonView(){const t=this.editor,e=this._balloonView=new Rt,n=Zh(t),i=new OD(t.locale,n.label);e.content.add(i),e.set({class:"ck-powered-by-balloon"}),t.ui.view.body.add(e),t.ui.focusTracker.add(e.element),this._balloonView=e}_showBalloon(){if(!this._lastFocusedEditableElement)return;const t=RD(this.editor,this._lastFocusedEditableElement);t&&(this._balloonView||this._createBalloonView(),this._balloonView.pin(t))}_hideBalloon(){this._balloonView&&this._balloonView.unpin()}_updateLastFocusedEditableElement(){const t=this.editor,e=t.ui.focusTracker.isFocused,n=t.ui.focusTracker.focusedElement;if(!e||!n){this._lastFocusedEditableElement=null;return}const i=Array.from(t.ui.getEditableElementsNames()).map(r=>t.ui.getEditableElement(r));i.includes(n)?this._lastFocusedEditableElement=n:this._lastFocusedEditableElement=i[0]}}class OD extends Y{constructor(t,e){super(t);const n=new Se,i=this.bindTemplate;n.set({content:ID,isColorInherited:!1}),n.extendTemplate({attributes:{style:{width:MD+"px",height:BD+"px"}}}),this.setTemplate({tag:"div",attributes:{class:["ck","ck-powered-by"],"aria-hidden":!0},children:[{tag:"a",attributes:{href:"https://ckeditor.com/?utm_source=ckeditor&utm_medium=referral&utm_campaign=701Dn000000hVgmIAE_powered_by_ckeditor_logo",target:"_blank",tabindex:"-1"},children:[...e?[{tag:"span",attributes:{class:["ck","ck-powered-by__label"]},children:[e]}]:[],n],on:{dragstart:i.to(r=>r.preventDefault())}}]})}}function RD(o,t){const e=Zh(o),n=e.side==="right"?jD(t,e):FD(t,e);return{target:t,positions:[n]}}function jD(o,t){return Kh(o,t,(e,n)=>e.left+e.width-n.width-t.horizontalOffset)}function FD(o,t){return Kh(o,t,e=>e.left+t.horizontalOffset)}function Kh(o,t,e){return(n,i)=>{const r=new Q(o);if(r.widths.regionName===t);r||(r=new UD(this.view.locale),this.view.regionViews.add(r)),r.set({regionName:t,text:e,politeness:n})}}class HD extends Y{constructor(t){super(t),this.regionViews=this.createCollection(),this.setTemplate({tag:"div",attributes:{class:["ck","ck-aria-live-announcer"]},children:this.regionViews})}}class UD extends Y{constructor(t){super(t);const e=this.bindTemplate;this.set("regionName",""),this.set("text",""),this.set("politeness",Ai.POLITE),this.setTemplate({tag:"div",attributes:{role:"region","data-region":e.to("regionName"),"aria-live":e.to("politeness")},children:[{text:e.to("text")}]})}}class qD extends rt(){constructor(t){super(),this.isReady=!1,this._editableElementsMap=new Map,this._focusableToolbarDefinitions=[];const e=t.editing.view;this.editor=t,this.componentFactory=new xD(t),this.focusTracker=new Ht,this.tooltipManager=new zt(t),this.poweredBy=new LD(t),this.ariaLiveAnnouncer=new VD(t),this.set("viewportOffset",this._readViewportOffsetFromConfig()),this.once("ready",()=>{this.isReady=!0}),this.listenTo(e.document,"layoutChanged",this.update.bind(this)),this.listenTo(e,"scrollToTheSelection",this._handleScrollToTheSelection.bind(this)),this._initFocusTracking()}get element(){return null}update(){this.fire("update")}destroy(){this.stopListening(),this.focusTracker.destroy(),this.tooltipManager.destroy(this.editor),this.poweredBy.destroy();for(const t of this._editableElementsMap.values())t.ckeditorInstance=null,this.editor.keystrokes.stopListening(t);this._editableElementsMap=new Map,this._focusableToolbarDefinitions=[]}setEditableElement(t,e){this._editableElementsMap.set(t,e),e.ckeditorInstance||(e.ckeditorInstance=this.editor),this.focusTracker.add(e);const n=()=>{this.editor.editing.view.getDomRoot(t)||this.editor.keystrokes.listenTo(e)};this.isReady?n():this.once("ready",n)}removeEditableElement(t){const e=this._editableElementsMap.get(t);e&&(this._editableElementsMap.delete(t),this.editor.keystrokes.stopListening(e),this.focusTracker.remove(e),e.ckeditorInstance=null)}getEditableElement(t="main"){return this._editableElementsMap.get(t)}getEditableElementsNames(){return this._editableElementsMap.keys()}addToolbar(t,e={}){t.isRendered?(this.focusTracker.add(t.element),this.editor.keystrokes.listenTo(t.element)):t.once("render",()=>{this.focusTracker.add(t.element),this.editor.keystrokes.listenTo(t.element)}),this._focusableToolbarDefinitions.push({toolbarView:t,options:e})}get _editableElements(){return console.warn("editor-ui-deprecated-editable-elements: The EditorUI#_editableElements property has been deprecated and will be removed in the near future.",{editorUI:this}),this._editableElementsMap}_readViewportOffsetFromConfig(){const t=this.editor,e=t.config.get("ui.viewportOffset");if(e)return e;const n=t.config.get("toolbar.viewportTopOffset");return n?(console.warn("editor-ui-deprecated-viewport-offset-config: The `toolbar.vieportTopOffset` configuration option is deprecated. It will be removed from future CKEditor versions. Use `ui.viewportOffset.top` instead."),{top:n}):{top:0}}_initFocusTracking(){const t=this.editor,e=t.editing.view;let n,i;t.keystrokes.set("Alt+F10",(r,s)=>{const a=this.focusTracker.focusedElement;Array.from(this._editableElementsMap.values()).includes(a)&&!Array.from(e.domRoots.values()).includes(a)&&(n=a);const c=this._getCurrentFocusedToolbarDefinition();(!c||!i)&&(i=this._getFocusableCandidateToolbarDefinitions());for(let l=0;l{const a=this._getCurrentFocusedToolbarDefinition();a&&(n?(n.focus(),n=null):t.editing.view.focus(),a.options.afterBlur&&a.options.afterBlur(),s())})}_getFocusableCandidateToolbarDefinitions(){const t=[];for(const e of this._focusableToolbarDefinitions){const{toolbarView:n,options:i}=e;(Je(n.element)||i.beforeFocus)&&t.push(e)}return t.sort((e,n)=>Qh(e)-Qh(n)),t}_getCurrentFocusedToolbarDefinition(){for(const t of this._focusableToolbarDefinitions)if(t.toolbarView.element&&t.toolbarView.element.contains(this.focusTracker.focusedElement))return t;return null}_focusFocusableCandidateToolbar(t){const{toolbarView:e,options:{beforeFocus:n}}=t;return n&&n(),Je(e.element)?(e.focus(),!0):!1}_handleScrollToTheSelection(t,e){const n={top:0,bottom:0,left:0,right:0,...this.viewportOffset};e.viewportOffset.top+=n.top,e.viewportOffset.bottom+=n.bottom,e.viewportOffset.left+=n.left,e.viewportOffset.right+=n.right}}function Qh(o){const{toolbarView:t,options:e}=o;let n=10;return Je(t.element)&&n--,e.isContextual&&n--,n}var Jh=L(9847),Vs={injectType:"singletonStyleTag",attributes:{"data-cke":!0}};Vs.insert="head",Vs.singleton=!0,F()(Jh.Z,Vs),Jh.Z.locals;class WD extends Y{constructor(t){super(t),this.body=new N0(t)}render(){super.render(),this.body.attachToDom()}destroy(){return this.body.detachFromDom(),super.destroy()}}class GD extends WD{constructor(t){super(t),this.top=this.createCollection(),this.main=this.createCollection(),this._voiceLabelView=this._createVoiceLabel(),this.setTemplate({tag:"div",attributes:{class:["ck","ck-reset","ck-editor","ck-rounded-corners"],role:"application",dir:t.uiLanguageDirection,lang:t.uiLanguage,"aria-labelledby":this._voiceLabelView.id},children:[this._voiceLabelView,{tag:"div",attributes:{class:["ck","ck-editor__top","ck-reset_all"],role:"presentation"},children:this.top},{tag:"div",attributes:{class:["ck","ck-editor__main"],role:"presentation"},children:this.main}]})}_createVoiceLabel(){const t=this.t,e=new Ir;return e.text=t("Rich Text Editor"),e.extendTemplate({attributes:{class:"ck-voice-label"}}),e}}class $D extends Y{constructor(t,e,n){super(t),this.name=null,this.setTemplate({tag:"div",attributes:{class:["ck","ck-content","ck-editor__editable","ck-rounded-corners"],lang:t.contentLanguage,dir:t.contentLanguageDirection}}),this.set("isFocused",!1),this._editableElement=n,this._hasExternalElement=!!this._editableElement,this._editingView=e}render(){super.render(),this._hasExternalElement?this.template.apply(this.element=this._editableElement):this._editableElement=this.element,this.on("change:isFocused",()=>this._updateIsFocusedClasses()),this._updateIsFocusedClasses()}destroy(){this._hasExternalElement&&this.template.revert(this._editableElement),super.destroy()}get hasExternalElement(){return this._hasExternalElement}_updateIsFocusedClasses(){const t=this._editingView;t.isRenderingInProgress?n(this):e(this);function e(i){t.change(r=>{const s=t.document.getRoot(i.name);r.addClass(i.isFocused?"ck-focused":"ck-blurred",s),r.removeClass(i.isFocused?"ck-blurred":"ck-focused",s)})}function n(i){t.once("change:isRenderingInProgress",(r,s,a)=>{a?n(i):e(i)})}}}class KD extends $D{constructor(t,e,n,i={}){super(t,e,n);const r=t.t;this.extendTemplate({attributes:{role:"textbox",class:"ck-editor__editable_inline"}}),this._generateLabel=i.label||(()=>r("Editor editing area: %0",this.name))}render(){super.render();const t=this._editingView;t.change(e=>{const n=t.document.getRoot(this.name);e.setAttribute("aria-label",this._generateLabel(this),n)})}}var Xh=L(1874),Hs={injectType:"singletonStyleTag",attributes:{"data-cke":!0}};Hs.insert="head",Hs.singleton=!0,F()(Xh.Z,Hs),Xh.Z.locals;class tg extends Yo{static get pluginName(){return"Notification"}init(){this.on("show:warning",(t,e)=>{window.alert(e.message)},{priority:"lowest"})}showSuccess(t,e={}){this._showNotification({message:t,type:"success",namespace:e.namespace,title:e.title})}showInfo(t,e={}){this._showNotification({message:t,type:"info",namespace:e.namespace,title:e.title})}showWarning(t,e={}){this._showNotification({message:t,type:"warning",namespace:e.namespace,title:e.title})}_showNotification(t){const e=t.namespace?`show:${t.type}:${t.namespace}`:`show:${t.type}`;this.fire(e,{message:t.message,type:t.type,title:t.title||""})}}class Us extends rt(){constructor(t,e){super(),e&&au(this,e),t&&this.set(t)}}const ZD='',YD='';var eg=L(7592),qs={injectType:"singletonStyleTag",attributes:{"data-cke":!0}};qs.insert="head",qs.singleton=!0,F()(eg.Z,qs),eg.Z.locals;var ng=L(6356),Ws={injectType:"singletonStyleTag",attributes:{"data-cke":!0}};Ws.insert="head",Ws.singleton=!0,F()(ng.Z,Ws),ng.Z.locals;const Ci=Xn("px");class _i extends P{static get pluginName(){return"ContextualBalloon"}constructor(t){super(t),this._viewToStack=new Map,this._idToStack=new Map,this._view=null,this._rotatorView=null,this._fakePanelsView=null,this.positionLimiter=()=>{const e=this.editor.editing.view,i=e.document.selection.editableElement;return i?e.domConverter.mapViewToDom(i.root):null},this.set("visibleView",null),this.set("_numberOfStacks",0),this.set("_singleViewMode",!1)}destroy(){super.destroy(),this._view&&this._view.destroy(),this._rotatorView&&this._rotatorView.destroy(),this._fakePanelsView&&this._fakePanelsView.destroy()}get view(){return this._view||this._createPanelView(),this._view}hasView(t){return Array.from(this._viewToStack.keys()).includes(t)}add(t){if(this._view||this._createPanelView(),this.hasView(t.view))throw new b("contextualballoon-add-view-exist",[this,t]);const e=t.stackId||"main";if(!this._idToStack.has(e)){this._idToStack.set(e,new Map([[t.view,t]])),this._viewToStack.set(t.view,this._idToStack.get(e)),this._numberOfStacks=this._idToStack.size,(!this._visibleStack||t.singleViewMode)&&this.showStack(e);return}const n=this._idToStack.get(e);t.singleViewMode&&this.showStack(e),n.set(t.view,t),this._viewToStack.set(t.view,n),n===this._visibleStack&&this._showView(t)}remove(t){if(!this.hasView(t))throw new b("contextualballoon-remove-view-not-exist",[this,t]);const e=this._viewToStack.get(t);this._singleViewMode&&this.visibleView===t&&(this._singleViewMode=!1),this.visibleView===t&&(e.size===1?this._idToStack.size>1?this._showNextStack():(this.view.hide(),this.visibleView=null,this._rotatorView.hideView()):this._showView(Array.from(e.values())[e.size-2])),e.size===1?(this._idToStack.delete(this._getStackId(e)),this._numberOfStacks=this._idToStack.size):e.delete(t),this._viewToStack.delete(t)}updatePosition(t){t&&(this._visibleStack.get(this.visibleView).position=t),this.view.pin(this._getBalloonPosition()),this._fakePanelsView.updatePosition()}showStack(t){this.visibleStack=t;const e=this._idToStack.get(t);if(!e)throw new b("contextualballoon-showstack-stack-not-exist",this);this._visibleStack!==e&&this._showView(Array.from(e.values()).pop())}_createPanelView(){this._view=new Rt(this.editor.locale),this.editor.ui.view.body.add(this._view),this.editor.ui.focusTracker.add(this._view.element),this._rotatorView=this._createRotatorView(),this._fakePanelsView=this._createFakePanelsView()}get _visibleStack(){return this._viewToStack.get(this.visibleView)}_getStackId(t){return Array.from(this._idToStack.entries()).find(n=>n[1]===t)[0]}_showNextStack(){const t=Array.from(this._idToStack.values());let e=t.indexOf(this._visibleStack)+1;t[e]||(e=0),this.showStack(this._getStackId(t[e]))}_showPrevStack(){const t=Array.from(this._idToStack.values());let e=t.indexOf(this._visibleStack)-1;t[e]||(e=t.length-1),this.showStack(this._getStackId(t[e]))}_createRotatorView(){const t=new QD(this.editor.locale),e=this.editor.locale.t;return this.view.content.add(t),t.bind("isNavigationVisible").to(this,"_numberOfStacks",this,"_singleViewMode",(n,i)=>!i&&n>1),t.on("change:isNavigationVisible",()=>this.updatePosition(),{priority:"low"}),t.bind("counter").to(this,"visibleView",this,"_numberOfStacks",(n,i)=>{if(i<2)return"";const r=Array.from(this._idToStack.values()).indexOf(this._visibleStack)+1;return e("%0 of %1",[r,i])}),t.buttonNextView.on("execute",()=>{t.focusTracker.isFocused&&this.editor.editing.view.focus(),this._showNextStack()}),t.buttonPrevView.on("execute",()=>{t.focusTracker.isFocused&&this.editor.editing.view.focus(),this._showPrevStack()}),t}_createFakePanelsView(){const t=new JD(this.editor.locale,this.view);return t.bind("numberOfPanels").to(this,"_numberOfStacks",this,"_singleViewMode",(e,n)=>!n&&e>=2?Math.min(e-1,2):0),t.listenTo(this.view,"change:top",()=>t.updatePosition()),t.listenTo(this.view,"change:left",()=>t.updatePosition()),this.editor.ui.view.body.add(t),t}_showView({view:t,balloonClassName:e="",withArrow:n=!0,singleViewMode:i=!1}){this.view.class=e,this.view.withArrow=n,this._rotatorView.showView(t),this.visibleView=t,this.view.pin(this._getBalloonPosition()),this._fakePanelsView.updatePosition(),i&&(this._singleViewMode=!0)}_getBalloonPosition(){let t=Array.from(this._visibleStack.values()).pop().position;return t&&(t.limiter||(t=Object.assign({},t,{limiter:this.positionLimiter})),t=Object.assign({},t,{viewportOffsetConfig:this.editor.ui.viewportOffset})),t}}class QD extends Y{constructor(t){super(t);const e=t.t,n=this.bindTemplate;this.set("isNavigationVisible",!0),this.focusTracker=new Ht,this.buttonPrevView=this._createButtonView(e("Previous"),ZD),this.buttonNextView=this._createButtonView(e("Next"),YD),this.content=this.createCollection(),this.setTemplate({tag:"div",attributes:{class:["ck","ck-balloon-rotator"],"z-index":"-1"},children:[{tag:"div",attributes:{class:["ck-balloon-rotator__navigation",n.to("isNavigationVisible",i=>i?"":"ck-hidden")]},children:[this.buttonPrevView,{tag:"span",attributes:{class:["ck-balloon-rotator__counter"]},children:[{text:n.to("counter")}]},this.buttonNextView]},{tag:"div",attributes:{class:"ck-balloon-rotator__content"},children:this.content}]})}render(){super.render(),this.focusTracker.add(this.element)}destroy(){super.destroy(),this.focusTracker.destroy()}showView(t){this.hideView(),this.content.add(t)}hideView(){this.content.clear()}_createButtonView(t,e){const n=new ht(this.locale);return n.set({label:t,icon:e,tooltip:!0}),n}}class JD extends Y{constructor(t,e){super(t);const n=this.bindTemplate;this.set("top",0),this.set("left",0),this.set("height",0),this.set("width",0),this.set("numberOfPanels",0),this.content=this.createCollection(),this._balloonPanelView=e,this.setTemplate({tag:"div",attributes:{class:["ck-fake-panel",n.to("numberOfPanels",i=>i?"":"ck-hidden")],style:{top:n.to("top",Ci),left:n.to("left",Ci),width:n.to("width",Ci),height:n.to("height",Ci)}},children:this.content}),this.on("change:numberOfPanels",(i,r,s,a)=>{s>a?this._addPanels(s-a):this._removePanels(a-s),this.updatePosition()})}_addPanels(t){for(;t--;){const e=new Y;e.setTemplate({tag:"div"}),this.content.add(e),this.registerChild(e)}}_removePanels(t){for(;t--;){const e=this.content.last;this.content.remove(e),this.deregisterChild(e),e.destroy()}}updatePosition(){if(this.numberOfPanels){const{top:t,left:e}=this._balloonPanelView,{width:n,height:i}=new Q(this._balloonPanelView.element);Object.assign(this,{top:t,left:e,width:n,height:i})}}}var og=L(3707),Gs={injectType:"singletonStyleTag",attributes:{"data-cke":!0}};Gs.insert="head",Gs.singleton=!0,F()(og.Z,Gs),og.Z.locals;const Pn=Xn("px");class XD extends Y{constructor(t){super(t);const e=this.bindTemplate;this.set("isActive",!1),this.set("isSticky",!1),this.set("limiterElement",null),this.set("limiterBottomOffset",50),this.set("viewportTopOffset",0),this.set("_marginLeft",null),this.set("_isStickyToTheBottomOfLimiter",!1),this.set("_stickyTopOffset",null),this.set("_stickyBottomOffset",null),this.content=this.createCollection(),this._contentPanelPlaceholder=new re({tag:"div",attributes:{class:["ck","ck-sticky-panel__placeholder"],style:{display:e.to("isSticky",n=>n?"block":"none"),height:e.to("isSticky",n=>n?Pn(this._contentPanelRect.height):null)}}}).render(),this._contentPanel=new re({tag:"div",attributes:{class:["ck","ck-sticky-panel__content",e.if("isSticky","ck-sticky-panel__content_sticky"),e.if("_isStickyToTheBottomOfLimiter","ck-sticky-panel__content_sticky_bottom-limit")],style:{width:e.to("isSticky",n=>n?Pn(this._contentPanelPlaceholder.getBoundingClientRect().width):null),top:e.to("_stickyTopOffset",n=>n&&Pn(n)),bottom:e.to("_stickyBottomOffset",n=>n&&Pn(n)),marginLeft:e.to("_marginLeft")}},children:this.content}).render(),this.setTemplate({tag:"div",attributes:{class:["ck","ck-sticky-panel"]},children:[this._contentPanelPlaceholder,this._contentPanel]})}render(){super.render(),this.checkIfShouldBeSticky(),this.listenTo(U.document,"scroll",()=>{this.checkIfShouldBeSticky()},{useCapture:!0}),this.listenTo(this,"change:isActive",()=>{this.checkIfShouldBeSticky()})}checkIfShouldBeSticky(){if(!this.limiterElement||!this.isActive){this._unstick();return}const t=new Q(this.limiterElement);let e=t.getVisible();if(e){const n=new Q(U.window);n.top+=this.viewportTopOffset,n.height-=this.viewportTopOffset,e=e.getIntersection(n)}if(e&&t.tope.bottom){const i=Math.max(t.bottom-e.bottom,0)+this.limiterBottomOffset;t.bottom-i>t.top+this._contentPanelRect.height?this._stickToBottomOfLimiter(i):this._unstick()}else this._contentPanelRect.height+this.limiterBottomOffset{this.reset(),this.focus(),this.fire("reset")}),this.resetButtonView.bind("isVisible").to(this.fieldView,"isEmpty",r=>!r),this.fieldWrapperChildren.add(this.resetButtonView),this.extendTemplate({attributes:{class:"ck-search__query_with-reset"}}))}reset(){this.fieldView.reset(),this._viewConfig.showResetButton&&(this.resetButtonView.isVisible=!1)}}class e5 extends Y{constructor(){super();const t=this.bindTemplate;this.set({isVisible:!1,primaryText:"",secondaryText:""}),this.setTemplate({tag:"div",attributes:{class:["ck","ck-search__info",t.if("isVisible","ck-hidden",e=>!e)],tabindex:-1},children:[{tag:"span",children:[{text:[t.to("primaryText")]}]},{tag:"span",children:[{text:[t.to("secondaryText")]}]}]})}focus(){this.element.focus()}}class n5 extends Y{constructor(t){super(t),this.children=this.createCollection(),this.focusTracker=new Ht,this.setTemplate({tag:"div",attributes:{class:["ck","ck-search__results"],tabindex:-1},children:this.children}),this._focusCycler=new Te({focusables:this.children,focusTracker:this.focusTracker})}render(){super.render();for(const t of this.children)this.focusTracker.add(t.element)}focus(){this._focusCycler.focusFirst()}focusFirst(){this._focusCycler.focusFirst()}focusLast(){this._focusCycler.focusLast()}}var ig=/[\\^$.*+?()[\]{}|]/g,o5=RegExp(ig.source);function i5(o){return o=Vr(o),o&&o5.test(o)?o.replace(ig,"\\$&"):o}const rg=i5;var sg=L(9332),$s={injectType:"singletonStyleTag",attributes:{"data-cke":!0}};$s.insert="head",$s.singleton=!0,F()(sg.Z,$s),sg.Z.locals;class r5 extends Y{constructor(t,e){super(t),this._config=e,this.filteredView=e.filteredView,this.queryView=this._createSearchTextQueryView(),this.focusTracker=new Ht,this.keystrokes=new ie,this.resultsView=new n5(t),this.children=this.createCollection(),this.focusableChildren=this.createCollection([this.queryView,this.resultsView]),this.set("isEnabled",!0),this.set("resultsCount",0),this.set("totalItemsCount",0),e.infoView&&e.infoView.instance?this.infoView=e.infoView.instance:(this.infoView=new e5,this._enableDefaultInfoViewBehavior(),this.on("render",()=>{this.search("")})),this.resultsView.children.addMany([this.infoView,this.filteredView]),this.focusCycler=new Te({focusables:this.focusableChildren,focusTracker:this.focusTracker,keystrokeHandler:this.keystrokes,actions:{focusPrevious:"shift + tab",focusNext:"tab"}}),this.on("search",(n,{resultsCount:i,totalItemsCount:r})=>{this.resultsCount=i,this.totalItemsCount=r}),this.setTemplate({tag:"div",attributes:{class:["ck","ck-search",e.class||null],tabindex:"-1"},children:this.children})}render(){super.render(),this.children.addMany([this.queryView,this.resultsView]);const t=e=>e.stopPropagation();for(const e of this.focusableChildren)this.focusTracker.add(e.element);this.keystrokes.listenTo(this.element),this.keystrokes.set("arrowright",t),this.keystrokes.set("arrowleft",t),this.keystrokes.set("arrowup",t),this.keystrokes.set("arrowdown",t)}focus(){this.queryView.focus()}reset(){this.queryView.reset(),this.search("")}search(t){const e=t?new RegExp(rg(t),"ig"):null,n=this.filteredView.filter(e);this.fire("search",{query:t,...n})}_createSearchTextQueryView(){const t=new t5(this.locale,this._config.queryView);return this.listenTo(t.fieldView,"input",()=>{this.search(t.fieldView.element.value)}),t.on("reset",()=>this.reset()),t.bind("isEnabled").to(this),t}_enableDefaultInfoViewBehavior(){const t=this.locale.t,e=this.infoView;this.on("search",(i,r)=>{if(r.resultsCount)e.set({isVisible:!1});else{const s=this._config.infoView&&this._config.infoView.text;let a,c;r.totalItemsCount?s&&s.notFound?(a=s.notFound.primary,c=s.notFound.secondary):(a=t("No results found"),c=""):s&&s.noSearchableItems?(a=s.noSearchableItems.primary,c=s.noSearchableItems.secondary):(a=t("No searchable items"),c=""),e.set({primaryText:n(a,r),secondaryText:n(c,r),isVisible:!0})}});function n(i,{query:r,resultsCount:s,totalItemsCount:a}){return typeof i=="function"?i(r,s,a):i}}}var ag=L(4029),Ks={injectType:"singletonStyleTag",attributes:{"data-cke":!0}};Ks.insert="head",Ks.singleton=!0,F()(ag.Z,Ks),ag.Z.locals;class _o extends r5{constructor(t,e){super(t,e),this._config=e;const n=Xn("px");this.extendTemplate({attributes:{class:["ck-autocomplete"]}});const i=this.resultsView.bindTemplate;this.resultsView.set("isVisible",!1),this.resultsView.set("_position","s"),this.resultsView.set("_width",0),this.resultsView.extendTemplate({attributes:{class:[i.if("isVisible","ck-hidden",r=>!r),i.to("_position",r=>`ck-search__results_${r}`)],style:{width:i.to("_width",n)}}}),this.focusTracker.on("change:isFocused",(r,s,a)=>{this._updateResultsVisibility(),a?this.resultsView.element.scrollTop=0:e.resetOnBlur&&this.queryView.reset()}),this.on("search",()=>{this._updateResultsVisibility(),this._updateResultsViewWidthAndPosition()}),this.keystrokes.set("esc",(r,s)=>{this.resultsView.isVisible&&(this.queryView.focus(),this.resultsView.isVisible=!1,s())}),this.listenTo(U.document,"scroll",()=>{this._updateResultsViewWidthAndPosition()}),this.on("change:isEnabled",()=>{this._updateResultsVisibility()}),this.filteredView.on("execute",(r,{value:s})=>{this.focus(),this.reset(),this.queryView.fieldView.value=this.queryView.fieldView.element.value=s,this.resultsView.isVisible=!1}),this.resultsView.on("change:isVisible",()=>{this._updateResultsViewWidthAndPosition()})}_updateResultsViewWidthAndPosition(){if(!this.resultsView.isVisible)return;this.resultsView._width=new Q(this.queryView.fieldView.element).width;const t=_o._getOptimalPosition({element:this.resultsView.element,target:this.queryView.element,fitInViewport:!0,positions:_o.defaultResultsPositions});this.resultsView._position=t?t.name:"s"}_updateResultsVisibility(){const t=typeof this._config.queryMinChars>"u"?0:this._config.queryMinChars,e=this.queryView.fieldView.element.value.length;this.resultsView.isVisible=this.focusTracker.isFocused&&this.isEnabled&&e>=t}}_o.defaultResultsPositions=[o=>({top:o.bottom,left:o.left,name:"s"}),(o,t)=>({top:o.top-t.height,left:o.left,name:"n"})],_o._getOptimalPosition=pr;var cg=L(4746),Zs={injectType:"singletonStyleTag",attributes:{"data-cke":!0}};Zs.insert="head",Zs.singleton=!0,F()(cg.Z,Zs),cg.Z.locals;var lg=L(4095),Ys={injectType:"singletonStyleTag",attributes:{"data-cke":!0}};Ys.insert="head",Ys.singleton=!0,F()(lg.Z,Ys),lg.Z.locals;class s5 extends Y{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",void 0),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}focus(){this.buttonView.focus()}_createButtonView(){const t=new ht(this.locale),e=t.bindTemplate;return t.set({withText:!0,icon:Pr}),t.extendTemplate({attributes:{"aria-expanded":e.to("isOn",n=>String(n))}}),t.bind("label").to(this),t.bind("isOn").to(this,"isCollapsed",n=>!n),t.on("execute",()=>{this.isCollapsed=!this.isCollapsed}),t}}var dg=L(6446),Qs={injectType:"singletonStyleTag",attributes:{"data-cke":!0}};Qs.insert="head",Qs.singleton=!0,F()(dg.Z,Qs),dg.Z.locals;var ug=L(4176),Js={injectType:"singletonStyleTag",attributes:{"data-cke":!0}};Js.insert="head",Js.singleton=!0,F()(ug.Z,Js),ug.Z.locals;class a5 extends qD{constructor(t,e){super(t),this.view=e,this._toolbarConfig=bd(t.config.get("toolbar")),this._elementReplacer=new Lc,this.listenTo(t.editing.view,"scrollToTheSelection",this._handleScrollToTheSelectionWithStickyPanel.bind(this))}get element(){return this.view.element}init(t){const e=this.editor,n=this.view,i=e.editing.view,r=n.editable,s=i.document.getRoot();r.name=s.rootName,n.render();const a=r.element;this.setEditableElement(r.name,a),n.editable.bind("isFocused").to(this.focusTracker),i.attachDomRoot(a),t&&this._elementReplacer.replace(t,this.element),this._initPlaceholder(),this._initToolbar(),this.fire("ready")}destroy(){super.destroy();const t=this.view,e=this.editor.editing.view;this._elementReplacer.restore(),e.detachDomRoot(t.editable.name),t.destroy()}_initToolbar(){const t=this.view;t.stickyPanel.bind("isActive").to(this.focusTracker,"isFocused"),t.stickyPanel.limiterElement=t.element,t.stickyPanel.bind("viewportTopOffset").to(this,"viewportOffset",({top:e})=>e||0),t.toolbar.fillFromConfig(this._toolbarConfig,this.componentFactory),this.addToolbar(t.toolbar)}_initPlaceholder(){const t=this.editor,e=t.editing.view,n=e.document.getRoot(),i=t.sourceElement;let r;const s=t.config.get("placeholder");s&&(r=typeof s=="string"?s:s[this.view.editable.name]),!r&&i&&i.tagName.toLowerCase()==="textarea"&&(r=i.getAttribute("placeholder")),r&&(n.placeholder=r),Ed({view:e,element:n,isDirectHost:!1,keepOnFocus:!0})}_handleScrollToTheSelectionWithStickyPanel(t,e,n){const i=this.view.stickyPanel;if(i.isSticky){const r=new Q(i.element).height;e.viewportOffset.top+=r}else{const r=()=>{this.editor.editing.view.scrollToTheSelection(n)};this.listenTo(i,"change:isSticky",r),setTimeout(()=>{this.stopListening(i,"change:isSticky",r)},20)}}}var hg=L(3624),Xs={injectType:"singletonStyleTag",attributes:{"data-cke":!0}};Xs.insert="head",Xs.singleton=!0,F()(hg.Z,Xs),hg.Z.locals;class c5 extends GD{constructor(t,e,n={}){super(t),this.stickyPanel=new XD(t),this.toolbar=new ws(t,{shouldGroupWhenFull:n.shouldToolbarGroupWhenFull}),this.editable=new KD(t,e)}render(){super.render(),this.stickyPanel.content.add(this.toolbar),this.top.add(this.stickyPanel),this.main.add(this.editable)}}class gg{constructor(t){if(this.crashes=[],this.state="initializing",this._now=Date.now,this.crashes=[],this._crashNumberLimit=typeof t.crashNumberLimit=="number"?t.crashNumberLimit:3,this._minimumNonErrorTimePeriod=typeof t.minimumNonErrorTimePeriod=="number"?t.minimumNonErrorTimePeriod:5e3,this._boundErrorHandler=e=>{const n="error"in e?e.error:e.reason;n instanceof Error&&this._handleError(n,e)},this._listeners={},!this._restart)throw new Error("The Watchdog class was split into the abstract `Watchdog` class and the `EditorWatchdog` class. Please, use `EditorWatchdog` if you have used the `Watchdog` class previously.")}destroy(){this._stopErrorHandling(),this._listeners={}}on(t,e){this._listeners[t]||(this._listeners[t]=[]),this._listeners[t].push(e)}off(t,e){this._listeners[t]=this._listeners[t].filter(n=>n!==e)}_fire(t,...e){const n=this._listeners[t]||[];for(const i of n)i.apply(this,[null,...e])}_startErrorHandling(){window.addEventListener("error",this._boundErrorHandler),window.addEventListener("unhandledrejection",this._boundErrorHandler)}_stopErrorHandling(){window.removeEventListener("error",this._boundErrorHandler),window.removeEventListener("unhandledrejection",this._boundErrorHandler)}_handleError(t,e){if(this._shouldReactToError(t)){this.crashes.push({message:t.message,stack:t.stack,filename:e instanceof ErrorEvent?e.filename:void 0,lineno:e instanceof ErrorEvent?e.lineno:void 0,colno:e instanceof ErrorEvent?e.colno:void 0,date:this._now()});const n=this._shouldRestart();this.state="crashed",this._fire("stateChange"),this._fire("error",{error:t,causesRestart:n}),n?this._restart():(this.state="crashedPermanently",this._fire("stateChange"))}}_shouldReactToError(t){return t.is&&t.is("CKEditorError")&&t.context!==void 0&&t.context!==null&&this.state==="ready"&&this._isErrorComingFromThisItem(t)}_shouldRestart(){if(this.crashes.length<=this._crashNumberLimit)return!0;const t=this.crashes[this.crashes.length-1].date,e=this.crashes[this.crashes.length-1-this._crashNumberLimit].date;return(t-e)/this._crashNumberLimit>this._minimumNonErrorTimePeriod}}function ta(o,t=new Set){const e=[o],n=new Set;let i=0;for(;e.length>i;){const r=e[i++];if(!(n.has(r)||!l5(r)||t.has(r)))if(n.add(r),Symbol.iterator in r)try{for(const s of r)e.push(s)}catch{}else for(const s in r)s!=="defaultValue"&&e.push(r[s])}return n}function l5(o){const t=Object.prototype.toString.call(o),e=typeof o;return!(e==="number"||e==="boolean"||e==="string"||e==="symbol"||e==="function"||t==="[object Date]"||t==="[object RegExp]"||t==="[object Module]"||o===void 0||o===null||o._watchdogExcluded||o instanceof EventTarget||o instanceof Event)}function fg(o,t,e=new Set){if(o===t&&d5(o))return!0;const n=ta(o,e),i=ta(t,e);for(const r of n)if(i.has(r))return!0;return!1}function d5(o){return typeof o=="object"&&o!==null}class mg extends gg{constructor(t,e={}){super(e),this._editor=null,this._initUsingData=!0,this._editables={},this._throttledSave=Co(this._save.bind(this),typeof e.saveInterval=="number"?e.saveInterval:5e3),t&&(this._creator=(n,i)=>t.create(n,i)),this._destructor=n=>n.destroy()}get editor(){return this._editor}get _item(){return this._editor}setCreator(t){this._creator=t}setDestructor(t){this._destructor=t}_restart(){return Promise.resolve().then(()=>(this.state="initializing",this._fire("stateChange"),this._destroy())).catch(t=>{console.error("An error happened during the editor destroying.",t)}).then(()=>{const t={},e=[],n=this._config.rootsAttributes||{},i={};for(const[s,a]of Object.entries(this._data.roots))a.isLoaded?(t[s]="",i[s]=n[s]||{}):e.push(s);const r={...this._config,extraPlugins:this._config.extraPlugins||[],lazyRoots:e,rootsAttributes:i,_watchdogInitialData:this._data};return delete r.initialData,r.extraPlugins.push(u5),this._initUsingData?this.create(t,r,r.context):Qe(this._elementOrData)?this.create(this._elementOrData,r,r.context):this.create(this._editables,r,r.context)}).then(()=>{this._fire("restart")})}create(t=this._elementOrData,e=this._config,n){return Promise.resolve().then(()=>(super._startErrorHandling(),this._elementOrData=t,this._initUsingData=typeof t=="string"||Object.keys(t).length>0&&typeof Object.values(t)[0]=="string",this._config=this._cloneEditorConfiguration(e)||{},this._config.context=n,this._creator(t,this._config))).then(i=>{this._editor=i,i.model.document.on("change:data",this._throttledSave),this._lastDocumentVersion=i.model.document.version,this._data=this._getData(),this._initUsingData||(this._editables=this._getEditables()),this.state="ready",this._fire("stateChange")})}destroy(){return Promise.resolve().then(()=>(this.state="destroyed",this._fire("stateChange"),super.destroy(),this._destroy()))}_destroy(){return Promise.resolve().then(()=>{this._stopErrorHandling(),this._throttledSave.cancel();const t=this._editor;return this._editor=null,t.model.document.off("change:data",this._throttledSave),this._destructor(t)})}_save(){const t=this._editor.model.document.version;try{this._data=this._getData(),this._initUsingData||(this._editables=this._getEditables()),this._lastDocumentVersion=t}catch(e){console.error(e,"An error happened during restoring editor data. Editor will be restored from the previously saved data.")}}_setExcludedProperties(t){this._excludedProps=t}_getData(){const t=this._editor,e=t.model.document.roots.filter(a=>a.isAttached()&&a.rootName!="$graveyard"),{plugins:n}=t,i=n.has("CommentsRepository")&&n.get("CommentsRepository"),r=n.has("TrackChanges")&&n.get("TrackChanges"),s={roots:{},markers:{},commentThreads:JSON.stringify([]),suggestions:JSON.stringify([])};e.forEach(a=>{s.roots[a.rootName]={content:JSON.stringify(Array.from(a.getChildren())),attributes:JSON.stringify(Array.from(a.getAttributes())),isLoaded:a._isLoaded}});for(const a of t.model.markers)a._affectsData&&(s.markers[a.name]={rangeJSON:a.getRange().toJSON(),usingOperation:a._managedUsingOperations,affectsData:a._affectsData});return i&&(s.commentThreads=JSON.stringify(i.getCommentThreads({toJSON:!0,skipNotAttached:!0}))),r&&(s.suggestions=JSON.stringify(r.getSuggestions({toJSON:!0,skipNotAttached:!0}))),s}_getEditables(){const t={};for(const e of this.editor.model.document.getRootNames()){const n=this.editor.ui.getEditableElement(e);n&&(t[e]=n)}return t}_isErrorComingFromThisItem(t){return fg(this._editor,t.context,this._excludedProps)}_cloneEditorConfiguration(t){return gr(t,(e,n)=>{if(Qe(e)||n==="context")return e})}}class u5{constructor(t){this.editor=t,this._data=t.config.get("_watchdogInitialData")}init(){this.editor.data.on("init",t=>{t.stop(),this.editor.model.enqueueChange({isUndoable:!1},e=>{this._restoreCollaborationData(),this._restoreEditorData(e)}),this.editor.data.fire("ready")},{priority:1e3-1})}_createNode(t,e){if("name"in e){const n=t.createElement(e.name,e.attributes);if(e.children)for(const i of e.children)n._appendChild(this._createNode(t,i));return n}else return t.createText(e.data,e.attributes)}_restoreEditorData(t){const e=this.editor;Object.entries(this._data.roots).forEach(([n,{content:i,attributes:r}])=>{const s=JSON.parse(i),a=JSON.parse(r),c=e.model.document.getRoot(n);for(const[l,d]of a)t.setAttribute(l,d,c);for(const l of s){const d=this._createNode(t,l);t.insert(d,c,"end")}}),Object.entries(this._data.markers).forEach(([n,i])=>{const{document:r}=e.model,{rangeJSON:{start:s,end:a},...c}=i,l=r.getRoot(s.root),d=t.createPositionFromPath(l,s.path,s.stickiness),u=t.createPositionFromPath(l,a.path,a.stickiness),f=t.createRange(d,u);t.addMarker(n,{range:f,...c})})}_restoreCollaborationData(){const t=JSON.parse(this._data.commentThreads),e=JSON.parse(this._data.suggestions);t.forEach(n=>{const i=this.editor.config.get("collaboration.channelId"),r=this.editor.plugins.get("CommentsRepository");r.hasCommentThread(n.threadId)&&r.getCommentThread(n.threadId).remove(),r.addCommentThread({channelId:i,...n})}),e.forEach(n=>{const i=this.editor.plugins.get("TrackChangesEditing");if(i.hasSuggestion(n.id)){const r=i.getSuggestion(n.id);r.attributes=n.attributes}else i.addSuggestionData(n)})}}const vo=Symbol("MainQueueId");class h5 extends gg{constructor(t,e={}){super(e),this._watchdogs=new Map,this._context=null,this._contextProps=new Set,this._actionQueues=new g5,this._watchdogConfig=e,this._creator=n=>t.create(n),this._destructor=n=>n.destroy(),this._actionQueues.onEmpty(()=>{this.state==="initializing"&&(this.state="ready",this._fire("stateChange"))})}setCreator(t){this._creator=t}setDestructor(t){this._destructor=t}get context(){return this._context}create(t={}){return this._actionQueues.enqueue(vo,()=>(this._contextConfig=t,this._create()))}getItem(t){return this._getWatchdog(t)._item}getItemState(t){return this._getWatchdog(t).state}add(t){const e=pg(t);return Promise.all(e.map(n=>this._actionQueues.enqueue(n.id,()=>{if(this.state==="destroyed")throw new Error("Cannot add items to destroyed watchdog.");if(!this._context)throw new Error("Context was not created yet. You should call the `ContextWatchdog#create()` method first.");let i;if(this._watchdogs.has(n.id))throw new Error(`Item with the given id is already added: '${n.id}'.`);if(n.type==="editor")return i=new mg(null,this._watchdogConfig),i.setCreator(n.creator),i._setExcludedProperties(this._contextProps),n.destructor&&i.setDestructor(n.destructor),this._watchdogs.set(n.id,i),i.on("error",(r,{error:s,causesRestart:a})=>{this._fire("itemError",{itemId:n.id,error:s}),a&&this._actionQueues.enqueue(n.id,()=>new Promise(c=>{const l=()=>{i.off("restart",l),this._fire("itemRestart",{itemId:n.id}),c()};i.on("restart",l)}))}),i.create(n.sourceElementOrData,n.config,this._context);throw new Error(`Not supported item type: '${n.type}'.`)})))}remove(t){const e=pg(t);return Promise.all(e.map(n=>this._actionQueues.enqueue(n,()=>{const i=this._getWatchdog(n);return this._watchdogs.delete(n),i.destroy()})))}destroy(){return this._actionQueues.enqueue(vo,()=>(this.state="destroyed",this._fire("stateChange"),super.destroy(),this._destroy()))}_restart(){return this._actionQueues.enqueue(vo,()=>(this.state="initializing",this._fire("stateChange"),this._destroy().catch(t=>{console.error("An error happened during destroying the context or items.",t)}).then(()=>this._create()).then(()=>this._fire("restart"))))}_create(){return Promise.resolve().then(()=>(this._startErrorHandling(),this._creator(this._contextConfig))).then(t=>(this._context=t,this._contextProps=ta(this._context),Promise.all(Array.from(this._watchdogs.values()).map(e=>(e._setExcludedProperties(this._contextProps),e.create(void 0,void 0,this._context))))))}_destroy(){return Promise.resolve().then(()=>{this._stopErrorHandling();const t=this._context;return this._context=null,this._contextProps=new Set,Promise.all(Array.from(this._watchdogs.values()).map(e=>e.destroy())).then(()=>this._destructor(t))})}_getWatchdog(t){const e=this._watchdogs.get(t);if(!e)throw new Error(`Item with the given id was not registered: ${t}.`);return e}_isErrorComingFromThisItem(t){for(const e of this._watchdogs.values())if(e._isErrorComingFromThisItem(t))return!1;return fg(this._context,t.context)}}class g5{constructor(){this._onEmptyCallbacks=[],this._queues=new Map,this._activeActions=0}onEmpty(t){this._onEmptyCallbacks.push(t)}enqueue(t,e){const n=t===vo;this._activeActions++,this._queues.get(t)||this._queues.set(t,Promise.resolve());const r=(n?Promise.all(this._queues.values()):Promise.all([this._queues.get(vo),this._queues.get(t)])).then(e),s=r.catch(()=>{});return this._queues.set(t,s),r.finally(()=>{this._activeActions--,this._queues.get(t)===s&&this._activeActions===0&&this._onEmptyCallbacks.forEach(a=>a())})}}function pg(o){return Array.isArray(o)?o:[o]}class vi extends gi(ks($E)){constructor(t,e={}){if(!yi(t)&&e.initialData!==void 0)throw new b("editor-create-initial-data",null);super(e),this.config.get("initialData")===void 0&&this.config.set("initialData",f5(t)),yi(t)&&(this.sourceElement=t),this.model.document.createRoot();const n=!this.config.get("toolbar.shouldNotGroupWhenFull"),i=new c5(this.locale,this.editing.view,{shouldToolbarGroupWhenFull:n});this.ui=new a5(this,i),KE(this)}destroy(){return this.sourceElement&&this.updateSourceElement(),this.ui.destroy(),super.destroy()}static create(t,e={}){return new Promise(n=>{const i=new this(t,e);n(i.initPlugins().then(()=>i.ui.init(yi(t)?t:null)).then(()=>i.data.init(i.config.get("initialData"))).then(()=>i.fire("ready")).then(()=>i))})}}vi.Context=vd,vi.EditorWatchdog=mg,vi.ContextWatchdog=h5;function f5(o){return yi(o)?H_(o):o}function yi(o){return Qe(o)}class kg{constructor(t,e=20){this._batch=null,this.model=t,this._size=0,this.limit=e,this._isLocked=!1,this._changeCallback=(n,i)=>{i.isLocal&&i.isUndoable&&i!==this._batch&&this._reset(!0)},this._selectionChangeCallback=()=>{this._reset()},this.model.document.on("change",this._changeCallback),this.model.document.selection.on("change:range",this._selectionChangeCallback),this.model.document.selection.on("change:attribute",this._selectionChangeCallback)}get batch(){return this._batch||(this._batch=this.model.createBatch({isTyping:!0})),this._batch}get size(){return this._size}input(t){this._size+=t,this._size>=this.limit&&this._reset(!0)}get isLocked(){return this._isLocked}lock(){this._isLocked=!0}unlock(){this._isLocked=!1}destroy(){this.model.document.off("change",this._changeCallback),this.model.document.selection.off("change:range",this._selectionChangeCallback),this.model.document.selection.off("change:attribute",this._selectionChangeCallback)}_reset(t=!1){(!this.isLocked||t)&&(this._batch=null,this._size=0)}}class m5 extends X{constructor(t,e){super(t),this._buffer=new kg(t.model,e),this._isEnabledBasedOnSelection=!1}get buffer(){return this._buffer}destroy(){super.destroy(),this._buffer.destroy()}execute(t={}){const e=this.editor.model,n=e.document,i=t.text||"",r=i.length;let s=n.selection;if(t.selection?s=t.selection:t.range&&(s=e.createSelection(t.range)),!e.canEditAt(s))return;const a=t.resultRange;e.enqueueChange(this._buffer.batch,c=>{this._buffer.lock();const l=Array.from(n.selection.getAttributes());e.deleteContent(s),i&&e.insertContent(c.createText(i,l),s),a?c.setSelection(a):s.is("documentSelection")||c.setSelection(s),this._buffer.unlock(),this._buffer.input(r)})}}const bg=["insertText","insertReplacementText"];class p5 extends Ae{constructor(t){super(t),this.focusObserver=t.getObserver(ci),g.isAndroid&&bg.push("insertCompositionText");const e=t.document;e.on("beforeinput",(n,i)=>{if(!this.isEnabled)return;const{data:r,targetRanges:s,inputType:a,domEvent:c}=i;if(!bg.includes(a))return;this.focusObserver.flush();const l=new Pt(e,"insertText");e.fire(l,new In(t,c,{text:r,selection:t.createSelection(s)})),l.stop.called&&n.stop()}),e.on("compositionend",(n,{data:i,domEvent:r})=>{!this.isEnabled||g.isAndroid||i&&e.fire("insertText",new In(t,r,{text:i,selection:e.selection}))},{priority:"lowest"})}observe(){}stopObserving(){}}class wg extends P{static get pluginName(){return"Input"}init(){const t=this.editor,e=t.model,n=t.editing.view,i=e.document.selection;n.addObserver(p5);const r=new m5(t,t.config.get("typing.undoStep")||20);t.commands.add("insertText",r),t.commands.add("input",r),this.listenTo(n.document,"insertText",(s,a)=>{n.document.isComposing||a.preventDefault();const{text:c,selection:l,resultRange:d}=a,u=Array.from(l.getRanges()).map(w=>t.editing.mapper.toModelRange(w));let f=c;if(g.isAndroid){const w=Array.from(u[0].getItems()).reduce((S,B)=>S+(B.is("$textProxy")?B.data:""),"");w&&(w.length<=f.length?f.startsWith(w)&&(f=f.substring(w.length),u[0].start=u[0].start.getShiftedBy(w.length)):w.startsWith(f)&&(u[0].start=u[0].start.getShiftedBy(f.length),f=""))}const p={text:f,selection:e.createSelection(u)};d&&(p.resultRange=t.editing.mapper.toModelRange(d)),t.execute("insertText",p),n.scrollToTheSelection()}),g.isAndroid?this.listenTo(n.document,"keydown",(s,a)=>{i.isCollapsed||a.keyCode!=229||!n.document.isComposing||Ag(e,r)}):this.listenTo(n.document,"compositionstart",()=>{i.isCollapsed||Ag(e,r)})}}function Ag(o,t){if(!t.isEnabled)return;const e=t.buffer;e.lock(),o.enqueueChange(e.batch,()=>{o.deleteContent(o.document.selection)}),e.unlock()}class Cg extends X{constructor(t,e){super(t),this.direction=e,this._buffer=new kg(t.model,t.config.get("typing.undoStep")),this._isEnabledBasedOnSelection=!1}get buffer(){return this._buffer}execute(t={}){const e=this.editor.model,n=e.document;e.enqueueChange(this._buffer.batch,i=>{this._buffer.lock();const r=i.createSelection(t.selection||n.selection);if(!e.canEditAt(r))return;const s=t.sequence||1,a=r.isCollapsed;if(r.isCollapsed&&e.modifySelection(r,{direction:this.direction,unit:t.unit,treatEmojiAsSingleUnit:!0}),this._shouldEntireContentBeReplacedWithParagraph(s)){this._replaceEntireContentWithParagraph(i);return}if(this._shouldReplaceFirstBlockWithParagraph(r,s)){this.editor.execute("paragraph",{selection:r});return}if(r.isCollapsed)return;let c=0;r.getFirstRange().getMinimalFlatRanges().forEach(l=>{c+=$i(l.getWalker({singleCharacters:!0,ignoreElementEnd:!0,shallow:!0}))}),e.deleteContent(r,{doNotResetEntireContent:a,direction:this.direction}),this._buffer.input(c),i.setSelection(r),this._buffer.unlock()})}_shouldEntireContentBeReplacedWithParagraph(t){if(t>1)return!1;const e=this.editor.model,i=e.document.selection,r=e.schema.getLimitElement(i);if(!(i.isCollapsed&&i.containsEntireContent(r))||!e.schema.checkChild(r,"paragraph"))return!1;const a=r.getChild(0);return!(a&&a.is("element","paragraph"))}_replaceEntireContentWithParagraph(t){const e=this.editor.model,i=e.document.selection,r=e.schema.getLimitElement(i),s=t.createElement("paragraph");t.remove(t.createRangeIn(r)),t.insert(s,r),t.setSelection(s,0)}_shouldReplaceFirstBlockWithParagraph(t,e){const n=this.editor.model;if(e>1||this.direction!="backward"||!t.isCollapsed)return!1;const i=t.getFirstPosition(),r=n.schema.getLimitElement(i),s=r.getChild(0);return!(i.parent!=s||!t.containsEntireContent(s)||!n.schema.checkChild(r,"paragraph")||s.name=="paragraph")}}const k5="character",_g="word",b5="codePoint",Ue="selection",Ln="backward",yo="forward",vg={deleteContent:{unit:Ue,direction:Ln},deleteContentBackward:{unit:b5,direction:Ln},deleteWordBackward:{unit:_g,direction:Ln},deleteHardLineBackward:{unit:Ue,direction:Ln},deleteSoftLineBackward:{unit:Ue,direction:Ln},deleteContentForward:{unit:k5,direction:yo},deleteWordForward:{unit:_g,direction:yo},deleteHardLineForward:{unit:Ue,direction:yo},deleteSoftLineForward:{unit:Ue,direction:yo}};class w5 extends Ae{constructor(t){super(t);const e=t.document;let n=0;e.on("keydown",()=>{n++}),e.on("keyup",()=>{n=0}),e.on("beforeinput",(i,r)=>{if(!this.isEnabled)return;const{targetRanges:s,domEvent:a,inputType:c}=r,l=vg[c];if(!l)return;const d={direction:l.direction,unit:l.unit,sequence:n};d.unit==Ue&&(d.selectionToRemove=t.createSelection(s[0])),c==="deleteContentBackward"&&(g.isAndroid&&(d.sequence=1),C5(s)&&(d.unit=Ue,d.selectionToRemove=t.createSelection(s)));const u=new Sn(e,"delete",s[0]);e.fire(u,new In(t,a,d)),u.stop.called&&i.stop()}),g.isBlink&&A5(this)}observe(){}stopObserving(){}}function A5(o){const t=o.view,e=t.document;let n=null,i=!1;e.on("keydown",(a,{keyCode:c})=>{n=c,i=!1}),e.on("keyup",(a,{keyCode:c,domEvent:l})=>{const d=e.selection,u=o.isEnabled&&c==n&&r(c)&&!d.isCollapsed&&!i;if(n=null,u){const f=d.getFirstRange(),p=new Sn(e,"delete",f),w={unit:Ue,direction:s(c),selectionToRemove:d};e.fire(p,new In(t,l,w))}}),e.on("beforeinput",(a,{inputType:c})=>{const l=vg[c];r(n)&&l&&l.direction==s(n)&&(i=!0)},{priority:"high"}),e.on("beforeinput",(a,{inputType:c,data:l})=>{n==tt.delete&&c=="insertText"&&l==""&&a.stop()},{priority:"high"});function r(a){return a==tt.backspace||a==tt.delete}function s(a){return a==tt.backspace?Ln:yo}}function C5(o){if(o.length!=1||o[0].isCollapsed)return!1;const t=o[0].getWalker({direction:"backward",singleCharacters:!0,ignoreElementEnd:!0});let e=0;for(const{nextPosition:n}of t){if(!n.parent.is("$text"))e++;else{const i=n.parent.data,r=n.offset;if(Ar(i,r)||Cr(i,r)||Kl(i,r))continue;e++}if(e>1)return!0}return!1}class Be extends P{static get pluginName(){return"Delete"}init(){const t=this.editor,e=t.editing.view,n=e.document,i=t.model.document;e.addObserver(w5),this._undoOnBackspace=!1;const r=new Cg(t,"forward");t.commands.add("deleteForward",r),t.commands.add("forwardDelete",r),t.commands.add("delete",new Cg(t,"backward")),this.listenTo(n,"delete",(s,a)=>{n.isComposing||a.preventDefault();const{direction:c,sequence:l,selectionToRemove:d,unit:u}=a,f=c==="forward"?"deleteForward":"delete",p={sequence:l};if(u=="selection"){const w=Array.from(d.getRanges()).map(S=>t.editing.mapper.toModelRange(S));p.selection=t.model.createSelection(w)}else p.unit=u;t.execute(f,p),e.scrollToTheSelection()},{priority:"low"}),this.editor.plugins.has("UndoEditing")&&(this.listenTo(n,"delete",(s,a)=>{this._undoOnBackspace&&a.direction=="backward"&&a.sequence==1&&a.unit=="codePoint"&&(this._undoOnBackspace=!1,t.execute("undo"),a.preventDefault(),s.stop())},{context:"$capture"}),this.listenTo(i,"change",()=>{this._undoOnBackspace=!1}))}requestUndoOnBackspace(){this.editor.plugins.has("UndoEditing")&&(this._undoOnBackspace=!0)}}class _5 extends P{static get requires(){return[wg,Be]}static get pluginName(){return"Typing"}}function yg(o,t){let e=o.start;return{text:Array.from(o.getWalker({ignoreElementEnd:!1})).reduce((i,{item:r})=>r.is("$text")||r.is("$textProxy")?i+r.data:(e=t.createPositionAfter(r),""),""),range:t.createRange(e,o.end)}}class xg extends rt(){constructor(t,e){super(),this.model=t,this.testCallback=e,this._hasMatch=!1,this.set("isEnabled",!0),this.on("change:isEnabled",()=>{this.isEnabled?this._startListening():(this.stopListening(t.document.selection),this.stopListening(t.document))}),this._startListening()}get hasMatch(){return this._hasMatch}_startListening(){const e=this.model.document;this.listenTo(e.selection,"change:range",(n,{directChange:i})=>{if(i){if(!e.selection.isCollapsed){this.hasMatch&&(this.fire("unmatched"),this._hasMatch=!1);return}this._evaluateTextBeforeSelection("selection")}}),this.listenTo(e,"change:data",(n,i)=>{i.isUndo||!i.isLocal||this._evaluateTextBeforeSelection("data",{batch:i})})}_evaluateTextBeforeSelection(t,e={}){const n=this.model,r=n.document.selection,s=n.createRange(n.createPositionAt(r.focus.parent,0),r.focus),{text:a,range:c}=yg(s,n),l=this.testCallback(a);if(!l&&this.hasMatch&&this.fire("unmatched"),this._hasMatch=!!l,l){const d=Object.assign(e,{text:a,range:c});typeof l=="object"&&Object.assign(d,l),this.fire(`matched:${t}`,d)}}}class Eg extends P{static get pluginName(){return"TwoStepCaretMovement"}constructor(t){super(t),this._isNextGravityRestorationSkipped=!1,this.attributes=new Set,this._overrideUid=null}init(){const t=this.editor,e=t.model,n=t.editing.view,i=t.locale,r=e.document.selection;this.listenTo(n.document,"arrowKey",(s,a)=>{if(!r.isCollapsed||a.shiftKey||a.altKey||a.ctrlKey)return;const c=a.keyCode==tt.arrowright,l=a.keyCode==tt.arrowleft;if(!c&&!l)return;const d=i.contentLanguageDirection;let u=!1;d==="ltr"&&c||d==="rtl"&&l?u=this._handleForwardMovement(a):u=this._handleBackwardMovement(a),u===!0&&s.stop()},{context:"$text",priority:"highest"}),this.listenTo(r,"change:range",(s,a)=>{if(this._isNextGravityRestorationSkipped){this._isNextGravityRestorationSkipped=!1;return}this._isGravityOverridden&&(!a.directChange&&ae(r.getFirstPosition(),this.attributes)||this._restoreGravity())}),this._enableClickingAfterNode(),this._enableInsertContentSelectionAttributesFixer(),this._handleDeleteContentAfterNode()}registerAttribute(t){this.attributes.add(t)}_handleForwardMovement(t){const e=this.attributes,n=this.editor.model,i=n.document.selection,r=i.getFirstPosition();return this._isGravityOverridden||r.isAtStart&&Ne(i,e)?!1:ae(r,e)?(Eo(t),Ne(i,e)&&ae(r,e,!0)?xo(n,e):this._overrideGravity(),!0):!1}_handleBackwardMovement(t){const e=this.attributes,n=this.editor.model,i=n.document.selection,r=i.getFirstPosition();return this._isGravityOverridden?(Eo(t),this._restoreGravity(),ae(r,e,!0)?xo(n,e):xi(n,e,r),!0):r.isAtStart?Ne(i,e)?(Eo(t),xi(n,e,r),!0):!1:!Ne(i,e)&&ae(r,e,!0)?(Eo(t),xi(n,e,r),!0):Dg(r,e)?r.isAtEnd&&!Ne(i,e)&&ae(r,e)?(Eo(t),xi(n,e,r),!0):(this._isNextGravityRestorationSkipped=!0,this._overrideGravity(),!1):!1}_enableClickingAfterNode(){const t=this.editor,e=t.model,n=e.document.selection,i=t.editing.view.document;t.editing.view.addObserver(hi);let r=!1;this.listenTo(i,"mousedown",()=>{r=!0}),this.listenTo(i,"selectionChange",()=>{const s=this.attributes;if(!r||(r=!1,!n.isCollapsed)||!Ne(n,s))return;const a=n.getFirstPosition();ae(a,s)&&(a.isAtStart||ae(a,s,!0)?xo(e,s):this._isGravityOverridden||this._overrideGravity())})}_enableInsertContentSelectionAttributesFixer(){const e=this.editor.model,n=e.document.selection,i=this.attributes;this.listenTo(e,"insertContent",()=>{const r=n.getFirstPosition();Ne(n,i)&&ae(r,i)&&xo(e,i)},{priority:"low"})}_handleDeleteContentAfterNode(){const t=this.editor,e=t.model,n=e.document.selection,i=t.editing.view;let r=!1,s=!1;this.listenTo(i.document,"delete",(a,c)=>{r=c.direction==="backward"},{priority:"high"}),this.listenTo(e,"deleteContent",()=>{if(!r)return;const a=n.getFirstPosition();s=Ne(n,this.attributes)&&!Dg(a,this.attributes)},{priority:"high"}),this.listenTo(e,"deleteContent",()=>{r&&(r=!1,!s&&t.model.enqueueChange(()=>{const a=n.getFirstPosition();Ne(n,this.attributes)&&ae(a,this.attributes)&&(a.isAtStart||ae(a,this.attributes,!0)?xo(e,this.attributes):this._isGravityOverridden||this._overrideGravity())}))},{priority:"low"})}get _isGravityOverridden(){return!!this._overrideUid}_overrideGravity(){this._overrideUid=this.editor.model.change(t=>t.overrideSelectionGravity())}_restoreGravity(){this.editor.model.change(t=>{t.restoreSelectionGravity(this._overrideUid),this._overrideUid=null})}}function Ne(o,t){for(const e of t)if(o.hasAttribute(e))return!0;return!1}function xi(o,t,e){const n=e.nodeBefore;o.change(i=>{if(n){const r=[],s=o.schema.isObject(n)&&o.schema.isInline(n);for(const[a,c]of n.getAttributes())o.schema.checkAttribute("$text",a)&&(!s||o.schema.getAttributeProperties(a).copyFromObject!==!1)&&r.push([a,c]);i.setSelectionAttribute(r)}else i.removeSelectionAttribute(t)})}function xo(o,t){o.change(e=>{e.removeSelectionAttribute(t)})}function Eo(o){o.preventDefault()}function Dg(o,t){const e=o.getShiftedBy(-1);return ae(e,t)}function ae(o,t,e=!1){const{nodeBefore:n,nodeAfter:i}=o;for(const r of t){const s=n?n.getAttribute(r):void 0,a=i?i.getAttribute(r):void 0;if(!(e&&(s===void 0||a===void 0))&&a!==s)return!0}return!1}const Sg={copyright:{from:"(c)",to:"©"},registeredTrademark:{from:"(r)",to:"®"},trademark:{from:"(tm)",to:"™"},oneHalf:{from:/(^|[^/a-z0-9])(1\/2)([^/a-z0-9])$/i,to:[null,"½",null]},oneThird:{from:/(^|[^/a-z0-9])(1\/3)([^/a-z0-9])$/i,to:[null,"⅓",null]},twoThirds:{from:/(^|[^/a-z0-9])(2\/3)([^/a-z0-9])$/i,to:[null,"⅔",null]},oneForth:{from:/(^|[^/a-z0-9])(1\/4)([^/a-z0-9])$/i,to:[null,"¼",null]},threeQuarters:{from:/(^|[^/a-z0-9])(3\/4)([^/a-z0-9])$/i,to:[null,"¾",null]},lessThanOrEqual:{from:"<=",to:"≤"},greaterThanOrEqual:{from:">=",to:"≥"},notEqual:{from:"!=",to:"≠"},arrowLeft:{from:"<-",to:"←"},arrowRight:{from:"->",to:"→"},horizontalEllipsis:{from:"...",to:"…"},enDash:{from:/(^| )(--)( )$/,to:[null,"–",null]},emDash:{from:/(^| )(---)( )$/,to:[null,"—",null]},quotesPrimary:{from:On('"'),to:[null,"“",null,"”"]},quotesSecondary:{from:On("'"),to:[null,"‘",null,"’"]},quotesPrimaryEnGb:{from:On("'"),to:[null,"‘",null,"’"]},quotesSecondaryEnGb:{from:On('"'),to:[null,"“",null,"”"]},quotesPrimaryPl:{from:On('"'),to:[null,"„",null,"”"]},quotesSecondaryPl:{from:On("'"),to:[null,"‚",null,"’"]}},Tg={symbols:["copyright","registeredTrademark","trademark"],mathematical:["oneHalf","oneThird","twoThirds","oneForth","threeQuarters","lessThanOrEqual","greaterThanOrEqual","notEqual","arrowLeft","arrowRight"],typography:["horizontalEllipsis","enDash","emDash"],quotes:["quotesPrimary","quotesSecondary"]},v5=["symbols","mathematical","typography","quotes"];class y5 extends P{static get requires(){return["Delete","Input"]}static get pluginName(){return"TextTransformation"}constructor(t){super(t),t.config.define("typing",{transformations:{include:v5}})}init(){const e=this.editor.model.document.selection;e.on("change:range",()=>{this.isEnabled=!e.anchor.parent.is("element","codeBlock")}),this._enableTransformationWatchers()}_enableTransformationWatchers(){const t=this.editor,e=t.model,n=t.plugins.get("Delete"),i=S5(t.config.get("typing.transformations")),r=a=>{for(const c of i)if(c.from.test(a))return{normalizedTransformation:c}},s=new xg(t.model,r);s.on("matched:data",(a,c)=>{if(!c.batch.isTyping)return;const{from:l,to:d}=c.normalizedTransformation,u=l.exec(c.text),f=d(u.slice(1)),p=c.range;let w=u.index;e.enqueueChange(S=>{for(let B=1;B{n.requestUndoOnBackspace()})})}),s.bind("isEnabled").to(this)}}function x5(o){return typeof o=="string"?new RegExp(`(${rg(o)})$`):o}function E5(o){return typeof o=="string"?()=>[o]:o instanceof Array?()=>o:o}function D5(o){return(o.textNode?o.textNode:o.nodeAfter).getAttributes()}function On(o){return new RegExp(`(^|\\s)(${o})([^${o}]*)(${o})$`)}function S5(o){const t=o.extra||[],e=o.remove||[],n=r=>!e.includes(r),i=o.include.concat(t).filter(n);return T5(i).filter(n).map(r=>typeof r=="string"&&Sg[r]?Sg[r]:r).filter(r=>typeof r=="object").map(r=>({from:x5(r.from),to:E5(r.to)}))}function T5(o){const t=new Set;for(const e of o)if(typeof e=="string"&&Tg[e])for(const n of Tg[e])t.add(n);else t.add(e);return Array.from(t)}function Ei(o,t,e,n){return n.createRange(Ig(o,t,e,!0,n),Ig(o,t,e,!1,n))}function Ig(o,t,e,n,i){let r=o.textNode||(n?o.nodeBefore:o.nodeAfter),s=null;for(;r&&r.getAttribute(t)==e;)s=r,r=n?r.previousSibling:r.nextSibling;return s?i.createPositionAt(s,n?"before":"after"):o}function I5(o,t,e,n){const i=o.editing.view,r=new Set;i.document.registerPostFixer(s=>{const a=o.model.document.selection;let c=!1;if(a.hasAttribute(t)){const l=Ei(a.getFirstPosition(),t,a.getAttribute(t),o.model),d=o.editing.mapper.toViewRange(l);for(const u of d.getItems())u.is("element",e)&&!u.hasClass(n)&&(s.addClass(n,u),r.add(u),c=!0)}return c}),o.conversion.for("editingDowncast").add(s=>{s.on("insert",a,{priority:"highest"}),s.on("remove",a,{priority:"highest"}),s.on("attribute",a,{priority:"highest"}),s.on("selection",a,{priority:"highest"});function a(){i.change(c=>{for(const l of r.values())c.removeClass(n,l),r.delete(l)})}})}function qe(o,t,e,n){let i,r=null;typeof n=="function"?i=n:(r=o.commands.get(n),i=()=>{o.execute(n)}),o.model.document.on("change:data",(s,a)=>{if(r&&!r.isEnabled||!t.isEnabled)return;const c=It(o.model.document.selection.getRanges());if(!c.isCollapsed||a.isUndo||!a.isLocal)return;const l=Array.from(o.model.document.differ.getChanges()),d=l[0];if(l.length!=1||d.type!=="insert"||d.name!="$text"||d.length!=1)return;const u=d.position.parent;if(u.is("element","codeBlock")||u.is("element","listItem")&&typeof n!="function"&&!["numberedList","bulletedList","todoList"].includes(n)||r&&r.value===!0)return;const f=u.getChild(0),p=o.model.createRangeOn(f);if(!p.containsRange(c)&&!c.end.isEqual(p.end))return;const w=e.exec(f.data.substr(0,c.end.offset));w&&o.model.enqueueChange(S=>{const B=S.createPositionAt(u,0),z=S.createPositionAt(u,w[0].length),V=new Xt(B,z);if(i({match:w})!==!1){S.remove(V);const st=o.model.document.selection.getFirstRange(),pt=S.createRangeIn(u);u.isEmpty&&!pt.isEqual(st)&&!pt.containsRange(st,!0)&&S.remove(u)}V.detach(),o.model.enqueueChange(()=>{o.plugins.get("Delete").requestUndoOnBackspace()})})})}function Rn(o,t,e,n){let i,r;e instanceof RegExp?i=e:r=e,r=r||(s=>{let a;const c=[],l=[];for(;(a=i.exec(s))!==null&&!(a&&a.length<4);){let{index:d,1:u,2:f,3:p}=a;const w=u+f+p;d+=a[0].length-w.length;const S=[d,d+u.length],B=[d+u.length+f.length,d+u.length+f.length+p.length];c.push(S),c.push(B),l.push([d+u.length,d+u.length+f.length])}return{remove:c,format:l}}),o.model.document.on("change:data",(s,a)=>{if(a.isUndo||!a.isLocal||!t.isEnabled)return;const c=o.model,l=c.document.selection;if(!l.isCollapsed)return;const d=Array.from(c.document.differ.getChanges()),u=d[0];if(d.length!=1||u.type!=="insert"||u.name!="$text"||u.length!=1)return;const f=l.focus,p=f.parent,{text:w,range:S}=M5(c.createRange(c.createPositionAt(p,0),f),c),B=r(w),z=Mg(S.start,B.format,c),V=Mg(S.start,B.remove,c);z.length&&V.length&&c.enqueueChange(J=>{if(n(J,z)!==!1){for(const pt of V.reverse())J.remove(pt);c.enqueueChange(()=>{o.plugins.get("Delete").requestUndoOnBackspace()})}})})}function Mg(o,t,e){return t.filter(n=>n[0]!==void 0&&n[1]!==void 0).map(n=>e.createRange(o.getShiftedBy(n[0]),o.getShiftedBy(n[1])))}function M5(o,t){let e=o.start;return{text:Array.from(o.getItems()).reduce((i,r)=>!(r.is("$text")||r.is("$textProxy"))||r.getAttribute("code")?(e=t.createPositionAfter(r),""):i+r.data,""),range:t.createRange(e,o.end)}}class B5 extends P{static get requires(){return[Be]}static get pluginName(){return"Autoformat"}afterInit(){this._addListAutoformats(),this._addBasicStylesAutoformats(),this._addHeadingAutoformats(),this._addBlockQuoteAutoformats(),this._addCodeBlockAutoformats(),this._addHorizontalLineAutoformats()}_addListAutoformats(){const t=this.editor.commands;t.get("bulletedList")&&qe(this.editor,this,/^[*-]\s$/,"bulletedList"),t.get("numberedList")&&qe(this.editor,this,/^1[.|)]\s$/,"numberedList"),t.get("todoList")&&qe(this.editor,this,/^\[\s?\]\s$/,"todoList"),t.get("checkTodoList")&&qe(this.editor,this,/^\[\s?x\s?\]\s$/,()=>{this.editor.execute("todoList"),this.editor.execute("checkTodoList")})}_addBasicStylesAutoformats(){const t=this.editor.commands;if(t.get("bold")){const e=Di(this.editor,"bold");Rn(this.editor,this,/(?:^|\s)(\*\*)([^*]+)(\*\*)$/g,e),Rn(this.editor,this,/(?:^|\s)(__)([^_]+)(__)$/g,e)}if(t.get("italic")){const e=Di(this.editor,"italic");Rn(this.editor,this,/(?:^|\s)(\*)([^*_]+)(\*)$/g,e),Rn(this.editor,this,/(?:^|\s)(_)([^_]+)(_)$/g,e)}if(t.get("code")){const e=Di(this.editor,"code");Rn(this.editor,this,/(`)([^`]+)(`)$/g,e)}if(t.get("strikethrough")){const e=Di(this.editor,"strikethrough");Rn(this.editor,this,/(~~)([^~]+)(~~)$/g,e)}}_addHeadingAutoformats(){const t=this.editor.commands.get("heading");t&&t.modelElements.filter(e=>e.match(/^heading[1-6]$/)).forEach(e=>{const n=e[7],i=new RegExp(`^(#{${n}})\\s$`);qe(this.editor,this,i,()=>{if(!t.isEnabled||t.value===e)return!1;this.editor.execute("heading",{value:e})})})}_addBlockQuoteAutoformats(){this.editor.commands.get("blockQuote")&&qe(this.editor,this,/^>\s$/,"blockQuote")}_addCodeBlockAutoformats(){const t=this.editor,e=t.model.document.selection;t.commands.get("codeBlock")&&qe(t,this,/^```$/,()=>{if(e.getFirstPosition().parent.is("element","listItem"))return!1;this.editor.execute("codeBlock",{usePreviousLanguageChoice:!0})})}_addHorizontalLineAutoformats(){this.editor.commands.get("horizontalLine")&&qe(this.editor,this,/^---$/,"horizontalLine")}}function Di(o,t){return(e,n)=>{if(!o.commands.get(t).isEnabled)return!1;const r=o.model.schema.getValidRanges(n,t);for(const s of r)e.setAttribute(t,!0,s);e.removeSelectionAttribute(t)}}class Bg extends X{constructor(t,e){super(t),this.attributeKey=e}refresh(){const t=this.editor.model,e=t.document;this.value=this._getValueFromFirstAllowedNode(),this.isEnabled=t.schema.checkAttributeInSelection(e.selection,this.attributeKey)}execute(t={}){const e=this.editor.model,i=e.document.selection,r=t.forceValue===void 0?!this.value:t.forceValue;e.change(s=>{if(i.isCollapsed)r?s.setSelectionAttribute(this.attributeKey,!0):s.removeSelectionAttribute(this.attributeKey);else{const a=e.schema.getValidRanges(i.getRanges(),this.attributeKey);for(const c of a)r?s.setAttribute(this.attributeKey,r,c):s.removeAttribute(this.attributeKey,c)}})}_getValueFromFirstAllowedNode(){const t=this.editor.model,e=t.schema,n=t.document.selection;if(n.isCollapsed)return n.hasAttribute(this.attributeKey);for(const i of n.getRanges())for(const r of i.getItems())if(e.checkAttribute(r,this.attributeKey))return r.hasAttribute(this.attributeKey);return!1}}const jn="bold";class N5 extends P{static get pluginName(){return"BoldEditing"}init(){const t=this.editor;t.model.schema.extend("$text",{allowAttributes:jn}),t.model.schema.setAttributeProperties(jn,{isFormatting:!0,copyOnEnter:!0}),t.conversion.attributeToElement({model:jn,view:"strong",upcastAlso:["b",e=>{const n=e.getStyle("font-weight");return n&&(n=="bold"||Number(n)>=600)?{name:!0,styles:["font-weight"]}:null}]}),t.commands.add(jn,new Bg(t,jn)),t.keystrokes.set("CTRL+B",jn)}}const ea="bold";class z5 extends P{static get pluginName(){return"BoldUI"}init(){const t=this.editor,e=t.t;t.ui.componentFactory.add(ea,n=>{const i=t.commands.get(ea),r=new ht(n);return r.set({label:e("Bold"),icon:dt.bold,keystroke:"CTRL+B",tooltip:!0,isToggleable:!0}),r.bind("isOn","isEnabled").to(i,"value","isEnabled"),this.listenTo(r,"execute",()=>{t.execute(ea),t.editing.view.focus()}),r})}}class P5 extends P{static get requires(){return[N5,z5]}static get pluginName(){return"Bold"}}var Ng=L(5363),na={injectType:"singletonStyleTag",attributes:{"data-cke":!0}};na.insert="head",na.singleton=!0,F()(Ng.Z,na),Ng.Z.locals;const Fn="italic";class L5 extends P{static get pluginName(){return"ItalicEditing"}init(){const t=this.editor;t.model.schema.extend("$text",{allowAttributes:Fn}),t.model.schema.setAttributeProperties(Fn,{isFormatting:!0,copyOnEnter:!0}),t.conversion.attributeToElement({model:Fn,view:"i",upcastAlso:["em",{styles:{"font-style":"italic"}}]}),t.commands.add(Fn,new Bg(t,Fn)),t.keystrokes.set("CTRL+I",Fn)}}const O5='',oa="italic";class R5 extends P{static get pluginName(){return"ItalicUI"}init(){const t=this.editor,e=t.t;t.ui.componentFactory.add(oa,n=>{const i=t.commands.get(oa),r=new ht(n);return r.set({label:e("Italic"),icon:O5,keystroke:"CTRL+I",tooltip:!0,isToggleable:!0}),r.bind("isOn","isEnabled").to(i,"value","isEnabled"),this.listenTo(r,"execute",()=>{t.execute(oa),t.editing.view.focus()}),r})}}class j5 extends P{static get requires(){return[L5,R5]}static get pluginName(){return"Italic"}}function*zg(o,t){for(const e of t)e&&o.getAttributeProperties(e[0]).copyOnEnter&&(yield e)}class F5 extends X{execute(){this.editor.model.change(t=>{this.enterBlock(t),this.fire("afterExecute",{writer:t})})}enterBlock(t){const e=this.editor.model,n=e.document.selection,i=e.schema,r=n.isCollapsed,s=n.getFirstRange(),a=s.start.parent,c=s.end.parent;if(i.isLimit(a)||i.isLimit(c))return!r&&a==c&&e.deleteContent(n),!1;if(r){const l=zg(t.model.schema,n.getAttributes());return Pg(t,s.start),t.setSelectionAttribute(l),!0}else{const l=!(s.start.isAtStart&&s.end.isAtEnd),d=a==c;if(e.deleteContent(n,{leaveUnmerged:l}),l){if(d)return Pg(t,n.focus),!0;t.setSelection(c,0)}}return!1}}function Pg(o,t){o.split(t),o.setSelection(t.parent.nextSibling,0)}const V5={insertParagraph:{isSoft:!1},insertLineBreak:{isSoft:!0}};class Lg extends Ae{constructor(t){super(t);const e=this.document;let n=!1;e.on("keydown",(i,r)=>{n=r.shiftKey}),e.on("beforeinput",(i,r)=>{if(!this.isEnabled)return;let s=r.inputType;g.isSafari&&n&&s=="insertParagraph"&&(s="insertLineBreak");const a=r.domEvent,c=V5[s];if(!c)return;const l=new Sn(e,"enter",r.targetRanges[0]);e.fire(l,new In(t,a,{isSoft:c.isSoft})),l.stop.called&&i.stop()})}observe(){}stopObserving(){}}class Si extends P{static get pluginName(){return"Enter"}init(){const t=this.editor,e=t.editing.view,n=e.document;e.addObserver(Lg),t.commands.add("enter",new F5(t)),this.listenTo(n,"enter",(i,r)=>{n.isComposing||r.preventDefault(),!r.isSoft&&(t.execute("enter"),e.scrollToTheSelection())},{priority:"low"})}}class H5 extends X{execute(){const t=this.editor.model,e=t.document;t.change(n=>{q5(t,n,e.selection),this.fire("afterExecute",{writer:n})})}refresh(){const t=this.editor.model,e=t.document;this.isEnabled=U5(t.schema,e.selection)}}function U5(o,t){if(t.rangeCount>1)return!1;const e=t.anchor;if(!e||!o.checkChild(e,"softBreak"))return!1;const n=t.getFirstRange(),i=n.start.parent,r=n.end.parent;return!((ia(i,o)||ia(r,o))&&i!==r)}function q5(o,t,e){const n=e.isCollapsed,i=e.getFirstRange(),r=i.start.parent,s=i.end.parent,a=r==s;if(n){const c=zg(o.schema,e.getAttributes());Og(o,t,i.end),t.removeSelectionAttribute(e.getAttributeKeys()),t.setSelectionAttribute(c)}else{const c=!(i.start.isAtStart&&i.end.isAtEnd);o.deleteContent(e,{leaveUnmerged:c}),a?Og(o,t,e.focus):c&&t.setSelection(s,0)}}function Og(o,t,e){const n=t.createElement("softBreak");o.insertContent(n,e),t.setSelection(n,"after")}function ia(o,t){return o.is("rootElement")?!1:t.isLimit(o)||ia(o.parent,t)}class W5 extends P{static get pluginName(){return"ShiftEnter"}init(){const t=this.editor,e=t.model.schema,n=t.conversion,i=t.editing.view,r=i.document;e.register("softBreak",{allowWhere:"$text",isInline:!0}),n.for("upcast").elementToElement({model:"softBreak",view:"br"}),n.for("downcast").elementToElement({model:"softBreak",view:(s,{writer:a})=>a.createEmptyElement("br")}),i.addObserver(Lg),t.commands.add("shiftEnter",new H5(t)),this.listenTo(r,"enter",(s,a)=>{r.isComposing||a.preventDefault(),a.isSoft&&(t.execute("shiftEnter"),i.scrollToTheSelection())},{priority:"low"})}}class G5 extends X{refresh(){this.value=this._getValue(),this.isEnabled=this._checkEnabled()}execute(t={}){const e=this.editor.model,n=e.schema,i=e.document.selection,r=Array.from(i.getSelectedBlocks()),s=t.forceValue===void 0?!this.value:t.forceValue;e.change(a=>{if(!s)this._removeQuote(a,r.filter(Ti));else{const c=r.filter(l=>Ti(l)||jg(n,l));this._applyQuote(a,c)}})}_getValue(){const t=this.editor.model.document.selection,e=It(t.getSelectedBlocks());return!!(e&&Ti(e))}_checkEnabled(){if(this.value)return!0;const t=this.editor.model.document.selection,e=this.editor.model.schema,n=It(t.getSelectedBlocks());return n?jg(e,n):!1}_removeQuote(t,e){Rg(t,e).reverse().forEach(n=>{if(n.start.isAtStart&&n.end.isAtEnd){t.unwrap(n.start.parent);return}if(n.start.isAtStart){const r=t.createPositionBefore(n.start.parent);t.move(n,r);return}n.end.isAtEnd||t.split(n.end);const i=t.createPositionAfter(n.end.parent);t.move(n,i)})}_applyQuote(t,e){const n=[];Rg(t,e).reverse().forEach(i=>{let r=Ti(i.start);r||(r=t.createElement("blockQuote"),t.wrap(i,r)),n.push(r)}),n.reverse().reduce((i,r)=>i.nextSibling==r?(t.merge(t.createPositionAfter(i)),i):r)}}function Ti(o){return o.parent.name=="blockQuote"?o.parent:null}function Rg(o,t){let e,n=0;const i=[];for(;n{const a=t.model.document.differ.getChanges();for(const c of a)if(c.type=="insert"){const l=c.position.nodeAfter;if(!l)continue;if(l.is("element","blockQuote")&&l.isEmpty)return s.remove(l),!0;if(l.is("element","blockQuote")&&!e.checkChild(c.position,l))return s.unwrap(l),!0;if(l.is("element")){const d=s.createRangeIn(l);for(const u of d.getItems())if(u.is("element","blockQuote")&&!e.checkChild(s.createPositionBefore(u),u))return s.unwrap(u),!0}}else if(c.type=="remove"){const l=c.position.parent;if(l.is("element","blockQuote")&&l.isEmpty)return s.remove(l),!0}return!1});const n=this.editor.editing.view.document,i=t.model.document.selection,r=t.commands.get("blockQuote");this.listenTo(n,"enter",(s,a)=>{if(!i.isCollapsed||!r.value)return;i.getLastPosition().parent.isEmpty&&(t.execute("blockQuote"),t.editing.view.scrollToTheSelection(),a.preventDefault(),s.stop())},{context:"blockquote"}),this.listenTo(n,"delete",(s,a)=>{if(a.direction!="backward"||!i.isCollapsed||!r.value)return;const c=i.getLastPosition().parent;c.isEmpty&&!c.previousSibling&&(t.execute("blockQuote"),t.editing.view.scrollToTheSelection(),a.preventDefault(),s.stop())},{context:"blockquote"})}}var Fg=L(3789),ra={injectType:"singletonStyleTag",attributes:{"data-cke":!0}};ra.insert="head",ra.singleton=!0,F()(Fg.Z,ra),Fg.Z.locals;class K5 extends P{static get pluginName(){return"BlockQuoteUI"}init(){const t=this.editor,e=t.t;t.ui.componentFactory.add("blockQuote",n=>{const i=t.commands.get("blockQuote"),r=new ht(n);return r.set({label:e("Block quote"),icon:dt.quote,tooltip:!0,isToggleable:!0}),r.bind("isOn","isEnabled").to(i,"value","isEnabled"),this.listenTo(r,"execute",()=>{t.execute("blockQuote"),t.editing.view.focus()}),r})}}class Z5 extends P{static get requires(){return[$5,K5]}static get pluginName(){return"BlockQuote"}}const Y5={autoRefresh:!0},Vg=36e5;class sa extends rt(){constructor(t,e={}){if(super(),!t)throw new b("token-missing-token-url",this);e.initValue&&this._validateTokenValue(e.initValue),this.set("value",e.initValue),typeof t=="function"?this._refresh=t:this._refresh=()=>Q5(t),this._options={...Y5,...e}}init(){return new Promise((t,e)=>{if(!this.value){this.refreshToken().then(t).catch(e);return}this._options.autoRefresh&&this._registerRefreshTokenTimeout(),t(this)})}refreshToken(){return this._refresh().then(t=>(this._validateTokenValue(t),this.set("value",t),this._options.autoRefresh&&this._registerRefreshTokenTimeout(),this))}destroy(){clearTimeout(this._tokenRefreshTimeout)}_validateTokenValue(t){const e=typeof t=="string",n=!/^".*"$/.test(t),i=e&&t.split(".").length===3;if(!(n&&i))throw new b("token-not-in-jwt-format",this)}_registerRefreshTokenTimeout(){const t=this._getTokenRefreshTimeoutTime();clearTimeout(this._tokenRefreshTimeout),this._tokenRefreshTimeout=setTimeout(()=>{this.refreshToken()},t)}_getTokenRefreshTimeoutTime(){try{const[,t]=this.value.split("."),{exp:e}=JSON.parse(atob(t));return e?Math.floor((e*1e3-Date.now())/2):Vg}catch{return Vg}}static create(t,e={}){return new sa(t,e).init()}}function Q5(o){return new Promise((t,e)=>{const n=new XMLHttpRequest;n.open("GET",o),n.addEventListener("load",()=>{const i=n.status,r=n.response;return i<200||i>299?e(new b("token-cannot-download-new-token",null)):t(r)}),n.addEventListener("error",()=>e(new Error("Network Error"))),n.addEventListener("abort",()=>e(new Error("Abort"))),n.send()})}const aa=/^data:(\S*?);base64,/;class J5 extends ct(){constructor(t,e,n){if(super(),!t)throw new b("fileuploader-missing-file",null);if(!e)throw new b("fileuploader-missing-token",null);if(!n)throw new b("fileuploader-missing-api-address",null);this.file=tS(t)?X5(t):t,this._token=e,this._apiAddress=n}onProgress(t){return this.on("progress",(e,n)=>t(n)),this}onError(t){return this.once("error",(e,n)=>t(n)),this}abort(){this.xhr.abort()}send(){return this._prepareRequest(),this._attachXHRListeners(),this._sendRequest()}_prepareRequest(){const t=new XMLHttpRequest;t.open("POST",this._apiAddress),t.setRequestHeader("Authorization",this._token.value),t.responseType="json",this.xhr=t}_attachXHRListeners(){const t=this.xhr,e=n=>()=>this.fire("error",n);t.addEventListener("error",e("Network Error")),t.addEventListener("abort",e("Abort")),t.upload&&t.upload.addEventListener("progress",n=>{n.lengthComputable&&this.fire("progress",{total:n.total,uploaded:n.loaded})}),t.addEventListener("load",()=>{const n=t.status,i=t.response;if(n<200||n>299)return this.fire("error",i.message||i.error)})}_sendRequest(){const t=new FormData,e=this.xhr;return t.append("file",this.file),new Promise((n,i)=>{e.addEventListener("load",()=>{const r=e.status,s=e.response;return r<200||r>299?s.message?i(new b("fileuploader-uploading-data-failed",this,{message:s.message})):i(s.error):n(s)}),e.addEventListener("error",()=>i(new Error("Network Error"))),e.addEventListener("abort",()=>i(new Error("Abort"))),e.send(t)})}}function X5(o,t=512){try{const e=o.match(aa)[1],n=atob(o.replace(aa,"")),i=[];for(let r=0;r{s.preventDefault();const a=s.dropRange?[s.dropRange]:null,c=new Pt(e,i);e.fire(c,{dataTransfer:s.dataTransfer,method:r.name,targetRanges:a,target:s.target,domEvent:s.domEvent}),c.stop.called&&s.stopPropagation()}}}onDomEvent(t){const e="clipboardData"in t?t.clipboardData:t.dataTransfer,n=t.type=="drop"||t.type=="paste",i={dataTransfer:new bu(e,{cacheFiles:n})};(t.type=="drop"||t.type=="dragover")&&(i.dropRange=iS(this.view,t)),this.fire(t.type,t,i)}}function iS(o,t){const e=t.target.ownerDocument,n=t.clientX,i=t.clientY;let r;return e.caretRangeFromPoint&&e.caretRangeFromPoint(n,i)?r=e.caretRangeFromPoint(n,i):t.rangeParent&&(r=e.createRange(),r.setStart(t.rangeParent,t.rangeOffset),r.collapse(!0)),r?o.domConverter.domRangeToView(r):null}function rS(o){return o=o.replace(/&/g,"&").replace(//g,">").replace(/\r?\n\r?\n/g,"

").replace(/\r?\n/g,"
").replace(/\t/g,"    ").replace(/^\s/," ").replace(/\s$/," ").replace(/\s\s/g,"  "),(o.includes("

")||o.includes("
"))&&(o=`

${o}

`),o}function sS(o){return o.replace(/(\s+)<\/span>/g,(t,e)=>e.length==1?" ":e).replace(//g,"")}const Hg=["figcaption","li"],Ug=["ol","ul"];function qg(o){if(o.is("$text")||o.is("$textProxy"))return o.data;if(o.is("element","img")&&o.hasAttribute("alt"))return o.getAttribute("alt");if(o.is("element","br"))return` +`;let t="",e=null;for(const n of o.getChildren())t+=aS(n,e)+qg(n),e=n;return t}function aS(o,t){return t?o.is("element","li")&&!o.isEmpty&&o.getChild(0).is("containerElement")||Ug.includes(o.name)&&Ug.includes(t.name)?` + +`:!o.is("containerElement")&&!t.is("containerElement")?"":Hg.includes(o.name)||Hg.includes(t.name)?` +`:` + +`:""}class ve extends P{static get pluginName(){return"ClipboardPipeline"}init(){this.editor.editing.view.addObserver(Do),this._setupPasteDrop(),this._setupCopyCut()}_fireOutputTransformationEvent(t,e,n){const i=this.editor.model.getSelectedContent(e);this.fire("outputTransformation",{dataTransfer:t,content:i,method:n})}_setupPasteDrop(){const t=this.editor,e=t.model,n=t.editing.view,i=n.document;this.listenTo(i,"clipboardInput",(r,s)=>{s.method=="paste"&&!t.model.canEditAt(t.model.document.selection)&&r.stop()},{priority:"highest"}),this.listenTo(i,"clipboardInput",(r,s)=>{const a=s.dataTransfer;let c;if(s.content)c=s.content;else{let d="";a.getData("text/html")?d=sS(a.getData("text/html")):a.getData("text/plain")&&(d=rS(a.getData("text/plain"))),c=this.editor.data.htmlProcessor.toView(d)}const l=new Pt(this,"inputTransformation");this.fire(l,{content:c,dataTransfer:a,targetRanges:s.targetRanges,method:s.method}),l.stop.called&&r.stop(),n.scrollToTheSelection()},{priority:"low"}),this.listenTo(this,"inputTransformation",(r,s)=>{if(s.content.isEmpty)return;const c=this.editor.data.toModel(s.content,"$clipboardHolder");c.childCount!=0&&(r.stop(),e.change(()=>{this.fire("contentInsertion",{content:c,method:s.method,dataTransfer:s.dataTransfer,targetRanges:s.targetRanges})}))},{priority:"low"}),this.listenTo(this,"contentInsertion",(r,s)=>{s.resultRange=e.insertContent(s.content)},{priority:"low"})}_setupCopyCut(){const t=this.editor,e=t.model.document,i=t.editing.view.document,r=(s,a)=>{const c=a.dataTransfer;a.preventDefault(),this._fireOutputTransformationEvent(c,e.selection,s.name)};this.listenTo(i,"copy",r,{priority:"low"}),this.listenTo(i,"cut",(s,a)=>{t.model.canEditAt(t.model.document.selection)?r(s,a):a.preventDefault()},{priority:"low"}),this.listenTo(this,"outputTransformation",(s,a)=>{const c=t.data.toView(a.content);i.fire("clipboardOutput",{dataTransfer:a.dataTransfer,content:c,method:a.method})},{priority:"low"}),this.listenTo(i,"clipboardOutput",(s,a)=>{a.content.isEmpty||(a.dataTransfer.setData("text/html",this.editor.data.htmlProcessor.toData(a.content)),a.dataTransfer.setData("text/plain",qg(a.content))),a.method=="cut"&&t.model.deleteContent(e.selection)},{priority:"low"})}}class cS extends ct(){constructor(){super(...arguments),this._stack=[]}add(t,e){const n=this._stack,i=n[0];this._insertDescriptor(t);const r=n[0];i!==r&&!ca(i,r)&&this.fire("change:top",{oldDescriptor:i,newDescriptor:r,writer:e})}remove(t,e){const n=this._stack,i=n[0];this._removeDescriptor(t);const r=n[0];i!==r&&!ca(i,r)&&this.fire("change:top",{oldDescriptor:i,newDescriptor:r,writer:e})}_insertDescriptor(t){const e=this._stack,n=e.findIndex(r=>r.id===t.id);if(ca(t,e[n]))return;n>-1&&e.splice(n,1);let i=0;for(;e[i]&&lS(e[i],t);)i++;e.splice(i,0,t)}_removeDescriptor(t){const e=this._stack,n=e.findIndex(i=>i.id===t);n>-1&&e.splice(n,1)}}function ca(o,t){return o&&t&&o.priority==t.priority&&Ii(o.classes)==Ii(t.classes)}function lS(o,t){return o.priority>t.priority?!0:o.priorityIi(t.classes)}function Ii(o){return Array.isArray(o)?o.sort().join(","):o}const dS='',uS="ck-widget",Wg="ck-widget_selected";function Mt(o){return o.is("element")?!!o.getCustomProperty("widget"):!1}function la(o,t,e={}){if(!o.is("containerElement"))throw new b("widget-to-widget-wrong-element-type",null,{element:o});return t.setAttribute("contenteditable","false",o),t.addClass(uS,o),t.setCustomProperty("widget",!0,o),o.getFillerOffset=pS,t.setCustomProperty("widgetLabel",[],o),e.label&&fS(o,e.label),e.hasSelectionHandle&&kS(o,t),Gg(o,t),o}function hS(o,t,e){if(t.classes&&e.addClass(Tt(t.classes),o),t.attributes)for(const n in t.attributes)e.setAttribute(n,t.attributes[n],o)}function gS(o,t,e){if(t.classes&&e.removeClass(Tt(t.classes),o),t.attributes)for(const n in t.attributes)e.removeAttribute(n,o)}function Gg(o,t,e=hS,n=gS){const i=new cS;i.on("change:top",(a,c)=>{c.oldDescriptor&&n(o,c.oldDescriptor,c.writer),c.newDescriptor&&e(o,c.newDescriptor,c.writer)});const r=(a,c,l)=>i.add(c,l),s=(a,c,l)=>i.remove(c,l);t.setCustomProperty("addHighlight",r,o),t.setCustomProperty("removeHighlight",s,o)}function fS(o,t){o.getCustomProperty("widgetLabel").push(t)}function mS(o){return o.getCustomProperty("widgetLabel").reduce((e,n)=>typeof n=="function"?e?e+". "+n():n():e?e+". "+n:n,"")}function $g(o,t,e={}){return t.addClass(["ck-editor__editable","ck-editor__nested-editable"],o),t.setAttribute("role","textbox",o),e.label&&t.setAttribute("aria-label",e.label,o),t.setAttribute("contenteditable",o.isReadOnly?"false":"true",o),o.on("change:isReadOnly",(n,i,r)=>{t.setAttribute("contenteditable",r?"false":"true",o)}),o.on("change:isFocused",(n,i,r)=>{r?t.addClass("ck-editor__nested-editable_focused",o):t.removeClass("ck-editor__nested-editable_focused",o)}),Gg(o,t),o}function Kg(o,t){const e=o.getSelectedElement();if(e){const n=We(o);if(n)return t.createRange(t.createPositionAt(e,n))}return bh(o,t)}function pS(){return null}function kS(o,t){const e=t.createUIElement("div",{class:"ck ck-widget__selection-handle"},function(n){const i=this.toDomElement(n),r=new Se;return r.set("content",dS),r.render(),i.appendChild(r.element),i});t.insert(t.createPositionAt(o,0),e),t.addClass(["ck-widget_with-selection-handle"],o)}const ze="widget-type-around";function dn(o,t,e){return!!o&&Mt(o)&&!e.isInline(t)}function bS(o){return o.closest(".ck-widget__type-around__button")}function wS(o){return o.classList.contains("ck-widget__type-around__button_before")?"before":"after"}function AS(o,t){const e=o.closest(".ck-widget");return t.mapDomToView(e)}function We(o){return o.getAttribute(ze)}const CS='';var Zg=L(2347),da={injectType:"singletonStyleTag",attributes:{"data-cke":!0}};da.insert="head",da.singleton=!0,F()(Zg.Z,da),Zg.Z.locals;const Yg=["before","after"],_S=new DOMParser().parseFromString(CS,"image/svg+xml").firstChild,Qg="ck-widget__type-around_disabled";class vS extends P{constructor(){super(...arguments),this._currentFakeCaretModelElement=null}static get pluginName(){return"WidgetTypeAround"}static get requires(){return[Si,Be]}init(){const t=this.editor,e=t.editing.view;this.on("change:isEnabled",(n,i,r)=>{e.change(s=>{for(const a of e.document.roots)r?s.removeClass(Qg,a):s.addClass(Qg,a)}),r||t.model.change(s=>{s.removeSelectionAttribute(ze)})}),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,r=n.model.schema.getAttributesWithProperty(t,"copyOnReplace",!0);n.execute("insertParagraph",{position:n.model.createPositionAt(t,e),attributes:r}),i.focus(),i.scrollToTheSelection()}_listenToIfEnabled(t,e,n,i){this.listenTo(t,e,(...r)=>{this.isEnabled&&n(...r)},i)}_insertParagraphAccordingToFakeCaretPosition(){const n=this.editor.model.document.selection,i=We(n);if(!i)return!1;const r=n.getSelectedElement();return this._insertParagraph(r,i),!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",(r,s,a)=>{const c=a.mapper.toViewElement(s.item);c&&dn(c,s.item,e)&&(yS(a.writer,i,c),c.getCustomProperty("widgetLabel").push(()=>this.isEnabled?n("Press Enter to type after or press Shift + Enter to type before the widget"):""))},{priority:"low"})}_enableTypeAroundFakeCaretActivationUsingKeyboardArrows(){const t=this.editor,e=t.model,n=e.document.selection,i=e.schema,r=t.editing.view;this._listenToIfEnabled(r.document,"arrowKey",(a,c)=>{this._handleArrowKeyPress(a,c)},{context:[Mt,"$text"],priority:"high"}),this._listenToIfEnabled(n,"change:range",(a,c)=>{c.directChange&&t.model.change(l=>{l.removeSelectionAttribute(ze)})}),this._listenToIfEnabled(e.document,"change:data",()=>{const a=n.getSelectedElement();if(a){const c=t.editing.mapper.toViewElement(a);if(dn(c,a,i))return}t.model.change(c=>{c.removeSelectionAttribute(ze)})}),this._listenToIfEnabled(t.editing.downcastDispatcher,"selection",(a,c,l)=>{const d=l.writer;if(this._currentFakeCaretModelElement){const w=l.mapper.toViewElement(this._currentFakeCaretModelElement);w&&(d.removeClass(Yg.map(s),w),this._currentFakeCaretModelElement=null)}const u=c.selection.getSelectedElement();if(!u)return;const f=l.mapper.toViewElement(u);if(!dn(f,u,i))return;const p=We(c.selection);p&&(d.addClass(s(p),f),this._currentFakeCaretModelElement=u)}),this._listenToIfEnabled(t.ui.focusTracker,"change:isFocused",(a,c,l)=>{l||t.model.change(d=>{d.removeSelectionAttribute(ze)})});function s(a){return`ck-widget_type-around_show-fake-caret_${a}`}}_handleArrowKeyPress(t,e){const n=this.editor,i=n.model,r=i.document.selection,s=i.schema,a=n.editing.view,c=e.keyCode,l=o0(c,n.locale.contentLanguageDirection),d=a.document.selection.getSelectedElement(),u=n.editing.mapper.toModelElement(d);let f;dn(d,u,s)?f=this._handleArrowKeyPressOnSelectedWidget(l):r.isCollapsed?f=this._handleArrowKeyPressWhenSelectionNextToAWidget(l):e.shiftKey||(f=this._handleArrowKeyPressWhenNonCollapsedSelection(l)),f&&(e.preventDefault(),t.stop())}_handleArrowKeyPressOnSelectedWidget(t){const n=this.editor.model,i=n.document.selection,r=We(i);return n.change(s=>{if(r){if(!(r===(t?"after":"before")))return s.removeSelectionAttribute(ze),!0}else return s.setSelectionAttribute(ze,t?"after":"before"),!0;return!1})}_handleArrowKeyPressWhenSelectionNextToAWidget(t){const e=this.editor,n=e.model,i=n.schema,r=e.plugins.get("Widget"),s=r._getObjectElementNextToSelection(t),a=e.editing.mapper.toViewElement(s);return dn(a,s,i)?(n.change(c=>{r._setSelectionOverElement(s),c.setSelectionAttribute(ze,t?"before":"after")}),!0):!1}_handleArrowKeyPressWhenNonCollapsedSelection(t){const e=this.editor,n=e.model,i=n.schema,r=e.editing.mapper,s=n.document.selection,a=t?s.getLastPosition().nodeBefore:s.getFirstPosition().nodeAfter,c=r.toViewElement(a);return dn(c,a,i)?(n.change(l=>{l.setSelection(a,"on"),l.setSelectionAttribute(ze,t?"after":"before")}),!0):!1}_enableInsertingParagraphsOnButtonClick(){const t=this.editor,e=t.editing.view;this._listenToIfEnabled(e.document,"mousedown",(n,i)=>{const r=bS(i.domTarget);if(!r)return;const s=wS(r),a=AS(r,e.domConverter),c=t.editing.mapper.toModelElement(a);this._insertParagraph(c,s),i.preventDefault(),n.stop()})}_enableInsertingParagraphsOnEnterKeypress(){const t=this.editor,e=t.model.document.selection,n=t.editing.view;this._listenToIfEnabled(n.document,"enter",(i,r)=>{if(i.eventPhase!="atTarget")return;const s=e.getSelectedElement(),a=t.editing.mapper.toViewElement(s),c=t.model.schema;let l;this._insertParagraphAccordingToFakeCaretPosition()?l=!0:dn(a,s,c)&&(this._insertParagraph(s,r.isSoft?"before":"after"),l=!0),l&&(r.preventDefault(),i.stop())},{context:Mt})}_enableInsertingParagraphsOnTypingKeystroke(){const e=this.editor.editing.view.document;this._listenToIfEnabled(e,"insertText",(n,i)=>{this._insertParagraphAccordingToFakeCaretPosition()&&(i.selection=e.selection)},{priority:"high"}),g.isAndroid?this._listenToIfEnabled(e,"keydown",(n,i)=>{i.keyCode==229&&this._insertParagraphAccordingToFakeCaretPosition()}):this._listenToIfEnabled(e,"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",(r,s)=>{if(r.eventPhase!="atTarget")return;const a=We(n.document.selection);if(!a)return;const c=s.direction,l=n.document.selection.getSelectedElement(),d=a==="before",u=c=="forward";if(d===u)t.execute("delete",{selection:n.createSelection(l,"on")});else{const p=i.getNearestSelectionRange(n.createPositionAt(l,a),c);if(p)if(!p.isCollapsed)n.change(w=>{w.setSelection(p),t.execute(u?"deleteForward":"delete")});else{const w=n.createSelection(p.start);if(n.modifySelection(w,{direction:c}),!w.focus.isEqual(p.start))n.change(S=>{S.setSelection(p),t.execute(u?"deleteForward":"delete")});else{const S=DS(i,p.start.parent);n.deleteContent(n.createSelection(S,"on"),{doNotAutoparagraph:!0})}}}s.preventDefault(),r.stop()},{context:Mt})}_enableInsertContentIntegration(){const t=this.editor,e=this.editor.model,n=e.document.selection;this._listenToIfEnabled(t.model,"insertContent",(i,[r,s])=>{if(s&&!s.is("documentSelection"))return;const a=We(n);if(a)return i.stop(),e.change(c=>{const l=n.getSelectedElement(),d=e.createPositionAt(l,a),u=c.createSelection(d),f=e.insertContent(r,u);return c.setSelection(u),f})},{priority:"high"})}_enableInsertObjectIntegration(){const t=this.editor,n=this.editor.model.document.selection;this._listenToIfEnabled(t.model,"insertObject",(i,r)=>{const[,s,a={}]=r;if(s&&!s.is("documentSelection"))return;const c=We(n);c&&(a.findOptimalPosition=c,r[3]=a)},{priority:"high"})}_enableDeleteContentIntegration(){const t=this.editor,n=this.editor.model.document.selection;this._listenToIfEnabled(t.model,"deleteContent",(i,[r])=>{if(r&&!r.is("documentSelection"))return;We(n)&&i.stop()},{priority:"high"})}}function yS(o,t,e){const n=o.createUIElement("div",{class:"ck ck-reset_all ck-widget__type-around"},function(i){const r=this.toDomElement(i);return xS(r,t),ES(r),r});o.insert(o.createPositionAt(e,"end"),n)}function xS(o,t){for(const e of Yg){const n=new re({tag:"div",attributes:{class:["ck","ck-widget__type-around__button",`ck-widget__type-around__button_${e}`],title:t[e],"aria-hidden":"true"},children:[o.ownerDocument.importNode(_S,!0)]});o.appendChild(n.render())}}function ES(o){const t=new re({tag:"div",attributes:{class:["ck","ck-widget__type-around__fake-caret"]}});o.appendChild(t.render())}function DS(o,t){let e=t;for(const n of t.getAncestors({parentFirst:!0})){if(n.childCount>1||o.isLimit(n))break;e=n}return e}function SS(o){const t=o.model;return(e,n)=>{const i=n.keyCode==tt.arrowup,r=n.keyCode==tt.arrowdown,s=n.shiftKey,a=t.document.selection;if(!i&&!r)return;const c=r;if(s&&MS(a,c))return;const l=TS(o,a,c);if(l){if(l.isCollapsed){if(a.isCollapsed)return;if(s)return}(l.isCollapsed||IS(o,l,c))&&(t.change(d=>{const u=c?l.end:l.start;if(s){const f=t.createSelection(a.anchor);f.setFocus(u),d.setSelection(f)}else d.setSelection(u)}),e.stop(),n.preventDefault(),n.stopPropagation())}}}function TS(o,t,e){const n=o.model;if(e){const i=t.isCollapsed?t.focus:t.getLastPosition(),r=Jg(n,i,"forward");if(!r)return null;const s=n.createRange(i,r),a=Xg(n.schema,s,"backward");return a?n.createRange(i,a):null}else{const i=t.isCollapsed?t.focus:t.getFirstPosition(),r=Jg(n,i,"backward");if(!r)return null;const s=n.createRange(r,i),a=Xg(n.schema,s,"forward");return a?n.createRange(a,i):null}}function Jg(o,t,e){const n=o.schema,i=o.createRangeIn(t.root),r=e=="forward"?"elementStart":"elementEnd";for(const{previousPosition:s,item:a,type:c}of i.getWalker({startPosition:t,direction:e})){if(n.isLimit(a)&&!n.isInline(a))return s;if(c==r&&n.isBlock(a))return null}return null}function Xg(o,t,e){const n=e=="backward"?t.end:t.start;if(o.checkChild(n,"$text"))return n;for(const{nextPosition:i}of t.getWalker({direction:e}))if(o.checkChild(i,"$text"))return i;return null}function IS(o,t,e){const n=o.model,i=o.view.domConverter;if(e){const l=n.createSelection(t.start);n.modifySelection(l),!l.focus.isAtEnd&&!t.start.isEqual(l.focus)&&(t=n.createRange(l.focus,t.end))}const r=o.mapper.toViewRange(t),s=i.viewRangeToDom(r),a=Q.getDomRangeRects(s);let c;for(const l of a){if(c===void 0){c=Math.round(l.bottom);continue}if(Math.round(l.top)>=c)return!1;c=Math.max(c,Math.round(l.bottom))}return!0}function MS(o,t){return!o.isCollapsed&&o.isBackward==t}var tf=L(7153),ua={injectType:"singletonStyleTag",attributes:{"data-cke":!0}};ua.insert="head",ua.singleton=!0,F()(tf.Z,ua),tf.Z.locals;class So extends P{constructor(){super(...arguments),this._previouslySelected=new Set}static get pluginName(){return"Widget"}static get requires(){return[vS,Be]}init(){const t=this.editor,e=t.editing.view,n=e.document;this.editor.editing.downcastDispatcher.on("selection",(i,r,s)=>{const a=s.writer,c=r.selection;if(c.isCollapsed)return;const l=c.getSelectedElement();if(!l)return;const d=t.editing.mapper.toViewElement(l);Mt(d)&&s.consumable.consume(c,"selection")&&a.setSelection(a.createRangeOn(d),{fake:!0,label:mS(d)})}),this.editor.editing.downcastDispatcher.on("selection",(i,r,s)=>{this._clearPreviouslySelectedWidgets(s.writer);const a=s.writer,c=a.document.selection;let l=null;for(const d of c.getRanges())for(const u of d){const f=u.item;Mt(f)&&!NS(f,l)&&(a.addClass(Wg,f),this._previouslySelected.add(f),l=f)}},{priority:"low"}),e.addObserver(hi),this.listenTo(n,"mousedown",(...i)=>this._onMousedown(...i)),this.listenTo(n,"arrowKey",(...i)=>{this._handleSelectionChangeOnArrowKeyPress(...i)},{context:[Mt,"$text"]}),this.listenTo(n,"arrowKey",(...i)=>{this._preventDefaultOnArrowKeyPress(...i)},{context:"$root"}),this.listenTo(n,"arrowKey",SS(this.editor.editing),{context:"$text"}),this.listenTo(n,"delete",(i,r)=>{this._handleDelete(r.direction=="forward")&&(r.preventDefault(),i.stop())},{context:"$root"})}_onMousedown(t,e){const n=this.editor,i=n.editing.view,r=i.document;let s=e.target;if(e.domEvent.detail>=3){this._selectBlockContent(s)&&e.preventDefault();return}if(BS(s)||!Mt(s)&&(s=s.findAncestor(Mt),!s))return;g.isAndroid&&e.preventDefault(),r.isFocused||i.focus();const a=n.editing.mapper.toModelElement(s);this._setSelectionOverElement(a)}_selectBlockContent(t){const e=this.editor,n=e.model,i=e.editing.mapper,r=n.schema,s=i.findMappedViewAncestor(this.editor.editing.view.createPositionAt(t,0)),a=zS(i.toModelElement(s),n.schema);return a?(n.change(c=>{const l=r.isLimit(a)?null:PS(c.createPositionAfter(a),r),d=c.createPositionAt(a,0),u=l?c.createPositionAt(l,0):c.createPositionAt(a,"end");c.setSelection(c.createRange(d,u))}),!0):!1}_handleSelectionChangeOnArrowKeyPress(t,e){const n=e.keyCode,i=this.editor.model,r=i.schema,s=i.document.selection,a=s.getSelectedElement(),c=br(n,this.editor.locale.contentLanguageDirection),l=c=="down"||c=="right",d=c=="up"||c=="down";if(a&&r.isObject(a)){const f=l?s.getLastPosition():s.getFirstPosition(),p=r.getNearestSelectionRange(f,l?"forward":"backward");p&&(i.change(w=>{w.setSelection(p)}),e.preventDefault(),t.stop());return}if(!s.isCollapsed&&!e.shiftKey){const f=s.getFirstPosition(),p=s.getLastPosition(),w=f.nodeAfter,S=p.nodeBefore;(w&&r.isObject(w)||S&&r.isObject(S))&&(i.change(B=>{B.setSelection(l?p:f)}),e.preventDefault(),t.stop());return}if(!s.isCollapsed)return;const u=this._getObjectElementNextToSelection(l);if(u&&r.isObject(u)){if(r.isInline(u)&&d)return;this._setSelectionOverElement(u),e.preventDefault(),t.stop()}}_preventDefaultOnArrowKeyPress(t,e){const n=this.editor.model,i=n.schema,r=n.document.selection.getSelectedElement();r&&i.isObject(r)&&(e.preventDefault(),t.stop())}_handleDelete(t){const n=this.editor.model.document.selection;if(!this.editor.model.canEditAt(n)||!n.isCollapsed)return;const i=this._getObjectElementNextToSelection(t);if(i)return this.editor.model.change(r=>{let s=n.anchor.parent;for(;s.isEmpty;){const a=s;s=a.parent,r.remove(a)}this._setSelectionOverElement(i)}),!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,r=e.createSelection(i);if(e.modifySelection(r,{direction:t?"forward":"backward"}),r.isEqual(i))return null;const s=t?r.focus.nodeBefore:r.focus.nodeAfter;return s&&n.isObject(s)?s:null}_clearPreviouslySelectedWidgets(t){for(const e of this._previouslySelected)t.removeClass(Wg,e);this._previouslySelected.clear()}}function BS(o){let t=o;for(;t;){if(t.is("editableElement")&&!t.is("rootElement"))return!0;if(Mt(t))return!1;t=t.parent}return!1}function NS(o,t){return t?Array.from(o.getAncestors()).includes(t):!1}function zS(o,t){for(const e of o.getAncestors({includeSelf:!0,parentFirst:!0})){if(t.checkChild(e,"$text"))return e;if(t.isLimit(e)&&!t.isObject(e))break}return null}function PS(o,t){const e=new fe({startPosition:o});for(const{item:n}of e){if(t.isLimit(n)||!n.is("element"))return null;if(t.checkChild(n,"$text"))return n}return null}class Mi extends P{constructor(){super(...arguments),this._toolbarDefinitions=new Map}static get requires(){return[_i]}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",n=>{LS(t.editing.view.document.selection)&&n.stop()},{priority:"high"})}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:r="ck-toolbar-container"}){if(!n.length){at("widget-toolbar-no-items",{toolbarId:t});return}const s=this.editor,a=s.t,c=new ws(s.locale);if(c.ariaLabel=e||a("Widget toolbar"),this._toolbarDefinitions.has(t))throw new b("widget-toolbar-duplicated",this,{toolbarId:t});const l={view:c,getRelatedElement:i,balloonClassName:r,itemsConfig:n,initialized:!1};s.ui.addToolbar(c,{isContextual:!0,beforeFocus:()=>{const d=i(s.editing.view.document.selection);d&&this._showToolbar(l,d)},afterBlur:()=>{this._hideToolbar(l)}}),this._toolbarDefinitions.set(t,l)}_updateToolbarsVisibility(){let t=0,e=null,n=null;for(const i of this._toolbarDefinitions.values()){const r=i.getRelatedElement(this.editor.editing.view.document.selection);if(!this.isEnabled||!r)this._isToolbarInBalloon(i)&&this._hideToolbar(i);else if(!this.editor.ui.focusTracker.isFocused)this._isToolbarVisible(i)&&this._hideToolbar(i);else{const s=r.getAncestors().length;s>t&&(t=s,e=r,n=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)?ef(this.editor,e):this._isToolbarInBalloon(t)||(t.initialized||(t.initialized=!0,t.view.fillFromConfig(t.itemsConfig,this.editor.ui.componentFactory)),this._balloon.add({view:t.view,position:nf(this.editor,e),balloonClassName:t.balloonClassName}),this.listenTo(this._balloon,"change:visibleView",()=>{for(const n of this._toolbarDefinitions.values())if(this._isToolbarVisible(n)){const i=n.getRelatedElement(this.editor.editing.view.document.selection);ef(this.editor,i)}}))}_isToolbarVisible(t){return this._balloon.visibleView===t.view}_isToolbarInBalloon(t){return this._balloon.hasView(t.view)}}function ef(o,t){const e=o.plugins.get("ContextualBalloon"),n=nf(o,t);e.updatePosition(n)}function nf(o,t){const e=o.editing.view,n=Rt.defaultPositions;return{target:e.domConverter.mapViewToDom(t),positions:[n.northArrowSouth,n.northArrowSouthWest,n.northArrowSouthEast,n.southArrowNorth,n.southArrowNorthWest,n.southArrowNorthEast,n.viewportStickyNorth]}}function LS(o){const t=o.getSelectedElement();return!!(t&&Mt(t))}class OS extends rt(){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 Q(e);this.activeHandlePosition=VS(t),this._referenceCoordinates=jS(e,HS(this.activeHandlePosition)),this._originalWidth=i.width,this._originalHeight=i.height,this._aspectRatio=i.width/i.height;const r=n.style.width;r&&r.match(/^\d+(\.\d*)?%$/)?this._originalWidthPercents=parseFloat(r):this._originalWidthPercents=RS(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 RS(o,t){const e=o.parentElement;let n=parseFloat(e.ownerDocument.defaultView.getComputedStyle(e).width);const i=5;let r=0,s=e;for(;isNaN(n);){if(s=s.parentElement,++r>i)return 0;n=parseFloat(e.ownerDocument.defaultView.getComputedStyle(s).width)}return t.width/n*100}function jS(o,t){const e=new Q(o),n=t.split("-"),i={x:n[1]=="right"?e.right:e.left,y:n[0]=="bottom"?e.bottom:e.top};return i.x+=o.ownerDocument.defaultView.scrollX,i.y+=o.ownerDocument.defaultView.scrollY,i}function FS(o){return`ck-widget__resizer__handle-${o}`}function VS(o){const t=["top-left","top-right","bottom-right","bottom-left"];for(const e of t)if(o.classList.contains(FS(e)))return e}function HS(o){const t=o.split("-"),e={top:"bottom",bottom:"top",left:"right",right:"left"};return`${e[t[0]]}-${e[t[1]]}`}class US extends Y{constructor(){super();const t=this.bindTemplate;this.setTemplate({tag:"div",attributes:{class:["ck","ck-size-view",t.to("_viewPosition",e=>e?`ck-orientation-${e}`:"")],style:{display:t.if("_isVisible","none",e=>!e)}},children:[{text:t.to("_label")}]})}_bindToState(t,e){this.bind("_isVisible").to(e,"proposedWidth",e,"proposedHeight",(n,i)=>n!==null&&i!==null),this.bind("_label").to(e,"proposedHandleHostWidth",e,"proposedHandleHostHeight",e,"proposedWidthPercents",(n,i,r)=>t.unit==="px"?`${n}×${i}`:`${r}%`),this.bind("_viewPosition").to(e,"activeHandlePosition",e,"proposedHandleHostWidth",e,"proposedHandleHostHeight",(n,i,r)=>i<50||r<50?"above-center":n)}_dismiss(){this.unbind(),this._isVisible=!1}}class of extends rt(){constructor(t){super(),this._viewResizerWrapper=null,this._options=t,this.set("isEnabled",!0),this.set("isSelected",!1),this.bind("isVisible").to(this,"isEnabled",this,"isSelected",(e,n)=>e&&n),this.decorate("begin"),this.decorate("cancel"),this.decorate("commit"),this.decorate("updateSize"),this.on("commit",e=>{!this.state.proposedWidth&&!this.state.proposedWidthPercents&&(this._cleanup(),e.stop())},{priority:"high"})}get state(){return this._state}show(){this._options.editor.editing.view.change(e=>{e.removeClass("ck-hidden",this._viewResizerWrapper)})}hide(){this._options.editor.editing.view.change(e=>{e.addClass("ck-hidden",this._viewResizerWrapper)})}attach(){const t=this,e=this._options.viewElement;this._options.editor.editing.view.change(i=>{const r=i.createUIElement("div",{class:"ck ck-reset_all ck-widget__resizer"},function(s){const a=this.toDomElement(s);return t._appendHandles(a),t._appendSizeUI(a),a});i.insert(i.createPositionAt(e,"end"),r),i.addClass("ck-widget_with-resizer",e),this._viewResizerWrapper=r,this.isVisible||this.hide()}),this.on("change:isVisible",()=>{this.isVisible?(this.show(),this.redraw()):this.hide()})}begin(t){this._state=new OS(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(l=>{const d=this._options.unit||"%",u=(d==="%"?e.widthPercents:e.width)+d;l.setStyle("width",u,this._options.viewElement)});const i=this._getHandleHost(),r=new Q(i),s=Math.round(r.width),a=Math.round(r.height),c=new Q(i);e.width=Math.round(c.width),e.height=Math.round(c.height),this.redraw(r),this.state.update({...e,handleHostWidth:s,handleHostHeight:a})}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(!GS(e))return;const n=e.parentElement,i=this._getHandleHost(),r=this._viewResizerWrapper,s=[r.getStyle("width"),r.getStyle("height"),r.getStyle("left"),r.getStyle("top")];let a;if(n.isSameNode(i)){const c=t||new Q(i);a=[c.width+"px",c.height+"px",void 0,void 0]}else a=[i.offsetWidth+"px",i.offsetHeight+"px",i.offsetLeft+"px",i.offsetTop+"px"];jt(s,a)!=="same"&&this._options.editor.editing.view.change(c=>{c.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(e=>{e.setStyle("width",this._initialViewWidth,this._options.viewElement)})}_proposeNewSize(t){const e=this.state,n=WS(t),i=this._options.isCentered?this._options.isCentered(this):!0,r={x:e._referenceCoordinates.x-(n.x+e.originalWidth),y:n.y-e.originalHeight-e._referenceCoordinates.y};i&&e.activeHandlePosition.endsWith("-right")&&(r.x=n.x-(e._referenceCoordinates.x+e.originalWidth)),i&&(r.x*=2);let s=Math.abs(e.originalWidth+r.x),a=Math.abs(e.originalHeight+r.y);return(s/e.aspectRatio>a?"width":"height")=="width"?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 n of e)t.appendChild(new re({tag:"div",attributes:{class:`ck-widget__resizer__handle ${qS(n)}`}}).render())}_appendSizeUI(t){this._sizeView=new US,this._sizeView.render(),t.appendChild(this._sizeView.element)}}function qS(o){return`ck-widget__resizer__handle-${o}`}function WS(o){return{x:o.pageX,y:o.pageY}}function GS(o){return o&&o.ownerDocument&&o.ownerDocument.contains(o)}var rf=L(4875),ha={injectType:"singletonStyleTag",attributes:{"data-cke":!0}};ha.insert="head",ha.singleton=!0,F()(rf.Z,ha),rf.Z.locals;class ga extends P{constructor(){super(...arguments),this._resizers=new Map}static get pluginName(){return"WidgetResize"}init(){const t=this.editor.editing,e=U.window.document;this.set("selectedResizer",null),this.set("_activeResizer",null),t.view.addObserver(hi),this._observer=new(Zt()),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=Co(()=>this.redrawSelectedResizer(),200),this.editor.ui.on("update",this._redrawSelectedResizerThrottled),this.editor.model.document.on("change",()=>{for(const[i,r]of this._resizers)i.isAttached()||(this._resizers.delete(i),r.destroy())},{priority:"lowest"}),this._observer.listenTo(U.window,"resize",this._redrawSelectedResizerThrottled);const n=this.editor.editing.view.document.selection;n.on("change",()=>{const i=n.getSelectedElement(),r=this.getResizerByViewElement(i)||null;r?this.select(r):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 of(t),n=this.editor.plugins;if(e.attach(),n.has("WidgetToolbarRepository")){const s=n.get("WidgetToolbarRepository");e.on("begin",()=>{s.forceDisabled("resize")},{priority:"lowest"}),e.on("cancel",()=>{s.clearForceDisabled("resize")},{priority:"highest"}),e.on("commit",()=>{s.clearForceDisabled("resize")},{priority:"highest"})}this._resizers.set(t.viewElement,e);const r=this.editor.editing.view.document.selection.getSelectedElement();return this.getResizerByViewElement(r)==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;of.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)}}const fa=Xn("px");class $S extends Y{constructor(){super();const t=this.bindTemplate;this.set({isVisible:!1,left:null,top:null,width:null}),this.setTemplate({tag:"div",attributes:{class:["ck","ck-clipboard-drop-target-line",t.if("isVisible","ck-hidden",e=>!e)],style:{left:t.to("left",e=>fa(e)),top:t.to("top",e=>fa(e)),width:t.to("width",e=>fa(e))}}})}}class Bi extends P{constructor(){super(...arguments),this.removeDropMarkerDelayed=wr(()=>this.removeDropMarker(),40),this._updateDropMarkerThrottled=Co(t=>this._updateDropMarker(t),40),this._reconvertMarkerThrottled=Co(()=>{this.editor.model.markers.has("drop-target")&&this.editor.editing.reconvertMarker("drop-target")},0),this._dropTargetLineView=new $S,this._domEmitter=new(Zt()),this._scrollables=new Map}static get pluginName(){return"DragDropTarget"}init(){this._setupDropMarker()}destroy(){this._domEmitter.stopListening();for(const{resizeObserver:t}of this._scrollables.values())t.destroy();return this._updateDropMarkerThrottled.cancel(),this.removeDropMarkerDelayed.cancel(),this._reconvertMarkerThrottled.cancel(),super.destroy()}updateDropMarker(t,e,n,i,r,s){this.removeDropMarkerDelayed.cancel();const a=sf(this.editor,t,e,n,i,r,s);if(a){if(s&&s.containsRange(a))return this.removeDropMarker();this._updateDropMarkerThrottled(a)}}getFinalDropRange(t,e,n,i,r,s){const a=sf(this.editor,t,e,n,i,r,s);return this.removeDropMarker(),a}removeDropMarker(){const t=this.editor.model;this.removeDropMarkerDelayed.cancel(),this._updateDropMarkerThrottled.cancel(),this._dropTargetLineView.isVisible=!1,t.markers.has("drop-target")&&t.change(e=>{e.removeMarker("drop-target")})}_setupDropMarker(){const t=this.editor;t.ui.view.body.add(this._dropTargetLineView),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 this._dropTargetLineView.isVisible=!1,this._createDropTargetPosition(n);e.markerRange.isCollapsed?this._updateDropTargetLine(e.markerRange):this._dropTargetLineView.isVisible=!1}})}_updateDropMarker(t){const e=this.editor,n=e.model.markers;e.model.change(i=>{n.has("drop-target")?n.get("drop-target").getRange().isEqual(t)||i.updateMarker("drop-target",{range:t}):i.addMarker("drop-target",{range:t,usingOperation:!1,affectsData:!1})})}_createDropTargetPosition(t){return t.createUIElement("span",{class:"ck ck-clipboard-drop-target-position"},function(e){const n=this.toDomElement(e);return n.append("⁠",e.createElement("span"),"⁠"),n})}_updateDropTargetLine(t){const e=this.editor.editing,n=t.start.nodeBefore,i=t.start.nodeAfter,r=t.start.parent,s=n?e.mapper.toViewElement(n):null,a=s?e.view.domConverter.mapViewToDom(s):null,c=i?e.mapper.toViewElement(i):null,l=c?e.view.domConverter.mapViewToDom(c):null,d=e.mapper.toViewElement(r),u=e.view.domConverter.mapViewToDom(d),f=this._getScrollableRect(d),{scrollX:p,scrollY:w}=U.window,S=a?new Q(a):null,B=l?new Q(l):null,z=new Q(u).excludeScrollbarsAndBorders(),V=S?S.bottom:z.top,J=B?B.top:z.bottom,st=U.window.getComputedStyle(u),pt=V<=J?(V+J)/2:J;if(f.topa.schema.checkChild(f,w))){if(a.schema.checkChild(f,"$text"))return a.createRange(f);if(u)return Ni(o,cf(o,u.parent),n,i)}}}else if(a.schema.isInline(d))return Ni(o,d,n,i)}if(a.schema.isBlock(d))return Ni(o,d,n,i);if(a.schema.checkChild(d,"$block")){const u=Array.from(d.getChildren()).filter(w=>w.is("element")&&!KS(o,w));let f=0,p=u.length;if(p==0)return a.createRange(a.createPositionAt(d,"end"));for(;f{i?(this.forceDisabled("readOnlyMode"),this._isBlockDragging=!1):this.clearForceDisabled("readOnlyMode")}),g.isAndroid&&this.forceDisabled("noAndroidSupport"),t.plugins.has("BlockToolbar")){const n=t.plugins.get("BlockToolbar").buttonView.element;this._domEmitter.listenTo(n,"dragstart",(i,r)=>this._handleBlockDragStart(r)),this._domEmitter.listenTo(U.document,"dragover",(i,r)=>this._handleBlockDragging(r)),this._domEmitter.listenTo(U.document,"drop",(i,r)=>this._handleBlockDragging(r)),this._domEmitter.listenTo(U.document,"dragend",()=>this._handleBlockDragEnd(),{useCapture:!0}),this.isEnabled&&n.setAttribute("draggable","true"),this.on("change:isEnabled",(i,r,s)=>{n.setAttribute("draggable",s?"true":"false")})}}destroy(){return this._domEmitter.stopListening(),super.destroy()}_handleBlockDragStart(t){if(!this.isEnabled)return;const e=this.editor.model,n=e.document.selection,i=this.editor.editing.view,r=Array.from(n.getSelectedBlocks()),s=e.createRange(e.createPositionBefore(r[0]),e.createPositionAfter(r[r.length-1]));e.change(a=>a.setSelection(s)),this._isBlockDragging=!0,i.focus(),i.getObserver(Do).onDomEvent(t)}_handleBlockDragging(t){if(!this.isEnabled||!this._isBlockDragging)return;const e=t.clientX+(this.editor.locale.contentLanguageDirection=="ltr"?100:-100),n=t.clientY,i=document.elementFromPoint(e,n),r=this.editor.editing.view;!i||!i.closest(".ck-editor__editable")||r.getObserver(Do).onDomEvent({...t,type:t.type,dataTransfer:t.dataTransfer,target:i,clientX:e,clientY:n,preventDefault:()=>t.preventDefault(),stopPropagation:()=>t.stopPropagation()})}_handleBlockDragEnd(){this._isBlockDragging=!1}}var lf=L(799),ma={injectType:"singletonStyleTag",attributes:{"data-cke":!0}};ma.insert="head",ma.singleton=!0,F()(lf.Z,ma),lf.Z.locals;class QS extends P{constructor(){super(...arguments),this._clearDraggableAttributesDelayed=wr(()=>this._clearDraggableAttributes(),40),this._blockMode=!1,this._domEmitter=new(Zt())}static get pluginName(){return"DragDrop"}static get requires(){return[ve,So,Bi,YS]}init(){const t=this.editor,e=t.editing.view;this._draggedRange=null,this._draggingUid="",this._draggableElement=null,e.addObserver(Do),e.addObserver(hi),this._setupDragging(),this._setupContentInsertionIntegration(),this._setupClipboardInputIntegration(),this._setupDraggableAttributeHandling(),this.listenTo(t,"change:isReadOnly",(n,i,r)=>{r?this.forceDisabled("readOnlyMode"):this.clearForceDisabled("readOnlyMode")}),this.on("change:isEnabled",(n,i,r)=>{r||this._finalizeDragging(!1)}),g.isAndroid&&this.forceDisabled("noAndroidSupport")}destroy(){return this._draggedRange&&(this._draggedRange.detach(),this._draggedRange=null),this._previewContainer&&this._previewContainer.remove(),this._domEmitter.stopListening(),this._clearDraggableAttributesDelayed.cancel(),super.destroy()}_setupDragging(){const t=this.editor,e=t.model,n=t.editing.view,i=n.document,r=t.plugins.get(Bi);this.listenTo(i,"dragstart",(s,a)=>{if(a.target&&a.target.is("editableElement")){a.preventDefault();return}if(this._prepareDraggedRange(a.target),!this._draggedRange){a.preventDefault();return}this._draggingUid=qt(),a.dataTransfer.effectAllowed=this.isEnabled?"copyMove":"copy",a.dataTransfer.setData("application/ckeditor5-dragging-uid",this._draggingUid);const c=e.createSelection(this._draggedRange.toRange());this.editor.plugins.get("ClipboardPipeline")._fireOutputTransformationEvent(a.dataTransfer,c,"dragstart");const{dataTransfer:d,domTarget:u,domEvent:f}=a,{clientX:p}=f;this._updatePreview({dataTransfer:d,domTarget:u,clientX:p}),a.stopPropagation(),this.isEnabled||(this._draggedRange.detach(),this._draggedRange=null,this._draggingUid="")},{priority:"low"}),this.listenTo(i,"dragend",(s,a)=>{this._finalizeDragging(!a.dataTransfer.isCanceled&&a.dataTransfer.dropEffect=="move")},{priority:"low"}),this._domEmitter.listenTo(U.document,"dragend",()=>{this._blockMode=!1},{useCapture:!0}),this.listenTo(i,"dragenter",()=>{this.isEnabled&&n.focus()}),this.listenTo(i,"dragleave",()=>{r.removeDropMarkerDelayed()}),this.listenTo(i,"dragging",(s,a)=>{if(!this.isEnabled){a.dataTransfer.dropEffect="none";return}const{clientX:c,clientY:l}=a.domEvent;r.updateDropMarker(a.target,a.targetRanges,c,l,this._blockMode,this._draggedRange),this._draggedRange||(a.dataTransfer.dropEffect="copy"),g.isGecko||(a.dataTransfer.effectAllowed=="copy"?a.dataTransfer.dropEffect="copy":["all","copyMove"].includes(a.dataTransfer.effectAllowed)&&(a.dataTransfer.dropEffect="move")),s.stop()},{priority:"low"})}_setupClipboardInputIntegration(){const t=this.editor,n=t.editing.view.document,i=t.plugins.get(Bi);this.listenTo(n,"clipboardInput",(r,s)=>{if(s.method!="drop")return;const{clientX:a,clientY:c}=s.domEvent,l=i.getFinalDropRange(s.target,s.targetRanges,a,c,this._blockMode,this._draggedRange);if(!l){this._finalizeDragging(!1),r.stop();return}if(this._draggedRange&&this._draggingUid!=s.dataTransfer.getData("application/ckeditor5-dragging-uid")&&(this._draggedRange.detach(),this._draggedRange=null,this._draggingUid=""),df(s.dataTransfer)=="move"&&this._draggedRange&&this._draggedRange.containsRange(l,!0)){this._finalizeDragging(!1),r.stop();return}s.targetRanges=[t.editing.mapper.toViewRange(l)]},{priority:"high"})}_setupContentInsertionIntegration(){const t=this.editor.plugins.get(ve);t.on("contentInsertion",(e,n)=>{if(!this.isEnabled||n.method!=="drop")return;const i=n.targetRanges.map(r=>this.editor.editing.mapper.toModelRange(r));this.editor.model.change(r=>r.setSelection(i))},{priority:"high"}),t.on("contentInsertion",(e,n)=>{if(!this.isEnabled||n.method!=="drop")return;const i=df(n.dataTransfer)=="move",r=!n.resultRange||!n.resultRange.isCollapsed;this._finalizeDragging(r&&i)},{priority:"lowest"})}_setupDraggableAttributeHandling(){const t=this.editor,e=t.editing.view,n=e.document;this.listenTo(n,"mousedown",(i,r)=>{if(g.isAndroid||!r)return;this._clearDraggableAttributesDelayed.cancel();let s=uf(r.target);if(g.isBlink&&!t.isReadOnly&&!s&&!n.selection.isCollapsed){const a=n.selection.getSelectedElement();(!a||!Mt(a))&&(s=n.selection.editableElement)}s&&(e.change(a=>{a.setAttribute("draggable","true",s)}),this._draggableElement=t.editing.mapper.toModelElement(s))}),this.listenTo(n,"mouseup",()=>{g.isAndroid||this._clearDraggableAttributesDelayed()})}_clearDraggableAttributes(){const t=this.editor.editing;t.view.change(e=>{this._draggableElement&&this._draggableElement.root.rootName!="$graveyard"&&e.removeAttribute("draggable",t.mapper.toViewElement(this._draggableElement)),this._draggableElement=null})}_finalizeDragging(t){const e=this.editor,n=e.model;e.plugins.get(Bi).removeDropMarker(),this._clearDraggableAttributes(),e.plugins.has("WidgetToolbarRepository")&&e.plugins.get("WidgetToolbarRepository").clearForceDisabled("dragDrop"),this._draggingUid="",this._previewContainer&&(this._previewContainer.remove(),this._previewContainer=void 0),this._draggedRange&&(t&&this.isEnabled&&n.change(r=>{const s=n.createSelection(this._draggedRange);n.deleteContent(s,{doNotAutoparagraph:!0});const a=s.getFirstPosition().parent;a.isEmpty&&!n.schema.checkChild(a,"$text")&&n.schema.checkChild(a,"paragraph")&&r.insertElement("paragraph",a,0)}),this._draggedRange.detach(),this._draggedRange=null)}_prepareDraggedRange(t){const e=this.editor,n=e.model,i=n.document.selection,r=t?uf(t):null;if(r){const l=e.editing.mapper.toModelElement(r);this._draggedRange=Xt.fromRange(n.createRangeOn(l)),this._blockMode=n.schema.isBlock(l),e.plugins.has("WidgetToolbarRepository")&&e.plugins.get("WidgetToolbarRepository").forceDisabled("dragDrop");return}if(i.isCollapsed&&!i.getFirstPosition().parent.isEmpty)return;const s=Array.from(i.getSelectedBlocks()),a=i.getFirstRange();if(s.length==0){this._draggedRange=Xt.fromRange(a);return}const c=hf(n,s);if(s.length>1)this._draggedRange=Xt.fromRange(c),this._blockMode=!0;else if(s.length==1){const l=a.start.isTouching(c.start)&&a.end.isTouching(c.end);this._draggedRange=Xt.fromRange(l?c:a),this._blockMode=l}n.change(l=>l.setSelection(this._draggedRange.toRange()))}_updatePreview({dataTransfer:t,domTarget:e,clientX:n}){const i=this.editor.editing.view,r=i.document.selection.editableElement,s=i.domConverter.mapViewToDom(r),a=U.window.getComputedStyle(s);this._previewContainer?this._previewContainer.firstElementChild&&this._previewContainer.removeChild(this._previewContainer.firstElementChild):(this._previewContainer=Wn(U.document,"div",{style:"position: fixed; left: -999999px;"}),U.document.body.appendChild(this._previewContainer));const c=new Q(s);if(s.contains(e))return;const l=parseFloat(a.paddingLeft),d=Wn(U.document,"div");d.className="ck ck-content",d.style.width=a.width,d.style.paddingLeft=`${c.left-n+l}px`,g.isiOS&&(d.style.backgroundColor="white"),d.innerHTML=t.getData("text/html"),t.setDragImage(d,0,0),this._previewContainer.appendChild(d)}}function df(o){return g.isGecko?o.dropEffect:["all","copyMove"].includes(o.effectAllowed)?"move":"copy"}function uf(o){if(o.is("editableElement"))return null;if(o.hasClass("ck-widget__selection-handle"))return o.findAncestor(Mt);if(Mt(o))return o;const t=o.findAncestor(e=>Mt(e)||e.is("editableElement"));return Mt(t)?t:null}function hf(o,t){const e=t[0],n=t[t.length-1],i=e.getCommonAncestor(n),r=o.createPositionBefore(e),s=o.createPositionAfter(n);if(i&&i.is("element")&&!o.schema.isLimit(i)){const a=o.createRangeOn(i),c=r.isTouching(a.start),l=s.isTouching(a.end);if(c&&l)return hf(o,[i])}return o.createRange(r,s)}class JS extends P{static get pluginName(){return"PastePlainText"}static get requires(){return[ve]}init(){const t=this.editor,e=t.model,n=t.editing.view,i=n.document,r=e.document.selection;let s=!1;n.addObserver(Do),this.listenTo(i,"keydown",(a,c)=>{s=c.shiftKey}),t.plugins.get(ve).on("contentInsertion",(a,c)=>{!s&&!XS(c.content,e.schema)||e.change(l=>{const d=Array.from(r.getAttributes()).filter(([f])=>e.schema.getAttributeProperties(f).isFormatting);r.isCollapsed||e.deleteContent(r,{doNotAutoparagraph:!0}),d.push(...r.getAttributes());const u=l.createRangeIn(c.content);for(const f of u.getItems())f.is("$textProxy")&&l.setAttributes(d,f)})})}}function XS(o,t){if(o.childCount>1)return!1;const e=o.getChild(0);return t.isObject(e)?!1:Array.from(e.getAttributeKeys()).length==0}class gf extends P{static get pluginName(){return"Clipboard"}static get requires(){return[ve,QS,JS]}}class tT extends X{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)||!ff(t.schema,n))do if(n=n.parent,!n)return;while(!ff(t.schema,n));t.change(i=>{i.setSelection(n,"in")})}}function ff(o,t){return o.isLimit(t)&&(o.checkChild(t,"$text")||o.checkChild(t,"paragraph"))}const eT=eo("Ctrl+A");class nT extends P{static get pluginName(){return"SelectAllEditing"}init(){const t=this.editor,n=t.editing.view.document;t.commands.add("selectAll",new tT(t)),this.listenTo(n,"keydown",(i,r)=>{xn(r)===eT&&(t.execute("selectAll"),r.preventDefault())})}}const oT='';class iT extends P{static get pluginName(){return"SelectAllUI"}init(){const t=this.editor;t.ui.componentFactory.add("selectAll",e=>{const n=t.commands.get("selectAll"),i=new ht(e),r=e.t;return i.set({label:r("Select all"),icon:oT,keystroke:"Ctrl+A",tooltip:!0}),i.bind("isEnabled").to(n,"isEnabled"),this.listenTo(i,"execute",()=>{t.execute("selectAll"),t.editing.view.focus()}),i})}}class rT extends P{static get requires(){return[nT,iT]}static get pluginName(){return"SelectAll"}}class mf extends X{constructor(t){super(t),this._stack=[],this._createdBatches=new WeakSet,this.refresh(),this._isEnabledBasedOnSelection=!1,this.listenTo(t.data,"set",(e,n)=>{n[1]={...n[1]};const i=n[1];i.batchType||(i.batchType={isUndoable:!1})},{priority:"high"}),this.listenTo(t.data,"set",(e,n)=>{n[1].batchType.isUndoable||this.clearStack()})}refresh(){this.isEnabled=this._stack.length>0}get createdBatches(){return this._createdBatches}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,r=i.document,s=[],a=t.map(l=>l.getTransformedByOperations(n)),c=a.flat();for(const l of a){const d=l.filter(u=>u.root!=r.graveyard).filter(u=>!aT(u,c));d.length&&(sT(d),s.push(d[0]))}s.length&&i.change(l=>{l.setSelection(s,{backward:e})})}_undo(t,e){const n=this.editor.model,i=n.document;this._createdBatches.add(e);const r=t.operations.slice().filter(s=>s.isDocumentOperation);r.reverse();for(const s of r){const a=s.baseVersion+1,c=Array.from(i.history.getOperations(a)),d=rE([s.getReversed()],c,{useRelations:!0,document:this.editor.model.document,padWithNoOps:!1,forceWeakRemove:!0}).operationsA;for(let u of d){const f=u.affectedSelectable;f&&!n.canEditAt(f)&&(u=new St(u.baseVersion)),e.addOperation(u),n.applyOperation(u),i.history.setOperationAsUndone(s,u)}}}}function sT(o){o.sort((t,e)=>t.start.isBefore(e.start)?-1:1);for(let t=1;te!==o&&e.containsRange(o,!0))}class cT extends mf{execute(t=null){const e=t?this._stack.findIndex(r=>r.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 r=this.editor.model.document.history.getOperations(n.batch.baseVersion);this._restoreSelection(n.selection.ranges,n.selection.isBackward,r)}),this.fire("revert",n.batch,i),this.refresh()}}class lT extends mf{execute(){const t=this._stack.pop(),e=this.editor.model.createBatch({isUndo:!0});this.editor.model.enqueueChange(e,()=>{const i=t.batch.operations[t.batch.operations.length-1].baseVersion+1,r=this.editor.model.document.history.getOperations(i);this._restoreSelection(t.selection.ranges,t.selection.isBackward,r),this._undo(t.batch,e)}),this.refresh()}}class dT extends P{constructor(){super(...arguments),this._batchRegistry=new WeakSet}static get pluginName(){return"UndoEditing"}init(){const t=this.editor;this._undoCommand=new cT(t),this._redoCommand=new lT(t),t.commands.add("undo",this._undoCommand),t.commands.add("redo",this._redoCommand),this.listenTo(t.model,"applyOperation",(e,n)=>{const i=n[0];if(!i.isDocumentOperation)return;const r=i.batch,s=this._redoCommand.createdBatches.has(r),a=this._undoCommand.createdBatches.has(r);this._batchRegistry.has(r)||(this._batchRegistry.add(r),r.isUndoable&&(s?this._undoCommand.addBatch(r):a||(this._undoCommand.addBatch(r),this._redoCommand.clearStack())))},{priority:"highest"}),this.listenTo(this._undoCommand,"revert",(e,n,i)=>{this._redoCommand.addBatch(i)}),t.keystrokes.set("CTRL+Z","undo"),t.keystrokes.set("CTRL+Y","redo"),t.keystrokes.set("CTRL+SHIFT+Z","redo")}}const pf='',kf='';class uT extends P{static get pluginName(){return"UndoUI"}init(){const t=this.editor,e=t.locale,n=t.t,i=e.uiLanguageDirection=="ltr"?pf:kf,r=e.uiLanguageDirection=="ltr"?kf:pf;this._addButton("undo",n("Undo"),"CTRL+Z",i),this._addButton("redo",n("Redo"),"CTRL+Y",r)}_addButton(t,e,n,i){const r=this.editor;r.ui.componentFactory.add(t,s=>{const a=r.commands.get(t),c=new ht(s);return c.set({label:e,icon:i,keystroke:n,tooltip:!0}),c.bind("isEnabled").to(a,"isEnabled"),this.listenTo(c,"execute",()=>{r.execute(t),r.editing.view.focus()}),c})}}class pa extends P{static get requires(){return[dT,uT]}static get pluginName(){return"Undo"}}class hT extends P{static get requires(){return[gf,Si,rT,W5,_5,pa]}static get pluginName(){return"Essentials"}}class gT extends X{constructor(t){super(t),this._isEnabledBasedOnSelection=!1}refresh(){const t=this.editor.model,e=t.document,n=It(e.selection.getSelectedBlocks());this.value=!!n&&n.is("element","paragraph"),this.isEnabled=!!n&&bf(n,t.schema)}execute(t={}){const e=this.editor.model,n=e.document,i=t.selection||n.selection;e.canEditAt(i)&&e.change(r=>{const s=i.getSelectedBlocks();for(const a of s)!a.is("element","paragraph")&&bf(a,e.schema)&&r.rename(a,"paragraph")})}}function bf(o,t){return t.checkChild(o.parent,"paragraph")&&!t.isObject(o)}class fT extends X{constructor(t){super(t),this._isEnabledBasedOnSelection=!1}execute(t){const e=this.editor.model,n=t.attributes;let i=t.position;e.canEditAt(i)&&e.change(r=>{if(i=this._findPositionToInsertParagraph(i,r),!i)return;const s=r.createElement("paragraph");n&&e.schema.setAllowedAttributes(s,n,r),e.insertContent(s,i),r.setSelection(s,"in")})}_findPositionToInsertParagraph(t,e){const n=this.editor.model;if(n.schema.checkChild(t,"paragraph"))return t;const i=n.schema.findAllowedParent(t,"paragraph");if(!i)return null;const r=t.parent,s=n.schema.checkChild(r,"$text");return r.isEmpty||s&&t.isAtEnd?n.createPositionAfter(r):!r.isEmpty&&s&&t.isAtStart?n.createPositionBefore(r):e.split(t,i).position}}class To extends P{static get pluginName(){return"Paragraph"}init(){const t=this.editor,e=t.model;t.commands.add("paragraph",new gT(t)),t.commands.add("insertParagraph",new fT(t)),e.schema.register("paragraph",{inheritAllFrom:"$block"}),t.conversion.elementToElement({model:"paragraph",view:"p"}),t.conversion.for("upcast").elementToElement({model:(n,{writer:i})=>!To.paragraphLikeElements.has(n.name)||n.isEmpty?null:i.createElement("paragraph"),view:/.+/,converterPriority:"low"})}}To.paragraphLikeElements=new Set(["blockquote","dd","div","dt","h1","h2","h3","h4","h5","h6","li","p","td","th"]);class mT extends X{constructor(t,e){super(t),this.modelElements=e}refresh(){const t=It(this.editor.model.document.selection.getSelectedBlocks());this.value=!!t&&this.modelElements.includes(t.name)&&t.name,this.isEnabled=!!t&&this.modelElements.some(e=>wf(t,e,this.editor.model.schema))}execute(t){const e=this.editor.model,n=e.document,i=t.value;e.change(r=>{const s=Array.from(n.selection.getSelectedBlocks()).filter(a=>wf(a,i,e.schema));for(const a of s)a.is("element",i)||r.rename(a,i)})}}function wf(o,t,e){return e.checkChild(o.parent,t)&&!e.isObject(o)}const Af="paragraph";class pT extends P{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[To]}init(){const t=this.editor,e=t.config.get("heading.options"),n=[];for(const i of e)i.model!=="paragraph"&&(t.model.schema.register(i.model,{inheritAllFrom:"$block"}),t.conversion.elementToElement(i),n.push(i.model));this._addDefaultH1Conversion(t),t.commands.add("heading",new mT(t,n))}afterInit(){const t=this.editor,e=t.commands.get("enter"),n=t.config.get("heading.options");e&&this.listenTo(e,"afterExecute",(i,r)=>{const s=t.model.document.selection.getFirstPosition().parent;n.some(c=>s.is("element",c.model))&&!s.is("element",Af)&&s.childCount===0&&r.writer.rename(s,Af)})}_addDefaultH1Conversion(t){t.conversion.for("upcast").elementToElement({model:"heading1",view:"h1",converterPriority:Le.low+1})}}function kT(o){const t=o.t,e={Paragraph:t("Paragraph"),"Heading 1":t("Heading 1"),"Heading 2":t("Heading 2"),"Heading 3":t("Heading 3"),"Heading 4":t("Heading 4"),"Heading 5":t("Heading 5"),"Heading 6":t("Heading 6")};return o.config.get("heading.options").map(n=>{const i=e[n.title];return i&&i!=n.title&&(n.title=i),n})}var Cf=L(4249),ka={injectType:"singletonStyleTag",attributes:{"data-cke":!0}};ka.insert="head",ka.singleton=!0,F()(Cf.Z,ka),Cf.Z.locals;class bT extends P{static get pluginName(){return"HeadingUI"}init(){const t=this.editor,e=t.t,n=kT(t),i=e("Choose heading"),r=e("Heading");t.ui.componentFactory.add("heading",s=>{const a={},c=new oe,l=t.commands.get("heading"),d=t.commands.get("paragraph"),u=[l];for(const p of n){const w={type:"button",model:new Us({label:p.title,class:p.class,role:"menuitemradio",withText:!0})};p.model==="paragraph"?(w.model.bind("isOn").to(d,"value"),w.model.set("commandName","paragraph"),u.push(d)):(w.model.bind("isOn").to(l,"value",S=>S===p.model),w.model.set({commandName:"heading",commandValue:p.model})),c.add(w),a[p.model]=p.title}const f=_e(s);return Es(f,c,{ariaLabel:r,role:"menu"}),f.buttonView.set({ariaLabel:r,ariaLabelledBy:void 0,isOn:!1,withText:!0,tooltip:r}),f.extendTemplate({attributes:{class:["ck-heading-dropdown"]}}),f.bind("isEnabled").toMany(u,"isEnabled",(...p)=>p.some(w=>w)),f.buttonView.bind("label").to(l,"value",d,"value",(p,w)=>{const S=p||w&&"paragraph";return typeof S=="boolean"||!a[S]?i:a[S]}),this.listenTo(f,"execute",p=>{const{commandName:w,commandValue:S}=p.source;t.execute(w,S?{value:S}:void 0),t.editing.view.focus()}),f})}}class wT extends P{static get requires(){return[pT,bT]}static get pluginName(){return"Heading"}}function AT(o){return o.createContainerElement("span",{class:"image-inline"},o.createEmptyElement("img"))}function _f(o){return o.createContainerElement("figure",{class:"image"},[o.createEmptyElement("img"),o.createSlot("children")])}function vf(o,t){const e=o.plugins.get("ImageUtils"),n=o.plugins.has("ImageInlineEditing")&&o.plugins.has("ImageBlockEditing");return r=>e.isInlineImageView(r)?n&&(r.getStyle("display")=="block"||r.findAncestor(e.isBlockImageView)?"imageBlock":"imageInline")!==t?null:i(r):null;function i(r){const s={name:!0};return r.hasAttribute("src")&&(s.attributes=["src"]),s}}function ba(o,t){const e=It(t.getSelectedBlocks());return!e||o.isObject(e)||e.isEmpty&&e.name!="listItem"?"imageBlock":"imageInline"}function zi(o){return o&&o.endsWith("px")?parseInt(o):null}function Pi(o){const t=zi(o.getStyle("width")),e=zi(o.getStyle("height"));return!!(t&&e)}const CT=/^(image|image-inline)$/;class Ut extends P{constructor(){super(...arguments),this._domEmitter=new(Zt())}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,i={}){const r=this.editor,s=r.model,a=s.document.selection,c=yf(r,e||a,n);t={...Object.fromEntries(a.getAttributes()),...t};for(const l in t)s.schema.checkAttribute(c,l)||delete t[l];return s.change(l=>{const{setImageSizes:d=!0}=i,u=l.createElement(c,t);return s.insertObject(u,e,null,{setSelection:"on",findOptimalPosition:!e&&c!="imageInline"?"auto":void 0}),u.parent?(d&&this.setImageNaturalSizeAttributes(u),u):null})}setImageNaturalSizeAttributes(t){const e=t.getAttribute("src");e&&(t.getAttribute("width")||t.getAttribute("height")||this.editor.model.change(n=>{const i=new U.window.Image;this._domEmitter.listenTo(i,"load",()=>{!t.getAttribute("width")&&!t.getAttribute("height")&&this.editor.model.enqueueChange(n.batch,r=>{r.setAttribute("width",i.naturalWidth,t),r.setAttribute("height",i.naturalHeight,t)}),this._domEmitter.stopListening(i,"load")}),i.src=e}))}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")}getImageWidgetFromImageView(t){return t.findAncestor({classes:CT})}isImageAllowed(){const e=this.editor.model.document.selection;return _T(this.editor,e)&&vT(e)}toImageWidget(t,e,n){return e.setCustomProperty("image",!0,t),la(t,e,{label:()=>{const s=this.findViewImgElement(t).getAttribute("alt");return s?`${s} ${n}`:n}})}isImageWidget(t){return!!t.getCustomProperty("image")&&Mt(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}destroy(){return this._domEmitter.stopListening(),super.destroy()}}function _T(o,t){if(yf(o,t,null)=="imageBlock"){const n=yT(t,o.model);if(o.model.schema.checkChild(n,"imageBlock"))return!0}else if(o.model.schema.checkChild(t.focus,"imageInline"))return!0;return!1}function vT(o){return[...o.focus.getAncestors()].every(t=>!t.is("element","imageBlock"))}function yT(o,t){const n=Kg(o,t).start.parent;return n.isEmpty&&!n.is("element","$root")?n.parent:n}function yf(o,t,e){const n=o.model.schema,i=o.config.get("image.insert.type");return o.plugins.has("ImageBlockEditing")?o.plugins.has("ImageInlineEditing")?e||(i==="inline"?"imageInline":i!=="auto"?"imageBlock":t.is("selection")?ba(n,t):n.checkChild(t,"imageInline")?"imageInline":"imageBlock"):"imageBlock":"imageInline"}class xT extends X{refresh(){const n=this.editor.plugins.get("ImageUtils").getClosestSelectedImageElement(this.editor.model.document.selection);this.isEnabled=!!n,this.isEnabled&&n.hasAttribute("alt")?this.value=n.getAttribute("alt"):this.value=!1}execute(t){const e=this.editor,n=e.plugins.get("ImageUtils"),i=e.model,r=n.getClosestSelectedImageElement(i.document.selection);i.change(s=>{s.setAttribute("alt",t.newValue,r)})}}class ET extends P{static get requires(){return[Ut]}static get pluginName(){return"ImageTextAlternativeEditing"}init(){this.editor.commands.add("imageTextAlternative",new xT(this.editor))}}var xf=L(5269),wa={injectType:"singletonStyleTag",attributes:{"data-cke":!0}};wa.insert="head",wa.singleton=!0,F()(xf.Z,wa),xf.Z.locals;var Ef=L(6603),Aa={injectType:"singletonStyleTag",attributes:{"data-cke":!0}};Aa.insert="head",Aa.singleton=!0,F()(Ef.Z,Aa),Ef.Z.locals;class DT extends Y{constructor(t){super(t);const e=this.locale.t;this.focusTracker=new Ht,this.keystrokes=new ie,this.labeledInput=this._createLabeledInputView(),this.saveButtonView=this._createButton(e("Save"),dt.check,"ck-button-save"),this.saveButtonView.type="submit",this.cancelButtonView=this._createButton(e("Cancel"),dt.cancel,"ck-button-cancel","cancel"),this._focusables=new be,this._focusCycler=new Te({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]})}render(){super.render(),this.keystrokes.listenTo(this.element),h({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 r=new ht(this.locale);return r.set({label:t,icon:e,tooltip:!0}),r.extendTemplate({attributes:{class:n}}),i&&r.delegate("execute").to(this,i),r}_createLabeledInputView(){const t=this.locale.t,e=new Zo(this.locale,ki);return e.label=t("Text alternative"),e}}function ST(o){const t=o.plugins.get("ContextualBalloon");if(o.plugins.get("ImageUtils").getClosestSelectedImageWidget(o.editing.view.document.selection)){const n=Df(o);t.updatePosition(n)}}function Df(o){const t=o.editing.view,e=Rt.defaultPositions,n=o.plugins.get("ImageUtils");return{target:t.domConverter.mapViewToDom(n.getClosestSelectedImageWidget(t.document.selection)),positions:[e.northArrowSouth,e.northArrowSouthWest,e.northArrowSouthEast,e.southArrowNorth,e.southArrowNorthWest,e.southArrowNorthEast,e.viewportStickyNorth]}}class TT extends P{static get requires(){return[_i]}static get pluginName(){return"ImageTextAlternativeUI"}init(){this._createButton()}destroy(){super.destroy(),this._form&&this._form.destroy()}_createButton(){const t=this.editor,e=t.t;t.ui.componentFactory.add("imageTextAlternative",n=>{const i=t.commands.get("imageTextAlternative"),r=new ht(n);return r.set({label:e("Change image text alternative"),icon:dt.textAlternative,tooltip:!0}),r.bind("isEnabled").to(i,"isEnabled"),r.bind("isOn").to(i,"value",s=>!!s),this.listenTo(r,"execute",()=>{this._showForm()}),r})}_createForm(){const t=this.editor,n=t.editing.view.document,i=t.plugins.get("ImageUtils");this._balloon=this.editor.plugins.get("ContextualBalloon"),this._form=new(x(DT))(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",(r,s)=>{this._hideForm(!0),s()}),this.listenTo(t.ui,"update",()=>{i.getClosestSelectedImageWidget(n.selection)?this._isVisible&&ST(t):this._hideForm(!0)}),_({emitter:this._form,activator:()=>this._isVisible,contextElements:()=>[this._balloon.view.element],callback:()=>this._hideForm()})}_showForm(){if(this._isVisible)return;this._form||this._createForm();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:Df(t)}),n.fieldView.value=n.fieldView.element.value=e.value||"",this._form.labeledInput.fieldView.select(),this._form.enableCssTransitions()}_hideForm(t=!1){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&&this._balloon.visibleView===this._form}get _isInBalloon(){return!!this._balloon&&this._balloon.hasView(this._form)}}class Sf extends P{static get requires(){return[ET,TT]}static get pluginName(){return"ImageTextAlternative"}}function IT(o){const t=(e,n,i)=>{if(!i.consumable.test(n.viewItem,{name:!0,classes:"image"}))return;const r=o.findViewImgElement(n.viewItem);if(!r||!i.consumable.test(r,{name:!0}))return;i.consumable.consume(n.viewItem,{name:!0,classes:"image"});const s=i.convertItem(r,n.modelCursor),a=It(s.modelRange.getItems());if(!a){i.consumable.revert(n.viewItem,{name:!0,classes:"image"});return}i.convertChildren(n.viewItem,a),i.updateConversionResult(a,n)};return e=>{e.on("element:figure",t)}}function Tf(o,t){const e=(n,i,r)=>{if(!r.consumable.consume(i.item,n.name))return;const s=r.writer,a=r.mapper.toViewElement(i.item),c=o.findViewImgElement(a);i.attributeNewValue===null?(s.removeAttribute("srcset",c),s.removeAttribute("sizes",c)):i.attributeNewValue&&(s.setAttribute("srcset",i.attributeNewValue,c),s.setAttribute("sizes","100vw",c))};return n=>{n.on(`attribute:srcset:${t}`,e)}}function Li(o,t,e){const n=(i,r,s)=>{if(!s.consumable.consume(r.item,i.name))return;const a=s.writer,c=s.mapper.toViewElement(r.item),l=o.findViewImgElement(c);a.setAttribute(r.attributeKey,r.attributeNewValue||"",l)};return i=>{i.on(`attribute:${e}:${t}`,n)}}class Ca extends Ae{observe(t){this.listenTo(t,"load",(e,n)=>{const i=n.target;this.checkShouldIgnoreEventFromTarget(i)||i.tagName=="IMG"&&this._fireEvents(n)},{useCapture:!0})}stopObserving(t){this.stopListening(t)}_fireEvents(t){this.isEnabled&&(this.document.fire("layoutChanged"),this.document.fire("imageLoaded",t))}}class MT extends X{constructor(t){super(t);const e=t.config.get("image.insert.type");t.plugins.has("ImageBlockEditing")||e==="block"&&at("image-block-plugin-required"),t.plugins.has("ImageInlineEditing")||e==="inline"&&at("image-inline-plugin-required")}refresh(){const t=this.editor.plugins.get("ImageUtils");this.isEnabled=t.isImageAllowed()}execute(t){const e=Tt(t.source),n=this.editor.model.document.selection,i=this.editor.plugins.get("ImageUtils"),r=Object.fromEntries(n.getAttributes());e.forEach((s,a)=>{const c=n.getSelectedElement();if(typeof s=="string"&&(s={src:s}),a&&c&&i.isImage(c)){const l=this.editor.model.createPositionAfter(c);i.insertImage({...s,...r},l)}else i.insertImage({...s,...r})})}}class BT extends X{constructor(t){super(t),this.decorate("cleanupImage")}refresh(){const e=this.editor.plugins.get("ImageUtils"),n=this.editor.model.document.selection.getSelectedElement();this.isEnabled=e.isImage(n),this.value=this.isEnabled?n.getAttribute("src"):null}execute(t){const e=this.editor.model.document.selection.getSelectedElement(),n=this.editor.plugins.get("ImageUtils");this.editor.model.change(i=>{i.setAttribute("src",t.source,e),this.cleanupImage(i,e),n.setImageNaturalSizeAttributes(e)})}cleanupImage(t,e){t.removeAttribute("srcset",e),t.removeAttribute("sizes",e),t.removeAttribute("sources",e),t.removeAttribute("width",e),t.removeAttribute("height",e),t.removeAttribute("alt",e)}}class If extends P{static get requires(){return[Ut]}static get pluginName(){return"ImageEditing"}init(){const t=this.editor,e=t.conversion;t.editing.view.addObserver(Ca),e.for("upcast").attributeToAttribute({view:{name:"img",key:"alt"},model:"alt"}).attributeToAttribute({view:{name:"img",key:"srcset"},model:"srcset"});const n=new MT(t),i=new BT(t);t.commands.add("insertImage",n),t.commands.add("replaceImageSource",i),t.commands.add("imageInsert",n)}}class Mf extends P{static get requires(){return[Ut]}static get pluginName(){return"ImageSizeAttributes"}afterInit(){this._registerSchema(),this._registerConverters("imageBlock"),this._registerConverters("imageInline")}_registerSchema(){this.editor.plugins.has("ImageBlockEditing")&&this.editor.model.schema.extend("imageBlock",{allowAttributes:["width","height"]}),this.editor.plugins.has("ImageInlineEditing")&&this.editor.model.schema.extend("imageInline",{allowAttributes:["width","height"]})}_registerConverters(t){const e=this.editor,n=e.plugins.get("ImageUtils"),i=t==="imageBlock"?"figure":"img";e.conversion.for("upcast").attributeToAttribute({view:{name:i,styles:{width:/.+/}},model:{key:"width",value:s=>Pi(s)?zi(s.getStyle("width")):null}}).attributeToAttribute({view:{name:i,key:"width"},model:"width"}).attributeToAttribute({view:{name:i,styles:{height:/.+/}},model:{key:"height",value:s=>Pi(s)?zi(s.getStyle("height")):null}}).attributeToAttribute({view:{name:i,key:"height"},model:"height"}),e.conversion.for("editingDowncast").add(s=>{r(s,"width","width",!0),r(s,"height","height",!0)}),e.conversion.for("dataDowncast").add(s=>{r(s,"width","width",!1),r(s,"height","height",!1)});function r(s,a,c,l){s.on(`attribute:${a}:${t}`,(d,u,f)=>{if(!f.consumable.consume(u.item,d.name))return;const p=f.writer,w=f.mapper.toViewElement(u.item),S=n.findViewImgElement(w);if(u.attributeNewValue!==null?p.setAttribute(c,u.attributeNewValue,S):p.removeAttribute(c,S),u.item.hasAttribute("sources"))return;const B=u.item.hasAttribute("resizedWidth");if(t==="imageInline"&&!B&&!l)return;const z=u.item.getAttribute("width"),V=u.item.getAttribute("height");z&&V&&p.setStyle("aspect-ratio",`${z}/${V}`,S)})}}}class Bf extends X{constructor(t,e){super(t),this._modelElementName=e}refresh(){const e=this.editor.plugins.get("ImageUtils"),n=e.getClosestSelectedImageElement(this.editor.model.document.selection);this._modelElementName==="imageBlock"?this.isEnabled=e.isInlineImage(n):this.isEnabled=e.isBlockImage(n)}execute(t={}){const e=this.editor,n=this.editor.model,i=e.plugins.get("ImageUtils"),r=i.getClosestSelectedImageElement(n.document.selection),s=Object.fromEntries(r.getAttributes());return!s.src&&!s.uploadId?null:n.change(a=>{const{setImageSizes:c=!0}=t,l=Array.from(n.markers).filter(f=>f.getRange().containsItem(r)),d=i.insertImage(s,n.createSelection(r,"on"),this._modelElementName,{setImageSizes:c});if(!d)return null;const u=a.createRangeOn(d);for(const f of l){const p=f.getRange(),w=p.root.rootName!="$graveyard"?p.getJoined(u,!0):u;a.updateMarker(f,{range:w})}return{oldElement:r,newElement:d}})}}var Nf=L(31),_a={injectType:"singletonStyleTag",attributes:{"data-cke":!0}};_a.insert="head",_a.singleton=!0,F()(Nf.Z,_a),Nf.Z.locals;class zf extends P{static get requires(){return[Ut]}static get pluginName(){return"ImagePlaceholder"}afterInit(){this._setupSchema(),this._setupConversion(),this._setupLoadListener()}_setupSchema(){const t=this.editor.model.schema;t.isRegistered("imageBlock")&&t.extend("imageBlock",{allowAttributes:["placeholder"]}),t.isRegistered("imageInline")&&t.extend("imageInline",{allowAttributes:["placeholder"]})}_setupConversion(){const t=this.editor,e=t.conversion,n=t.plugins.get("ImageUtils");e.for("editingDowncast").add(i=>{i.on("attribute:placeholder",(r,s,a)=>{if(!a.consumable.test(s.item,r.name)||!s.item.is("element","imageBlock")&&!s.item.is("element","imageInline"))return;a.consumable.consume(s.item,r.name);const c=a.writer,l=a.mapper.toViewElement(s.item),d=n.findViewImgElement(l);s.attributeNewValue?(c.addClass("image_placeholder",d),c.setStyle("background-image",`url(${s.attributeNewValue})`,d),c.setCustomProperty("editingPipeline:doNotReuseOnce",!0,d)):(c.removeClass("image_placeholder",d),c.removeStyle("background-image",d))})})}_setupLoadListener(){const t=this.editor,e=t.model,n=t.editing,i=n.view,r=t.plugins.get("ImageUtils");i.addObserver(Ca),this.listenTo(i.document,"imageLoaded",(s,a)=>{const c=i.domConverter.mapDomToView(a.target);if(!c)return;const l=r.getImageWidgetFromImageView(c);if(!l)return;const d=n.mapper.toModelElement(l);!d||!d.hasAttribute("placeholder")||e.enqueueChange({isUndoable:!1},u=>{u.removeAttribute("placeholder",d)})})}}class Pf extends P{static get requires(){return[If,Mf,Ut,zf,ve]}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 Bf(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:(r,{writer:s})=>_f(s)}),n.for("editingDowncast").elementToStructure({model:"imageBlock",view:(r,{writer:s})=>i.toImageWidget(_f(s),s,e("image widget"))}),n.for("downcast").add(Li(i,"imageBlock","src")).add(Li(i,"imageBlock","alt")).add(Tf(i,"imageBlock")),n.for("upcast").elementToElement({view:vf(t,"imageBlock"),model:(r,{writer:s})=>s.createElement("imageBlock",r.hasAttribute("src")?{src:r.getAttribute("src")}:void 0)}).add(IT(i))}_setupClipboardIntegration(){const t=this.editor,e=t.model,n=t.editing.view,i=t.plugins.get("ImageUtils"),r=t.plugins.get("ClipboardPipeline");this.listenTo(r,"inputTransformation",(s,a)=>{const c=Array.from(a.content.getChildren());let l;if(!c.every(i.isInlineImageView))return;a.targetRanges?l=t.editing.mapper.toModelRange(a.targetRanges[0]):l=e.document.selection.getFirstRange();const d=e.createSelection(l);if(ba(e.schema,d)==="imageBlock"){const u=new He(n.document),f=c.map(p=>u.createElement("figure",{class:"image"},p));a.content=u.createDocumentFragment(f)}}),this.listenTo(r,"contentInsertion",(s,a)=>{a.method==="paste"&&e.change(c=>{const l=c.createRangeIn(a.content);for(const d of l.getItems())d.is("element","imageBlock")&&i.setImageNaturalSizeAttributes(d)})})}}var Lf=L(8879),va={injectType:"singletonStyleTag",attributes:{"data-cke":!0}};va.insert="head",va.singleton=!0,F()(Lf.Z,va),Lf.Z.locals;class NT extends Y{constructor(t,e=[]){super(t),this.focusTracker=new Ht,this.keystrokes=new ie,this._focusables=new be,this.children=this.createCollection(),this._focusCycler=new Te({focusables:this._focusables,focusTracker:this.focusTracker,keystrokeHandler:this.keystrokes,actions:{focusPrevious:"shift + tab",focusNext:"tab"}});for(const n of e)this.children.add(n),this._focusables.add(n),n instanceof s5&&this._focusables.addMany(n.children);if(this._focusables.length>1)for(const n of this._focusables)zT(n)&&(n.focusCycler.on("forwardCycle",i=>{this._focusCycler.focusNext(),i.stop()}),n.focusCycler.on("backwardCycle",i=>{this._focusCycler.focusPrevious(),i.stop()}));this.setTemplate({tag:"form",attributes:{class:["ck","ck-image-insert-form"],tabindex:-1},children:this.children})}render(){super.render(),h({view:this});for(const e of this._focusables)this.focusTracker.add(e.element);this.keystrokes.listenTo(this.element);const t=e=>e.stopPropagation();this.keystrokes.set("arrowright",t),this.keystrokes.set("arrowleft",t),this.keystrokes.set("arrowup",t),this.keystrokes.set("arrowdown",t)}destroy(){super.destroy(),this.focusTracker.destroy(),this.keystrokes.destroy()}focus(){this._focusCycler.focusFirst()}}function zT(o){return"focusCycler"in o}class Of extends P{static get pluginName(){return"ImageInsertUI"}static get requires(){return[Ut]}constructor(t){super(t),this._integrations=new Map,t.config.define("image.insert.integrations",["upload","assetManager","url"])}init(){const t=this.editor,e=t.model.document.selection,n=t.plugins.get("ImageUtils");this.set("isImageSelected",!1),this.listenTo(t.model.document,"change",()=>{this.isImageSelected=n.isImage(e.getSelectedElement())});const i=r=>this._createToolbarComponent(r);t.ui.componentFactory.add("insertImage",i),t.ui.componentFactory.add("imageInsert",i)}registerIntegration({name:t,observable:e,buttonViewCreator:n,formViewCreator:i,requiresForm:r}){this._integrations.has(t)&&at("image-insert-integration-exists",{name:t}),this._integrations.set(t,{observable:e,buttonViewCreator:n,formViewCreator:i,requiresForm:!!r})}_createToolbarComponent(t){const e=this.editor,n=t.t,i=this._prepareIntegrations();if(!i.length)return null;let r;const s=i[0];if(i.length==1){if(!s.requiresForm)return s.buttonViewCreator(!0);r=s.buttonViewCreator(!0)}else{const l=s.buttonViewCreator(!1);r=new pi(t,l),r.tooltip=!0,r.bind("label").to(this,"isImageSelected",d=>n(d?"Replace image":"Insert image"))}const a=this.dropdownView=_e(t,r),c=i.map(({observable:l})=>l);return a.bind("isEnabled").toMany(c,"isEnabled",(...l)=>l.some(d=>d)),a.once("change:isOpen",()=>{const l=i.map(({formViewCreator:u})=>u(i.length==1)),d=new NT(e.locale,l);a.panelView.children.add(d)}),a}_prepareIntegrations(){const e=this.editor.config.get("image.insert.integrations"),n=[];if(!e.length)return at("image-insert-integrations-not-specified"),n;for(const i of e){if(!this._integrations.has(i)){["upload","assetManager","url"].includes(i)||at("image-insert-unknown-integration",{item:i});continue}n.push(this._integrations.get(i))}return n.length||at("image-insert-integrations-not-registered"),n}}var Rf=L(2430),ya={injectType:"singletonStyleTag",attributes:{"data-cke":!0}};ya.insert="head",ya.singleton=!0,F()(Rf.Z,ya),Rf.Z.locals;class PT extends P{static get requires(){return[Pf,So,Sf,Of]}static get pluginName(){return"ImageBlock"}}class LT extends P{static get requires(){return[If,Mf,Ut,zf,ve]}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((n,i)=>{if(n.endsWith("caption")&&i.name==="imageInline")return!1}),this._setupConversion(),t.plugins.has("ImageBlockEditing")&&(t.commands.add("imageTypeInline",new Bf(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:(r,{writer:s})=>s.createEmptyElement("img")}),n.for("editingDowncast").elementToStructure({model:"imageInline",view:(r,{writer:s})=>i.toImageWidget(AT(s),s,e("image widget"))}),n.for("downcast").add(Li(i,"imageInline","src")).add(Li(i,"imageInline","alt")).add(Tf(i,"imageInline")),n.for("upcast").elementToElement({view:vf(t,"imageInline"),model:(r,{writer:s})=>s.createElement("imageInline",r.hasAttribute("src")?{src:r.getAttribute("src")}:void 0)})}_setupClipboardIntegration(){const t=this.editor,e=t.model,n=t.editing.view,i=t.plugins.get("ImageUtils"),r=t.plugins.get("ClipboardPipeline");this.listenTo(r,"inputTransformation",(s,a)=>{const c=Array.from(a.content.getChildren());let l;if(!c.every(i.isBlockImageView))return;a.targetRanges?l=t.editing.mapper.toModelRange(a.targetRanges[0]):l=e.document.selection.getFirstRange();const d=e.createSelection(l);if(ba(e.schema,d)==="imageInline"){const u=new He(n.document),f=c.map(p=>p.childCount===1?(Array.from(p.getAttributes()).forEach(w=>u.setAttribute(...w,i.findViewImgElement(p))),p.getChild(0)):p);a.content=u.createDocumentFragment(f)}}),this.listenTo(r,"contentInsertion",(s,a)=>{a.method==="paste"&&e.change(c=>{const l=c.createRangeIn(a.content);for(const d of l.getItems())d.is("element","imageInline")&&i.setImageNaturalSizeAttributes(d)})})}}class OT extends P{static get requires(){return[LT,So,Sf,Of]}static get pluginName(){return"ImageInline"}}class RT extends P{static get requires(){return[PT,OT]}static get pluginName(){return"Image"}}class jf extends P{static get pluginName(){return"ImageCaptionUtils"}static get requires(){return[Ut]}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 t.name=="figcaption"&&e.isBlockImageView(t.parent)?{name:!0}:null}}class jT extends X{refresh(){const t=this.editor,e=t.plugins.get("ImageCaptionUtils"),n=t.plugins.get("ImageUtils");if(!t.plugins.has(Pf)){this.isEnabled=!1,this.value=!1;return}const i=t.model.document.selection,r=i.getSelectedElement();if(!r){const s=e.getCaptionFromModelSelection(i);this.isEnabled=!!s,this.value=!!s;return}this.isEnabled=n.isImage(r),this.isEnabled?this.value=!!e.getCaptionFromImageModelElement(r):this.value=!1}execute(t={}){const{focusCaptionOnShow:e}=t;this.editor.model.change(n=>{this.value?this._hideImageCaption(n):this._showImageCaption(n,e)})}_showImageCaption(t,e){const i=this.editor.model.document.selection,r=this.editor.plugins.get("ImageCaptionEditing"),s=this.editor.plugins.get("ImageUtils");let a=i.getSelectedElement();const c=r._getSavedCaption(a);s.isInlineImage(a)&&(this.editor.execute("imageTypeBlock"),a=i.getSelectedElement());const l=c||t.createElement("caption");t.append(l,a),e&&t.setSelection(l,"in")}_hideImageCaption(t){const e=this.editor,n=e.model.document.selection,i=e.plugins.get("ImageCaptionEditing"),r=e.plugins.get("ImageCaptionUtils");let s=n.getSelectedElement(),a;s?a=r.getCaptionFromImageModelElement(s):(a=r.getCaptionFromModelSelection(n),s=a.parent),i._saveCaption(s,a),t.setSelection(s,"on"),t.remove(a)}}class FT extends P{static get requires(){return[Ut,jf]}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 jT(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"),r=t.t;t.conversion.for("upcast").elementToElement({view:s=>i.matchImageCaptionViewElement(s),model:"caption"}),t.conversion.for("dataDowncast").elementToElement({model:"caption",view:(s,{writer:a})=>n.isBlockImage(s.parent)?a.createContainerElement("figcaption"):null}),t.conversion.for("editingDowncast").elementToElement({model:"caption",view:(s,{writer:a})=>{if(!n.isBlockImage(s.parent))return null;const c=a.createEditableElement("figcaption");a.setCustomProperty("imageCaption",!0,c),c.placeholder=r("Enter image caption"),Ed({view:e,element:c,keepOnFocus:!0});const l=s.parent.getAttribute("alt"),d=l?r("Caption for image: %0",[l]):r("Caption for the image");return $g(c,a,{label:d})}})}_setupImageTypeCommandsIntegration(){const t=this.editor,e=t.plugins.get("ImageUtils"),n=t.plugins.get("ImageCaptionUtils"),i=t.commands.get("imageTypeInline"),r=t.commands.get("imageTypeBlock"),s=a=>{if(!a.return)return;const{oldElement:c,newElement:l}=a.return;if(!c)return;if(e.isBlockImage(c)){const u=n.getCaptionFromImageModelElement(c);if(u){this._saveCaption(l,u);return}}const d=this._getSavedCaption(c);d&&this._saveCaption(l,d)};i&&this.listenTo(i,"execute",s,{priority:"low"}),r&&this.listenTo(r,"execute",s,{priority:"low"})}_getSavedCaption(t){const e=this._savedCaptionsMap.get(t);return e?lt.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 r=e.document.differ.getChanges();for(const s of r){if(s.attributeKey!=="alt")continue;const a=s.range.start.nodeAfter;if(n.isBlockImage(a)){const c=i.getCaptionFromImageModelElement(a);if(!c)return;t.editing.reconvertItem(c)}}})}}class VT extends P{static get requires(){return[jf]}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",r=>{const s=t.commands.get("toggleImageCaption"),a=new ht(r);return a.set({icon:dt.caption,tooltip:!0,isToggleable:!0}),a.bind("isOn","isEnabled").to(s,"value","isEnabled"),a.bind("label").to(s,"value",c=>i(c?"Toggle caption off":"Toggle caption on")),this.listenTo(a,"execute",()=>{t.execute("toggleImageCaption",{focusCaptionOnShow:!0});const c=n.getCaptionFromModelSelection(t.model.document.selection);if(c){const l=t.editing.mapper.toViewElement(c);e.scrollToTheSelection(),e.change(d=>{d.addClass("image__caption_highlighted",l)})}t.editing.view.focus()}),a})}}var Ff=L(2423),xa={injectType:"singletonStyleTag",attributes:{"data-cke":!0}};xa.insert="head",xa.singleton=!0,F()(Ff.Z,xa),Ff.Z.locals;class HT extends P{static get requires(){return[FT,VT]}static get pluginName(){return"ImageCaption"}}class UT extends rt(){constructor(){super();const t=new window.FileReader;this._reader=t,this._data=void 0,this.set("loaded",0),t.onprogress=e=>{this.loaded=e.loaded}}get error(){return this._reader.error}get data(){return this._data}read(t){const e=this._reader;return this.total=t.size,new Promise((n,i)=>{e.onload=()=>{const r=e.result;this._data=r,n(r)},e.onerror=()=>{i("error")},e.onabort=()=>{i("aborted")},this._reader.readAsDataURL(t)})}abort(){this._reader.abort()}}class un extends P{constructor(){super(...arguments),this.loaders=new oe,this._loadersMap=new Map,this._pendingAction=null}static get pluginName(){return"FileRepository"}static get requires(){return[fi]}init(){this.loaders.on("change",()=>this._updatePendingAction()),this.set("uploaded",0),this.set("uploadTotal",null),this.bind("uploadedPercent").to(this,"uploaded",this,"uploadTotal",(t,e)=>e?t/e*100:0)}getLoader(t){return this._loadersMap.get(t)||null}createLoader(t){if(!this.createUploadAdapter)return at("filerepository-no-upload-adapter"),null;const e=new Vf(Promise.resolve(t),this.createUploadAdapter);return this.loaders.add(e),this._loadersMap.set(t,e),t instanceof Promise&&e.file.then(n=>{this._loadersMap.set(n,e)}).catch(()=>{}),e.on("change:uploaded",()=>{let n=0;for(const i of this.loaders)n+=i.uploaded;this.uploaded=n}),e.on("change:uploadTotal",()=>{let n=0;for(const i of this.loaders)i.uploadTotal&&(n+=i.uploadTotal);this.uploadTotal=n}),e}destroyLoader(t){const e=t instanceof Vf?t:this.getLoader(t);e._destroy(),this.loaders.remove(e),this._loadersMap.forEach((n,i)=>{n===e&&this._loadersMap.delete(i)})}_updatePendingAction(){const t=this.editor.plugins.get(fi);if(this.loaders.length){if(!this._pendingAction){const e=this.editor.t,n=i=>`${e("Upload in progress")} ${parseInt(i)}%.`;this._pendingAction=t.add(n(this.uploadedPercent)),this._pendingAction.bind("message").to(this,"uploadedPercent",n)}}else t.remove(this._pendingAction),this._pendingAction=null}}class Vf extends rt(){constructor(t,e){super(),this.id=qt(),this._filePromiseWrapper=this._createFilePromiseWrapper(t),this._adapter=e(this),this._reader=new UT,this.set("status","idle"),this.set("uploaded",0),this.set("uploadTotal",null),this.bind("uploadedPercent").to(this,"uploaded",this,"uploadTotal",(n,i)=>i?n/i*100:0),this.set("uploadResponse",null)}get file(){return this._filePromiseWrapper?this._filePromiseWrapper.promise.then(t=>this._filePromiseWrapper?t:null):Promise.resolve(null)}get data(){return this._reader.data}read(){if(this.status!="idle")throw new b("filerepository-read-wrong-status",this);return this.status="reading",this.file.then(t=>this._reader.read(t)).then(t=>{if(this.status!=="reading")throw this.status;return this.status="idle",t}).catch(t=>{throw t==="aborted"?(this.status="aborted","aborted"):(this.status="error",this._reader.error?this._reader.error:t)})}upload(){if(this.status!="idle")throw new b("filerepository-upload-wrong-status",this);return this.status="uploading",this.file.then(()=>this._adapter.upload()).then(t=>(this.uploadResponse=t,this.status="idle",t)).catch(t=>{throw this.status==="aborted"?"aborted":(this.status="error",t)})}abort(){const t=this.status;this.status="aborted",this._filePromiseWrapper.isFulfilled?t=="reading"?this._reader.abort():t=="uploading"&&this._adapter.abort&&this._adapter.abort():(this._filePromiseWrapper.promise.catch(()=>{}),this._filePromiseWrapper.rejecter("aborted")),this._destroy()}_destroy(){this._filePromiseWrapper=void 0,this._reader=void 0,this._adapter=void 0,this.uploadResponse=void 0}_createFilePromiseWrapper(t){const e={};return e.promise=new Promise((n,i)=>{e.rejecter=i,e.isFulfilled=!1,t.then(r=>{e.isFulfilled=!0,n(r)}).catch(r=>{e.isFulfilled=!0,i(r)})}),e}}class qT extends ht{constructor(t){super(t),this.buttonView=this,this._fileInputView=new WT(t),this._fileInputView.bind("acceptedType").to(this),this._fileInputView.bind("allowMultipleFiles").to(this),this._fileInputView.delegate("done").to(this),this.on("execute",()=>{this._fileInputView.open()}),this.extendTemplate({attributes:{class:"ck-file-dialog-button"}})}render(){super.render(),this.children.add(this._fileInputView)}}class WT extends Y{constructor(t){super(t),this.set("acceptedType",void 0),this.set("allowMultipleFiles",!1);const e=this.bindTemplate;this.setTemplate({tag:"input",attributes:{class:["ck-hidden"],type:"file",tabindex:"-1",accept:e.to("acceptedType"),multiple:e.to("allowMultipleFiles")},on:{change:e.to(()=>{this.element&&this.element.files&&this.element.files.length&&this.fire("done",this.element.files),this.element.value=""})}})}open(){this.element.click()}}class GT extends P{static get requires(){return[un]}static get pluginName(){return"Base64UploadAdapter"}init(){this.editor.plugins.get(un).createUploadAdapter=t=>new $T(t)}}class $T{constructor(t){this.loader=t}upload(){return new Promise((t,e)=>{const n=this.reader=new window.FileReader;n.addEventListener("load",()=>{t({default:n.result})}),n.addEventListener("error",i=>{e(i)}),n.addEventListener("abort",()=>{e()}),this.loader.file.then(i=>{n.readAsDataURL(i)})})}abort(){this.reader.abort()}}function Hf(o){const t=o.map(e=>e.replace("+","\\+"));return new RegExp(`^image\\/(${t.join("|")})$`)}function KT(o){return new Promise((t,e)=>{const n=o.getAttribute("src");fetch(n).then(i=>i.blob()).then(i=>{const r=Uf(i,n),a=`image.${r.replace("image/","")}`,c=new File([i],a,{type:r});t(c)}).catch(i=>i&&i.name==="TypeError"?YT(n).then(t).catch(e):e(i))})}function ZT(o,t){return!o.isInlineImageView(t)||!t.getAttribute("src")?!1:!!t.getAttribute("src").match(/^data:image\/\w+;base64,/g)||!!t.getAttribute("src").match(/^blob:/g)}function Uf(o,t){return o.type?o.type:t.match(/data:(image\/\w+);base64/)?t.match(/data:(image\/\w+);base64/)[1].toLowerCase():"image/jpeg"}function YT(o){return QT(o).then(t=>{const e=Uf(t,o),i=`image.${e.replace("image/","")}`;return new File([t],i,{type:e})})}function QT(o){return new Promise((t,e)=>{const n=U.document.createElement("img");n.addEventListener("load",()=>{const i=U.document.createElement("canvas");i.width=n.width,i.height=n.height,i.getContext("2d").drawImage(n,0,0),i.toBlob(s=>s?t(s):e())}),n.addEventListener("error",()=>e()),n.src=o})}class JT extends P{static get pluginName(){return"ImageUploadUI"}init(){const t=this.editor,e=t.t,n=i=>{const r=new qT(i),s=t.commands.get("uploadImage"),a=t.config.get("image.upload.types"),c=Hf(a);return r.set({acceptedType:a.map(l=>`image/${l}`).join(","),allowMultipleFiles:!0,label:e("Upload image from computer"),icon:dt.imageUpload,tooltip:!0}),r.bind("isEnabled").to(s),r.on("done",(l,d)=>{const u=Array.from(d).filter(f=>c.test(f.type));u.length&&(t.execute("uploadImage",{file:u}),t.editing.view.focus())}),r};if(t.ui.componentFactory.add("uploadImage",n),t.ui.componentFactory.add("imageUpload",n),t.plugins.has("ImageInsertUI")){const i=t.plugins.get("ImageInsertUI"),r=t.commands.get("uploadImage");i.registerIntegration({name:"upload",observable:r,buttonViewCreator:()=>{const s=t.ui.componentFactory.create("uploadImage");return s.bind("label").to(i,"isImageSelected",a=>e(a?"Replace image from computer":"Upload image from computer")),s},formViewCreator:()=>{const s=t.ui.componentFactory.create("uploadImage");return s.withText=!0,s.bind("label").to(i,"isImageSelected",a=>e(a?"Replace from computer":"Upload from computer")),s.on("execute",()=>{i.dropdownView.isOpen=!1}),s}})}}}var qf=L(2926),Ea={injectType:"singletonStyleTag",attributes:{"data-cke":!0}};Ea.insert="head",Ea.singleton=!0,F()(qf.Z,Ea),qf.Z.locals;var Wf=L(1547),Da={injectType:"singletonStyleTag",attributes:{"data-cke":!0}};Da.insert="head",Da.singleton=!0,F()(Wf.Z,Da),Wf.Z.locals;var Gf=L(6618),Sa={injectType:"singletonStyleTag",attributes:{"data-cke":!0}};Sa.insert="head",Sa.singleton=!0,F()(Gf.Z,Sa),Gf.Z.locals;class XT extends P{static get pluginName(){return"ImageUploadProgress"}constructor(t){super(t),this.uploadStatusChange=(e,n,i)=>{const r=this.editor,s=n.item,a=s.getAttribute("uploadId");if(!i.consumable.consume(n.item,e.name))return;const c=r.plugins.get("ImageUtils"),l=r.plugins.get(un),d=a?n.attributeNewValue:null,u=this.placeholder,f=r.editing.mapper.toViewElement(s),p=i.writer;if(d=="reading"){$f(f,p),Kf(c,u,f,p);return}if(d=="uploading"){const w=l.loaders.get(a);$f(f,p),w?(Zf(f,p),eI(f,p,w,r.editing.view),sI(c,f,p,w)):Kf(c,u,f,p);return}d=="complete"&&l.loaders.get(a)&&oI(f,p,r.editing.view),nI(f,p),Zf(f,p),tI(f,p)},this.placeholder="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw=="}init(){const t=this.editor;t.plugins.has("ImageBlockEditing")&&t.editing.downcastDispatcher.on("attribute:uploadStatus:imageBlock",this.uploadStatusChange),t.plugins.has("ImageInlineEditing")&&t.editing.downcastDispatcher.on("attribute:uploadStatus:imageInline",this.uploadStatusChange)}}function $f(o,t){o.hasClass("ck-appear")||t.addClass("ck-appear",o)}function tI(o,t){t.removeClass("ck-appear",o)}function Kf(o,t,e,n){e.hasClass("ck-image-upload-placeholder")||n.addClass("ck-image-upload-placeholder",e);const i=o.findViewImgElement(e);i.getAttribute("src")!==t&&n.setAttribute("src",t,i),Yf(e,"placeholder")||n.insert(n.createPositionAfter(i),rI(n))}function Zf(o,t){o.hasClass("ck-image-upload-placeholder")&&t.removeClass("ck-image-upload-placeholder",o),Qf(o,t,"placeholder")}function eI(o,t,e,n){const i=iI(t);t.insert(t.createPositionAt(o,"end"),i),e.on("change:uploadedPercent",(r,s,a)=>{n.change(c=>{c.setStyle("width",a+"%",i)})})}function nI(o,t){Qf(o,t,"progressBar")}function oI(o,t,e){const n=t.createUIElement("div",{class:"ck-image-upload-complete-icon"});t.insert(t.createPositionAt(o,"end"),n),setTimeout(()=>{e.change(i=>i.remove(i.createRangeOn(n)))},3e3)}function iI(o){const t=o.createUIElement("div",{class:"ck-progress-bar"});return o.setCustomProperty("progressBar",!0,t),t}function rI(o){const t=o.createUIElement("div",{class:"ck-upload-placeholder-loader"});return o.setCustomProperty("placeholder",!0,t),t}function Yf(o,t){for(const e of o.getChildren())if(e.getCustomProperty(t))return e}function Qf(o,t,e){const n=Yf(o,e);n&&t.remove(t.createRangeOn(n))}function sI(o,t,e,n){if(n.data){const i=o.findViewImgElement(t);e.setAttribute("src",n.data,i)}}class aI extends X{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=Tt(t.file),n=this.editor.model.document.selection,i=this.editor.plugins.get("ImageUtils"),r=Object.fromEntries(n.getAttributes());e.forEach((s,a)=>{const c=n.getSelectedElement();if(a&&c&&i.isImage(c)){const l=this.editor.model.createPositionAfter(c);this._uploadImage(s,r,l)}else this._uploadImage(s,r)})}_uploadImage(t,e,n){const i=this.editor,s=i.plugins.get(un).createLoader(t),a=i.plugins.get("ImageUtils");s&&a.insertImage({...e,uploadId:s.id},n)}}class cI extends P{static get requires(){return[un,tg,ve,Ut]}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(un),r=t.plugins.get("ImageUtils"),s=t.plugins.get("ClipboardPipeline"),a=Hf(t.config.get("image.upload.types")),c=new aI(t);t.commands.add("uploadImage",c),t.commands.add("imageUpload",c),n.for("upcast").attributeToAttribute({view:{name:"img",key:"uploadId"},model:"uploadId"}),this.listenTo(t.editing.view.document,"clipboardInput",(l,d)=>{if(lI(d.dataTransfer))return;const u=Array.from(d.dataTransfer.files).filter(f=>f?a.test(f.type):!1);u.length&&(l.stop(),t.model.change(f=>{d.targetRanges&&f.setSelection(d.targetRanges.map(p=>t.editing.mapper.toModelRange(p))),t.execute("uploadImage",{file:u})}))}),this.listenTo(s,"inputTransformation",(l,d)=>{const u=Array.from(t.editing.view.createRangeIn(d.content)).map(p=>p.item).filter(p=>ZT(r,p)&&!p.getAttribute("uploadProcessed")).map(p=>({promise:KT(p),imageElement:p}));if(!u.length)return;const f=new He(t.editing.view.document);for(const p of u){f.setAttribute("uploadProcessed",!0,p.imageElement);const w=i.createLoader(p.promise);w&&(f.setAttribute("src","",p.imageElement),f.setAttribute("uploadId",w.id,p.imageElement))}}),t.editing.view.document.on("dragover",(l,d)=>{d.preventDefault()}),e.on("change",()=>{const l=e.differ.getChanges({includeChangesInGraveyard:!0}).reverse(),d=new Set;for(const u of l)if(u.type=="insert"&&u.name!="$text"){const f=u.position.nodeAfter,p=u.position.root.rootName=="$graveyard";for(const w of dI(t,f)){const S=w.getAttribute("uploadId");if(!S)continue;const B=i.loaders.get(S);B&&(p?d.has(S)||B.abort():(d.add(S),this._uploadImageElements.set(S,w),B.status=="idle"&&this._readAndUpload(B)))}}}),this.on("uploadComplete",(l,{imageElement:d,data:u})=>{const f=u.urls?u.urls:u;this.editor.model.change(p=>{p.setAttribute("src",f.default,d),this._parseAndSetSrcsetAttributeOnImage(f,d,p),r.setImageNaturalSizeAttributes(d)})},{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,r=e.plugins.get(un),s=e.plugins.get(tg),a=e.plugins.get("ImageUtils"),c=this._uploadImageElements;return n.enqueueChange({isUndoable:!1},d=>{d.setAttribute("uploadStatus","reading",c.get(t.id))}),t.read().then(()=>{const d=t.upload(),u=c.get(t.id);if(g.isSafari){const f=e.editing.mapper.toViewElement(u),p=a.findViewImgElement(f);e.editing.view.once("render",()=>{if(!p.parent)return;const w=e.editing.view.domConverter.mapViewToDom(p.parent);if(!w)return;const S=w.style.display;w.style.display="none",w._ckHack=w.offsetHeight,w.style.display=S})}return n.enqueueChange({isUndoable:!1},f=>{f.setAttribute("uploadStatus","uploading",u)}),d}).then(d=>{n.enqueueChange({isUndoable:!1},u=>{const f=c.get(t.id);u.setAttribute("uploadStatus","complete",f),this.fire("uploadComplete",{data:d,imageElement:f})}),l()}).catch(d=>{if(t.status!=="error"&&t.status!=="aborted")throw d;t.status=="error"&&d&&s.showWarning(d,{title:i("Upload failed"),namespace:"upload"}),n.enqueueChange({isUndoable:!1},u=>{u.remove(c.get(t.id))}),l()});function l(){n.enqueueChange({isUndoable:!1},d=>{const u=c.get(t.id);d.removeAttribute("uploadId",u),d.removeAttribute("uploadStatus",u),c.delete(t.id)}),r.destroyLoader(t)}}_parseAndSetSrcsetAttributeOnImage(t,e,n){let i=0;const r=Object.keys(t).filter(s=>{const a=parseInt(s,10);if(!isNaN(a))return i=Math.max(i,a),!0}).map(s=>`${t[s]} ${s}w`).join(", ");if(r!=""){const s={srcset:r};!e.hasAttribute("width")&&!e.hasAttribute("height")&&(s.width=i),n.setAttributes(s,e)}}}function lI(o){return Array.from(o.types).includes("text/html")&&o.getData("text/html")!==""}function dI(o,t){const e=o.plugins.get("ImageUtils");return Array.from(o.model.createRangeOn(t)).filter(n=>e.isImage(n.item)).map(n=>n.item)}class uI extends P{static get pluginName(){return"ImageUpload"}static get requires(){return[cI,JT,XT]}}class hI extends X{refresh(){const t=this.editor,n=t.plugins.get("ImageUtils").getClosestSelectedImageElement(t.model.document.selection);this.isEnabled=!!n,!n||!n.hasAttribute("resizedWidth")?this.value=null:this.value={width:n.getAttribute("resizedWidth"),height:null}}execute(t){const e=this.editor,n=e.model,i=e.plugins.get("ImageUtils"),r=i.getClosestSelectedImageElement(n.document.selection);this.value={width:t.width,height:null},r&&n.change(s=>{s.setAttribute("resizedWidth",t.width,r),s.removeAttribute("resizedHeight",r),i.setImageNaturalSizeAttributes(r)})}}class Jf extends P{static get requires(){return[Ut]}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 hI(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:["resizedWidth","resizedHeight"]}),this.editor.plugins.has("ImageInlineEditing")&&this.editor.model.schema.extend("imageInline",{allowAttributes:["resizedWidth","resizedHeight"]})}_registerConverters(t){const e=this.editor,n=e.plugins.get("ImageUtils");e.conversion.for("downcast").add(i=>i.on(`attribute:resizedWidth:${t}`,(r,s,a)=>{if(!a.consumable.consume(s.item,r.name))return;const c=a.writer,l=a.mapper.toViewElement(s.item);s.attributeNewValue!==null?(c.setStyle("width",s.attributeNewValue,l),c.addClass("image_resized",l)):(c.removeStyle("width",l),c.removeClass("image_resized",l))})),e.conversion.for("dataDowncast").attributeToAttribute({model:{name:t,key:"resizedHeight"},view:i=>({key:"style",value:{height:i}})}),e.conversion.for("editingDowncast").add(i=>i.on(`attribute:resizedHeight:${t}`,(r,s,a)=>{if(!a.consumable.consume(s.item,r.name))return;const c=a.writer,l=a.mapper.toViewElement(s.item),d=t==="imageInline"?n.findViewImgElement(l):l;s.attributeNewValue!==null?c.setStyle("height",s.attributeNewValue,d):c.removeStyle("height",d)})),e.conversion.for("upcast").attributeToAttribute({view:{name:t==="imageBlock"?"figure":"img",styles:{width:/.+/}},model:{key:"resizedWidth",value:i=>Pi(i)?null:i.getStyle("width")}}),e.conversion.for("upcast").attributeToAttribute({view:{name:t==="imageBlock"?"figure":"img",styles:{height:/.+/}},model:{key:"resizedHeight",value:i=>Pi(i)?null:i.getStyle("height")}})}}const Ta={small:dt.objectSizeSmall,medium:dt.objectSizeMedium,large:dt.objectSizeLarge,original:dt.objectSizeFull};class gI extends P{static get requires(){return[Jf]}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 i of e)this._registerImageResizeButton(i);this._registerImageResizeDropdown(e)}_registerImageResizeButton(t){const e=this.editor,{name:n,value:i,icon:r}=t,s=i?i+this._resizeUnit:null;e.ui.componentFactory.add(n,a=>{const c=new ht(a),l=e.commands.get("resizeImage"),d=this._getOptionLabelValue(t,!0);if(!Ta[r])throw new b("imageresizebuttons-missing-icon",e,t);return c.set({label:d,icon:Ta[r],tooltip:d,isToggleable:!0}),c.bind("isEnabled").to(this),c.bind("isOn").to(l,"value",Xf(s)),this.listenTo(c,"execute",()=>{e.execute("resizeImage",{width:s})}),c})}_registerImageResizeDropdown(t){const e=this.editor,n=e.t,i=t.find(s=>!s.value),r=s=>{const a=e.commands.get("resizeImage"),c=_e(s,pd),l=c.buttonView,d=n("Resize image");return l.set({tooltip:d,commandValue:i.value,icon:Ta.medium,isToggleable:!0,label:this._getOptionLabelValue(i),withText:!0,class:"ck-resize-image-button",ariaLabel:d,ariaLabelledBy:void 0}),l.bind("label").to(a,"value",u=>u&&u.width?u.width:this._getOptionLabelValue(i)),c.bind("isEnabled").to(this),Es(c,()=>this._getResizeDropdownListItemDefinitions(t,a),{ariaLabel:n("Image resize list"),role:"menu"}),this.listenTo(c,"execute",u=>{e.execute(u.source.commandName,{width:u.source.commandValue}),e.editing.view.focus()}),c};e.ui.componentFactory.add("resizeImage",r),e.ui.componentFactory.add("imageResize",r)}_getOptionLabelValue(t,e=!1){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 oe;return t.map(i=>{const r=i.value?i.value+this._resizeUnit:null,s={type:"button",model:new Us({commandName:"resizeImage",commandValue:r,label:this._getOptionLabelValue(i),role:"menuitemradio",withText:!0,icon:null})};s.model.bind("isOn").to(e,"value",Xf(r)),n.add(s)}),n}}function Xf(o){return t=>{const e=t;return o===null&&e===o?!0:e!==null&&e.width===o}}const fI="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",Ia="image_resized";class mI extends P{static get requires(){return[ga,Ut]}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,n=t.plugins.get("ImageUtils");e.addObserver(Ca),this.listenTo(e.document,"imageLoaded",(i,r)=>{if(!r.target.matches(fI))return;const s=t.editing.view.domConverter,a=s.domToView(r.target),c=n.getImageWidgetFromImageView(a);let l=this.editor.plugins.get(ga).getResizerByViewElement(c);if(l){l.redraw();return}const d=t.editing.mapper,u=d.toModelElement(c);l=t.plugins.get(ga).attachTo({unit:t.config.get("image.resizeUnit"),modelElement:u,viewElement:c,editor:t,getHandleHost(f){return f.querySelector("img")},getResizeHost(){return s.mapViewToDom(d.toViewElement(u.parent))},isCentered(){const f=u.getAttribute("imageStyle");return!f||f=="block"||f=="alignCenter"},onCommit(f){e.change(p=>{p.removeClass(Ia,c)}),t.execute("resizeImage",{width:f})}}),l.on("updateSize",()=>{c.hasClass(Ia)||e.change(p=>{p.addClass(Ia,c)});const f=u.name==="imageInline"?a:c;f.getStyle("height")&&e.change(p=>{p.removeStyle("height",f)})}),l.bind("isEnabled").to(this)})}}var tm=L(2400),Ma={injectType:"singletonStyleTag",attributes:{"data-cke":!0}};Ma.insert="head",Ma.singleton=!0,F()(tm.Z,Ma),tm.Z.locals;class pI extends P{static get requires(){return[Jf,mI,gI]}static get pluginName(){return"ImageResize"}}class kI extends X{constructor(t,e){super(t),this._defaultStyles={imageBlock:!1,imageInline:!1},this._styles=new Map(e.map(n=>{if(n.isDefault)for(const i of n.modelElements)this._defaultStyles[i]=n.name;return[n.name,n]}))}refresh(){const n=this.editor.plugins.get("ImageUtils").getClosestSelectedImageElement(this.editor.model.document.selection);this.isEnabled=!!n,this.isEnabled?n.hasAttribute("imageStyle")?this.value=n.getAttribute("imageStyle"):this.value=this._defaultStyles[n.name]:this.value=!1}execute(t={}){const e=this.editor,n=e.model,i=e.plugins.get("ImageUtils");n.change(r=>{const s=t.value,{setImageSizes:a=!0}=t;let c=i.getClosestSelectedImageElement(n.document.selection);s&&this.shouldConvertImageType(s,c)&&(this.editor.execute(i.isBlockImage(c)?"imageTypeInline":"imageTypeBlock",{setImageSizes:a}),c=i.getClosestSelectedImageElement(n.document.selection)),!s||this._styles.get(s).isDefault?r.removeAttribute("imageStyle",c):r.setAttribute("imageStyle",s,c),a&&i.setImageNaturalSizeAttributes(c)})}shouldConvertImageType(t,e){return!this._styles.get(t).modelElements.includes(e.name)}}const{objectFullWidth:bI,objectInline:em,objectLeft:nm,objectRight:Ba,objectCenter:Na,objectBlockLeft:om,objectBlockRight:im}=dt,Oi={get inline(){return{name:"inline",title:"In line",icon:em,modelElements:["imageInline"],isDefault:!0}},get alignLeft(){return{name:"alignLeft",title:"Left aligned image",icon:nm,modelElements:["imageBlock","imageInline"],className:"image-style-align-left"}},get alignBlockLeft(){return{name:"alignBlockLeft",title:"Left aligned image",icon:om,modelElements:["imageBlock"],className:"image-style-block-align-left"}},get alignCenter(){return{name:"alignCenter",title:"Centered image",icon:Na,modelElements:["imageBlock"],className:"image-style-align-center"}},get alignRight(){return{name:"alignRight",title:"Right aligned image",icon:Ba,modelElements:["imageBlock","imageInline"],className:"image-style-align-right"}},get alignBlockRight(){return{name:"alignBlockRight",title:"Right aligned image",icon:im,modelElements:["imageBlock"],className:"image-style-block-align-right"}},get block(){return{name:"block",title:"Centered image",icon:Na,modelElements:["imageBlock"],isDefault:!0}},get side(){return{name:"side",title:"Side image",icon:Ba,modelElements:["imageBlock"],className:"image-style-side"}}},rm={full:bI,left:om,right:im,center:Na,inlineLeft:nm,inlineRight:Ba,inline:em},sm=[{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 wI(o){return(o.configuredStyles.options||[]).map(n=>_I(n)).filter(n=>vI(n,o))}function AI(o,t){return o&&t?{options:["inline","alignLeft","alignRight","alignCenter","alignBlockLeft","alignBlockRight","block","side"]}:o?{options:["block","side"]}:t?{options:["inline","alignLeft","alignRight"]}:{}}function CI(o){return o.has("ImageBlockEditing")&&o.has("ImageInlineEditing")?[...sm]:[]}function _I(o){return typeof o=="string"?Oi[o]?o={...Oi[o]}:o={name:o}:o=yI(Oi[o.name],o),typeof o.icon=="string"&&(o.icon=rm[o.icon]||o.icon),o}function vI(o,{isBlockPluginLoaded:t,isInlinePluginLoaded:e}){const{modelElements:n,name:i}=o;if(!n||!n.length||!i)return am({style:o}),!1;{const r=[t?"imageBlock":null,e?"imageInline":null];if(!n.some(s=>r.includes(s)))return at("image-style-missing-dependency",{style:o,missingPlugins:n.map(s=>s==="imageBlock"?"ImageBlockEditing":"ImageInlineEditing")}),!1}return!0}function yI(o,t){const e={...t};for(const n in o)Object.prototype.hasOwnProperty.call(t,n)||(e[n]=o[n]);return e}function am(o){at("image-style-configuration-definition-invalid",o)}const za={normalizeStyles:wI,getDefaultStylesConfiguration:AI,getDefaultDropdownDefinitions:CI,warnInvalidStyle:am,DEFAULT_OPTIONS:Oi,DEFAULT_ICONS:rm,DEFAULT_DROPDOWN_DEFINITIONS:sm};function xI(o){return(t,e,n)=>{if(!n.consumable.consume(e.item,t.name))return;const i=cm(e.attributeNewValue,o),r=cm(e.attributeOldValue,o),s=n.mapper.toViewElement(e.item),a=n.writer;r&&a.removeClass(r.className,s),i&&a.addClass(i.className,s)}}function EI(o){const t={imageInline:o.filter(e=>!e.isDefault&&e.modelElements.includes("imageInline")),imageBlock:o.filter(e=>!e.isDefault&&e.modelElements.includes("imageBlock"))};return(e,n,i)=>{if(!n.modelRange)return;const r=n.viewItem,s=It(n.modelRange.getItems());if(s&&i.schema.checkAttribute(s,"imageStyle"))for(const a of t[s.name])i.consumable.consume(r,{classes:a.className})&&i.writer.setAttribute("imageStyle",a.name,s)}}function cm(o,t){for(const e of t)if(e.name===o)return e}class lm extends P{static get pluginName(){return"ImageStyleEditing"}static get requires(){return[Ut]}init(){const{normalizeStyles:t,getDefaultStylesConfiguration:e}=za,n=this.editor,i=n.plugins.has("ImageBlockEditing"),r=n.plugins.has("ImageInlineEditing");n.config.define("image.styles",e(i,r)),this.normalizedStyles=t({configuredStyles:n.config.get("image.styles"),isBlockPluginLoaded:i,isInlinePluginLoaded:r}),this._setupConversion(i,r),this._setupPostFixer(),n.commands.add("imageStyle",new kI(n,this.normalizedStyles))}_setupConversion(t,e){const n=this.editor,i=n.model.schema,r=xI(this.normalizedStyles),s=EI(this.normalizedStyles);n.editing.downcastDispatcher.on("attribute:imageStyle",r),n.data.downcastDispatcher.on("attribute:imageStyle",r),t&&(i.extend("imageBlock",{allowAttributes:"imageStyle"}),n.data.upcastDispatcher.on("element:figure",s,{priority:"low"})),e&&(i.extend("imageInline",{allowAttributes:"imageStyle"}),n.data.upcastDispatcher.on("element:img",s,{priority:"low"}))}_setupPostFixer(){const t=this.editor,e=t.model.document,n=t.plugins.get(Ut),i=new Map(this.normalizedStyles.map(r=>[r.name,r]));e.registerPostFixer(r=>{let s=!1;for(const a of e.differ.getChanges())if(a.type=="insert"||a.type=="attribute"&&a.attributeKey=="imageStyle"){let c=a.type=="insert"?a.position.nodeAfter:a.range.start.nodeAfter;if(c&&c.is("element","paragraph")&&c.childCount>0&&(c=c.getChild(0)),!n.isImage(c))continue;const l=c.getAttribute("imageStyle");if(!l)continue;const d=i.get(l);(!d||!d.modelElements.includes(c.name))&&(r.removeAttribute("imageStyle",c),s=!0)}return s})}}var dm=L(3534),Pa={injectType:"singletonStyleTag",attributes:{"data-cke":!0}};Pa.insert="head",Pa.singleton=!0,F()(dm.Z,Pa),dm.Z.locals;class DI extends P{static get requires(){return[lm]}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=t.get("ImageStyleEditing"),i=um(n.normalizedStyles,this.localizedDefaultStylesTitles);for(const s of i)this._createButton(s);const r=um([...e.filter(_t),...za.getDefaultDropdownDefinitions(t)],this.localizedDefaultStylesTitles);for(const s of r)this._createDropdown(s,i)}_createDropdown(t,e){const n=this.editor.ui.componentFactory;n.add(t.name,i=>{let r;const{defaultItem:s,items:a,title:c}=t,l=a.filter(p=>e.find(({name:w})=>hm(w)===p)).map(p=>{const w=n.create(p);return p===s&&(r=w),w});a.length!==l.length&&za.warnInvalidStyle({dropdown:t});const d=_e(i,pi),u=d.buttonView,f=u.arrowView;return xs(d,l,{enableActiveItemFocusOnDropdownOpen:!0}),u.set({label:gm(c,r.label),class:null,tooltip:!0}),f.unbind("label"),f.set({label:c}),u.bind("icon").toMany(l,"isOn",(...p)=>{const w=p.findIndex(en);return w<0?r.icon:l[w].icon}),u.bind("label").toMany(l,"isOn",(...p)=>{const w=p.findIndex(en);return gm(c,w<0?r.label:l[w].label)}),u.bind("isOn").toMany(l,"isOn",(...p)=>p.some(en)),u.bind("class").toMany(l,"isOn",(...p)=>p.some(en)?"ck-splitbutton_flatten":void 0),u.on("execute",()=>{l.some(({isOn:p})=>p)?d.isOpen=!d.isOpen:r.fire("execute")}),d.bind("isEnabled").toMany(l,"isEnabled",(...p)=>p.some(en)),this.listenTo(d,"execute",()=>{this.editor.editing.view.focus()}),d})}_createButton(t){const e=t.name;this.editor.ui.componentFactory.add(hm(e),n=>{const i=this.editor.commands.get("imageStyle"),r=new ht(n);return r.set({label:t.title,icon:t.icon,tooltip:!0,isToggleable:!0}),r.bind("isEnabled").to(i,"isEnabled"),r.bind("isOn").to(i,"value",s=>s===e),r.on("execute",this._executeCommand.bind(this,e)),r})}_executeCommand(t){this.editor.execute("imageStyle",{value:t}),this.editor.editing.view.focus()}}function um(o,t){for(const e of o)t[e.title]&&(e.title=t[e.title]);return o}function hm(o){return`imageStyle:${o}`}function gm(o,t){return(o?o+": ":"")+t}class SI extends P{static get requires(){return[lm,DI]}static get pluginName(){return"ImageStyle"}}class TI extends P{static get requires(){return[Mi,Ut]}static get pluginName(){return"ImageToolbar"}afterInit(){const t=this.editor,e=t.t,n=t.plugins.get(Mi),i=t.plugins.get("ImageUtils");n.register("image",{ariaLabel:e("Image toolbar"),items:II(t.config.get("image.toolbar")||[]),getRelatedElement:r=>i.getClosestSelectedImageWidget(r)})}}function II(o){return o.map(t=>_t(t)?t.name:t)}class MI extends P{static get pluginName(){return"IndentEditing"}init(){const t=this.editor;t.commands.add("indent",new Cd(t)),t.commands.add("outdent",new Cd(t))}}const fm='',mm='';class BI extends P{static get pluginName(){return"IndentUI"}init(){const t=this.editor,e=t.locale,n=t.t,i=e.uiLanguageDirection=="ltr"?fm:mm,r=e.uiLanguageDirection=="ltr"?mm:fm;this._defineButton("indent",n("Increase indent"),i),this._defineButton("outdent",n("Decrease indent"),r)}_defineButton(t,e,n){const i=this.editor;i.ui.componentFactory.add(t,r=>{const s=i.commands.get(t),a=new ht(r);return a.set({label:e,icon:n,tooltip:!0}),a.bind("isEnabled").to(s,"isEnabled"),this.listenTo(a,"execute",()=>{i.execute(t),i.editing.view.focus()}),a})}}class NI extends P{static get pluginName(){return"Indent"}static get requires(){return[MI,BI]}}class zI{constructor(){this._definitions=new Set}get length(){return this._definitions.size}add(t){Array.isArray(t)?t.forEach(e=>this._definitions.add(e)):this._definitions.add(t)}getDispatcher(){return t=>{t.on("attribute:linkHref",(e,n,i)=>{if(!i.consumable.test(n.item,"attribute:linkHref")||!(n.item.is("selection")||i.schema.isInline(n.item)))return;const r=i.writer,s=r.document.selection;for(const a of this._definitions){const c=r.createAttributeElement("a",a.attributes,{priority:5});a.classes&&r.addClass(a.classes,c);for(const l in a.styles)r.setStyle(l,a.styles[l],c);r.setCustomProperty("link",!0,c),a.callback(n.attributeNewValue)?n.item.is("selection")?r.wrap(s.getFirstRange(),c):r.wrap(i.mapper.toViewRange(n.range),c):r.unwrap(i.mapper.toViewRange(n.range),c)}},{priority:"high"})}}getDispatcherForLinkedImage(){return t=>{t.on("attribute:linkHref:imageBlock",(e,n,{writer:i,mapper:r})=>{const s=r.toViewElement(n.item),a=Array.from(s.getChildren()).find(c=>c.is("element","a"));for(const c of this._definitions){const l=De(c.attributes);if(c.callback(n.attributeNewValue)){for(const[d,u]of l)d==="class"?i.addClass(u,a):i.setAttribute(d,u,a);c.classes&&i.addClass(c.classes,a);for(const d in c.styles)i.setStyle(d,c.styles[d],a)}else{for(const[d,u]of l)d==="class"?i.removeClass(u,a):i.removeAttribute(d,a);c.classes&&i.removeClass(c.classes,a);for(const d in c.styles)i.removeStyle(d,a)}}})}}}function PI(o,t,e){var n=o.length;return e=e===void 0?n:e,!t&&e>=n?o:zd(o,t,e)}const LI=PI;var OI="\\ud800-\\udfff",RI="\\u0300-\\u036f",jI="\\ufe20-\\ufe2f",FI="\\u20d0-\\u20ff",VI=RI+jI+FI,HI="\\ufe0e\\ufe0f",UI="\\u200d",qI=RegExp("["+UI+OI+VI+HI+"]");function WI(o){return qI.test(o)}const pm=WI;function GI(o){return o.split("")}const $I=GI;var km="\\ud800-\\udfff",KI="\\u0300-\\u036f",ZI="\\ufe20-\\ufe2f",YI="\\u20d0-\\u20ff",QI=KI+ZI+YI,JI="\\ufe0e\\ufe0f",XI="["+km+"]",La="["+QI+"]",Oa="\\ud83c[\\udffb-\\udfff]",tM="(?:"+La+"|"+Oa+")",bm="[^"+km+"]",wm="(?:\\ud83c[\\udde6-\\uddff]){2}",Am="[\\ud800-\\udbff][\\udc00-\\udfff]",eM="\\u200d",Cm=tM+"?",_m="["+JI+"]?",nM="(?:"+eM+"(?:"+[bm,wm,Am].join("|")+")"+_m+Cm+")*",oM=_m+Cm+nM,iM="(?:"+[bm+La+"?",La,wm,Am,XI].join("|")+")",rM=RegExp(Oa+"(?="+Oa+")|"+iM+oM,"g");function sM(o){return o.match(rM)||[]}const aM=sM;function cM(o){return pm(o)?aM(o):$I(o)}const lM=cM;function dM(o){return function(t){t=Vr(t);var e=pm(t)?lM(t):void 0,n=e?e[0]:t.charAt(0),i=e?LI(e,1).join(""):t.slice(1);return n[o]()+i}}var uM=dM("toUpperCase");const hM=uM,gM=/[\u0000-\u0020\u00A0\u1680\u180E\u2000-\u2029\u205f\u3000]/g,fM=/^(?:(?:https?|ftps?|mailto):|[^a-z]|[a-z+.-]+(?:[^a-z+.:-]|$))/i,mM=/^[\S]+@((?![-_])(?:[-\w\u00a1-\uffff]{0,63}[^-_]\.))+(?:[a-z\u00a1-\uffff]{2,})$/i,pM=/^((\w+:(\/{2,})?)|(\W))/i,Ra="Ctrl+K";function kM(o){return o.is("attributeElement")&&!!o.getCustomProperty("link")}function vm(o,{writer:t}){const e=t.createAttributeElement("a",{href:o},{priority:5});return t.setCustomProperty("link",!0,e),e}function ym(o){const t=String(o);return bM(t)?t:"#"}function bM(o){return!!o.replace(gM,"").match(fM)}function wM(o,t){const e={"Open in a new tab":o("Open in a new tab"),Downloadable:o("Downloadable")};return t.forEach(n=>("label"in n&&e[n.label]&&(n.label=e[n.label]),n)),t}function AM(o){const t=[];if(o)for(const[e,n]of Object.entries(o)){const i=Object.assign({},n,{id:`link${hM(e)}`});t.push(i)}return t}function ja(o,t){return o?t.checkAttribute(o.name,"linkHref"):!1}function CM(o){return mM.test(o)}function Fa(o,t){const e=CM(o)?"mailto:":t,n=!!e&&!xm(o);return o&&n?e+o:o}function xm(o){return pM.test(o)}function Em(o){window.open(o,"_blank","noopener")}class _M extends X{constructor(){super(...arguments),this.manualDecorators=new oe,this.automaticDecorators=new zI}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()||It(e.getSelectedBlocks());ja(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 i of this.manualDecorators)i.value=this._getDecoratorStateFromModel(i.id)}execute(t,e={}){const n=this.editor.model,i=n.document.selection,r=[],s=[];for(const a in e)e[a]?r.push(a):s.push(a);n.change(a=>{if(i.isCollapsed){const c=i.getFirstPosition();if(i.hasAttribute("linkHref")){const l=Dm(i);let d=Ei(c,"linkHref",i.getAttribute("linkHref"),n);i.getAttribute("linkHref")===l&&(d=this._updateLinkContent(n,a,d,t)),a.setAttribute("linkHref",t,d),r.forEach(u=>{a.setAttribute(u,!0,d)}),s.forEach(u=>{a.removeAttribute(u,d)}),a.setSelection(a.createPositionAfter(d.end.nodeBefore))}else if(t!==""){const l=De(i.getAttributes());l.set("linkHref",t),r.forEach(u=>{l.set(u,!0)});const{end:d}=n.insertContent(a.createText(t,l),c);a.setSelection(d)}["linkHref",...r,...s].forEach(l=>{a.removeSelectionAttribute(l)})}else{const c=n.schema.getValidRanges(i.getRanges(),"linkHref"),l=[];for(const u of i.getSelectedBlocks())n.schema.checkAttribute(u,"linkHref")&&l.push(a.createRangeOn(u));const d=l.slice();for(const u of c)this._isRangeToUpdate(u,l)&&d.push(u);for(const u of d){let f=u;if(d.length===1){const p=Dm(i);i.getAttribute("linkHref")===p&&(f=this._updateLinkContent(n,a,u,t),a.setSelection(a.createSelection(f)))}a.setAttribute("linkHref",t,f),r.forEach(p=>{a.setAttribute(p,!0,f)}),s.forEach(p=>{a.removeAttribute(p,f)})}}})}_getDecoratorStateFromModel(t){const e=this.editor.model,n=e.document.selection,i=n.getSelectedElement();return ja(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}_updateLinkContent(t,e,n,i){const r=e.createText(i,{linkHref:i});return t.insertContent(r,n)}}function Dm(o){if(o.isCollapsed){const t=o.getFirstPosition();return t.textNode&&t.textNode.data}else{const t=Array.from(o.getFirstRange().getItems());if(t.length>1)return null;const e=t[0];return e.is("$text")||e.is("$textProxy")?e.data:null}}class vM extends X{refresh(){const t=this.editor.model,e=t.document.selection,n=e.getSelectedElement();ja(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(r=>{const s=n.isCollapsed?[Ei(n.getFirstPosition(),"linkHref",n.getAttribute("linkHref"),e)]:e.schema.getValidRanges(n.getRanges(),"linkHref");for(const a of s)if(r.removeAttribute("linkHref",a),i)for(const c of i.manualDecorators)r.removeAttribute(c.id,a)})}}class yM extends rt(){constructor({id:t,label:e,attributes:n,classes:i,styles:r,defaultValue:s}){super(),this.id=t,this.set("value",void 0),this.defaultValue=s,this.label=e,this.attributes=n,this.classes=i,this.styles=r}_createPattern(){return{attributes:this.attributes,classes:this.classes,styles:this.styles}}}var Sm=L(3925),Va={injectType:"singletonStyleTag",attributes:{"data-cke":!0}};Va.insert="head",Va.singleton=!0,F()(Sm.Z,Va),Sm.Z.locals;const xM="ck-link_selected",Tm="automatic",EM="manual",DM=/^(https?:)?\/\//;class Im extends P{static get pluginName(){return"LinkEditing"}static get requires(){return[Eg,wg,ve]}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:vm}),t.conversion.for("editingDowncast").attributeToElement({model:"linkHref",view:(i,r)=>vm(ym(i),r)}),t.conversion.for("upcast").elementToAttribute({view:{name:"a",attributes:{href:!0}},model:{key:"linkHref",value:i=>i.getAttribute("href")}}),t.commands.add("link",new _M(t)),t.commands.add("unlink",new vM(t));const e=wM(t.t,AM(t.config.get("link.decorators")));this._enableAutomaticDecorators(e.filter(i=>i.mode===Tm)),this._enableManualDecorators(e.filter(i=>i.mode===EM)),t.plugins.get(Eg).registerAttribute("linkHref"),I5(t,"linkHref","a",xM),this._enableLinkOpen(),this._enableSelectionAttributesFixer(),this._enableClipboardIntegration()}_enableAutomaticDecorators(t){const e=this.editor,i=e.commands.get("link").automaticDecorators;e.config.get("link.addTargetToExternalLinks")&&i.add({id:"linkIsExternal",mode:Tm,callback:r=>!!r&&DM.test(r),attributes:{target:"_blank",rel:"noopener noreferrer"}}),i.add(t),i.length&&e.conversion.for("downcast").add(i.getDispatcher())}_enableManualDecorators(t){if(!t.length)return;const e=this.editor,i=e.commands.get("link").manualDecorators;t.forEach(r=>{e.model.schema.extend("$text",{allowAttributes:r.id});const s=new yM(r);i.add(s),e.conversion.for("downcast").attributeToElement({model:s.id,view:(a,{writer:c,schema:l},{item:d})=>{if((d.is("selection")||l.isInline(d))&&a){const u=c.createAttributeElement("a",s.attributes,{priority:5});s.classes&&c.addClass(s.classes,u);for(const f in s.styles)c.setStyle(f,s.styles[f],u);return c.setCustomProperty("link",!0,u),u}}}),e.conversion.for("upcast").elementToAttribute({view:{name:"a",...s._createPattern()},model:{key:s.id}})})}_enableLinkOpen(){const t=this.editor,n=t.editing.view.document;this.listenTo(n,"click",(i,r)=>{if(!(g.isMac?r.domEvent.metaKey:r.domEvent.ctrlKey))return;let a=r.domTarget;if(a.tagName.toLowerCase()!="a"&&(a=a.closest("a")),!a)return;const c=a.getAttribute("href");c&&(i.stop(),r.preventDefault(),Em(c))},{context:"$capture"}),this.listenTo(n,"keydown",(i,r)=>{const a=t.commands.get("link").value;a&&r.keyCode===tt.enter&&r.altKey&&(i.stop(),Em(a))})}_enableSelectionAttributesFixer(){const e=this.editor.model,n=e.document.selection;this.listenTo(n,"change:attribute",(i,{attributeKeys:r})=>{!r.includes("linkHref")||n.hasAttribute("linkHref")||e.change(s=>{SM(s,TM(e.schema))})})}_enableClipboardIntegration(){const t=this.editor,e=t.model,n=this.editor.config.get("link.defaultProtocol");n&&this.listenTo(t.plugins.get("ClipboardPipeline"),"contentInsertion",(i,r)=>{e.change(s=>{const a=s.createRangeIn(r.content);for(const c of a.getItems())if(c.hasAttribute("linkHref")){const l=Fa(c.getAttribute("linkHref"),n);s.setAttribute("linkHref",l,c)}})})}}function SM(o,t){o.removeSelectionAttribute("linkHref");for(const e of t)o.removeSelectionAttribute(e)}function TM(o){return o.getDefinition("$text").allowAttributes.filter(e=>e.startsWith("link"))}var Mm=L(4874),Ha={injectType:"singletonStyleTag",attributes:{"data-cke":!0}};Ha.insert="head",Ha.singleton=!0,F()(Mm.Z,Ha),Mm.Z.locals;class IM extends Y{constructor(t,e){super(t),this.focusTracker=new Ht,this.keystrokes=new ie,this._focusables=new be;const n=t.t;this.urlInputView=this._createUrlInput(),this.saveButtonView=this._createButton(n("Save"),dt.check,"ck-button-save"),this.saveButtonView.type="submit",this.cancelButtonView=this._createButton(n("Cancel"),dt.cancel,"ck-button-cancel","cancel"),this._manualDecoratorSwitches=this._createManualDecoratorSwitches(e),this.children=this._createFormChildren(e.manualDecorators),this._focusCycler=new Te({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})}getDecoratorSwitchesState(){return Array.from(this._manualDecoratorSwitches).reduce((t,e)=>(t[e.name]=e.isOn,t),{})}render(){super.render(),h({view:this}),[this.urlInputView,...this._manualDecoratorSwitches,this.saveButtonView,this.cancelButtonView].forEach(e=>{this._focusables.add(e),this.focusTracker.add(e.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 Zo(this.locale,ki);return e.label=t("Link URL"),e}_createButton(t,e,n,i){const r=new ht(this.locale);return r.set({label:t,icon:e,tooltip:!0}),r.extendTemplate({attributes:{class:n}}),i&&r.delegate("execute").to(this,i),r}_createManualDecoratorSwitches(t){const e=this.createCollection();for(const n of t.manualDecorators){const i=new Ko(this.locale);i.set({name:n.id,label:n.label,withText:!0}),i.bind("isOn").toMany([n,t],"value",(r,s)=>s===void 0&&r===void 0?!!n.defaultValue:!!r),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 n=new Y;n.setTemplate({tag:"ul",children:this._manualDecoratorSwitches.map(i=>({tag:"li",children:[i],attributes:{class:["ck","ck-list__item"]}})),attributes:{class:["ck","ck-reset","ck-list"]}}),e.add(n)}return e.add(this.saveButtonView),e.add(this.cancelButtonView),e}}var Bm=L(7536),Ua={injectType:"singletonStyleTag",attributes:{"data-cke":!0}};Ua.insert="head",Ua.singleton=!0,F()(Bm.Z,Ua),Bm.Z.locals;const MM='';class BM extends Y{constructor(t){super(t),this.focusTracker=new Ht,this.keystrokes=new ie,this._focusables=new be;const e=t.t;this.previewButtonView=this._createPreviewButton(),this.unlinkButtonView=this._createButton(e("Unlink"),MM,"unlink"),this.editButtonView=this._createButton(e("Edit link"),dt.pencil,"edit"),this.set("href",void 0),this._focusCycler=new Te({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(e=>{this._focusables.add(e),this.focusTracker.add(e.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 ht(this.locale);return i.set({label:t,icon:e,tooltip:!0}),i.delegate("execute").to(this,n),i}_createPreviewButton(){const t=new ht(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",i=>i&&ym(i)),target:"_blank",rel:"noopener noreferrer"}}),t.bind("label").to(this,"href",i=>i||n("This link has no URL")),t.bind("isEnabled").to(this,"href",i=>!!i),t.template.tag="a",t.template.eventListeners={},t}}const NM='',ye="link-ui";class zM extends P{constructor(){super(...arguments),this.actionsView=null,this.formView=null}static get requires(){return[_i]}static get pluginName(){return"LinkUI"}init(){const t=this.editor;t.editing.view.addObserver(qE),this._balloon=t.plugins.get(_i),this._createToolbarLinkButton(),this._enableBalloonActivators(),t.conversion.for("editingDowncast").markerToHighlight({model:ye,view:{classes:["ck-fake-link-selection"]}}),t.conversion.for("editingDowncast").markerToElement({model:ye,view:{name:"span",classes:["ck-fake-link-selection","ck-fake-link-selection_collapsed"]}})}destroy(){super.destroy(),this.formView&&this.formView.destroy(),this.actionsView&&this.actionsView.destroy()}_createViews(){this.actionsView=this._createActionsView(),this.formView=this._createFormView(),this._enableUserBalloonInteractions()}_createActionsView(){const t=this.editor,e=new BM(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",(r,s)=>{this._hideUI(),s()}),e.keystrokes.set(Ra,(r,s)=>{this._addFormView(),s()}),e}_createFormView(){const t=this.editor,e=t.commands.get("link"),n=t.config.get("link.defaultProtocol"),i=new(x(IM))(t.locale,e);return i.urlInputView.fieldView.bind("value").to(e,"value"),i.urlInputView.bind("isEnabled").to(e,"isEnabled"),i.saveButtonView.bind("isEnabled").to(e),this.listenTo(i,"submit",()=>{const{value:r}=i.urlInputView.fieldView.element,s=Fa(r,n);t.execute("link",s,i.getDecoratorSwitchesState()),this._closeFormView()}),this.listenTo(i,"cancel",()=>{this._closeFormView()}),i.keystrokes.set("Esc",(r,s)=>{this._closeFormView(),s()}),i}_createToolbarLinkButton(){const t=this.editor,e=t.commands.get("link"),n=t.t;t.ui.componentFactory.add("link",i=>{const r=new ht(i);return r.isEnabled=!0,r.label=n("Link"),r.icon=NM,r.keystroke=Ra,r.tooltip=!0,r.isToggleable=!0,r.bind("isEnabled").to(e,"isEnabled"),r.bind("isOn").to(e,"value",s=>!!s),this.listenTo(r,"execute",()=>this._showUI(!0)),r})}_enableBalloonActivators(){const t=this.editor,e=t.editing.view.document;this.listenTo(e,"click",()=>{this._getSelectedLinkElement()&&this._showUI()}),t.keystrokes.set(Ra,(n,i)=>{i(),t.commands.get("link").isEnabled&&this._showUI(!0)})}_enableUserBalloonInteractions(){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())}),_({emitter:this.formView,activator:()=>this._isUIInPanel,contextElements:()=>[this._balloon.view.element],callback:()=>this._hideUI()})}_addActionsView(){this.actionsView||this._createViews(),!this._areActionsInPanel&&this._balloon.add({view:this.actionsView,position:this._getBalloonPositionData()})}_addFormView(){if(this.formView||this._createViews(),this._isFormInPanel)return;const e=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=e.value||""}_closeFormView(){const t=this.editor.commands.get("link");t.restoreManualDecoratorStates(),t.value!==void 0?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.formView||this._createViews(),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=s();const r=()=>{const a=this._getSelectedLinkElement(),c=s();n&&!a||!n&&c!==i?this._hideUI():this._isUIVisible&&this._balloon.updatePosition(this._getBalloonPositionData()),n=a,i=c};function s(){return e.selection.focus.getAncestors().reverse().find(a=>a.is("element"))}this.listenTo(t.ui,"update",r),this.listenTo(this._balloon,"change:visibleView",r)}get _isFormInPanel(){return!!this.formView&&this._balloon.hasView(this.formView)}get _areActionsInPanel(){return!!this.actionsView&&this._balloon.hasView(this.actionsView)}get _areActionsVisible(){return!!this.actionsView&&this._balloon.visibleView===this.actionsView}get _isUIInPanel(){return this._isFormInPanel||this._areActionsInPanel}get _isUIVisible(){const t=this._balloon.visibleView;return!!this.formView&&t==this.formView||this._areActionsVisible}_getBalloonPositionData(){const t=this.editor.editing.view,e=this.editor.model,n=t.document;let i;if(e.markers.has(ye)){const r=Array.from(this.editor.editing.mapper.markerNameToElements(ye)),s=t.createRange(t.createPositionBefore(r[0]),t.createPositionAfter(r[r.length-1]));i=t.domConverter.viewRangeToDom(s)}else i=()=>{const r=this._getSelectedLinkElement();return r?t.domConverter.mapViewToDom(r):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&&Mt(n))return qa(e.getFirstPosition());{const i=e.getFirstRange().getTrimmed(),r=qa(i.start),s=qa(i.end);return!r||r!=s?null:t.createRangeIn(r).getTrimmed().isEqual(i)?r:null}}_showFakeVisualSelection(){const t=this.editor.model;t.change(e=>{const n=t.document.selection.getFirstRange();if(t.markers.has(ye))e.updateMarker(ye,{range:n});else if(n.start.isAtEnd){const i=n.start.getLastMatchingPosition(({item:r})=>!t.schema.isContent(r),{boundaries:n});e.addMarker(ye,{usingOperation:!1,affectsData:!1,range:e.createRange(i,n.end)})}else e.addMarker(ye,{usingOperation:!1,affectsData:!1,range:n})})}_hideFakeVisualSelection(){const t=this.editor.model;t.markers.has(ye)&&t.change(e=>{e.removeMarker(ye)})}}function qa(o){return o.getAncestors().find(t=>kM(t))||null}const PM=4,Nm=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"),LM=2;class OM extends P{static get requires(){return[Be,Im]}static get pluginName(){return"AutoLink"}init(){const e=this.editor.model.document.selection;e.on("change:range",()=>{this.isEnabled=!e.anchor.parent.is("element","codeBlock")}),this._enableTypingHandling()}afterInit(){this._enableEnterHandling(),this._enableShiftEnterHandling(),this._enablePasteLinking()}_expandLinkRange(t,e){return e.textNode&&e.textNode.hasAttribute("linkHref")?Ei(e,"linkHref",e.textNode.getAttribute("linkHref"),t):null}_selectEntireLinks(t,e){const i=this.editor.model,r=i.document.selection,s=r.getFirstPosition(),a=r.getLastPosition();let c=e.getJoined(this._expandLinkRange(i,s)||e);c&&(c=c.getJoined(this._expandLinkRange(i,a)||e)),c&&(c.start.isBefore(s)||c.end.isAfter(a))&&t.setSelection(c)}_enablePasteLinking(){const t=this.editor,e=t.model,n=e.document.selection,i=t.plugins.get("ClipboardPipeline"),r=t.commands.get("link");i.on("inputTransformation",(s,a)=>{if(!this.isEnabled||!r.isEnabled||n.isCollapsed||n.rangeCount>1)return;const c=n.getFirstRange(),l=a.dataTransfer.getData("text/plain");if(!l)return;const d=l.match(Nm);d&&d[2]===l&&(e.change(u=>{this._selectEntireLinks(u,c),r.execute(l)}),s.stop())},{priority:"high"})}_enableTypingHandling(){const t=this.editor,e=new xg(t.model,n=>{if(!RM(n))return;const i=zm(n.substr(0,n.length-1));if(i)return{url:i}});e.on("matched:data",(n,i)=>{const{batch:r,range:s,url:a}=i;if(!r.isTyping)return;const c=s.end.getShiftedBy(-1),l=c.getShiftedBy(-a.length),d=t.model.createRange(l,c);this._applyAutoLink(a,d)}),e.bind("isEnabled").to(this)}_enableEnterHandling(){const t=this.editor,e=t.model,n=t.commands.get("enter");n&&n.on("execute",()=>{const i=e.document.selection.getFirstPosition();if(!i.parent.previousSibling)return;const r=e.createRangeIn(i.parent.previousSibling);this._checkAndApplyAutoLinkOnRange(r)})}_enableShiftEnterHandling(){const t=this.editor,e=t.model,n=t.commands.get("shiftEnter");n&&n.on("execute",()=>{const i=e.document.selection.getFirstPosition(),r=e.createRange(e.createPositionAt(i.parent,0),i.getShiftedBy(-1));this._checkAndApplyAutoLinkOnRange(r)})}_checkAndApplyAutoLinkOnRange(t){const e=this.editor.model,{text:n,range:i}=yg(t,e),r=zm(n);if(r){const s=e.createRange(i.end.getShiftedBy(-r.length),i.end);this._applyAutoLink(r,s)}}_applyAutoLink(t,e){const n=this.editor.model,i=this.editor.config.get("link.defaultProtocol"),r=Fa(t,i);!this.isEnabled||!jM(e,n)||!xm(r)||FM(e)||this._persistAutoLink(r,e)}_persistAutoLink(t,e){const n=this.editor.model,i=this.editor.plugins.get("Delete");n.enqueueChange(r=>{r.setAttribute("linkHref",t,e),n.enqueueChange(()=>{i.requestUndoOnBackspace()})})}}function RM(o){return o.length>PM&&o[o.length-1]===" "&&o[o.length-2]!==" "}function zm(o){const t=Nm.exec(o);return t?t[LM]:null}function jM(o,t){return t.schema.checkAttributeInSelection(t.createSelection(o),"linkHref")}function FM(o){const t=o.start.nodeAfter;return!!t&&t.hasAttribute("linkHref")}class VM extends P{static get requires(){return[Im,zM,OM]}static get pluginName(){return"Link"}}var Pm=L(4330),Wa={injectType:"singletonStyleTag",attributes:{"data-cke":!0}};Wa.insert="head",Wa.singleton=!0,F()(Pm.Z,Wa),Pm.Z.locals;var Lm=L(3190),Ga={injectType:"singletonStyleTag",attributes:{"data-cke":!0}};Ga.insert="head",Ga.singleton=!0,F()(Lm.Z,Ga),Lm.Z.locals;var Om=L(4784),$a={injectType:"singletonStyleTag",attributes:{"data-cke":!0}};$a.insert="head",$a.singleton=!0,F()(Om.Z,$a),Om.Z.locals;function HM(o){const t=o.createContainerElement("li");return t.getFillerOffset=ZM,t}function UM(o,t){const e=t.mapper,n=t.writer,i=o.getAttribute("listType")=="numbered"?"ol":"ul",r=HM(n),s=n.createContainerElement(i,null);return n.insert(n.createPositionAt(s,0),r),e.bindElements(o,r),r}function Rm(o,t,e,n){const i=t.parent,r=e.mapper,s=e.writer;let a=r.toViewPosition(n.createPositionBefore(o));const c=Fm(o.previousSibling,{sameIndent:!0,smallerIndent:!0,listIndent:o.getAttribute("listIndent")}),l=o.previousSibling;if(c&&c.getAttribute("listIndent")==o.getAttribute("listIndent")){const d=r.toViewElement(c);a=s.breakContainer(s.createPositionAfter(d))}else if(l&&l.name=="listItem"){a=r.toViewPosition(n.createPositionAt(l,"end"));const d=r.findMappedViewAncestor(a),u=qM(d);u?a=s.createPositionBefore(u):a=s.createPositionAt(d,"end")}else a=r.toViewPosition(n.createPositionBefore(o));if(a=jm(a),s.insert(a,i),l&&l.name=="listItem"){const d=r.toViewElement(l),f=s.createRange(s.createPositionAt(d,0),a).getWalker({ignoreElementEnd:!0});for(const p of f)if(p.item.is("element","li")){const w=s.breakContainer(s.createPositionBefore(p.item)),S=p.item.parent,B=s.createPositionAt(t,"end");ce(s,B.nodeBefore,B.nodeAfter),s.move(s.createRangeOn(S),B),f._position=w}}else{const d=i.nextSibling;if(d&&(d.is("element","ul")||d.is("element","ol"))){let u=null;for(const f of d.getChildren()){const p=r.toModelElement(f);if(p&&p.getAttribute("listIndent")>o.getAttribute("listIndent"))u=f;else break}u&&(s.breakContainer(s.createPositionAfter(u)),s.move(s.createRangeOn(u.parent),s.createPositionAt(t,"end")))}}ce(s,i,i.nextSibling),ce(s,i.previousSibling,i)}function ce(o,t,e){return!t||!e||t.name!="ul"&&t.name!="ol"||t.name!=e.name||t.getAttribute("class")!==e.getAttribute("class")?null:o.mergeContainers(o.createPositionAfter(t))}function jm(o){return o.getLastMatchingPosition(t=>t.item.is("uiElement"))}function Fm(o,t){const e=!!t.sameIndent,n=!!t.smallerIndent,i=t.listIndent;let r=o;for(;r&&r.name=="listItem";){const s=r.getAttribute("listIndent");if(e&&i==s||n&&i>s)return r;t.direction==="forward"?r=r.nextSibling:r=r.previousSibling}return null}function Vm(o,t,e,n){o.ui.componentFactory.add(t,i=>{const r=o.commands.get(t),s=new ht(i);return s.set({label:e,icon:n,tooltip:!0,isToggleable:!0}),s.bind("isOn","isEnabled").to(r,"value","isEnabled"),s.on("execute",()=>{o.execute(t),o.editing.view.focus()}),s})}function qM(o){for(const t of o.getChildren())if(t.name=="ul"||t.name=="ol")return t;return null}function Ka(o,t){const e=[],n=o.parent,i={ignoreElementEnd:!1,startPosition:o,shallow:!0,direction:t},r=n.getAttribute("listIndent"),s=[...new fe(i)].filter(a=>a.item.is("element")).map(a=>a.item);for(const a of s){if(!a.is("element","listItem")||a.getAttribute("listIndent")r)){if(a.getAttribute("listType")!==n.getAttribute("listType")||a.getAttribute("listStyle")!==n.getAttribute("listStyle")||a.getAttribute("listReversed")!==n.getAttribute("listReversed")||a.getAttribute("listStart")!==n.getAttribute("listStart"))break;t==="backward"?e.unshift(a):e.push(a)}}return e}function WM(o){let e=[...o.document.selection.getSelectedBlocks()].filter(n=>n.is("element","listItem")).map(n=>{const i=o.change(r=>r.createPositionAt(n,0));return[...Ka(i,"backward"),...Ka(i,"forward")]}).flat();return e=[...new Set(e)],e}const GM=["disc","circle","square"],$M=["decimal","decimal-leading-zero","lower-roman","upper-roman","lower-latin","upper-latin"];function KM(o){return GM.includes(o)?"bulleted":$M.includes(o)?"numbered":null}function ZM(){const o=!this.isEmpty&&(this.getChild(0).name=="ul"||this.getChild(0).name=="ol");return this.isEmpty||o?0:Fd.call(this)}const YM='',QM='';class JM extends P{static get pluginName(){return"ListUI"}init(){const t=this.editor.t;Vm(this.editor,"numberedList",t("Numbered List"),YM),Vm(this.editor,"bulletedList",t("Bulleted List"),QM)}}const XM=[{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:o,typeAttribute:t,listType:e}of XM);var Hm=L(9938),Za={injectType:"singletonStyleTag",attributes:{"data-cke":!0}};Za.insert="head",Za.singleton=!0,F()(Hm.Z,Za),Hm.Z.locals;var Um=L(2591),Ya={injectType:"singletonStyleTag",attributes:{"data-cke":!0}};Ya.insert="head",Ya.singleton=!0,F()(Um.Z,Ya),Um.Z.locals;class qm extends X{constructor(t,e){super(t),this._indentBy=e=="forward"?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(i=>{const r=n[n.length-1];let s=r.nextSibling;for(;s&&s.name=="listItem"&&s.getAttribute("listIndent")>r.getAttribute("listIndent");)n.push(s),s=s.nextSibling;this._indentBy<0&&(n=n.reverse());for(const a of n){const c=a.getAttribute("listIndent")+this._indentBy;c<0?i.rename(a,"paragraph"):i.setAttribute("listIndent",c,a)}this.fire("_executeCleanup",n)})}_checkEnabled(){const t=It(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}}class Wm extends X{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(s=>$m(s,e.schema)),r=t.forceValue!==void 0?!t.forceValue:this.value;e.change(s=>{if(r){let a=i[i.length-1].nextSibling,c=Number.POSITIVE_INFINITY,l=[];for(;a&&a.name=="listItem"&&a.getAttribute("listIndent")!==0;){const d=a.getAttribute("listIndent");d=e;)r>i.getAttribute("listIndent")&&(r=i.getAttribute("listIndent")),i.getAttribute("listIndent")==r&&o[t?"unshift":"push"](i),i=i[t?"previousSibling":"nextSibling"]}}function $m(o,t){return t.checkChild(o.parent,"listItem")&&!t.isObject(o)}class t4 extends P{static get pluginName(){return"ListUtils"}getListTypeFromListStyleType(t){return KM(t)}getSelectedListItems(t){return WM(t)}getSiblingNodes(t,e){return Ka(t,e)}}function Km(o){return(t,e,n)=>{const i=n.consumable;if(!i.test(e.item,"insert")||!i.test(e.item,"attribute:listType")||!i.test(e.item,"attribute:listIndent"))return;i.consume(e.item,"insert"),i.consume(e.item,"attribute:listType"),i.consume(e.item,"attribute:listIndent");const r=e.item,s=UM(r,n);Rm(r,s,n,o)}}function e4(o){return(t,e,n)=>{const s=n.mapper.toViewPosition(e.position).getLastMatchingPosition(p=>!p.item.is("element","li")).nodeAfter,a=n.writer;a.breakContainer(a.createPositionBefore(s)),a.breakContainer(a.createPositionAfter(s));const c=s.parent,l=c.previousSibling,d=a.createRangeOn(c),u=a.remove(d);l&&l.nextSibling&&ce(a,l,l.nextSibling);const f=n.mapper.toModelElement(s);Jm(f.getAttribute("listIndent")+1,e.position,d.start,s,n,o);for(const p of a.createRangeIn(u).getItems())n.mapper.unbindViewElement(p);t.stop()}}const n4=(o,t,e)=>{if(!e.consumable.test(t.item,o.name))return;const n=e.mapper.toViewElement(t.item),i=e.writer;i.breakContainer(i.createPositionBefore(n)),i.breakContainer(i.createPositionAfter(n));const r=n.parent,s=t.attributeNewValue=="numbered"?"ol":"ul";i.rename(s,r)},o4=(o,t,e)=>{e.consumable.consume(t.item,o.name);const i=e.mapper.toViewElement(t.item).parent,r=e.writer;ce(r,i,i.nextSibling),ce(r,i.previousSibling,i)};function i4(o){return(t,e,n)=>{if(!n.consumable.consume(e.item,"attribute:listIndent"))return;const i=n.mapper.toViewElement(e.item),r=n.writer;r.breakContainer(r.createPositionBefore(i)),r.breakContainer(r.createPositionAfter(i));const s=i.parent,a=s.previousSibling,c=r.createRangeOn(s);r.remove(c),a&&a.nextSibling&&ce(r,a,a.nextSibling),Jm(e.attributeOldValue+1,e.range.start,c.start,i,n,o),Rm(e.item,i,n,o);for(const l of e.item.getChildren())n.consumable.consume(l,"insert")}}const Zm=(o,t,e)=>{if(e.consumable.test(t.item,o.name)&&t.item.name!="listItem"){let n=e.mapper.toViewPosition(t.range.start);const i=e.writer,r=[];for(;(n.parent.name=="ul"||n.parent.name=="ol")&&(n=i.breakContainer(n),n.parent.name=="li");){const s=n,a=i.createPositionAt(n.parent,"end");if(!s.isEqual(a)){const c=i.remove(i.createRange(s,a));r.push(c)}n=i.createPositionAfter(n.parent)}if(r.length>0){for(let s=0;s0){const l=ce(i,a,a.nextSibling);l&&l.parent==a&&n.offset--}}ce(i,n.nodeBefore,n.nodeAfter)}}},r4=(o,t,e)=>{const n=e.mapper.toViewPosition(t.position),i=n.nodeBefore,r=n.nodeAfter;ce(e.writer,i,r)},s4=(o,t,e)=>{if(e.consumable.consume(t.viewItem,{name:!0})){const n=e.writer,i=n.createElement("listItem"),r=g4(t.viewItem);n.setAttribute("listIndent",r,i);const s=t.viewItem.parent&&t.viewItem.parent.name=="ol"?"numbered":"bulleted";if(n.setAttribute("listType",s,i),!e.safeInsert(i,t.modelCursor))return;const a=u4(i,t.viewItem.getChildren(),e);t.modelRange=n.createRange(t.modelCursor,a),e.updateConversionResult(i,t)}},Ym=(o,t,e)=>{if(e.consumable.test(t.viewItem,{name:!0})){const n=Array.from(t.viewItem.getChildren());for(const i of n)!(i.is("element","li")||Vn(i))&&i._remove()}},a4=(o,t,e)=>{if(e.consumable.test(t.viewItem,{name:!0})){if(t.viewItem.childCount===0)return;const n=[...t.viewItem.getChildren()];let i=!1;for(const r of n)i&&!Vn(r)&&r._remove(),Vn(r)&&(i=!0)}};function Qm(o){return(t,e)=>{if(e.isPhantom)return;const n=e.modelPosition.nodeBefore;if(n&&n.is("element","listItem")){const i=e.mapper.toViewElement(n),r=i.getAncestors().find(Vn),s=o.createPositionAt(i,0).getWalker();for(const a of s)if(a.type=="elementStart"&&a.item.is("element","li")){e.viewPosition=a.previousPosition;break}else if(a.type=="elementEnd"&&a.item==r){e.viewPosition=a.nextPosition;break}}}}function c4(o){return(t,e)=>{const n=e.viewPosition,i=n.parent,r=e.mapper;if(i.name=="ul"||i.name=="ol"){if(n.isAtEnd){const s=r.toModelElement(n.nodeBefore),a=r.getModelLength(n.nodeBefore);e.modelPosition=o.createPositionBefore(s).getShiftedBy(a)}else{const s=r.toModelElement(n.nodeAfter);e.modelPosition=o.createPositionBefore(s)}t.stop()}else if(i.name=="li"&&n.nodeBefore&&(n.nodeBefore.name=="ul"||n.nodeBefore.name=="ol")){const s=r.toModelElement(i);let a=1,c=n.nodeBefore;for(;c&&Vn(c);)a+=r.getModelLength(c),c=c.previousSibling;e.modelPosition=o.createPositionBefore(s).getShiftedBy(a),t.stop()}}}function l4(o,t){const e=o.document.differ.getChanges(),n=new Map;let i=!1;for(const c of e)if(c.type=="insert"&&c.name=="listItem")r(c.position);else if(c.type=="insert"&&c.name!="listItem"){if(c.name!="$text"){const d=c.position.nodeAfter;d.hasAttribute("listIndent")&&(t.removeAttribute("listIndent",d),i=!0),d.hasAttribute("listType")&&(t.removeAttribute("listType",d),i=!0),d.hasAttribute("listStyle")&&(t.removeAttribute("listStyle",d),i=!0),d.hasAttribute("listReversed")&&(t.removeAttribute("listReversed",d),i=!0),d.hasAttribute("listStart")&&(t.removeAttribute("listStart",d),i=!0);for(const u of Array.from(o.createRangeIn(d)).filter(f=>f.item.is("element","listItem")))r(u.previousPosition)}const l=c.position.getShiftedBy(c.length);r(l)}else c.type=="remove"&&c.name=="listItem"?r(c.position):(c.type=="attribute"&&c.attributeKey=="listIndent"||c.type=="attribute"&&c.attributeKey=="listType")&&r(c.range.start);for(const c of n.values())s(c),a(c);return i;function r(c){const l=c.nodeBefore;if(!l||!l.is("element","listItem")){const d=c.nodeAfter;d&&d.is("element","listItem")&&n.set(d,d)}else{let d=l;if(n.has(d))return;for(let u=d.previousSibling;u&&u.is("element","listItem");u=d.previousSibling)if(d=u,n.has(d))return;n.set(l,d)}}function s(c){let l=0,d=null;for(;c&&c.is("element","listItem");){const u=c.getAttribute("listIndent");if(u>l){let f;d===null?(d=u-l,f=l):(d>u&&(d=u),f=u-d),t.setAttribute("listIndent",f,c),i=!0}else d=null,l=c.getAttribute("listIndent")+1;c=c.nextSibling}}function a(c){let l=[],d=null;for(;c&&c.is("element","listItem");){const u=c.getAttribute("listIndent");if(d&&d.getAttribute("listIndent")>u&&(l=l.slice(0,u+1)),u!=0)if(l[u]){const f=l[u];c.getAttribute("listType")!=f&&(t.setAttribute("listType",f,c),i=!0)}else l[u]=c.getAttribute("listType");d=c,c=c.nextSibling}}}const d4=function(o,[t,e]){const n=this;let i=t.is("documentFragment")?t.getChild(0):t,r;if(e?r=n.createSelection(e):r=n.document.selection,i&&i.is("element","listItem")){const s=r.getFirstPosition();let a=null;if(s.parent.is("element","listItem")?a=s.parent:s.nodeBefore&&s.nodeBefore.is("element","listItem")&&(a=s.nodeBefore),a){const c=a.getAttribute("listIndent");if(c>0)for(;i&&i.is("element","listItem");)i._setAttribute("listIndent",i.getAttribute("listIndent")+c),i=i.nextSibling}}};function u4(o,t,e){const{writer:n,schema:i}=e;let r=n.createPositionAfter(o);for(const s of t)if(s.name=="ul"||s.name=="ol")r=e.convertItem(s,r).modelCursor;else{const a=e.convertItem(s,n.createPositionAt(o,"end")),c=a.modelRange.start.nodeAfter;c&&c.is("element")&&!i.checkChild(o,c.name)&&(a.modelCursor.parent.is("element","listItem")?o=a.modelCursor.parent:o=h4(a.modelCursor),r=n.createPositionAfter(o))}return r}function h4(o){const t=new fe({startPosition:o});let e;do e=t.next();while(!e.value.item.is("element","listItem"));return e.value.item}function Jm(o,t,e,n,i,r){const s=Fm(t.nodeBefore,{sameIndent:!0,smallerIndent:!0,listIndent:o}),a=i.mapper,c=i.writer,l=s?s.getAttribute("listIndent"):null;let d;if(!s)d=e;else if(l==o){const u=a.toViewElement(s).parent;d=c.createPositionAfter(u)}else{const u=r.createPositionAt(s,"end");d=a.toViewPosition(u)}d=jm(d);for(const u of[...n.getChildren()])Vn(u)&&(d=c.move(c.createRangeOn(u),d).end,ce(c,u,u.nextSibling),ce(c,u.previousSibling,u))}function Vn(o){return o.is("element","ol")||o.is("element","ul")}function g4(o){let t=0,e=o.parent;for(;e;){if(e.is("element","li"))t++;else{const n=e.previousSibling;n&&n.is("element","li")&&t++}e=e.parent}return t}class f4 extends P{static get pluginName(){return"ListEditing"}static get requires(){return[Si,Be,t4]}init(){const t=this.editor;t.model.schema.register("listItem",{inheritAllFrom:"$block",allowAttributes:["listType","listIndent"]});const e=t.data,n=t.editing;t.model.document.registerPostFixer(r=>l4(t.model,r)),n.mapper.registerViewToModelLength("li",Qa),e.mapper.registerViewToModelLength("li",Qa),n.mapper.on("modelToViewPosition",Qm(n.view)),n.mapper.on("viewToModelPosition",c4(t.model)),e.mapper.on("modelToViewPosition",Qm(n.view)),t.conversion.for("editingDowncast").add(r=>{r.on("insert",Zm,{priority:"high"}),r.on("insert:listItem",Km(t.model)),r.on("attribute:listType:listItem",n4,{priority:"high"}),r.on("attribute:listType:listItem",o4,{priority:"low"}),r.on("attribute:listIndent:listItem",i4(t.model)),r.on("remove:listItem",e4(t.model)),r.on("remove",r4,{priority:"low"})}),t.conversion.for("dataDowncast").add(r=>{r.on("insert",Zm,{priority:"high"}),r.on("insert:listItem",Km(t.model))}),t.conversion.for("upcast").add(r=>{r.on("element:ul",Ym,{priority:"high"}),r.on("element:ol",Ym,{priority:"high"}),r.on("element:li",a4,{priority:"high"}),r.on("element:li",s4)}),t.model.on("insertContent",d4,{priority:"high"}),t.commands.add("numberedList",new Wm(t,"numbered")),t.commands.add("bulletedList",new Wm(t,"bulleted")),t.commands.add("indentList",new qm(t,"forward")),t.commands.add("outdentList",new qm(t,"backward"));const i=n.view.document;this.listenTo(i,"enter",(r,s)=>{const a=this.editor.model.document,c=a.selection.getLastPosition().parent;a.selection.isCollapsed&&c.name=="listItem"&&c.isEmpty&&(this.editor.execute("outdentList"),s.preventDefault(),r.stop())},{context:"li"}),this.listenTo(i,"delete",(r,s)=>{if(s.direction!=="backward")return;const a=this.editor.model.document.selection;if(!a.isCollapsed)return;const c=a.getFirstPosition();if(!c.isAtStart)return;const l=c.parent;l.name!=="listItem"||l.previousSibling&&l.previousSibling.name==="listItem"||(this.editor.execute("outdentList"),s.preventDefault(),r.stop())},{context:"li"}),this.listenTo(t.editing.view.document,"tab",(r,s)=>{const a=s.shiftKey?"outdentList":"indentList";this.editor.commands.get(a).isEnabled&&(t.execute(a),s.stopPropagation(),s.preventDefault(),r.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 Qa(o){let t=1;for(const e of o.getChildren())if(e.name=="ul"||e.name=="ol")for(const n of e.getChildren())t+=Qa(n);return t}class m4 extends P{static get requires(){return[f4,JM]}static get pluginName(){return"List"}}eo("Ctrl+Enter");var Xm=L(9292),Ja={injectType:"singletonStyleTag",attributes:{"data-cke":!0}};Ja.insert="head",Ja.singleton=!0,F()(Xm.Z,Ja),Xm.Z.locals,eo("Ctrl+Enter");function tp(o,t){const e=(n,i,r)=>{if(!r.consumable.consume(i.item,n.name))return;const s=i.attributeNewValue,a=r.writer,c=r.mapper.toViewElement(i.item),l=[...c.getChildren()].find(u=>u.getCustomProperty("media-content"));a.remove(l);const d=o.getMediaViewElement(a,s,t);a.insert(a.createPositionAt(c,0),d)};return n=>{n.on("attribute:url:media",e)}}function p4(o,t,e){return t.setCustomProperty("media",!0,o),la(o,t,{label:e})}function ep(o,t,e,n){return o.createContainerElement("figure",{class:"media"},[t.getMediaViewElement(o,e,n),o.createSlot()])}function np(o){const t=o.getSelectedElement();return t&&t.is("element","media")?t:null}function op(o,t,e,n){o.change(i=>{const r=i.createElement("media",{url:t});o.insertObject(r,e,null,{setSelection:"on",findOptimalPosition:n?"auto":void 0})})}class k4 extends X{refresh(){const t=this.editor.model,e=t.document.selection,n=np(e);this.value=n?n.getAttribute("url"):void 0,this.isEnabled=w4(e)||b4(e,t)}execute(t){const e=this.editor.model,n=e.document.selection,i=np(n);i?e.change(r=>{r.setAttribute("url",t,i)}):op(e,t,n,!0)}}function b4(o,t){let n=Kg(o,t).start.parent;return n.isEmpty&&!t.schema.isLimit(n)&&(n=n.parent),t.schema.checkChild(n,"media")}function w4(o){const t=o.getSelectedElement();return!!t&&t.name==="media"}const A4='',C4="0 0 64 42";class _4{constructor(t,e){const n=e.providers,i=e.extraProviders||[],r=new Set(e.removeProviders),s=n.concat(i).filter(a=>{const c=a.name;return c?!r.has(c):(at("media-embed-no-provider-name",{provider:a}),!1)});this.locale=t,this.providerDefinitions=s}hasMedia(t){return!!this._getMedia(t)}getMediaViewElement(t,e,n){return this._getMedia(e).getViewElement(t,n)}_getMedia(t){if(!t)return new ip(this.locale);t=t.trim();for(const e of this.providerDefinitions){const n=e.html,i=Tt(e.url);for(const r of i){const s=this._getUrlMatches(t,r);if(s)return new ip(this.locale,t,s,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)?n:null}}class ip{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 r=this._getPreviewHtml(e);i=t.createRawElement("div",n,(s,a)=>{a.setContentOf(s,r)})}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 Se,e=this._locale.t;return t.content=A4,t.viewBox=C4,new re({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 rp=L(1922),Xa={injectType:"singletonStyleTag",attributes:{"data-cke":!0}};Xa.insert="head",Xa.singleton=!0,F()(rp.Z,Xa),rp.Z.locals;class Ri extends P{static get pluginName(){return"MediaEmbedEditing"}constructor(t){super(t),t.config.define("mediaEmbed",{elementName:"oembed",providers:[{name:"dailymotion",url:[/^dailymotion\.com\/video\/(\w+)/,/^dai.ly\/(\w+)/],html:e=>`
`},{name:"spotify",url:[/^open\.spotify\.com\/(artist\/\w+)/,/^open\.spotify\.com\/(album\/\w+)/,/^open\.spotify\.com\/(track\/\w+)/],html:e=>`
`},{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:e=>{const n=e[1],i=e[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:e=>`
`},{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 _4(t.locale,t.config.get("mediaEmbed"))}init(){const t=this.editor,e=t.model.schema,n=t.t,i=t.conversion,r=t.config.get("mediaEmbed.previewsInData"),s=t.config.get("mediaEmbed.elementName"),a=this.registry;t.commands.add("mediaEmbed",new k4(t)),e.register("media",{inheritAllFrom:"$blockObject",allowAttributes:["url"]}),i.for("dataDowncast").elementToStructure({model:"media",view:(c,{writer:l})=>{const d=c.getAttribute("url");return ep(l,a,d,{elementName:s,renderMediaPreview:!!d&&r})}}),i.for("dataDowncast").add(tp(a,{elementName:s,renderMediaPreview:r})),i.for("editingDowncast").elementToStructure({model:"media",view:(c,{writer:l})=>{const d=c.getAttribute("url"),u=ep(l,a,d,{elementName:s,renderForEditingView:!0});return p4(u,l,n("media widget"))}}),i.for("editingDowncast").add(tp(a,{elementName:s,renderForEditingView:!0})),i.for("upcast").elementToElement({view:c=>["oembed",s].includes(c.name)&&c.getAttribute("url")?{name:!0}:null,model:(c,{writer:l})=>{const d=c.getAttribute("url");return a.hasMedia(d)?l.createElement("media",{url:d}):null}}).elementToElement({view:{name:"div",attributes:{"data-oembed-url":!0}},model:(c,{writer:l})=>{const d=c.getAttribute("data-oembed-url");return a.hasMedia(d)?l.createElement("media",{url:d}):null}}).add(c=>{const l=(d,u,f)=>{if(!f.consumable.consume(u.viewItem,{name:!0,classes:"media"}))return;const{modelRange:p,modelCursor:w}=f.convertChildren(u.viewItem,u.modelCursor);u.modelRange=p,u.modelCursor=w,It(p.getItems())||f.consumable.revert(u.viewItem,{name:!0,classes:"media"})};c.on("element:figure",l)})}}const v4=/^(?:http(s)?:\/\/)?[\w-]+\.[\w-.~:/?#[\]@!$&'()*+,;=%]+$/;class y4 extends P{static get requires(){return[gf,Be,pa]}static get pluginName(){return"AutoMediaEmbed"}constructor(t){super(t),this._timeoutId=null,this._positionToInsert=null}init(){const t=this.editor,e=t.model.document,n=t.plugins.get("ClipboardPipeline");this.listenTo(n,"inputTransformation",()=>{const r=e.selection.getFirstRange(),s=Lt.fromPosition(r.start);s.stickiness="toPrevious";const a=Lt.fromPosition(r.end);a.stickiness="toNext",e.once("change:data",()=>{this._embedMediaBetweenPositions(s,a),s.detach(),a.detach()},{priority:"high"})}),t.commands.get("undo").on("execute",()=>{this._timeoutId&&(U.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(Ri).registry,r=new Xt(t,e),s=r.getWalker({ignoreElementEnd:!0});let a="";for(const l of s)l.item.is("$textProxy")&&(a+=l.item.data);if(a=a.trim(),!a.match(v4)){r.detach();return}if(!i.hasMedia(a)){r.detach();return}if(!n.commands.get("mediaEmbed").isEnabled){r.detach();return}this._positionToInsert=Lt.fromPosition(t),this._timeoutId=U.window.setTimeout(()=>{n.model.change(l=>{this._timeoutId=null,l.remove(r),r.detach();let d=null;this._positionToInsert.root.rootName!=="$graveyard"&&(d=this._positionToInsert),op(n.model,a,d,!1),this._positionToInsert.detach(),this._positionToInsert=null}),n.plugins.get(Be).requestUndoOnBackspace()},100)}}var sp=L(7138),tc={injectType:"singletonStyleTag",attributes:{"data-cke":!0}};tc.insert="head",tc.singleton=!0,F()(sp.Z,tc),sp.Z.locals;class x4 extends Y{constructor(t,e){super(e);const n=e.t;this.focusTracker=new Ht,this.keystrokes=new ie,this.set("mediaURLInputValue",""),this.urlInputView=this._createUrlInput(),this.saveButtonView=this._createButton(n("Save"),dt.check,"ck-button-save"),this.saveButtonView.type="submit",this.saveButtonView.bind("isEnabled").to(this,"mediaURLInputValue",i=>!!i),this.cancelButtonView=this._createButton(n("Cancel"),dt.cancel,"ck-button-cancel","cancel"),this._focusables=new be,this._focusCycler=new Te({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]})}render(){super.render(),h({view:this}),[this.urlInputView,this.saveButtonView,this.cancelButtonView].forEach(n=>{this._focusables.add(n),this.focusTracker.add(n.element)}),this.keystrokes.listenTo(this.element);const e=n=>n.stopPropagation();this.keystrokes.set("arrowright",e),this.keystrokes.set("arrowleft",e),this.keystrokes.set("arrowup",e),this.keystrokes.set("arrowdown",e)}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 Zo(this.locale,ki),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 r=new ht(this.locale);return r.set({label:t,icon:e,tooltip:!0}),r.extendTemplate({attributes:{class:n}}),i&&r.delegate("execute").to(this,i),r}}const E4='';class D4 extends P{static get requires(){return[Ri]}static get pluginName(){return"MediaEmbedUI"}init(){const t=this.editor,e=t.commands.get("mediaEmbed");t.ui.componentFactory.add("mediaEmbed",n=>{const i=_e(n);return this._setUpDropdown(i,e),i})}_setUpDropdown(t,e){const n=this.editor,i=n.t,r=t.buttonView,s=n.plugins.get(Ri).registry;t.once("change:isOpen",()=>{const a=new(x(x4))(S4(n.t,s),n.locale);t.panelView.children.add(a),r.on("open",()=>{a.disableCssTransitions(),a.url=e.value||"",a.urlInputView.fieldView.select(),a.enableCssTransitions()},{priority:"low"}),t.on("submit",()=>{a.isValid()&&(n.execute("mediaEmbed",a.url),n.editing.view.focus())}),t.on("change:isOpen",()=>a.resetFormStatus()),t.on("cancel",()=>{n.editing.view.focus()}),a.delegate("submit","cancel").to(t),a.urlInputView.fieldView.bind("value").to(e,"value"),a.urlInputView.bind("isEnabled").to(e,"isEnabled")}),t.bind("isEnabled").to(e),r.set({label:i("Insert media"),icon:E4,tooltip:!0})}}function S4(o,t){return[e=>{if(!e.url.length)return o("The URL must not be empty.")},e=>{if(!t.hasMedia(e.url))return o("This media URL is not supported.")}]}var ap=L(8705),ec={injectType:"singletonStyleTag",attributes:{"data-cke":!0}};ec.insert="head",ec.singleton=!0,F()(ap.Z,ec),ap.Z.locals;class T4 extends P{static get requires(){return[Ri,D4,y4,So]}static get pluginName(){return"MediaEmbed"}}function I4(o,t){if(!o.childCount)return;const e=new He(o.document),n=B4(o,e);if(!n.length)return;let i=null,r=1;n.forEach((s,a)=>{const c=F4(n[a-1],s),l=c?null:n[a-1],d=H4(l,s);if(c&&(i=null,r=1),!i||d!==0){const f=N4(s,t);if(!i)i=cp(f,s.element,e);else if(s.indent>r){const p=i.getChild(i.childCount-1),w=p.getChild(p.childCount-1);i=cp(f,w,e),r+=1}else if(s.indent1&&e.setAttribute("start",o.startIndex,i),i}function O4(o,t){return j4(o,t),t.removeStyle("text-indent",o),t.rename("li",o)}function R4(o){const t={},e=o.getStyle("mso-list");if(e){const n=e.match(/(^|\s{1,100})l(\d+)/i),i=e.match(/\s{0,100}lfo(\d+)/i),r=e.match(/\s{0,100}level(\d+)/i);n&&i&&r&&(t.id=n[2],t.order=i[1],t.indent=parseInt(r[1]))}return t}function j4(o,t){const e=new de({name:"span",styles:{"mso-list":"Ignore"}}),n=t.createRangeIn(o);for(const i of n)i.type==="elementStart"&&e.match(i.item)&&t.remove(i.item)}function F4(o,t){if(!o)return!0;if(o.id!==t.id)return t.indent-o.indent!==1;const e=t.element.previousSibling;return e?!V4(e):!0}function V4(o){return o.is("element","ol")||o.is("element","ul")}function H4(o,t){return o?t.indent-o.indent:t.indent-1}function U4(o,t){const e=o.getAncestors({parentFirst:!0});let n=null,i=0;for(const r of e)if((r.is("element","ul")||r.is("element","ol"))&&i++,i===t){n=r;break}return n}function q4(o,t){if(!o.childCount)return;const e=new He(o.document),n=G4(o,e);$4(n,o,e),Z4(n,o,e),K4(o,e);const i=Y4(o,e);i.length&&J4(i,Q4(t),e)}function W4(o){return btoa(o.match(/\w{2}/g).map(t=>String.fromCharCode(parseInt(t,16))).join(""))}function G4(o,t){const e=t.createRangeIn(o),n=new de({name:/v:(.+)/}),i=[];for(const r of e){if(r.type!="elementStart")continue;const s=r.item,a=s.previousSibling,c=a&&a.is("element")?a.name:null;n.match(s)&&s.getAttribute("o:gfxdata")&&c!=="v:shapetype"&&i.push(r.item.getAttribute("id"))}return i}function $4(o,t,e){const n=e.createRangeIn(t),i=new de({name:"img"}),r=[];for(const s of n)if(s.item.is("element")&&i.match(s.item)){const a=s.item,c=a.getAttribute("v:shapes")?a.getAttribute("v:shapes").split(" "):[];c.length&&c.every(l=>o.indexOf(l)>-1)?r.push(a):a.getAttribute("src")||r.push(a)}for(const s of r)e.remove(s)}function K4(o,t){const e=t.createRangeIn(o),n=new de({name:/v:(.+)/}),i=[];for(const r of e)r.type=="elementStart"&&n.match(r.item)&&i.push(r.item);for(const r of i)t.remove(r)}function Z4(o,t,e){const n=e.createRangeIn(t),i=[];for(const a of n)if(a.type=="elementStart"&&a.item.is("element","v:shape")){const c=a.item.getAttribute("id");if(o.includes(c))continue;r(a.item.parent.getChildren(),c)||i.push(a.item)}for(const a of i){const c={src:s(a)};a.hasAttribute("alt")&&(c.alt=a.getAttribute("alt"));const l=e.createElement("img",c);e.insertChild(a.index+1,l,a.parent)}function r(a,c){for(const l of a)if(l.is("element")&&(l.name=="img"&&l.getAttribute("v:shapes")==c||r(l.getChildren(),c)))return!0;return!1}function s(a){for(const c of a.getChildren())if(c.is("element")&&c.getAttribute("src"))return c.getAttribute("src")}}function Y4(o,t){const e=t.createRangeIn(o),n=new de({name:"img"}),i=[];for(const r of e)r.item.is("element")&&n.match(r.item)&&r.item.getAttribute("src").startsWith("file://")&&i.push(r.item);return i}function Q4(o){if(!o)return[];const t=/{\\pict[\s\S]+?\\bliptag-?\d+(\\blipupi-?\d+)?({\\\*\\blipuid\s?[\da-fA-F]+)?[\s}]*?/,e=new RegExp("(?:("+t.source+"))([\\da-fA-F\\s]+)\\}","g"),n=o.match(e),i=[];if(n)for(const r of n){let s=!1;r.includes("\\pngblip")?s="image/png":r.includes("\\jpegblip")&&(s="image/jpeg"),s&&i.push({hex:r.replace(t,"").replace(/[^\da-fA-F]/g,""),type:s})}return i}function J4(o,t,e){if(o.length===t.length)for(let n=0;n/i,eB=/xmlns:o="urn:schemas-microsoft-com/i;class nB{constructor(t){this.document=t}isActive(t){return tB.test(t)||eB.test(t)}execute(t){const{body:e,stylesString:n}=t._parsedData;I4(e,n),q4(e,t.dataTransfer.getData("text/rtf")),X4(e),t.content=e}}function oB(o,t){for(const e of o.getChildren())if(e.is("element","b")&&e.getStyle("font-weight")==="normal"){const n=o.getChildIndex(e);t.remove(e),t.insertChild(n,e.getChildren(),o)}}function iB(o,t){const e=new ni(t.document.stylesProcessor),n=new ri(e,{renderingMode:"data"}),i=n.blockElements,r=n.inlineObjectElements,s=[];for(const a of t.createRangeIn(o)){const c=a.item;if(c.is("element","br")){const l=lp(c,"forward",t,{blockElements:i,inlineObjectElements:r}),d=lp(c,"backward",t,{blockElements:i,inlineObjectElements:r}),u=dp(l,i);(dp(d,i)||u)&&s.push(c)}}for(const a of s)a.hasClass("Apple-interchange-newline")?t.remove(a):t.replace(a,t.createElement("p"))}function lp(o,t,e,{blockElements:n,inlineObjectElements:i}){let r=e.createPositionAt(o,t=="forward"?"after":"before");return r=r.getLastMatchingPosition(({item:s})=>s.is("element")&&!n.includes(s.name)&&!i.includes(s.name),{direction:t}),t=="forward"?r.nodeAfter:r.nodeBefore}function dp(o,t){return!!o&&o.is("element")&&t.includes(o.name)}const rB=/id=("|')docs-internal-guid-[-0-9a-f]+("|')/i;class sB{constructor(t){this.document=t}isActive(t){return rB.test(t)}execute(t){const e=new He(this.document),{body:n}=t._parsedData;oB(n,e),M4(n,e),iB(n,e),t.content=n}}function aB(o,t){for(const e of o.getChildren())e.is("element","table")&&e.hasAttribute("xmlns")&&t.removeAttribute("xmlns",e)}function cB(o,t){for(const e of o.getChildren())if(e.is("element","google-sheets-html-origin")){const n=o.getChildIndex(e);t.remove(e),t.insertChild(n,e.getChildren(),o)}}function lB(o,t){for(const e of o.getChildren())e.is("element","table")&&e.getStyle("width")==="0px"&&t.removeStyle("width",e)}function dB(o,t){for(const e of Array.from(o.getChildren()))e.is("element","style")&&t.remove(e)}const uB=/[^\S\r\n]*?)[\r\n]+([^\S\r\n]*<\/span>)/g,"$1$2").replace(/<\/span>/g,"").replace(/()[\r\n]+(<\/span>)/g,"$1 $2").replace(/ <\//g," <\/o:p>/g," ").replace(/( |\u00A0)<\/o:p>/g,"").replace(/>([^\S\r\n]*[\r\n]\s*)<")}function fB(o){o.querySelectorAll("span[style*=spacerun]").forEach(t=>{const e=t,n=e.innerText.length||0;e.innerText=Array(n+1).join("  ").substr(0,n)})}function up(o){return o.replace(/(\s+)<\/span>/g,(t,e)=>e.length===1?" ":Array(e.length+1).join("  ").substr(0,e.length))}function mB(o,t){const e=new DOMParser;o=o.replace(//g,"")}const Hg=["figcaption","li"],Ug=["ol","ul"];function qg(o){if(o.is("$text")||o.is("$textProxy"))return o.data;if(o.is("element","img")&&o.hasAttribute("alt"))return o.getAttribute("alt");if(o.is("element","br"))return` +`;let t="",e=null;for(const n of o.getChildren())t+=aS(n,e)+qg(n),e=n;return t}function aS(o,t){return t?o.is("element","li")&&!o.isEmpty&&o.getChild(0).is("containerElement")||Ug.includes(o.name)&&Ug.includes(t.name)?` + +`:!o.is("containerElement")&&!t.is("containerElement")?"":Hg.includes(o.name)||Hg.includes(t.name)?` +`:` + +`:""}class ve extends P{static get pluginName(){return"ClipboardPipeline"}init(){this.editor.editing.view.addObserver(Do),this._setupPasteDrop(),this._setupCopyCut()}_fireOutputTransformationEvent(t,e,n){const i=this.editor.model.getSelectedContent(e);this.fire("outputTransformation",{dataTransfer:t,content:i,method:n})}_setupPasteDrop(){const t=this.editor,e=t.model,n=t.editing.view,i=n.document;this.listenTo(i,"clipboardInput",(r,s)=>{s.method=="paste"&&!t.model.canEditAt(t.model.document.selection)&&r.stop()},{priority:"highest"}),this.listenTo(i,"clipboardInput",(r,s)=>{const a=s.dataTransfer;let c;if(s.content)c=s.content;else{let d="";a.getData("text/html")?d=sS(a.getData("text/html")):a.getData("text/plain")&&(d=rS(a.getData("text/plain"))),c=this.editor.data.htmlProcessor.toView(d)}const l=new Pt(this,"inputTransformation");this.fire(l,{content:c,dataTransfer:a,targetRanges:s.targetRanges,method:s.method}),l.stop.called&&r.stop(),n.scrollToTheSelection()},{priority:"low"}),this.listenTo(this,"inputTransformation",(r,s)=>{if(s.content.isEmpty)return;const c=this.editor.data.toModel(s.content,"$clipboardHolder");c.childCount!=0&&(r.stop(),e.change(()=>{this.fire("contentInsertion",{content:c,method:s.method,dataTransfer:s.dataTransfer,targetRanges:s.targetRanges})}))},{priority:"low"}),this.listenTo(this,"contentInsertion",(r,s)=>{s.resultRange=e.insertContent(s.content)},{priority:"low"})}_setupCopyCut(){const t=this.editor,e=t.model.document,i=t.editing.view.document,r=(s,a)=>{const c=a.dataTransfer;a.preventDefault(),this._fireOutputTransformationEvent(c,e.selection,s.name)};this.listenTo(i,"copy",r,{priority:"low"}),this.listenTo(i,"cut",(s,a)=>{t.model.canEditAt(t.model.document.selection)?r(s,a):a.preventDefault()},{priority:"low"}),this.listenTo(this,"outputTransformation",(s,a)=>{const c=t.data.toView(a.content);i.fire("clipboardOutput",{dataTransfer:a.dataTransfer,content:c,method:a.method})},{priority:"low"}),this.listenTo(i,"clipboardOutput",(s,a)=>{a.content.isEmpty||(a.dataTransfer.setData("text/html",this.editor.data.htmlProcessor.toData(a.content)),a.dataTransfer.setData("text/plain",qg(a.content))),a.method=="cut"&&t.model.deleteContent(e.selection)},{priority:"low"})}}class cS extends ct(){constructor(){super(...arguments),this._stack=[]}add(t,e){const n=this._stack,i=n[0];this._insertDescriptor(t);const r=n[0];i!==r&&!ca(i,r)&&this.fire("change:top",{oldDescriptor:i,newDescriptor:r,writer:e})}remove(t,e){const n=this._stack,i=n[0];this._removeDescriptor(t);const r=n[0];i!==r&&!ca(i,r)&&this.fire("change:top",{oldDescriptor:i,newDescriptor:r,writer:e})}_insertDescriptor(t){const e=this._stack,n=e.findIndex(r=>r.id===t.id);if(ca(t,e[n]))return;n>-1&&e.splice(n,1);let i=0;for(;e[i]&&lS(e[i],t);)i++;e.splice(i,0,t)}_removeDescriptor(t){const e=this._stack,n=e.findIndex(i=>i.id===t);n>-1&&e.splice(n,1)}}function ca(o,t){return o&&t&&o.priority==t.priority&&Ii(o.classes)==Ii(t.classes)}function lS(o,t){return o.priority>t.priority?!0:o.priorityIi(t.classes)}function Ii(o){return Array.isArray(o)?o.sort().join(","):o}const dS='',uS="ck-widget",Wg="ck-widget_selected";function Mt(o){return o.is("element")?!!o.getCustomProperty("widget"):!1}function la(o,t,e={}){if(!o.is("containerElement"))throw new b("widget-to-widget-wrong-element-type",null,{element:o});return t.setAttribute("contenteditable","false",o),t.addClass(uS,o),t.setCustomProperty("widget",!0,o),o.getFillerOffset=pS,t.setCustomProperty("widgetLabel",[],o),e.label&&fS(o,e.label),e.hasSelectionHandle&&kS(o,t),Gg(o,t),o}function hS(o,t,e){if(t.classes&&e.addClass(Tt(t.classes),o),t.attributes)for(const n in t.attributes)e.setAttribute(n,t.attributes[n],o)}function gS(o,t,e){if(t.classes&&e.removeClass(Tt(t.classes),o),t.attributes)for(const n in t.attributes)e.removeAttribute(n,o)}function Gg(o,t,e=hS,n=gS){const i=new cS;i.on("change:top",(a,c)=>{c.oldDescriptor&&n(o,c.oldDescriptor,c.writer),c.newDescriptor&&e(o,c.newDescriptor,c.writer)});const r=(a,c,l)=>i.add(c,l),s=(a,c,l)=>i.remove(c,l);t.setCustomProperty("addHighlight",r,o),t.setCustomProperty("removeHighlight",s,o)}function fS(o,t){o.getCustomProperty("widgetLabel").push(t)}function mS(o){return o.getCustomProperty("widgetLabel").reduce((e,n)=>typeof n=="function"?e?e+". "+n():n():e?e+". "+n:n,"")}function $g(o,t,e={}){return t.addClass(["ck-editor__editable","ck-editor__nested-editable"],o),t.setAttribute("role","textbox",o),e.label&&t.setAttribute("aria-label",e.label,o),t.setAttribute("contenteditable",o.isReadOnly?"false":"true",o),o.on("change:isReadOnly",(n,i,r)=>{t.setAttribute("contenteditable",r?"false":"true",o)}),o.on("change:isFocused",(n,i,r)=>{r?t.addClass("ck-editor__nested-editable_focused",o):t.removeClass("ck-editor__nested-editable_focused",o)}),Gg(o,t),o}function Kg(o,t){const e=o.getSelectedElement();if(e){const n=We(o);if(n)return t.createRange(t.createPositionAt(e,n))}return bh(o,t)}function pS(){return null}function kS(o,t){const e=t.createUIElement("div",{class:"ck ck-widget__selection-handle"},function(n){const i=this.toDomElement(n),r=new Se;return r.set("content",dS),r.render(),i.appendChild(r.element),i});t.insert(t.createPositionAt(o,0),e),t.addClass(["ck-widget_with-selection-handle"],o)}const ze="widget-type-around";function dn(o,t,e){return!!o&&Mt(o)&&!e.isInline(t)}function bS(o){return o.closest(".ck-widget__type-around__button")}function wS(o){return o.classList.contains("ck-widget__type-around__button_before")?"before":"after"}function AS(o,t){const e=o.closest(".ck-widget");return t.mapDomToView(e)}function We(o){return o.getAttribute(ze)}const CS='';var Zg=L(2347),da={injectType:"singletonStyleTag",attributes:{"data-cke":!0}};da.insert="head",da.singleton=!0,F()(Zg.Z,da),Zg.Z.locals;const Yg=["before","after"],_S=new DOMParser().parseFromString(CS,"image/svg+xml").firstChild,Qg="ck-widget__type-around_disabled";class vS extends P{constructor(){super(...arguments),this._currentFakeCaretModelElement=null}static get pluginName(){return"WidgetTypeAround"}static get requires(){return[Si,Be]}init(){const t=this.editor,e=t.editing.view;this.on("change:isEnabled",(n,i,r)=>{e.change(s=>{for(const a of e.document.roots)r?s.removeClass(Qg,a):s.addClass(Qg,a)}),r||t.model.change(s=>{s.removeSelectionAttribute(ze)})}),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,r=n.model.schema.getAttributesWithProperty(t,"copyOnReplace",!0);n.execute("insertParagraph",{position:n.model.createPositionAt(t,e),attributes:r}),i.focus(),i.scrollToTheSelection()}_listenToIfEnabled(t,e,n,i){this.listenTo(t,e,(...r)=>{this.isEnabled&&n(...r)},i)}_insertParagraphAccordingToFakeCaretPosition(){const n=this.editor.model.document.selection,i=We(n);if(!i)return!1;const r=n.getSelectedElement();return this._insertParagraph(r,i),!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",(r,s,a)=>{const c=a.mapper.toViewElement(s.item);c&&dn(c,s.item,e)&&(yS(a.writer,i,c),c.getCustomProperty("widgetLabel").push(()=>this.isEnabled?n("Press Enter to type after or press Shift + Enter to type before the widget"):""))},{priority:"low"})}_enableTypeAroundFakeCaretActivationUsingKeyboardArrows(){const t=this.editor,e=t.model,n=e.document.selection,i=e.schema,r=t.editing.view;this._listenToIfEnabled(r.document,"arrowKey",(a,c)=>{this._handleArrowKeyPress(a,c)},{context:[Mt,"$text"],priority:"high"}),this._listenToIfEnabled(n,"change:range",(a,c)=>{c.directChange&&t.model.change(l=>{l.removeSelectionAttribute(ze)})}),this._listenToIfEnabled(e.document,"change:data",()=>{const a=n.getSelectedElement();if(a){const c=t.editing.mapper.toViewElement(a);if(dn(c,a,i))return}t.model.change(c=>{c.removeSelectionAttribute(ze)})}),this._listenToIfEnabled(t.editing.downcastDispatcher,"selection",(a,c,l)=>{const d=l.writer;if(this._currentFakeCaretModelElement){const w=l.mapper.toViewElement(this._currentFakeCaretModelElement);w&&(d.removeClass(Yg.map(s),w),this._currentFakeCaretModelElement=null)}const u=c.selection.getSelectedElement();if(!u)return;const f=l.mapper.toViewElement(u);if(!dn(f,u,i))return;const p=We(c.selection);p&&(d.addClass(s(p),f),this._currentFakeCaretModelElement=u)}),this._listenToIfEnabled(t.ui.focusTracker,"change:isFocused",(a,c,l)=>{l||t.model.change(d=>{d.removeSelectionAttribute(ze)})});function s(a){return`ck-widget_type-around_show-fake-caret_${a}`}}_handleArrowKeyPress(t,e){const n=this.editor,i=n.model,r=i.document.selection,s=i.schema,a=n.editing.view,c=e.keyCode,l=o0(c,n.locale.contentLanguageDirection),d=a.document.selection.getSelectedElement(),u=n.editing.mapper.toModelElement(d);let f;dn(d,u,s)?f=this._handleArrowKeyPressOnSelectedWidget(l):r.isCollapsed?f=this._handleArrowKeyPressWhenSelectionNextToAWidget(l):e.shiftKey||(f=this._handleArrowKeyPressWhenNonCollapsedSelection(l)),f&&(e.preventDefault(),t.stop())}_handleArrowKeyPressOnSelectedWidget(t){const n=this.editor.model,i=n.document.selection,r=We(i);return n.change(s=>{if(r){if(!(r===(t?"after":"before")))return s.removeSelectionAttribute(ze),!0}else return s.setSelectionAttribute(ze,t?"after":"before"),!0;return!1})}_handleArrowKeyPressWhenSelectionNextToAWidget(t){const e=this.editor,n=e.model,i=n.schema,r=e.plugins.get("Widget"),s=r._getObjectElementNextToSelection(t),a=e.editing.mapper.toViewElement(s);return dn(a,s,i)?(n.change(c=>{r._setSelectionOverElement(s),c.setSelectionAttribute(ze,t?"before":"after")}),!0):!1}_handleArrowKeyPressWhenNonCollapsedSelection(t){const e=this.editor,n=e.model,i=n.schema,r=e.editing.mapper,s=n.document.selection,a=t?s.getLastPosition().nodeBefore:s.getFirstPosition().nodeAfter,c=r.toViewElement(a);return dn(c,a,i)?(n.change(l=>{l.setSelection(a,"on"),l.setSelectionAttribute(ze,t?"after":"before")}),!0):!1}_enableInsertingParagraphsOnButtonClick(){const t=this.editor,e=t.editing.view;this._listenToIfEnabled(e.document,"mousedown",(n,i)=>{const r=bS(i.domTarget);if(!r)return;const s=wS(r),a=AS(r,e.domConverter),c=t.editing.mapper.toModelElement(a);this._insertParagraph(c,s),i.preventDefault(),n.stop()})}_enableInsertingParagraphsOnEnterKeypress(){const t=this.editor,e=t.model.document.selection,n=t.editing.view;this._listenToIfEnabled(n.document,"enter",(i,r)=>{if(i.eventPhase!="atTarget")return;const s=e.getSelectedElement(),a=t.editing.mapper.toViewElement(s),c=t.model.schema;let l;this._insertParagraphAccordingToFakeCaretPosition()?l=!0:dn(a,s,c)&&(this._insertParagraph(s,r.isSoft?"before":"after"),l=!0),l&&(r.preventDefault(),i.stop())},{context:Mt})}_enableInsertingParagraphsOnTypingKeystroke(){const e=this.editor.editing.view.document;this._listenToIfEnabled(e,"insertText",(n,i)=>{this._insertParagraphAccordingToFakeCaretPosition()&&(i.selection=e.selection)},{priority:"high"}),g.isAndroid?this._listenToIfEnabled(e,"keydown",(n,i)=>{i.keyCode==229&&this._insertParagraphAccordingToFakeCaretPosition()}):this._listenToIfEnabled(e,"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",(r,s)=>{if(r.eventPhase!="atTarget")return;const a=We(n.document.selection);if(!a)return;const c=s.direction,l=n.document.selection.getSelectedElement(),d=a==="before",u=c=="forward";if(d===u)t.execute("delete",{selection:n.createSelection(l,"on")});else{const p=i.getNearestSelectionRange(n.createPositionAt(l,a),c);if(p)if(!p.isCollapsed)n.change(w=>{w.setSelection(p),t.execute(u?"deleteForward":"delete")});else{const w=n.createSelection(p.start);if(n.modifySelection(w,{direction:c}),!w.focus.isEqual(p.start))n.change(S=>{S.setSelection(p),t.execute(u?"deleteForward":"delete")});else{const S=DS(i,p.start.parent);n.deleteContent(n.createSelection(S,"on"),{doNotAutoparagraph:!0})}}}s.preventDefault(),r.stop()},{context:Mt})}_enableInsertContentIntegration(){const t=this.editor,e=this.editor.model,n=e.document.selection;this._listenToIfEnabled(t.model,"insertContent",(i,[r,s])=>{if(s&&!s.is("documentSelection"))return;const a=We(n);if(a)return i.stop(),e.change(c=>{const l=n.getSelectedElement(),d=e.createPositionAt(l,a),u=c.createSelection(d),f=e.insertContent(r,u);return c.setSelection(u),f})},{priority:"high"})}_enableInsertObjectIntegration(){const t=this.editor,n=this.editor.model.document.selection;this._listenToIfEnabled(t.model,"insertObject",(i,r)=>{const[,s,a={}]=r;if(s&&!s.is("documentSelection"))return;const c=We(n);c&&(a.findOptimalPosition=c,r[3]=a)},{priority:"high"})}_enableDeleteContentIntegration(){const t=this.editor,n=this.editor.model.document.selection;this._listenToIfEnabled(t.model,"deleteContent",(i,[r])=>{if(r&&!r.is("documentSelection"))return;We(n)&&i.stop()},{priority:"high"})}}function yS(o,t,e){const n=o.createUIElement("div",{class:"ck ck-reset_all ck-widget__type-around"},function(i){const r=this.toDomElement(i);return xS(r,t),ES(r),r});o.insert(o.createPositionAt(e,"end"),n)}function xS(o,t){for(const e of Yg){const n=new re({tag:"div",attributes:{class:["ck","ck-widget__type-around__button",`ck-widget__type-around__button_${e}`],title:t[e],"aria-hidden":"true"},children:[o.ownerDocument.importNode(_S,!0)]});o.appendChild(n.render())}}function ES(o){const t=new re({tag:"div",attributes:{class:["ck","ck-widget__type-around__fake-caret"]}});o.appendChild(t.render())}function DS(o,t){let e=t;for(const n of t.getAncestors({parentFirst:!0})){if(n.childCount>1||o.isLimit(n))break;e=n}return e}function SS(o){const t=o.model;return(e,n)=>{const i=n.keyCode==tt.arrowup,r=n.keyCode==tt.arrowdown,s=n.shiftKey,a=t.document.selection;if(!i&&!r)return;const c=r;if(s&&MS(a,c))return;const l=TS(o,a,c);if(l){if(l.isCollapsed){if(a.isCollapsed)return;if(s)return}(l.isCollapsed||IS(o,l,c))&&(t.change(d=>{const u=c?l.end:l.start;if(s){const f=t.createSelection(a.anchor);f.setFocus(u),d.setSelection(f)}else d.setSelection(u)}),e.stop(),n.preventDefault(),n.stopPropagation())}}}function TS(o,t,e){const n=o.model;if(e){const i=t.isCollapsed?t.focus:t.getLastPosition(),r=Jg(n,i,"forward");if(!r)return null;const s=n.createRange(i,r),a=Xg(n.schema,s,"backward");return a?n.createRange(i,a):null}else{const i=t.isCollapsed?t.focus:t.getFirstPosition(),r=Jg(n,i,"backward");if(!r)return null;const s=n.createRange(r,i),a=Xg(n.schema,s,"forward");return a?n.createRange(a,i):null}}function Jg(o,t,e){const n=o.schema,i=o.createRangeIn(t.root),r=e=="forward"?"elementStart":"elementEnd";for(const{previousPosition:s,item:a,type:c}of i.getWalker({startPosition:t,direction:e})){if(n.isLimit(a)&&!n.isInline(a))return s;if(c==r&&n.isBlock(a))return null}return null}function Xg(o,t,e){const n=e=="backward"?t.end:t.start;if(o.checkChild(n,"$text"))return n;for(const{nextPosition:i}of t.getWalker({direction:e}))if(o.checkChild(i,"$text"))return i;return null}function IS(o,t,e){const n=o.model,i=o.view.domConverter;if(e){const l=n.createSelection(t.start);n.modifySelection(l),!l.focus.isAtEnd&&!t.start.isEqual(l.focus)&&(t=n.createRange(l.focus,t.end))}const r=o.mapper.toViewRange(t),s=i.viewRangeToDom(r),a=Q.getDomRangeRects(s);let c;for(const l of a){if(c===void 0){c=Math.round(l.bottom);continue}if(Math.round(l.top)>=c)return!1;c=Math.max(c,Math.round(l.bottom))}return!0}function MS(o,t){return!o.isCollapsed&&o.isBackward==t}var tf=L(7153),ua={injectType:"singletonStyleTag",attributes:{"data-cke":!0}};ua.insert="head",ua.singleton=!0,F()(tf.Z,ua),tf.Z.locals;class So extends P{constructor(){super(...arguments),this._previouslySelected=new Set}static get pluginName(){return"Widget"}static get requires(){return[vS,Be]}init(){const t=this.editor,e=t.editing.view,n=e.document;this.editor.editing.downcastDispatcher.on("selection",(i,r,s)=>{const a=s.writer,c=r.selection;if(c.isCollapsed)return;const l=c.getSelectedElement();if(!l)return;const d=t.editing.mapper.toViewElement(l);Mt(d)&&s.consumable.consume(c,"selection")&&a.setSelection(a.createRangeOn(d),{fake:!0,label:mS(d)})}),this.editor.editing.downcastDispatcher.on("selection",(i,r,s)=>{this._clearPreviouslySelectedWidgets(s.writer);const a=s.writer,c=a.document.selection;let l=null;for(const d of c.getRanges())for(const u of d){const f=u.item;Mt(f)&&!NS(f,l)&&(a.addClass(Wg,f),this._previouslySelected.add(f),l=f)}},{priority:"low"}),e.addObserver(hi),this.listenTo(n,"mousedown",(...i)=>this._onMousedown(...i)),this.listenTo(n,"arrowKey",(...i)=>{this._handleSelectionChangeOnArrowKeyPress(...i)},{context:[Mt,"$text"]}),this.listenTo(n,"arrowKey",(...i)=>{this._preventDefaultOnArrowKeyPress(...i)},{context:"$root"}),this.listenTo(n,"arrowKey",SS(this.editor.editing),{context:"$text"}),this.listenTo(n,"delete",(i,r)=>{this._handleDelete(r.direction=="forward")&&(r.preventDefault(),i.stop())},{context:"$root"})}_onMousedown(t,e){const n=this.editor,i=n.editing.view,r=i.document;let s=e.target;if(e.domEvent.detail>=3){this._selectBlockContent(s)&&e.preventDefault();return}if(BS(s)||!Mt(s)&&(s=s.findAncestor(Mt),!s))return;g.isAndroid&&e.preventDefault(),r.isFocused||i.focus();const a=n.editing.mapper.toModelElement(s);this._setSelectionOverElement(a)}_selectBlockContent(t){const e=this.editor,n=e.model,i=e.editing.mapper,r=n.schema,s=i.findMappedViewAncestor(this.editor.editing.view.createPositionAt(t,0)),a=zS(i.toModelElement(s),n.schema);return a?(n.change(c=>{const l=r.isLimit(a)?null:PS(c.createPositionAfter(a),r),d=c.createPositionAt(a,0),u=l?c.createPositionAt(l,0):c.createPositionAt(a,"end");c.setSelection(c.createRange(d,u))}),!0):!1}_handleSelectionChangeOnArrowKeyPress(t,e){const n=e.keyCode,i=this.editor.model,r=i.schema,s=i.document.selection,a=s.getSelectedElement(),c=br(n,this.editor.locale.contentLanguageDirection),l=c=="down"||c=="right",d=c=="up"||c=="down";if(a&&r.isObject(a)){const f=l?s.getLastPosition():s.getFirstPosition(),p=r.getNearestSelectionRange(f,l?"forward":"backward");p&&(i.change(w=>{w.setSelection(p)}),e.preventDefault(),t.stop());return}if(!s.isCollapsed&&!e.shiftKey){const f=s.getFirstPosition(),p=s.getLastPosition(),w=f.nodeAfter,S=p.nodeBefore;(w&&r.isObject(w)||S&&r.isObject(S))&&(i.change(B=>{B.setSelection(l?p:f)}),e.preventDefault(),t.stop());return}if(!s.isCollapsed)return;const u=this._getObjectElementNextToSelection(l);if(u&&r.isObject(u)){if(r.isInline(u)&&d)return;this._setSelectionOverElement(u),e.preventDefault(),t.stop()}}_preventDefaultOnArrowKeyPress(t,e){const n=this.editor.model,i=n.schema,r=n.document.selection.getSelectedElement();r&&i.isObject(r)&&(e.preventDefault(),t.stop())}_handleDelete(t){const n=this.editor.model.document.selection;if(!this.editor.model.canEditAt(n)||!n.isCollapsed)return;const i=this._getObjectElementNextToSelection(t);if(i)return this.editor.model.change(r=>{let s=n.anchor.parent;for(;s.isEmpty;){const a=s;s=a.parent,r.remove(a)}this._setSelectionOverElement(i)}),!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,r=e.createSelection(i);if(e.modifySelection(r,{direction:t?"forward":"backward"}),r.isEqual(i))return null;const s=t?r.focus.nodeBefore:r.focus.nodeAfter;return s&&n.isObject(s)?s:null}_clearPreviouslySelectedWidgets(t){for(const e of this._previouslySelected)t.removeClass(Wg,e);this._previouslySelected.clear()}}function BS(o){let t=o;for(;t;){if(t.is("editableElement")&&!t.is("rootElement"))return!0;if(Mt(t))return!1;t=t.parent}return!1}function NS(o,t){return t?Array.from(o.getAncestors()).includes(t):!1}function zS(o,t){for(const e of o.getAncestors({includeSelf:!0,parentFirst:!0})){if(t.checkChild(e,"$text"))return e;if(t.isLimit(e)&&!t.isObject(e))break}return null}function PS(o,t){const e=new fe({startPosition:o});for(const{item:n}of e){if(t.isLimit(n)||!n.is("element"))return null;if(t.checkChild(n,"$text"))return n}return null}class Mi extends P{constructor(){super(...arguments),this._toolbarDefinitions=new Map}static get requires(){return[_i]}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",n=>{LS(t.editing.view.document.selection)&&n.stop()},{priority:"high"})}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:r="ck-toolbar-container"}){if(!n.length){at("widget-toolbar-no-items",{toolbarId:t});return}const s=this.editor,a=s.t,c=new ws(s.locale);if(c.ariaLabel=e||a("Widget toolbar"),this._toolbarDefinitions.has(t))throw new b("widget-toolbar-duplicated",this,{toolbarId:t});const l={view:c,getRelatedElement:i,balloonClassName:r,itemsConfig:n,initialized:!1};s.ui.addToolbar(c,{isContextual:!0,beforeFocus:()=>{const d=i(s.editing.view.document.selection);d&&this._showToolbar(l,d)},afterBlur:()=>{this._hideToolbar(l)}}),this._toolbarDefinitions.set(t,l)}_updateToolbarsVisibility(){let t=0,e=null,n=null;for(const i of this._toolbarDefinitions.values()){const r=i.getRelatedElement(this.editor.editing.view.document.selection);if(!this.isEnabled||!r)this._isToolbarInBalloon(i)&&this._hideToolbar(i);else if(!this.editor.ui.focusTracker.isFocused)this._isToolbarVisible(i)&&this._hideToolbar(i);else{const s=r.getAncestors().length;s>t&&(t=s,e=r,n=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)?ef(this.editor,e):this._isToolbarInBalloon(t)||(t.initialized||(t.initialized=!0,t.view.fillFromConfig(t.itemsConfig,this.editor.ui.componentFactory)),this._balloon.add({view:t.view,position:nf(this.editor,e),balloonClassName:t.balloonClassName}),this.listenTo(this._balloon,"change:visibleView",()=>{for(const n of this._toolbarDefinitions.values())if(this._isToolbarVisible(n)){const i=n.getRelatedElement(this.editor.editing.view.document.selection);ef(this.editor,i)}}))}_isToolbarVisible(t){return this._balloon.visibleView===t.view}_isToolbarInBalloon(t){return this._balloon.hasView(t.view)}}function ef(o,t){const e=o.plugins.get("ContextualBalloon"),n=nf(o,t);e.updatePosition(n)}function nf(o,t){const e=o.editing.view,n=Rt.defaultPositions;return{target:e.domConverter.mapViewToDom(t),positions:[n.northArrowSouth,n.northArrowSouthWest,n.northArrowSouthEast,n.southArrowNorth,n.southArrowNorthWest,n.southArrowNorthEast,n.viewportStickyNorth]}}function LS(o){const t=o.getSelectedElement();return!!(t&&Mt(t))}class OS extends rt(){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 Q(e);this.activeHandlePosition=VS(t),this._referenceCoordinates=jS(e,HS(this.activeHandlePosition)),this._originalWidth=i.width,this._originalHeight=i.height,this._aspectRatio=i.width/i.height;const r=n.style.width;r&&r.match(/^\d+(\.\d*)?%$/)?this._originalWidthPercents=parseFloat(r):this._originalWidthPercents=RS(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 RS(o,t){const e=o.parentElement;let n=parseFloat(e.ownerDocument.defaultView.getComputedStyle(e).width);const i=5;let r=0,s=e;for(;isNaN(n);){if(s=s.parentElement,++r>i)return 0;n=parseFloat(e.ownerDocument.defaultView.getComputedStyle(s).width)}return t.width/n*100}function jS(o,t){const e=new Q(o),n=t.split("-"),i={x:n[1]=="right"?e.right:e.left,y:n[0]=="bottom"?e.bottom:e.top};return i.x+=o.ownerDocument.defaultView.scrollX,i.y+=o.ownerDocument.defaultView.scrollY,i}function FS(o){return`ck-widget__resizer__handle-${o}`}function VS(o){const t=["top-left","top-right","bottom-right","bottom-left"];for(const e of t)if(o.classList.contains(FS(e)))return e}function HS(o){const t=o.split("-"),e={top:"bottom",bottom:"top",left:"right",right:"left"};return`${e[t[0]]}-${e[t[1]]}`}class US extends Y{constructor(){super();const t=this.bindTemplate;this.setTemplate({tag:"div",attributes:{class:["ck","ck-size-view",t.to("_viewPosition",e=>e?`ck-orientation-${e}`:"")],style:{display:t.if("_isVisible","none",e=>!e)}},children:[{text:t.to("_label")}]})}_bindToState(t,e){this.bind("_isVisible").to(e,"proposedWidth",e,"proposedHeight",(n,i)=>n!==null&&i!==null),this.bind("_label").to(e,"proposedHandleHostWidth",e,"proposedHandleHostHeight",e,"proposedWidthPercents",(n,i,r)=>t.unit==="px"?`${n}×${i}`:`${r}%`),this.bind("_viewPosition").to(e,"activeHandlePosition",e,"proposedHandleHostWidth",e,"proposedHandleHostHeight",(n,i,r)=>i<50||r<50?"above-center":n)}_dismiss(){this.unbind(),this._isVisible=!1}}class of extends rt(){constructor(t){super(),this._viewResizerWrapper=null,this._options=t,this.set("isEnabled",!0),this.set("isSelected",!1),this.bind("isVisible").to(this,"isEnabled",this,"isSelected",(e,n)=>e&&n),this.decorate("begin"),this.decorate("cancel"),this.decorate("commit"),this.decorate("updateSize"),this.on("commit",e=>{!this.state.proposedWidth&&!this.state.proposedWidthPercents&&(this._cleanup(),e.stop())},{priority:"high"})}get state(){return this._state}show(){this._options.editor.editing.view.change(e=>{e.removeClass("ck-hidden",this._viewResizerWrapper)})}hide(){this._options.editor.editing.view.change(e=>{e.addClass("ck-hidden",this._viewResizerWrapper)})}attach(){const t=this,e=this._options.viewElement;this._options.editor.editing.view.change(i=>{const r=i.createUIElement("div",{class:"ck ck-reset_all ck-widget__resizer"},function(s){const a=this.toDomElement(s);return t._appendHandles(a),t._appendSizeUI(a),a});i.insert(i.createPositionAt(e,"end"),r),i.addClass("ck-widget_with-resizer",e),this._viewResizerWrapper=r,this.isVisible||this.hide()}),this.on("change:isVisible",()=>{this.isVisible?(this.show(),this.redraw()):this.hide()})}begin(t){this._state=new OS(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(l=>{const d=this._options.unit||"%",u=(d==="%"?e.widthPercents:e.width)+d;l.setStyle("width",u,this._options.viewElement)});const i=this._getHandleHost(),r=new Q(i),s=Math.round(r.width),a=Math.round(r.height),c=new Q(i);e.width=Math.round(c.width),e.height=Math.round(c.height),this.redraw(r),this.state.update({...e,handleHostWidth:s,handleHostHeight:a})}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(!GS(e))return;const n=e.parentElement,i=this._getHandleHost(),r=this._viewResizerWrapper,s=[r.getStyle("width"),r.getStyle("height"),r.getStyle("left"),r.getStyle("top")];let a;if(n.isSameNode(i)){const c=t||new Q(i);a=[c.width+"px",c.height+"px",void 0,void 0]}else a=[i.offsetWidth+"px",i.offsetHeight+"px",i.offsetLeft+"px",i.offsetTop+"px"];jt(s,a)!=="same"&&this._options.editor.editing.view.change(c=>{c.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(e=>{e.setStyle("width",this._initialViewWidth,this._options.viewElement)})}_proposeNewSize(t){const e=this.state,n=WS(t),i=this._options.isCentered?this._options.isCentered(this):!0,r={x:e._referenceCoordinates.x-(n.x+e.originalWidth),y:n.y-e.originalHeight-e._referenceCoordinates.y};i&&e.activeHandlePosition.endsWith("-right")&&(r.x=n.x-(e._referenceCoordinates.x+e.originalWidth)),i&&(r.x*=2);let s=Math.abs(e.originalWidth+r.x),a=Math.abs(e.originalHeight+r.y);return(s/e.aspectRatio>a?"width":"height")=="width"?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 n of e)t.appendChild(new re({tag:"div",attributes:{class:`ck-widget__resizer__handle ${qS(n)}`}}).render())}_appendSizeUI(t){this._sizeView=new US,this._sizeView.render(),t.appendChild(this._sizeView.element)}}function qS(o){return`ck-widget__resizer__handle-${o}`}function WS(o){return{x:o.pageX,y:o.pageY}}function GS(o){return o&&o.ownerDocument&&o.ownerDocument.contains(o)}var rf=L(4875),ha={injectType:"singletonStyleTag",attributes:{"data-cke":!0}};ha.insert="head",ha.singleton=!0,F()(rf.Z,ha),rf.Z.locals;class ga extends P{constructor(){super(...arguments),this._resizers=new Map}static get pluginName(){return"WidgetResize"}init(){const t=this.editor.editing,e=U.window.document;this.set("selectedResizer",null),this.set("_activeResizer",null),t.view.addObserver(hi),this._observer=new(Zt()),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=Co(()=>this.redrawSelectedResizer(),200),this.editor.ui.on("update",this._redrawSelectedResizerThrottled),this.editor.model.document.on("change",()=>{for(const[i,r]of this._resizers)i.isAttached()||(this._resizers.delete(i),r.destroy())},{priority:"lowest"}),this._observer.listenTo(U.window,"resize",this._redrawSelectedResizerThrottled);const n=this.editor.editing.view.document.selection;n.on("change",()=>{const i=n.getSelectedElement(),r=this.getResizerByViewElement(i)||null;r?this.select(r):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 of(t),n=this.editor.plugins;if(e.attach(),n.has("WidgetToolbarRepository")){const s=n.get("WidgetToolbarRepository");e.on("begin",()=>{s.forceDisabled("resize")},{priority:"lowest"}),e.on("cancel",()=>{s.clearForceDisabled("resize")},{priority:"highest"}),e.on("commit",()=>{s.clearForceDisabled("resize")},{priority:"highest"})}this._resizers.set(t.viewElement,e);const r=this.editor.editing.view.document.selection.getSelectedElement();return this.getResizerByViewElement(r)==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;of.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)}}const fa=Xn("px");class $S extends Y{constructor(){super();const t=this.bindTemplate;this.set({isVisible:!1,left:null,top:null,width:null}),this.setTemplate({tag:"div",attributes:{class:["ck","ck-clipboard-drop-target-line",t.if("isVisible","ck-hidden",e=>!e)],style:{left:t.to("left",e=>fa(e)),top:t.to("top",e=>fa(e)),width:t.to("width",e=>fa(e))}}})}}class Bi extends P{constructor(){super(...arguments),this.removeDropMarkerDelayed=wr(()=>this.removeDropMarker(),40),this._updateDropMarkerThrottled=Co(t=>this._updateDropMarker(t),40),this._reconvertMarkerThrottled=Co(()=>{this.editor.model.markers.has("drop-target")&&this.editor.editing.reconvertMarker("drop-target")},0),this._dropTargetLineView=new $S,this._domEmitter=new(Zt()),this._scrollables=new Map}static get pluginName(){return"DragDropTarget"}init(){this._setupDropMarker()}destroy(){this._domEmitter.stopListening();for(const{resizeObserver:t}of this._scrollables.values())t.destroy();return this._updateDropMarkerThrottled.cancel(),this.removeDropMarkerDelayed.cancel(),this._reconvertMarkerThrottled.cancel(),super.destroy()}updateDropMarker(t,e,n,i,r,s){this.removeDropMarkerDelayed.cancel();const a=sf(this.editor,t,e,n,i,r,s);if(a){if(s&&s.containsRange(a))return this.removeDropMarker();this._updateDropMarkerThrottled(a)}}getFinalDropRange(t,e,n,i,r,s){const a=sf(this.editor,t,e,n,i,r,s);return this.removeDropMarker(),a}removeDropMarker(){const t=this.editor.model;this.removeDropMarkerDelayed.cancel(),this._updateDropMarkerThrottled.cancel(),this._dropTargetLineView.isVisible=!1,t.markers.has("drop-target")&&t.change(e=>{e.removeMarker("drop-target")})}_setupDropMarker(){const t=this.editor;t.ui.view.body.add(this._dropTargetLineView),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 this._dropTargetLineView.isVisible=!1,this._createDropTargetPosition(n);e.markerRange.isCollapsed?this._updateDropTargetLine(e.markerRange):this._dropTargetLineView.isVisible=!1}})}_updateDropMarker(t){const e=this.editor,n=e.model.markers;e.model.change(i=>{n.has("drop-target")?n.get("drop-target").getRange().isEqual(t)||i.updateMarker("drop-target",{range:t}):i.addMarker("drop-target",{range:t,usingOperation:!1,affectsData:!1})})}_createDropTargetPosition(t){return t.createUIElement("span",{class:"ck ck-clipboard-drop-target-position"},function(e){const n=this.toDomElement(e);return n.append("⁠",e.createElement("span"),"⁠"),n})}_updateDropTargetLine(t){const e=this.editor.editing,n=t.start.nodeBefore,i=t.start.nodeAfter,r=t.start.parent,s=n?e.mapper.toViewElement(n):null,a=s?e.view.domConverter.mapViewToDom(s):null,c=i?e.mapper.toViewElement(i):null,l=c?e.view.domConverter.mapViewToDom(c):null,d=e.mapper.toViewElement(r),u=e.view.domConverter.mapViewToDom(d),f=this._getScrollableRect(d),{scrollX:p,scrollY:w}=U.window,S=a?new Q(a):null,B=l?new Q(l):null,z=new Q(u).excludeScrollbarsAndBorders(),V=S?S.bottom:z.top,J=B?B.top:z.bottom,st=U.window.getComputedStyle(u),pt=V<=J?(V+J)/2:J;if(f.topa.schema.checkChild(f,w))){if(a.schema.checkChild(f,"$text"))return a.createRange(f);if(u)return Ni(o,cf(o,u.parent),n,i)}}}else if(a.schema.isInline(d))return Ni(o,d,n,i)}if(a.schema.isBlock(d))return Ni(o,d,n,i);if(a.schema.checkChild(d,"$block")){const u=Array.from(d.getChildren()).filter(w=>w.is("element")&&!KS(o,w));let f=0,p=u.length;if(p==0)return a.createRange(a.createPositionAt(d,"end"));for(;f{i?(this.forceDisabled("readOnlyMode"),this._isBlockDragging=!1):this.clearForceDisabled("readOnlyMode")}),g.isAndroid&&this.forceDisabled("noAndroidSupport"),t.plugins.has("BlockToolbar")){const n=t.plugins.get("BlockToolbar").buttonView.element;this._domEmitter.listenTo(n,"dragstart",(i,r)=>this._handleBlockDragStart(r)),this._domEmitter.listenTo(U.document,"dragover",(i,r)=>this._handleBlockDragging(r)),this._domEmitter.listenTo(U.document,"drop",(i,r)=>this._handleBlockDragging(r)),this._domEmitter.listenTo(U.document,"dragend",()=>this._handleBlockDragEnd(),{useCapture:!0}),this.isEnabled&&n.setAttribute("draggable","true"),this.on("change:isEnabled",(i,r,s)=>{n.setAttribute("draggable",s?"true":"false")})}}destroy(){return this._domEmitter.stopListening(),super.destroy()}_handleBlockDragStart(t){if(!this.isEnabled)return;const e=this.editor.model,n=e.document.selection,i=this.editor.editing.view,r=Array.from(n.getSelectedBlocks()),s=e.createRange(e.createPositionBefore(r[0]),e.createPositionAfter(r[r.length-1]));e.change(a=>a.setSelection(s)),this._isBlockDragging=!0,i.focus(),i.getObserver(Do).onDomEvent(t)}_handleBlockDragging(t){if(!this.isEnabled||!this._isBlockDragging)return;const e=t.clientX+(this.editor.locale.contentLanguageDirection=="ltr"?100:-100),n=t.clientY,i=document.elementFromPoint(e,n),r=this.editor.editing.view;!i||!i.closest(".ck-editor__editable")||r.getObserver(Do).onDomEvent({...t,type:t.type,dataTransfer:t.dataTransfer,target:i,clientX:e,clientY:n,preventDefault:()=>t.preventDefault(),stopPropagation:()=>t.stopPropagation()})}_handleBlockDragEnd(){this._isBlockDragging=!1}}var lf=L(799),ma={injectType:"singletonStyleTag",attributes:{"data-cke":!0}};ma.insert="head",ma.singleton=!0,F()(lf.Z,ma),lf.Z.locals;class QS extends P{constructor(){super(...arguments),this._clearDraggableAttributesDelayed=wr(()=>this._clearDraggableAttributes(),40),this._blockMode=!1,this._domEmitter=new(Zt())}static get pluginName(){return"DragDrop"}static get requires(){return[ve,So,Bi,YS]}init(){const t=this.editor,e=t.editing.view;this._draggedRange=null,this._draggingUid="",this._draggableElement=null,e.addObserver(Do),e.addObserver(hi),this._setupDragging(),this._setupContentInsertionIntegration(),this._setupClipboardInputIntegration(),this._setupDraggableAttributeHandling(),this.listenTo(t,"change:isReadOnly",(n,i,r)=>{r?this.forceDisabled("readOnlyMode"):this.clearForceDisabled("readOnlyMode")}),this.on("change:isEnabled",(n,i,r)=>{r||this._finalizeDragging(!1)}),g.isAndroid&&this.forceDisabled("noAndroidSupport")}destroy(){return this._draggedRange&&(this._draggedRange.detach(),this._draggedRange=null),this._previewContainer&&this._previewContainer.remove(),this._domEmitter.stopListening(),this._clearDraggableAttributesDelayed.cancel(),super.destroy()}_setupDragging(){const t=this.editor,e=t.model,n=t.editing.view,i=n.document,r=t.plugins.get(Bi);this.listenTo(i,"dragstart",(s,a)=>{if(a.target&&a.target.is("editableElement")){a.preventDefault();return}if(this._prepareDraggedRange(a.target),!this._draggedRange){a.preventDefault();return}this._draggingUid=qt(),a.dataTransfer.effectAllowed=this.isEnabled?"copyMove":"copy",a.dataTransfer.setData("application/ckeditor5-dragging-uid",this._draggingUid);const c=e.createSelection(this._draggedRange.toRange());this.editor.plugins.get("ClipboardPipeline")._fireOutputTransformationEvent(a.dataTransfer,c,"dragstart");const{dataTransfer:d,domTarget:u,domEvent:f}=a,{clientX:p}=f;this._updatePreview({dataTransfer:d,domTarget:u,clientX:p}),a.stopPropagation(),this.isEnabled||(this._draggedRange.detach(),this._draggedRange=null,this._draggingUid="")},{priority:"low"}),this.listenTo(i,"dragend",(s,a)=>{this._finalizeDragging(!a.dataTransfer.isCanceled&&a.dataTransfer.dropEffect=="move")},{priority:"low"}),this._domEmitter.listenTo(U.document,"dragend",()=>{this._blockMode=!1},{useCapture:!0}),this.listenTo(i,"dragenter",()=>{this.isEnabled&&n.focus()}),this.listenTo(i,"dragleave",()=>{r.removeDropMarkerDelayed()}),this.listenTo(i,"dragging",(s,a)=>{if(!this.isEnabled){a.dataTransfer.dropEffect="none";return}const{clientX:c,clientY:l}=a.domEvent;r.updateDropMarker(a.target,a.targetRanges,c,l,this._blockMode,this._draggedRange),this._draggedRange||(a.dataTransfer.dropEffect="copy"),g.isGecko||(a.dataTransfer.effectAllowed=="copy"?a.dataTransfer.dropEffect="copy":["all","copyMove"].includes(a.dataTransfer.effectAllowed)&&(a.dataTransfer.dropEffect="move")),s.stop()},{priority:"low"})}_setupClipboardInputIntegration(){const t=this.editor,n=t.editing.view.document,i=t.plugins.get(Bi);this.listenTo(n,"clipboardInput",(r,s)=>{if(s.method!="drop")return;const{clientX:a,clientY:c}=s.domEvent,l=i.getFinalDropRange(s.target,s.targetRanges,a,c,this._blockMode,this._draggedRange);if(!l){this._finalizeDragging(!1),r.stop();return}if(this._draggedRange&&this._draggingUid!=s.dataTransfer.getData("application/ckeditor5-dragging-uid")&&(this._draggedRange.detach(),this._draggedRange=null,this._draggingUid=""),df(s.dataTransfer)=="move"&&this._draggedRange&&this._draggedRange.containsRange(l,!0)){this._finalizeDragging(!1),r.stop();return}s.targetRanges=[t.editing.mapper.toViewRange(l)]},{priority:"high"})}_setupContentInsertionIntegration(){const t=this.editor.plugins.get(ve);t.on("contentInsertion",(e,n)=>{if(!this.isEnabled||n.method!=="drop")return;const i=n.targetRanges.map(r=>this.editor.editing.mapper.toModelRange(r));this.editor.model.change(r=>r.setSelection(i))},{priority:"high"}),t.on("contentInsertion",(e,n)=>{if(!this.isEnabled||n.method!=="drop")return;const i=df(n.dataTransfer)=="move",r=!n.resultRange||!n.resultRange.isCollapsed;this._finalizeDragging(r&&i)},{priority:"lowest"})}_setupDraggableAttributeHandling(){const t=this.editor,e=t.editing.view,n=e.document;this.listenTo(n,"mousedown",(i,r)=>{if(g.isAndroid||!r)return;this._clearDraggableAttributesDelayed.cancel();let s=uf(r.target);if(g.isBlink&&!t.isReadOnly&&!s&&!n.selection.isCollapsed){const a=n.selection.getSelectedElement();(!a||!Mt(a))&&(s=n.selection.editableElement)}s&&(e.change(a=>{a.setAttribute("draggable","true",s)}),this._draggableElement=t.editing.mapper.toModelElement(s))}),this.listenTo(n,"mouseup",()=>{g.isAndroid||this._clearDraggableAttributesDelayed()})}_clearDraggableAttributes(){const t=this.editor.editing;t.view.change(e=>{this._draggableElement&&this._draggableElement.root.rootName!="$graveyard"&&e.removeAttribute("draggable",t.mapper.toViewElement(this._draggableElement)),this._draggableElement=null})}_finalizeDragging(t){const e=this.editor,n=e.model;e.plugins.get(Bi).removeDropMarker(),this._clearDraggableAttributes(),e.plugins.has("WidgetToolbarRepository")&&e.plugins.get("WidgetToolbarRepository").clearForceDisabled("dragDrop"),this._draggingUid="",this._previewContainer&&(this._previewContainer.remove(),this._previewContainer=void 0),this._draggedRange&&(t&&this.isEnabled&&n.change(r=>{const s=n.createSelection(this._draggedRange);n.deleteContent(s,{doNotAutoparagraph:!0});const a=s.getFirstPosition().parent;a.isEmpty&&!n.schema.checkChild(a,"$text")&&n.schema.checkChild(a,"paragraph")&&r.insertElement("paragraph",a,0)}),this._draggedRange.detach(),this._draggedRange=null)}_prepareDraggedRange(t){const e=this.editor,n=e.model,i=n.document.selection,r=t?uf(t):null;if(r){const l=e.editing.mapper.toModelElement(r);this._draggedRange=Xt.fromRange(n.createRangeOn(l)),this._blockMode=n.schema.isBlock(l),e.plugins.has("WidgetToolbarRepository")&&e.plugins.get("WidgetToolbarRepository").forceDisabled("dragDrop");return}if(i.isCollapsed&&!i.getFirstPosition().parent.isEmpty)return;const s=Array.from(i.getSelectedBlocks()),a=i.getFirstRange();if(s.length==0){this._draggedRange=Xt.fromRange(a);return}const c=hf(n,s);if(s.length>1)this._draggedRange=Xt.fromRange(c),this._blockMode=!0;else if(s.length==1){const l=a.start.isTouching(c.start)&&a.end.isTouching(c.end);this._draggedRange=Xt.fromRange(l?c:a),this._blockMode=l}n.change(l=>l.setSelection(this._draggedRange.toRange()))}_updatePreview({dataTransfer:t,domTarget:e,clientX:n}){const i=this.editor.editing.view,r=i.document.selection.editableElement,s=i.domConverter.mapViewToDom(r),a=U.window.getComputedStyle(s);this._previewContainer?this._previewContainer.firstElementChild&&this._previewContainer.removeChild(this._previewContainer.firstElementChild):(this._previewContainer=Wn(U.document,"div",{style:"position: fixed; left: -999999px;"}),U.document.body.appendChild(this._previewContainer));const c=new Q(s);if(s.contains(e))return;const l=parseFloat(a.paddingLeft),d=Wn(U.document,"div");d.className="ck ck-content",d.style.width=a.width,d.style.paddingLeft=`${c.left-n+l}px`,g.isiOS&&(d.style.backgroundColor="white"),d.innerHTML=t.getData("text/html"),t.setDragImage(d,0,0),this._previewContainer.appendChild(d)}}function df(o){return g.isGecko?o.dropEffect:["all","copyMove"].includes(o.effectAllowed)?"move":"copy"}function uf(o){if(o.is("editableElement"))return null;if(o.hasClass("ck-widget__selection-handle"))return o.findAncestor(Mt);if(Mt(o))return o;const t=o.findAncestor(e=>Mt(e)||e.is("editableElement"));return Mt(t)?t:null}function hf(o,t){const e=t[0],n=t[t.length-1],i=e.getCommonAncestor(n),r=o.createPositionBefore(e),s=o.createPositionAfter(n);if(i&&i.is("element")&&!o.schema.isLimit(i)){const a=o.createRangeOn(i),c=r.isTouching(a.start),l=s.isTouching(a.end);if(c&&l)return hf(o,[i])}return o.createRange(r,s)}class JS extends P{static get pluginName(){return"PastePlainText"}static get requires(){return[ve]}init(){const t=this.editor,e=t.model,n=t.editing.view,i=n.document,r=e.document.selection;let s=!1;n.addObserver(Do),this.listenTo(i,"keydown",(a,c)=>{s=c.shiftKey}),t.plugins.get(ve).on("contentInsertion",(a,c)=>{!s&&!XS(c.content,e.schema)||e.change(l=>{const d=Array.from(r.getAttributes()).filter(([f])=>e.schema.getAttributeProperties(f).isFormatting);r.isCollapsed||e.deleteContent(r,{doNotAutoparagraph:!0}),d.push(...r.getAttributes());const u=l.createRangeIn(c.content);for(const f of u.getItems())f.is("$textProxy")&&l.setAttributes(d,f)})})}}function XS(o,t){if(o.childCount>1)return!1;const e=o.getChild(0);return t.isObject(e)?!1:Array.from(e.getAttributeKeys()).length==0}class gf extends P{static get pluginName(){return"Clipboard"}static get requires(){return[ve,QS,JS]}}class tT extends X{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)||!ff(t.schema,n))do if(n=n.parent,!n)return;while(!ff(t.schema,n));t.change(i=>{i.setSelection(n,"in")})}}function ff(o,t){return o.isLimit(t)&&(o.checkChild(t,"$text")||o.checkChild(t,"paragraph"))}const eT=eo("Ctrl+A");class nT extends P{static get pluginName(){return"SelectAllEditing"}init(){const t=this.editor,n=t.editing.view.document;t.commands.add("selectAll",new tT(t)),this.listenTo(n,"keydown",(i,r)=>{xn(r)===eT&&(t.execute("selectAll"),r.preventDefault())})}}const oT='';class iT extends P{static get pluginName(){return"SelectAllUI"}init(){const t=this.editor;t.ui.componentFactory.add("selectAll",e=>{const n=t.commands.get("selectAll"),i=new ht(e),r=e.t;return i.set({label:r("Select all"),icon:oT,keystroke:"Ctrl+A",tooltip:!0}),i.bind("isEnabled").to(n,"isEnabled"),this.listenTo(i,"execute",()=>{t.execute("selectAll"),t.editing.view.focus()}),i})}}class rT extends P{static get requires(){return[nT,iT]}static get pluginName(){return"SelectAll"}}class mf extends X{constructor(t){super(t),this._stack=[],this._createdBatches=new WeakSet,this.refresh(),this._isEnabledBasedOnSelection=!1,this.listenTo(t.data,"set",(e,n)=>{n[1]={...n[1]};const i=n[1];i.batchType||(i.batchType={isUndoable:!1})},{priority:"high"}),this.listenTo(t.data,"set",(e,n)=>{n[1].batchType.isUndoable||this.clearStack()})}refresh(){this.isEnabled=this._stack.length>0}get createdBatches(){return this._createdBatches}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,r=i.document,s=[],a=t.map(l=>l.getTransformedByOperations(n)),c=a.flat();for(const l of a){const d=l.filter(u=>u.root!=r.graveyard).filter(u=>!aT(u,c));d.length&&(sT(d),s.push(d[0]))}s.length&&i.change(l=>{l.setSelection(s,{backward:e})})}_undo(t,e){const n=this.editor.model,i=n.document;this._createdBatches.add(e);const r=t.operations.slice().filter(s=>s.isDocumentOperation);r.reverse();for(const s of r){const a=s.baseVersion+1,c=Array.from(i.history.getOperations(a)),d=rE([s.getReversed()],c,{useRelations:!0,document:this.editor.model.document,padWithNoOps:!1,forceWeakRemove:!0}).operationsA;for(let u of d){const f=u.affectedSelectable;f&&!n.canEditAt(f)&&(u=new St(u.baseVersion)),e.addOperation(u),n.applyOperation(u),i.history.setOperationAsUndone(s,u)}}}}function sT(o){o.sort((t,e)=>t.start.isBefore(e.start)?-1:1);for(let t=1;te!==o&&e.containsRange(o,!0))}class cT extends mf{execute(t=null){const e=t?this._stack.findIndex(r=>r.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 r=this.editor.model.document.history.getOperations(n.batch.baseVersion);this._restoreSelection(n.selection.ranges,n.selection.isBackward,r)}),this.fire("revert",n.batch,i),this.refresh()}}class lT extends mf{execute(){const t=this._stack.pop(),e=this.editor.model.createBatch({isUndo:!0});this.editor.model.enqueueChange(e,()=>{const i=t.batch.operations[t.batch.operations.length-1].baseVersion+1,r=this.editor.model.document.history.getOperations(i);this._restoreSelection(t.selection.ranges,t.selection.isBackward,r),this._undo(t.batch,e)}),this.refresh()}}class dT extends P{constructor(){super(...arguments),this._batchRegistry=new WeakSet}static get pluginName(){return"UndoEditing"}init(){const t=this.editor;this._undoCommand=new cT(t),this._redoCommand=new lT(t),t.commands.add("undo",this._undoCommand),t.commands.add("redo",this._redoCommand),this.listenTo(t.model,"applyOperation",(e,n)=>{const i=n[0];if(!i.isDocumentOperation)return;const r=i.batch,s=this._redoCommand.createdBatches.has(r),a=this._undoCommand.createdBatches.has(r);this._batchRegistry.has(r)||(this._batchRegistry.add(r),r.isUndoable&&(s?this._undoCommand.addBatch(r):a||(this._undoCommand.addBatch(r),this._redoCommand.clearStack())))},{priority:"highest"}),this.listenTo(this._undoCommand,"revert",(e,n,i)=>{this._redoCommand.addBatch(i)}),t.keystrokes.set("CTRL+Z","undo"),t.keystrokes.set("CTRL+Y","redo"),t.keystrokes.set("CTRL+SHIFT+Z","redo")}}const pf='',kf='';class uT extends P{static get pluginName(){return"UndoUI"}init(){const t=this.editor,e=t.locale,n=t.t,i=e.uiLanguageDirection=="ltr"?pf:kf,r=e.uiLanguageDirection=="ltr"?kf:pf;this._addButton("undo",n("Undo"),"CTRL+Z",i),this._addButton("redo",n("Redo"),"CTRL+Y",r)}_addButton(t,e,n,i){const r=this.editor;r.ui.componentFactory.add(t,s=>{const a=r.commands.get(t),c=new ht(s);return c.set({label:e,icon:i,keystroke:n,tooltip:!0}),c.bind("isEnabled").to(a,"isEnabled"),this.listenTo(c,"execute",()=>{r.execute(t),r.editing.view.focus()}),c})}}class pa extends P{static get requires(){return[dT,uT]}static get pluginName(){return"Undo"}}class hT extends P{static get requires(){return[gf,Si,rT,W5,_5,pa]}static get pluginName(){return"Essentials"}}class gT extends X{constructor(t){super(t),this._isEnabledBasedOnSelection=!1}refresh(){const t=this.editor.model,e=t.document,n=It(e.selection.getSelectedBlocks());this.value=!!n&&n.is("element","paragraph"),this.isEnabled=!!n&&bf(n,t.schema)}execute(t={}){const e=this.editor.model,n=e.document,i=t.selection||n.selection;e.canEditAt(i)&&e.change(r=>{const s=i.getSelectedBlocks();for(const a of s)!a.is("element","paragraph")&&bf(a,e.schema)&&r.rename(a,"paragraph")})}}function bf(o,t){return t.checkChild(o.parent,"paragraph")&&!t.isObject(o)}class fT extends X{constructor(t){super(t),this._isEnabledBasedOnSelection=!1}execute(t){const e=this.editor.model,n=t.attributes;let i=t.position;e.canEditAt(i)&&e.change(r=>{if(i=this._findPositionToInsertParagraph(i,r),!i)return;const s=r.createElement("paragraph");n&&e.schema.setAllowedAttributes(s,n,r),e.insertContent(s,i),r.setSelection(s,"in")})}_findPositionToInsertParagraph(t,e){const n=this.editor.model;if(n.schema.checkChild(t,"paragraph"))return t;const i=n.schema.findAllowedParent(t,"paragraph");if(!i)return null;const r=t.parent,s=n.schema.checkChild(r,"$text");return r.isEmpty||s&&t.isAtEnd?n.createPositionAfter(r):!r.isEmpty&&s&&t.isAtStart?n.createPositionBefore(r):e.split(t,i).position}}class To extends P{static get pluginName(){return"Paragraph"}init(){const t=this.editor,e=t.model;t.commands.add("paragraph",new gT(t)),t.commands.add("insertParagraph",new fT(t)),e.schema.register("paragraph",{inheritAllFrom:"$block"}),t.conversion.elementToElement({model:"paragraph",view:"p"}),t.conversion.for("upcast").elementToElement({model:(n,{writer:i})=>!To.paragraphLikeElements.has(n.name)||n.isEmpty?null:i.createElement("paragraph"),view:/.+/,converterPriority:"low"})}}To.paragraphLikeElements=new Set(["blockquote","dd","div","dt","h1","h2","h3","h4","h5","h6","li","p","td","th"]);class mT extends X{constructor(t,e){super(t),this.modelElements=e}refresh(){const t=It(this.editor.model.document.selection.getSelectedBlocks());this.value=!!t&&this.modelElements.includes(t.name)&&t.name,this.isEnabled=!!t&&this.modelElements.some(e=>wf(t,e,this.editor.model.schema))}execute(t){const e=this.editor.model,n=e.document,i=t.value;e.change(r=>{const s=Array.from(n.selection.getSelectedBlocks()).filter(a=>wf(a,i,e.schema));for(const a of s)a.is("element",i)||r.rename(a,i)})}}function wf(o,t,e){return e.checkChild(o.parent,t)&&!e.isObject(o)}const Af="paragraph";class pT extends P{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[To]}init(){const t=this.editor,e=t.config.get("heading.options"),n=[];for(const i of e)i.model!=="paragraph"&&(t.model.schema.register(i.model,{inheritAllFrom:"$block"}),t.conversion.elementToElement(i),n.push(i.model));this._addDefaultH1Conversion(t),t.commands.add("heading",new mT(t,n))}afterInit(){const t=this.editor,e=t.commands.get("enter"),n=t.config.get("heading.options");e&&this.listenTo(e,"afterExecute",(i,r)=>{const s=t.model.document.selection.getFirstPosition().parent;n.some(c=>s.is("element",c.model))&&!s.is("element",Af)&&s.childCount===0&&r.writer.rename(s,Af)})}_addDefaultH1Conversion(t){t.conversion.for("upcast").elementToElement({model:"heading1",view:"h1",converterPriority:Le.low+1})}}function kT(o){const t=o.t,e={Paragraph:t("Paragraph"),"Heading 1":t("Heading 1"),"Heading 2":t("Heading 2"),"Heading 3":t("Heading 3"),"Heading 4":t("Heading 4"),"Heading 5":t("Heading 5"),"Heading 6":t("Heading 6")};return o.config.get("heading.options").map(n=>{const i=e[n.title];return i&&i!=n.title&&(n.title=i),n})}var Cf=L(4249),ka={injectType:"singletonStyleTag",attributes:{"data-cke":!0}};ka.insert="head",ka.singleton=!0,F()(Cf.Z,ka),Cf.Z.locals;class bT extends P{static get pluginName(){return"HeadingUI"}init(){const t=this.editor,e=t.t,n=kT(t),i=e("Choose heading"),r=e("Heading");t.ui.componentFactory.add("heading",s=>{const a={},c=new oe,l=t.commands.get("heading"),d=t.commands.get("paragraph"),u=[l];for(const p of n){const w={type:"button",model:new Us({label:p.title,class:p.class,role:"menuitemradio",withText:!0})};p.model==="paragraph"?(w.model.bind("isOn").to(d,"value"),w.model.set("commandName","paragraph"),u.push(d)):(w.model.bind("isOn").to(l,"value",S=>S===p.model),w.model.set({commandName:"heading",commandValue:p.model})),c.add(w),a[p.model]=p.title}const f=_e(s);return Es(f,c,{ariaLabel:r,role:"menu"}),f.buttonView.set({ariaLabel:r,ariaLabelledBy:void 0,isOn:!1,withText:!0,tooltip:r}),f.extendTemplate({attributes:{class:["ck-heading-dropdown"]}}),f.bind("isEnabled").toMany(u,"isEnabled",(...p)=>p.some(w=>w)),f.buttonView.bind("label").to(l,"value",d,"value",(p,w)=>{const S=p||w&&"paragraph";return typeof S=="boolean"||!a[S]?i:a[S]}),this.listenTo(f,"execute",p=>{const{commandName:w,commandValue:S}=p.source;t.execute(w,S?{value:S}:void 0),t.editing.view.focus()}),f})}}class wT extends P{static get requires(){return[pT,bT]}static get pluginName(){return"Heading"}}function AT(o){return o.createContainerElement("span",{class:"image-inline"},o.createEmptyElement("img"))}function _f(o){return o.createContainerElement("figure",{class:"image"},[o.createEmptyElement("img"),o.createSlot("children")])}function vf(o,t){const e=o.plugins.get("ImageUtils"),n=o.plugins.has("ImageInlineEditing")&&o.plugins.has("ImageBlockEditing");return r=>e.isInlineImageView(r)?n&&(r.getStyle("display")=="block"||r.findAncestor(e.isBlockImageView)?"imageBlock":"imageInline")!==t?null:i(r):null;function i(r){const s={name:!0};return r.hasAttribute("src")&&(s.attributes=["src"]),s}}function ba(o,t){const e=It(t.getSelectedBlocks());return!e||o.isObject(e)||e.isEmpty&&e.name!="listItem"?"imageBlock":"imageInline"}function zi(o){return o&&o.endsWith("px")?parseInt(o):null}function Pi(o){const t=zi(o.getStyle("width")),e=zi(o.getStyle("height"));return!!(t&&e)}const CT=/^(image|image-inline)$/;class Ut extends P{constructor(){super(...arguments),this._domEmitter=new(Zt())}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,i={}){const r=this.editor,s=r.model,a=s.document.selection,c=yf(r,e||a,n);t={...Object.fromEntries(a.getAttributes()),...t};for(const l in t)s.schema.checkAttribute(c,l)||delete t[l];return s.change(l=>{const{setImageSizes:d=!0}=i,u=l.createElement(c,t);return s.insertObject(u,e,null,{setSelection:"on",findOptimalPosition:!e&&c!="imageInline"?"auto":void 0}),u.parent?(d&&this.setImageNaturalSizeAttributes(u),u):null})}setImageNaturalSizeAttributes(t){const e=t.getAttribute("src");e&&(t.getAttribute("width")||t.getAttribute("height")||this.editor.model.change(n=>{const i=new U.window.Image;this._domEmitter.listenTo(i,"load",()=>{!t.getAttribute("width")&&!t.getAttribute("height")&&this.editor.model.enqueueChange(n.batch,r=>{r.setAttribute("width",i.naturalWidth,t),r.setAttribute("height",i.naturalHeight,t)}),this._domEmitter.stopListening(i,"load")}),i.src=e}))}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")}getImageWidgetFromImageView(t){return t.findAncestor({classes:CT})}isImageAllowed(){const e=this.editor.model.document.selection;return _T(this.editor,e)&&vT(e)}toImageWidget(t,e,n){return e.setCustomProperty("image",!0,t),la(t,e,{label:()=>{const s=this.findViewImgElement(t).getAttribute("alt");return s?`${s} ${n}`:n}})}isImageWidget(t){return!!t.getCustomProperty("image")&&Mt(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}destroy(){return this._domEmitter.stopListening(),super.destroy()}}function _T(o,t){if(yf(o,t,null)=="imageBlock"){const n=yT(t,o.model);if(o.model.schema.checkChild(n,"imageBlock"))return!0}else if(o.model.schema.checkChild(t.focus,"imageInline"))return!0;return!1}function vT(o){return[...o.focus.getAncestors()].every(t=>!t.is("element","imageBlock"))}function yT(o,t){const n=Kg(o,t).start.parent;return n.isEmpty&&!n.is("element","$root")?n.parent:n}function yf(o,t,e){const n=o.model.schema,i=o.config.get("image.insert.type");return o.plugins.has("ImageBlockEditing")?o.plugins.has("ImageInlineEditing")?e||(i==="inline"?"imageInline":i!=="auto"?"imageBlock":t.is("selection")?ba(n,t):n.checkChild(t,"imageInline")?"imageInline":"imageBlock"):"imageBlock":"imageInline"}class xT extends X{refresh(){const n=this.editor.plugins.get("ImageUtils").getClosestSelectedImageElement(this.editor.model.document.selection);this.isEnabled=!!n,this.isEnabled&&n.hasAttribute("alt")?this.value=n.getAttribute("alt"):this.value=!1}execute(t){const e=this.editor,n=e.plugins.get("ImageUtils"),i=e.model,r=n.getClosestSelectedImageElement(i.document.selection);i.change(s=>{s.setAttribute("alt",t.newValue,r)})}}class ET extends P{static get requires(){return[Ut]}static get pluginName(){return"ImageTextAlternativeEditing"}init(){this.editor.commands.add("imageTextAlternative",new xT(this.editor))}}var xf=L(5269),wa={injectType:"singletonStyleTag",attributes:{"data-cke":!0}};wa.insert="head",wa.singleton=!0,F()(xf.Z,wa),xf.Z.locals;var Ef=L(6603),Aa={injectType:"singletonStyleTag",attributes:{"data-cke":!0}};Aa.insert="head",Aa.singleton=!0,F()(Ef.Z,Aa),Ef.Z.locals;class DT extends Y{constructor(t){super(t);const e=this.locale.t;this.focusTracker=new Ht,this.keystrokes=new ie,this.labeledInput=this._createLabeledInputView(),this.saveButtonView=this._createButton(e("Save"),dt.check,"ck-button-save"),this.saveButtonView.type="submit",this.cancelButtonView=this._createButton(e("Cancel"),dt.cancel,"ck-button-cancel","cancel"),this._focusables=new be,this._focusCycler=new Te({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]})}render(){super.render(),this.keystrokes.listenTo(this.element),h({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 r=new ht(this.locale);return r.set({label:t,icon:e,tooltip:!0}),r.extendTemplate({attributes:{class:n}}),i&&r.delegate("execute").to(this,i),r}_createLabeledInputView(){const t=this.locale.t,e=new Zo(this.locale,ki);return e.label=t("Text alternative"),e}}function ST(o){const t=o.plugins.get("ContextualBalloon");if(o.plugins.get("ImageUtils").getClosestSelectedImageWidget(o.editing.view.document.selection)){const n=Df(o);t.updatePosition(n)}}function Df(o){const t=o.editing.view,e=Rt.defaultPositions,n=o.plugins.get("ImageUtils");return{target:t.domConverter.mapViewToDom(n.getClosestSelectedImageWidget(t.document.selection)),positions:[e.northArrowSouth,e.northArrowSouthWest,e.northArrowSouthEast,e.southArrowNorth,e.southArrowNorthWest,e.southArrowNorthEast,e.viewportStickyNorth]}}class TT extends P{static get requires(){return[_i]}static get pluginName(){return"ImageTextAlternativeUI"}init(){this._createButton()}destroy(){super.destroy(),this._form&&this._form.destroy()}_createButton(){const t=this.editor,e=t.t;t.ui.componentFactory.add("imageTextAlternative",n=>{const i=t.commands.get("imageTextAlternative"),r=new ht(n);return r.set({label:e("Change image text alternative"),icon:dt.textAlternative,tooltip:!0}),r.bind("isEnabled").to(i,"isEnabled"),r.bind("isOn").to(i,"value",s=>!!s),this.listenTo(r,"execute",()=>{this._showForm()}),r})}_createForm(){const t=this.editor,n=t.editing.view.document,i=t.plugins.get("ImageUtils");this._balloon=this.editor.plugins.get("ContextualBalloon"),this._form=new(x(DT))(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",(r,s)=>{this._hideForm(!0),s()}),this.listenTo(t.ui,"update",()=>{i.getClosestSelectedImageWidget(n.selection)?this._isVisible&&ST(t):this._hideForm(!0)}),_({emitter:this._form,activator:()=>this._isVisible,contextElements:()=>[this._balloon.view.element],callback:()=>this._hideForm()})}_showForm(){if(this._isVisible)return;this._form||this._createForm();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:Df(t)}),n.fieldView.value=n.fieldView.element.value=e.value||"",this._form.labeledInput.fieldView.select(),this._form.enableCssTransitions()}_hideForm(t=!1){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&&this._balloon.visibleView===this._form}get _isInBalloon(){return!!this._balloon&&this._balloon.hasView(this._form)}}class Sf extends P{static get requires(){return[ET,TT]}static get pluginName(){return"ImageTextAlternative"}}function IT(o){const t=(e,n,i)=>{if(!i.consumable.test(n.viewItem,{name:!0,classes:"image"}))return;const r=o.findViewImgElement(n.viewItem);if(!r||!i.consumable.test(r,{name:!0}))return;i.consumable.consume(n.viewItem,{name:!0,classes:"image"});const s=i.convertItem(r,n.modelCursor),a=It(s.modelRange.getItems());if(!a){i.consumable.revert(n.viewItem,{name:!0,classes:"image"});return}i.convertChildren(n.viewItem,a),i.updateConversionResult(a,n)};return e=>{e.on("element:figure",t)}}function Tf(o,t){const e=(n,i,r)=>{if(!r.consumable.consume(i.item,n.name))return;const s=r.writer,a=r.mapper.toViewElement(i.item),c=o.findViewImgElement(a);i.attributeNewValue===null?(s.removeAttribute("srcset",c),s.removeAttribute("sizes",c)):i.attributeNewValue&&(s.setAttribute("srcset",i.attributeNewValue,c),s.setAttribute("sizes","100vw",c))};return n=>{n.on(`attribute:srcset:${t}`,e)}}function Li(o,t,e){const n=(i,r,s)=>{if(!s.consumable.consume(r.item,i.name))return;const a=s.writer,c=s.mapper.toViewElement(r.item),l=o.findViewImgElement(c);a.setAttribute(r.attributeKey,r.attributeNewValue||"",l)};return i=>{i.on(`attribute:${e}:${t}`,n)}}class Ca extends Ae{observe(t){this.listenTo(t,"load",(e,n)=>{const i=n.target;this.checkShouldIgnoreEventFromTarget(i)||i.tagName=="IMG"&&this._fireEvents(n)},{useCapture:!0})}stopObserving(t){this.stopListening(t)}_fireEvents(t){this.isEnabled&&(this.document.fire("layoutChanged"),this.document.fire("imageLoaded",t))}}class MT extends X{constructor(t){super(t);const e=t.config.get("image.insert.type");t.plugins.has("ImageBlockEditing")||e==="block"&&at("image-block-plugin-required"),t.plugins.has("ImageInlineEditing")||e==="inline"&&at("image-inline-plugin-required")}refresh(){const t=this.editor.plugins.get("ImageUtils");this.isEnabled=t.isImageAllowed()}execute(t){const e=Tt(t.source),n=this.editor.model.document.selection,i=this.editor.plugins.get("ImageUtils"),r=Object.fromEntries(n.getAttributes());e.forEach((s,a)=>{const c=n.getSelectedElement();if(typeof s=="string"&&(s={src:s}),a&&c&&i.isImage(c)){const l=this.editor.model.createPositionAfter(c);i.insertImage({...s,...r},l)}else i.insertImage({...s,...r})})}}class BT extends X{constructor(t){super(t),this.decorate("cleanupImage")}refresh(){const e=this.editor.plugins.get("ImageUtils"),n=this.editor.model.document.selection.getSelectedElement();this.isEnabled=e.isImage(n),this.value=this.isEnabled?n.getAttribute("src"):null}execute(t){const e=this.editor.model.document.selection.getSelectedElement(),n=this.editor.plugins.get("ImageUtils");this.editor.model.change(i=>{i.setAttribute("src",t.source,e),this.cleanupImage(i,e),n.setImageNaturalSizeAttributes(e)})}cleanupImage(t,e){t.removeAttribute("srcset",e),t.removeAttribute("sizes",e),t.removeAttribute("sources",e),t.removeAttribute("width",e),t.removeAttribute("height",e),t.removeAttribute("alt",e)}}class If extends P{static get requires(){return[Ut]}static get pluginName(){return"ImageEditing"}init(){const t=this.editor,e=t.conversion;t.editing.view.addObserver(Ca),e.for("upcast").attributeToAttribute({view:{name:"img",key:"alt"},model:"alt"}).attributeToAttribute({view:{name:"img",key:"srcset"},model:"srcset"});const n=new MT(t),i=new BT(t);t.commands.add("insertImage",n),t.commands.add("replaceImageSource",i),t.commands.add("imageInsert",n)}}class Mf extends P{static get requires(){return[Ut]}static get pluginName(){return"ImageSizeAttributes"}afterInit(){this._registerSchema(),this._registerConverters("imageBlock"),this._registerConverters("imageInline")}_registerSchema(){this.editor.plugins.has("ImageBlockEditing")&&this.editor.model.schema.extend("imageBlock",{allowAttributes:["width","height"]}),this.editor.plugins.has("ImageInlineEditing")&&this.editor.model.schema.extend("imageInline",{allowAttributes:["width","height"]})}_registerConverters(t){const e=this.editor,n=e.plugins.get("ImageUtils"),i=t==="imageBlock"?"figure":"img";e.conversion.for("upcast").attributeToAttribute({view:{name:i,styles:{width:/.+/}},model:{key:"width",value:s=>Pi(s)?zi(s.getStyle("width")):null}}).attributeToAttribute({view:{name:i,key:"width"},model:"width"}).attributeToAttribute({view:{name:i,styles:{height:/.+/}},model:{key:"height",value:s=>Pi(s)?zi(s.getStyle("height")):null}}).attributeToAttribute({view:{name:i,key:"height"},model:"height"}),e.conversion.for("editingDowncast").add(s=>{r(s,"width","width",!0),r(s,"height","height",!0)}),e.conversion.for("dataDowncast").add(s=>{r(s,"width","width",!1),r(s,"height","height",!1)});function r(s,a,c,l){s.on(`attribute:${a}:${t}`,(d,u,f)=>{if(!f.consumable.consume(u.item,d.name))return;const p=f.writer,w=f.mapper.toViewElement(u.item),S=n.findViewImgElement(w);if(u.attributeNewValue!==null?p.setAttribute(c,u.attributeNewValue,S):p.removeAttribute(c,S),u.item.hasAttribute("sources"))return;const B=u.item.hasAttribute("resizedWidth");if(t==="imageInline"&&!B&&!l)return;const z=u.item.getAttribute("width"),V=u.item.getAttribute("height");z&&V&&p.setStyle("aspect-ratio",`${z}/${V}`,S)})}}}class Bf extends X{constructor(t,e){super(t),this._modelElementName=e}refresh(){const e=this.editor.plugins.get("ImageUtils"),n=e.getClosestSelectedImageElement(this.editor.model.document.selection);this._modelElementName==="imageBlock"?this.isEnabled=e.isInlineImage(n):this.isEnabled=e.isBlockImage(n)}execute(t={}){const e=this.editor,n=this.editor.model,i=e.plugins.get("ImageUtils"),r=i.getClosestSelectedImageElement(n.document.selection),s=Object.fromEntries(r.getAttributes());return!s.src&&!s.uploadId?null:n.change(a=>{const{setImageSizes:c=!0}=t,l=Array.from(n.markers).filter(f=>f.getRange().containsItem(r)),d=i.insertImage(s,n.createSelection(r,"on"),this._modelElementName,{setImageSizes:c});if(!d)return null;const u=a.createRangeOn(d);for(const f of l){const p=f.getRange(),w=p.root.rootName!="$graveyard"?p.getJoined(u,!0):u;a.updateMarker(f,{range:w})}return{oldElement:r,newElement:d}})}}var Nf=L(31),_a={injectType:"singletonStyleTag",attributes:{"data-cke":!0}};_a.insert="head",_a.singleton=!0,F()(Nf.Z,_a),Nf.Z.locals;class zf extends P{static get requires(){return[Ut]}static get pluginName(){return"ImagePlaceholder"}afterInit(){this._setupSchema(),this._setupConversion(),this._setupLoadListener()}_setupSchema(){const t=this.editor.model.schema;t.isRegistered("imageBlock")&&t.extend("imageBlock",{allowAttributes:["placeholder"]}),t.isRegistered("imageInline")&&t.extend("imageInline",{allowAttributes:["placeholder"]})}_setupConversion(){const t=this.editor,e=t.conversion,n=t.plugins.get("ImageUtils");e.for("editingDowncast").add(i=>{i.on("attribute:placeholder",(r,s,a)=>{if(!a.consumable.test(s.item,r.name)||!s.item.is("element","imageBlock")&&!s.item.is("element","imageInline"))return;a.consumable.consume(s.item,r.name);const c=a.writer,l=a.mapper.toViewElement(s.item),d=n.findViewImgElement(l);s.attributeNewValue?(c.addClass("image_placeholder",d),c.setStyle("background-image",`url(${s.attributeNewValue})`,d),c.setCustomProperty("editingPipeline:doNotReuseOnce",!0,d)):(c.removeClass("image_placeholder",d),c.removeStyle("background-image",d))})})}_setupLoadListener(){const t=this.editor,e=t.model,n=t.editing,i=n.view,r=t.plugins.get("ImageUtils");i.addObserver(Ca),this.listenTo(i.document,"imageLoaded",(s,a)=>{const c=i.domConverter.mapDomToView(a.target);if(!c)return;const l=r.getImageWidgetFromImageView(c);if(!l)return;const d=n.mapper.toModelElement(l);!d||!d.hasAttribute("placeholder")||e.enqueueChange({isUndoable:!1},u=>{u.removeAttribute("placeholder",d)})})}}class Pf extends P{static get requires(){return[If,Mf,Ut,zf,ve]}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 Bf(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:(r,{writer:s})=>_f(s)}),n.for("editingDowncast").elementToStructure({model:"imageBlock",view:(r,{writer:s})=>i.toImageWidget(_f(s),s,e("image widget"))}),n.for("downcast").add(Li(i,"imageBlock","src")).add(Li(i,"imageBlock","alt")).add(Tf(i,"imageBlock")),n.for("upcast").elementToElement({view:vf(t,"imageBlock"),model:(r,{writer:s})=>s.createElement("imageBlock",r.hasAttribute("src")?{src:r.getAttribute("src")}:void 0)}).add(IT(i))}_setupClipboardIntegration(){const t=this.editor,e=t.model,n=t.editing.view,i=t.plugins.get("ImageUtils"),r=t.plugins.get("ClipboardPipeline");this.listenTo(r,"inputTransformation",(s,a)=>{const c=Array.from(a.content.getChildren());let l;if(!c.every(i.isInlineImageView))return;a.targetRanges?l=t.editing.mapper.toModelRange(a.targetRanges[0]):l=e.document.selection.getFirstRange();const d=e.createSelection(l);if(ba(e.schema,d)==="imageBlock"){const u=new He(n.document),f=c.map(p=>u.createElement("figure",{class:"image"},p));a.content=u.createDocumentFragment(f)}}),this.listenTo(r,"contentInsertion",(s,a)=>{a.method==="paste"&&e.change(c=>{const l=c.createRangeIn(a.content);for(const d of l.getItems())d.is("element","imageBlock")&&i.setImageNaturalSizeAttributes(d)})})}}var Lf=L(8879),va={injectType:"singletonStyleTag",attributes:{"data-cke":!0}};va.insert="head",va.singleton=!0,F()(Lf.Z,va),Lf.Z.locals;class NT extends Y{constructor(t,e=[]){super(t),this.focusTracker=new Ht,this.keystrokes=new ie,this._focusables=new be,this.children=this.createCollection(),this._focusCycler=new Te({focusables:this._focusables,focusTracker:this.focusTracker,keystrokeHandler:this.keystrokes,actions:{focusPrevious:"shift + tab",focusNext:"tab"}});for(const n of e)this.children.add(n),this._focusables.add(n),n instanceof s5&&this._focusables.addMany(n.children);if(this._focusables.length>1)for(const n of this._focusables)zT(n)&&(n.focusCycler.on("forwardCycle",i=>{this._focusCycler.focusNext(),i.stop()}),n.focusCycler.on("backwardCycle",i=>{this._focusCycler.focusPrevious(),i.stop()}));this.setTemplate({tag:"form",attributes:{class:["ck","ck-image-insert-form"],tabindex:-1},children:this.children})}render(){super.render(),h({view:this});for(const e of this._focusables)this.focusTracker.add(e.element);this.keystrokes.listenTo(this.element);const t=e=>e.stopPropagation();this.keystrokes.set("arrowright",t),this.keystrokes.set("arrowleft",t),this.keystrokes.set("arrowup",t),this.keystrokes.set("arrowdown",t)}destroy(){super.destroy(),this.focusTracker.destroy(),this.keystrokes.destroy()}focus(){this._focusCycler.focusFirst()}}function zT(o){return"focusCycler"in o}class Of extends P{static get pluginName(){return"ImageInsertUI"}static get requires(){return[Ut]}constructor(t){super(t),this._integrations=new Map,t.config.define("image.insert.integrations",["upload","assetManager","url"])}init(){const t=this.editor,e=t.model.document.selection,n=t.plugins.get("ImageUtils");this.set("isImageSelected",!1),this.listenTo(t.model.document,"change",()=>{this.isImageSelected=n.isImage(e.getSelectedElement())});const i=r=>this._createToolbarComponent(r);t.ui.componentFactory.add("insertImage",i),t.ui.componentFactory.add("imageInsert",i)}registerIntegration({name:t,observable:e,buttonViewCreator:n,formViewCreator:i,requiresForm:r}){this._integrations.has(t)&&at("image-insert-integration-exists",{name:t}),this._integrations.set(t,{observable:e,buttonViewCreator:n,formViewCreator:i,requiresForm:!!r})}_createToolbarComponent(t){const e=this.editor,n=t.t,i=this._prepareIntegrations();if(!i.length)return null;let r;const s=i[0];if(i.length==1){if(!s.requiresForm)return s.buttonViewCreator(!0);r=s.buttonViewCreator(!0)}else{const l=s.buttonViewCreator(!1);r=new pi(t,l),r.tooltip=!0,r.bind("label").to(this,"isImageSelected",d=>n(d?"Replace image":"Insert image"))}const a=this.dropdownView=_e(t,r),c=i.map(({observable:l})=>l);return a.bind("isEnabled").toMany(c,"isEnabled",(...l)=>l.some(d=>d)),a.once("change:isOpen",()=>{const l=i.map(({formViewCreator:u})=>u(i.length==1)),d=new NT(e.locale,l);a.panelView.children.add(d)}),a}_prepareIntegrations(){const e=this.editor.config.get("image.insert.integrations"),n=[];if(!e.length)return at("image-insert-integrations-not-specified"),n;for(const i of e){if(!this._integrations.has(i)){["upload","assetManager","url"].includes(i)||at("image-insert-unknown-integration",{item:i});continue}n.push(this._integrations.get(i))}return n.length||at("image-insert-integrations-not-registered"),n}}var Rf=L(2430),ya={injectType:"singletonStyleTag",attributes:{"data-cke":!0}};ya.insert="head",ya.singleton=!0,F()(Rf.Z,ya),Rf.Z.locals;class PT extends P{static get requires(){return[Pf,So,Sf,Of]}static get pluginName(){return"ImageBlock"}}class LT extends P{static get requires(){return[If,Mf,Ut,zf,ve]}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((n,i)=>{if(n.endsWith("caption")&&i.name==="imageInline")return!1}),this._setupConversion(),t.plugins.has("ImageBlockEditing")&&(t.commands.add("imageTypeInline",new Bf(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:(r,{writer:s})=>s.createEmptyElement("img")}),n.for("editingDowncast").elementToStructure({model:"imageInline",view:(r,{writer:s})=>i.toImageWidget(AT(s),s,e("image widget"))}),n.for("downcast").add(Li(i,"imageInline","src")).add(Li(i,"imageInline","alt")).add(Tf(i,"imageInline")),n.for("upcast").elementToElement({view:vf(t,"imageInline"),model:(r,{writer:s})=>s.createElement("imageInline",r.hasAttribute("src")?{src:r.getAttribute("src")}:void 0)})}_setupClipboardIntegration(){const t=this.editor,e=t.model,n=t.editing.view,i=t.plugins.get("ImageUtils"),r=t.plugins.get("ClipboardPipeline");this.listenTo(r,"inputTransformation",(s,a)=>{const c=Array.from(a.content.getChildren());let l;if(!c.every(i.isBlockImageView))return;a.targetRanges?l=t.editing.mapper.toModelRange(a.targetRanges[0]):l=e.document.selection.getFirstRange();const d=e.createSelection(l);if(ba(e.schema,d)==="imageInline"){const u=new He(n.document),f=c.map(p=>p.childCount===1?(Array.from(p.getAttributes()).forEach(w=>u.setAttribute(...w,i.findViewImgElement(p))),p.getChild(0)):p);a.content=u.createDocumentFragment(f)}}),this.listenTo(r,"contentInsertion",(s,a)=>{a.method==="paste"&&e.change(c=>{const l=c.createRangeIn(a.content);for(const d of l.getItems())d.is("element","imageInline")&&i.setImageNaturalSizeAttributes(d)})})}}class OT extends P{static get requires(){return[LT,So,Sf,Of]}static get pluginName(){return"ImageInline"}}class RT extends P{static get requires(){return[PT,OT]}static get pluginName(){return"Image"}}class jf extends P{static get pluginName(){return"ImageCaptionUtils"}static get requires(){return[Ut]}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 t.name=="figcaption"&&e.isBlockImageView(t.parent)?{name:!0}:null}}class jT extends X{refresh(){const t=this.editor,e=t.plugins.get("ImageCaptionUtils"),n=t.plugins.get("ImageUtils");if(!t.plugins.has(Pf)){this.isEnabled=!1,this.value=!1;return}const i=t.model.document.selection,r=i.getSelectedElement();if(!r){const s=e.getCaptionFromModelSelection(i);this.isEnabled=!!s,this.value=!!s;return}this.isEnabled=n.isImage(r),this.isEnabled?this.value=!!e.getCaptionFromImageModelElement(r):this.value=!1}execute(t={}){const{focusCaptionOnShow:e}=t;this.editor.model.change(n=>{this.value?this._hideImageCaption(n):this._showImageCaption(n,e)})}_showImageCaption(t,e){const i=this.editor.model.document.selection,r=this.editor.plugins.get("ImageCaptionEditing"),s=this.editor.plugins.get("ImageUtils");let a=i.getSelectedElement();const c=r._getSavedCaption(a);s.isInlineImage(a)&&(this.editor.execute("imageTypeBlock"),a=i.getSelectedElement());const l=c||t.createElement("caption");t.append(l,a),e&&t.setSelection(l,"in")}_hideImageCaption(t){const e=this.editor,n=e.model.document.selection,i=e.plugins.get("ImageCaptionEditing"),r=e.plugins.get("ImageCaptionUtils");let s=n.getSelectedElement(),a;s?a=r.getCaptionFromImageModelElement(s):(a=r.getCaptionFromModelSelection(n),s=a.parent),i._saveCaption(s,a),t.setSelection(s,"on"),t.remove(a)}}class FT extends P{static get requires(){return[Ut,jf]}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 jT(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"),r=t.t;t.conversion.for("upcast").elementToElement({view:s=>i.matchImageCaptionViewElement(s),model:"caption"}),t.conversion.for("dataDowncast").elementToElement({model:"caption",view:(s,{writer:a})=>n.isBlockImage(s.parent)?a.createContainerElement("figcaption"):null}),t.conversion.for("editingDowncast").elementToElement({model:"caption",view:(s,{writer:a})=>{if(!n.isBlockImage(s.parent))return null;const c=a.createEditableElement("figcaption");a.setCustomProperty("imageCaption",!0,c),c.placeholder=r("Enter image caption"),Ed({view:e,element:c,keepOnFocus:!0});const l=s.parent.getAttribute("alt"),d=l?r("Caption for image: %0",[l]):r("Caption for the image");return $g(c,a,{label:d})}})}_setupImageTypeCommandsIntegration(){const t=this.editor,e=t.plugins.get("ImageUtils"),n=t.plugins.get("ImageCaptionUtils"),i=t.commands.get("imageTypeInline"),r=t.commands.get("imageTypeBlock"),s=a=>{if(!a.return)return;const{oldElement:c,newElement:l}=a.return;if(!c)return;if(e.isBlockImage(c)){const u=n.getCaptionFromImageModelElement(c);if(u){this._saveCaption(l,u);return}}const d=this._getSavedCaption(c);d&&this._saveCaption(l,d)};i&&this.listenTo(i,"execute",s,{priority:"low"}),r&&this.listenTo(r,"execute",s,{priority:"low"})}_getSavedCaption(t){const e=this._savedCaptionsMap.get(t);return e?lt.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 r=e.document.differ.getChanges();for(const s of r){if(s.attributeKey!=="alt")continue;const a=s.range.start.nodeAfter;if(n.isBlockImage(a)){const c=i.getCaptionFromImageModelElement(a);if(!c)return;t.editing.reconvertItem(c)}}})}}class VT extends P{static get requires(){return[jf]}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",r=>{const s=t.commands.get("toggleImageCaption"),a=new ht(r);return a.set({icon:dt.caption,tooltip:!0,isToggleable:!0}),a.bind("isOn","isEnabled").to(s,"value","isEnabled"),a.bind("label").to(s,"value",c=>i(c?"Toggle caption off":"Toggle caption on")),this.listenTo(a,"execute",()=>{t.execute("toggleImageCaption",{focusCaptionOnShow:!0});const c=n.getCaptionFromModelSelection(t.model.document.selection);if(c){const l=t.editing.mapper.toViewElement(c);e.scrollToTheSelection(),e.change(d=>{d.addClass("image__caption_highlighted",l)})}t.editing.view.focus()}),a})}}var Ff=L(2423),xa={injectType:"singletonStyleTag",attributes:{"data-cke":!0}};xa.insert="head",xa.singleton=!0,F()(Ff.Z,xa),Ff.Z.locals;class HT extends P{static get requires(){return[FT,VT]}static get pluginName(){return"ImageCaption"}}class UT extends rt(){constructor(){super();const t=new window.FileReader;this._reader=t,this._data=void 0,this.set("loaded",0),t.onprogress=e=>{this.loaded=e.loaded}}get error(){return this._reader.error}get data(){return this._data}read(t){const e=this._reader;return this.total=t.size,new Promise((n,i)=>{e.onload=()=>{const r=e.result;this._data=r,n(r)},e.onerror=()=>{i("error")},e.onabort=()=>{i("aborted")},this._reader.readAsDataURL(t)})}abort(){this._reader.abort()}}class un extends P{constructor(){super(...arguments),this.loaders=new oe,this._loadersMap=new Map,this._pendingAction=null}static get pluginName(){return"FileRepository"}static get requires(){return[fi]}init(){this.loaders.on("change",()=>this._updatePendingAction()),this.set("uploaded",0),this.set("uploadTotal",null),this.bind("uploadedPercent").to(this,"uploaded",this,"uploadTotal",(t,e)=>e?t/e*100:0)}getLoader(t){return this._loadersMap.get(t)||null}createLoader(t){if(!this.createUploadAdapter)return at("filerepository-no-upload-adapter"),null;const e=new Vf(Promise.resolve(t),this.createUploadAdapter);return this.loaders.add(e),this._loadersMap.set(t,e),t instanceof Promise&&e.file.then(n=>{this._loadersMap.set(n,e)}).catch(()=>{}),e.on("change:uploaded",()=>{let n=0;for(const i of this.loaders)n+=i.uploaded;this.uploaded=n}),e.on("change:uploadTotal",()=>{let n=0;for(const i of this.loaders)i.uploadTotal&&(n+=i.uploadTotal);this.uploadTotal=n}),e}destroyLoader(t){const e=t instanceof Vf?t:this.getLoader(t);e._destroy(),this.loaders.remove(e),this._loadersMap.forEach((n,i)=>{n===e&&this._loadersMap.delete(i)})}_updatePendingAction(){const t=this.editor.plugins.get(fi);if(this.loaders.length){if(!this._pendingAction){const e=this.editor.t,n=i=>`${e("Upload in progress")} ${parseInt(i)}%.`;this._pendingAction=t.add(n(this.uploadedPercent)),this._pendingAction.bind("message").to(this,"uploadedPercent",n)}}else t.remove(this._pendingAction),this._pendingAction=null}}class Vf extends rt(){constructor(t,e){super(),this.id=qt(),this._filePromiseWrapper=this._createFilePromiseWrapper(t),this._adapter=e(this),this._reader=new UT,this.set("status","idle"),this.set("uploaded",0),this.set("uploadTotal",null),this.bind("uploadedPercent").to(this,"uploaded",this,"uploadTotal",(n,i)=>i?n/i*100:0),this.set("uploadResponse",null)}get file(){return this._filePromiseWrapper?this._filePromiseWrapper.promise.then(t=>this._filePromiseWrapper?t:null):Promise.resolve(null)}get data(){return this._reader.data}read(){if(this.status!="idle")throw new b("filerepository-read-wrong-status",this);return this.status="reading",this.file.then(t=>this._reader.read(t)).then(t=>{if(this.status!=="reading")throw this.status;return this.status="idle",t}).catch(t=>{throw t==="aborted"?(this.status="aborted","aborted"):(this.status="error",this._reader.error?this._reader.error:t)})}upload(){if(this.status!="idle")throw new b("filerepository-upload-wrong-status",this);return this.status="uploading",this.file.then(()=>this._adapter.upload()).then(t=>(this.uploadResponse=t,this.status="idle",t)).catch(t=>{throw this.status==="aborted"?"aborted":(this.status="error",t)})}abort(){const t=this.status;this.status="aborted",this._filePromiseWrapper.isFulfilled?t=="reading"?this._reader.abort():t=="uploading"&&this._adapter.abort&&this._adapter.abort():(this._filePromiseWrapper.promise.catch(()=>{}),this._filePromiseWrapper.rejecter("aborted")),this._destroy()}_destroy(){this._filePromiseWrapper=void 0,this._reader=void 0,this._adapter=void 0,this.uploadResponse=void 0}_createFilePromiseWrapper(t){const e={};return e.promise=new Promise((n,i)=>{e.rejecter=i,e.isFulfilled=!1,t.then(r=>{e.isFulfilled=!0,n(r)}).catch(r=>{e.isFulfilled=!0,i(r)})}),e}}class qT extends ht{constructor(t){super(t),this.buttonView=this,this._fileInputView=new WT(t),this._fileInputView.bind("acceptedType").to(this),this._fileInputView.bind("allowMultipleFiles").to(this),this._fileInputView.delegate("done").to(this),this.on("execute",()=>{this._fileInputView.open()}),this.extendTemplate({attributes:{class:"ck-file-dialog-button"}})}render(){super.render(),this.children.add(this._fileInputView)}}class WT extends Y{constructor(t){super(t),this.set("acceptedType",void 0),this.set("allowMultipleFiles",!1);const e=this.bindTemplate;this.setTemplate({tag:"input",attributes:{class:["ck-hidden"],type:"file",tabindex:"-1",accept:e.to("acceptedType"),multiple:e.to("allowMultipleFiles")},on:{change:e.to(()=>{this.element&&this.element.files&&this.element.files.length&&this.fire("done",this.element.files),this.element.value=""})}})}open(){this.element.click()}}class GT extends P{static get requires(){return[un]}static get pluginName(){return"Base64UploadAdapter"}init(){this.editor.plugins.get(un).createUploadAdapter=t=>new $T(t)}}class $T{constructor(t){this.loader=t}upload(){return new Promise((t,e)=>{const n=this.reader=new window.FileReader;n.addEventListener("load",()=>{t({default:n.result})}),n.addEventListener("error",i=>{e(i)}),n.addEventListener("abort",()=>{e()}),this.loader.file.then(i=>{n.readAsDataURL(i)})})}abort(){this.reader.abort()}}function Hf(o){const t=o.map(e=>e.replace("+","\\+"));return new RegExp(`^image\\/(${t.join("|")})$`)}function KT(o){return new Promise((t,e)=>{const n=o.getAttribute("src");fetch(n).then(i=>i.blob()).then(i=>{const r=Uf(i,n),a=`image.${r.replace("image/","")}`,c=new File([i],a,{type:r});t(c)}).catch(i=>i&&i.name==="TypeError"?YT(n).then(t).catch(e):e(i))})}function ZT(o,t){return!o.isInlineImageView(t)||!t.getAttribute("src")?!1:!!t.getAttribute("src").match(/^data:image\/\w+;base64,/g)||!!t.getAttribute("src").match(/^blob:/g)}function Uf(o,t){return o.type?o.type:t.match(/data:(image\/\w+);base64/)?t.match(/data:(image\/\w+);base64/)[1].toLowerCase():"image/jpeg"}function YT(o){return QT(o).then(t=>{const e=Uf(t,o),i=`image.${e.replace("image/","")}`;return new File([t],i,{type:e})})}function QT(o){return new Promise((t,e)=>{const n=U.document.createElement("img");n.addEventListener("load",()=>{const i=U.document.createElement("canvas");i.width=n.width,i.height=n.height,i.getContext("2d").drawImage(n,0,0),i.toBlob(s=>s?t(s):e())}),n.addEventListener("error",()=>e()),n.src=o})}class JT extends P{static get pluginName(){return"ImageUploadUI"}init(){const t=this.editor,e=t.t,n=i=>{const r=new qT(i),s=t.commands.get("uploadImage"),a=t.config.get("image.upload.types"),c=Hf(a);return r.set({acceptedType:a.map(l=>`image/${l}`).join(","),allowMultipleFiles:!0,label:e("Upload image from computer"),icon:dt.imageUpload,tooltip:!0}),r.bind("isEnabled").to(s),r.on("done",(l,d)=>{const u=Array.from(d).filter(f=>c.test(f.type));u.length&&(t.execute("uploadImage",{file:u}),t.editing.view.focus())}),r};if(t.ui.componentFactory.add("uploadImage",n),t.ui.componentFactory.add("imageUpload",n),t.plugins.has("ImageInsertUI")){const i=t.plugins.get("ImageInsertUI"),r=t.commands.get("uploadImage");i.registerIntegration({name:"upload",observable:r,buttonViewCreator:()=>{const s=t.ui.componentFactory.create("uploadImage");return s.bind("label").to(i,"isImageSelected",a=>e(a?"Replace image from computer":"Upload image from computer")),s},formViewCreator:()=>{const s=t.ui.componentFactory.create("uploadImage");return s.withText=!0,s.bind("label").to(i,"isImageSelected",a=>e(a?"Replace from computer":"Upload from computer")),s.on("execute",()=>{i.dropdownView.isOpen=!1}),s}})}}}var qf=L(2926),Ea={injectType:"singletonStyleTag",attributes:{"data-cke":!0}};Ea.insert="head",Ea.singleton=!0,F()(qf.Z,Ea),qf.Z.locals;var Wf=L(1547),Da={injectType:"singletonStyleTag",attributes:{"data-cke":!0}};Da.insert="head",Da.singleton=!0,F()(Wf.Z,Da),Wf.Z.locals;var Gf=L(6618),Sa={injectType:"singletonStyleTag",attributes:{"data-cke":!0}};Sa.insert="head",Sa.singleton=!0,F()(Gf.Z,Sa),Gf.Z.locals;class XT extends P{static get pluginName(){return"ImageUploadProgress"}constructor(t){super(t),this.uploadStatusChange=(e,n,i)=>{const r=this.editor,s=n.item,a=s.getAttribute("uploadId");if(!i.consumable.consume(n.item,e.name))return;const c=r.plugins.get("ImageUtils"),l=r.plugins.get(un),d=a?n.attributeNewValue:null,u=this.placeholder,f=r.editing.mapper.toViewElement(s),p=i.writer;if(d=="reading"){$f(f,p),Kf(c,u,f,p);return}if(d=="uploading"){const w=l.loaders.get(a);$f(f,p),w?(Zf(f,p),eI(f,p,w,r.editing.view),sI(c,f,p,w)):Kf(c,u,f,p);return}d=="complete"&&l.loaders.get(a)&&oI(f,p,r.editing.view),nI(f,p),Zf(f,p),tI(f,p)},this.placeholder="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw=="}init(){const t=this.editor;t.plugins.has("ImageBlockEditing")&&t.editing.downcastDispatcher.on("attribute:uploadStatus:imageBlock",this.uploadStatusChange),t.plugins.has("ImageInlineEditing")&&t.editing.downcastDispatcher.on("attribute:uploadStatus:imageInline",this.uploadStatusChange)}}function $f(o,t){o.hasClass("ck-appear")||t.addClass("ck-appear",o)}function tI(o,t){t.removeClass("ck-appear",o)}function Kf(o,t,e,n){e.hasClass("ck-image-upload-placeholder")||n.addClass("ck-image-upload-placeholder",e);const i=o.findViewImgElement(e);i.getAttribute("src")!==t&&n.setAttribute("src",t,i),Yf(e,"placeholder")||n.insert(n.createPositionAfter(i),rI(n))}function Zf(o,t){o.hasClass("ck-image-upload-placeholder")&&t.removeClass("ck-image-upload-placeholder",o),Qf(o,t,"placeholder")}function eI(o,t,e,n){const i=iI(t);t.insert(t.createPositionAt(o,"end"),i),e.on("change:uploadedPercent",(r,s,a)=>{n.change(c=>{c.setStyle("width",a+"%",i)})})}function nI(o,t){Qf(o,t,"progressBar")}function oI(o,t,e){const n=t.createUIElement("div",{class:"ck-image-upload-complete-icon"});t.insert(t.createPositionAt(o,"end"),n),setTimeout(()=>{e.change(i=>i.remove(i.createRangeOn(n)))},3e3)}function iI(o){const t=o.createUIElement("div",{class:"ck-progress-bar"});return o.setCustomProperty("progressBar",!0,t),t}function rI(o){const t=o.createUIElement("div",{class:"ck-upload-placeholder-loader"});return o.setCustomProperty("placeholder",!0,t),t}function Yf(o,t){for(const e of o.getChildren())if(e.getCustomProperty(t))return e}function Qf(o,t,e){const n=Yf(o,e);n&&t.remove(t.createRangeOn(n))}function sI(o,t,e,n){if(n.data){const i=o.findViewImgElement(t);e.setAttribute("src",n.data,i)}}class aI extends X{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=Tt(t.file),n=this.editor.model.document.selection,i=this.editor.plugins.get("ImageUtils"),r=Object.fromEntries(n.getAttributes());e.forEach((s,a)=>{const c=n.getSelectedElement();if(a&&c&&i.isImage(c)){const l=this.editor.model.createPositionAfter(c);this._uploadImage(s,r,l)}else this._uploadImage(s,r)})}_uploadImage(t,e,n){const i=this.editor,s=i.plugins.get(un).createLoader(t),a=i.plugins.get("ImageUtils");s&&a.insertImage({...e,uploadId:s.id},n)}}class cI extends P{static get requires(){return[un,tg,ve,Ut]}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(un),r=t.plugins.get("ImageUtils"),s=t.plugins.get("ClipboardPipeline"),a=Hf(t.config.get("image.upload.types")),c=new aI(t);t.commands.add("uploadImage",c),t.commands.add("imageUpload",c),n.for("upcast").attributeToAttribute({view:{name:"img",key:"uploadId"},model:"uploadId"}),this.listenTo(t.editing.view.document,"clipboardInput",(l,d)=>{if(lI(d.dataTransfer))return;const u=Array.from(d.dataTransfer.files).filter(f=>f?a.test(f.type):!1);u.length&&(l.stop(),t.model.change(f=>{d.targetRanges&&f.setSelection(d.targetRanges.map(p=>t.editing.mapper.toModelRange(p))),t.execute("uploadImage",{file:u})}))}),this.listenTo(s,"inputTransformation",(l,d)=>{const u=Array.from(t.editing.view.createRangeIn(d.content)).map(p=>p.item).filter(p=>ZT(r,p)&&!p.getAttribute("uploadProcessed")).map(p=>({promise:KT(p),imageElement:p}));if(!u.length)return;const f=new He(t.editing.view.document);for(const p of u){f.setAttribute("uploadProcessed",!0,p.imageElement);const w=i.createLoader(p.promise);w&&(f.setAttribute("src","",p.imageElement),f.setAttribute("uploadId",w.id,p.imageElement))}}),t.editing.view.document.on("dragover",(l,d)=>{d.preventDefault()}),e.on("change",()=>{const l=e.differ.getChanges({includeChangesInGraveyard:!0}).reverse(),d=new Set;for(const u of l)if(u.type=="insert"&&u.name!="$text"){const f=u.position.nodeAfter,p=u.position.root.rootName=="$graveyard";for(const w of dI(t,f)){const S=w.getAttribute("uploadId");if(!S)continue;const B=i.loaders.get(S);B&&(p?d.has(S)||B.abort():(d.add(S),this._uploadImageElements.set(S,w),B.status=="idle"&&this._readAndUpload(B)))}}}),this.on("uploadComplete",(l,{imageElement:d,data:u})=>{const f=u.urls?u.urls:u;this.editor.model.change(p=>{p.setAttribute("src",f.default,d),this._parseAndSetSrcsetAttributeOnImage(f,d,p),r.setImageNaturalSizeAttributes(d)})},{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,r=e.plugins.get(un),s=e.plugins.get(tg),a=e.plugins.get("ImageUtils"),c=this._uploadImageElements;return n.enqueueChange({isUndoable:!1},d=>{d.setAttribute("uploadStatus","reading",c.get(t.id))}),t.read().then(()=>{const d=t.upload(),u=c.get(t.id);if(g.isSafari){const f=e.editing.mapper.toViewElement(u),p=a.findViewImgElement(f);e.editing.view.once("render",()=>{if(!p.parent)return;const w=e.editing.view.domConverter.mapViewToDom(p.parent);if(!w)return;const S=w.style.display;w.style.display="none",w._ckHack=w.offsetHeight,w.style.display=S})}return n.enqueueChange({isUndoable:!1},f=>{f.setAttribute("uploadStatus","uploading",u)}),d}).then(d=>{n.enqueueChange({isUndoable:!1},u=>{const f=c.get(t.id);u.setAttribute("uploadStatus","complete",f),this.fire("uploadComplete",{data:d,imageElement:f})}),l()}).catch(d=>{if(t.status!=="error"&&t.status!=="aborted")throw d;t.status=="error"&&d&&s.showWarning(d,{title:i("Upload failed"),namespace:"upload"}),n.enqueueChange({isUndoable:!1},u=>{u.remove(c.get(t.id))}),l()});function l(){n.enqueueChange({isUndoable:!1},d=>{const u=c.get(t.id);d.removeAttribute("uploadId",u),d.removeAttribute("uploadStatus",u),c.delete(t.id)}),r.destroyLoader(t)}}_parseAndSetSrcsetAttributeOnImage(t,e,n){let i=0;const r=Object.keys(t).filter(s=>{const a=parseInt(s,10);if(!isNaN(a))return i=Math.max(i,a),!0}).map(s=>`${t[s]} ${s}w`).join(", ");if(r!=""){const s={srcset:r};!e.hasAttribute("width")&&!e.hasAttribute("height")&&(s.width=i),n.setAttributes(s,e)}}}function lI(o){return Array.from(o.types).includes("text/html")&&o.getData("text/html")!==""}function dI(o,t){const e=o.plugins.get("ImageUtils");return Array.from(o.model.createRangeOn(t)).filter(n=>e.isImage(n.item)).map(n=>n.item)}class uI extends P{static get pluginName(){return"ImageUpload"}static get requires(){return[cI,JT,XT]}}class hI extends X{refresh(){const t=this.editor,n=t.plugins.get("ImageUtils").getClosestSelectedImageElement(t.model.document.selection);this.isEnabled=!!n,!n||!n.hasAttribute("resizedWidth")?this.value=null:this.value={width:n.getAttribute("resizedWidth"),height:null}}execute(t){const e=this.editor,n=e.model,i=e.plugins.get("ImageUtils"),r=i.getClosestSelectedImageElement(n.document.selection);this.value={width:t.width,height:null},r&&n.change(s=>{s.setAttribute("resizedWidth",t.width,r),s.removeAttribute("resizedHeight",r),i.setImageNaturalSizeAttributes(r)})}}class Jf extends P{static get requires(){return[Ut]}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 hI(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:["resizedWidth","resizedHeight"]}),this.editor.plugins.has("ImageInlineEditing")&&this.editor.model.schema.extend("imageInline",{allowAttributes:["resizedWidth","resizedHeight"]})}_registerConverters(t){const e=this.editor,n=e.plugins.get("ImageUtils");e.conversion.for("downcast").add(i=>i.on(`attribute:resizedWidth:${t}`,(r,s,a)=>{if(!a.consumable.consume(s.item,r.name))return;const c=a.writer,l=a.mapper.toViewElement(s.item);s.attributeNewValue!==null?(c.setStyle("width",s.attributeNewValue,l),c.addClass("image_resized",l)):(c.removeStyle("width",l),c.removeClass("image_resized",l))})),e.conversion.for("dataDowncast").attributeToAttribute({model:{name:t,key:"resizedHeight"},view:i=>({key:"style",value:{height:i}})}),e.conversion.for("editingDowncast").add(i=>i.on(`attribute:resizedHeight:${t}`,(r,s,a)=>{if(!a.consumable.consume(s.item,r.name))return;const c=a.writer,l=a.mapper.toViewElement(s.item),d=t==="imageInline"?n.findViewImgElement(l):l;s.attributeNewValue!==null?c.setStyle("height",s.attributeNewValue,d):c.removeStyle("height",d)})),e.conversion.for("upcast").attributeToAttribute({view:{name:t==="imageBlock"?"figure":"img",styles:{width:/.+/}},model:{key:"resizedWidth",value:i=>Pi(i)?null:i.getStyle("width")}}),e.conversion.for("upcast").attributeToAttribute({view:{name:t==="imageBlock"?"figure":"img",styles:{height:/.+/}},model:{key:"resizedHeight",value:i=>Pi(i)?null:i.getStyle("height")}})}}const Ta={small:dt.objectSizeSmall,medium:dt.objectSizeMedium,large:dt.objectSizeLarge,original:dt.objectSizeFull};class gI extends P{static get requires(){return[Jf]}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 i of e)this._registerImageResizeButton(i);this._registerImageResizeDropdown(e)}_registerImageResizeButton(t){const e=this.editor,{name:n,value:i,icon:r}=t,s=i?i+this._resizeUnit:null;e.ui.componentFactory.add(n,a=>{const c=new ht(a),l=e.commands.get("resizeImage"),d=this._getOptionLabelValue(t,!0);if(!Ta[r])throw new b("imageresizebuttons-missing-icon",e,t);return c.set({label:d,icon:Ta[r],tooltip:d,isToggleable:!0}),c.bind("isEnabled").to(this),c.bind("isOn").to(l,"value",Xf(s)),this.listenTo(c,"execute",()=>{e.execute("resizeImage",{width:s})}),c})}_registerImageResizeDropdown(t){const e=this.editor,n=e.t,i=t.find(s=>!s.value),r=s=>{const a=e.commands.get("resizeImage"),c=_e(s,pd),l=c.buttonView,d=n("Resize image");return l.set({tooltip:d,commandValue:i.value,icon:Ta.medium,isToggleable:!0,label:this._getOptionLabelValue(i),withText:!0,class:"ck-resize-image-button",ariaLabel:d,ariaLabelledBy:void 0}),l.bind("label").to(a,"value",u=>u&&u.width?u.width:this._getOptionLabelValue(i)),c.bind("isEnabled").to(this),Es(c,()=>this._getResizeDropdownListItemDefinitions(t,a),{ariaLabel:n("Image resize list"),role:"menu"}),this.listenTo(c,"execute",u=>{e.execute(u.source.commandName,{width:u.source.commandValue}),e.editing.view.focus()}),c};e.ui.componentFactory.add("resizeImage",r),e.ui.componentFactory.add("imageResize",r)}_getOptionLabelValue(t,e=!1){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 oe;return t.map(i=>{const r=i.value?i.value+this._resizeUnit:null,s={type:"button",model:new Us({commandName:"resizeImage",commandValue:r,label:this._getOptionLabelValue(i),role:"menuitemradio",withText:!0,icon:null})};s.model.bind("isOn").to(e,"value",Xf(r)),n.add(s)}),n}}function Xf(o){return t=>{const e=t;return o===null&&e===o?!0:e!==null&&e.width===o}}const fI="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",Ia="image_resized";class mI extends P{static get requires(){return[ga,Ut]}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,n=t.plugins.get("ImageUtils");e.addObserver(Ca),this.listenTo(e.document,"imageLoaded",(i,r)=>{if(!r.target.matches(fI))return;const s=t.editing.view.domConverter,a=s.domToView(r.target),c=n.getImageWidgetFromImageView(a);let l=this.editor.plugins.get(ga).getResizerByViewElement(c);if(l){l.redraw();return}const d=t.editing.mapper,u=d.toModelElement(c);l=t.plugins.get(ga).attachTo({unit:t.config.get("image.resizeUnit"),modelElement:u,viewElement:c,editor:t,getHandleHost(f){return f.querySelector("img")},getResizeHost(){return s.mapViewToDom(d.toViewElement(u.parent))},isCentered(){const f=u.getAttribute("imageStyle");return!f||f=="block"||f=="alignCenter"},onCommit(f){e.change(p=>{p.removeClass(Ia,c)}),t.execute("resizeImage",{width:f})}}),l.on("updateSize",()=>{c.hasClass(Ia)||e.change(p=>{p.addClass(Ia,c)});const f=u.name==="imageInline"?a:c;f.getStyle("height")&&e.change(p=>{p.removeStyle("height",f)})}),l.bind("isEnabled").to(this)})}}var tm=L(2400),Ma={injectType:"singletonStyleTag",attributes:{"data-cke":!0}};Ma.insert="head",Ma.singleton=!0,F()(tm.Z,Ma),tm.Z.locals;class pI extends P{static get requires(){return[Jf,mI,gI]}static get pluginName(){return"ImageResize"}}class kI extends X{constructor(t,e){super(t),this._defaultStyles={imageBlock:!1,imageInline:!1},this._styles=new Map(e.map(n=>{if(n.isDefault)for(const i of n.modelElements)this._defaultStyles[i]=n.name;return[n.name,n]}))}refresh(){const n=this.editor.plugins.get("ImageUtils").getClosestSelectedImageElement(this.editor.model.document.selection);this.isEnabled=!!n,this.isEnabled?n.hasAttribute("imageStyle")?this.value=n.getAttribute("imageStyle"):this.value=this._defaultStyles[n.name]:this.value=!1}execute(t={}){const e=this.editor,n=e.model,i=e.plugins.get("ImageUtils");n.change(r=>{const s=t.value,{setImageSizes:a=!0}=t;let c=i.getClosestSelectedImageElement(n.document.selection);s&&this.shouldConvertImageType(s,c)&&(this.editor.execute(i.isBlockImage(c)?"imageTypeInline":"imageTypeBlock",{setImageSizes:a}),c=i.getClosestSelectedImageElement(n.document.selection)),!s||this._styles.get(s).isDefault?r.removeAttribute("imageStyle",c):r.setAttribute("imageStyle",s,c),a&&i.setImageNaturalSizeAttributes(c)})}shouldConvertImageType(t,e){return!this._styles.get(t).modelElements.includes(e.name)}}const{objectFullWidth:bI,objectInline:em,objectLeft:nm,objectRight:Ba,objectCenter:Na,objectBlockLeft:om,objectBlockRight:im}=dt,Oi={get inline(){return{name:"inline",title:"In line",icon:em,modelElements:["imageInline"],isDefault:!0}},get alignLeft(){return{name:"alignLeft",title:"Left aligned image",icon:nm,modelElements:["imageBlock","imageInline"],className:"image-style-align-left"}},get alignBlockLeft(){return{name:"alignBlockLeft",title:"Left aligned image",icon:om,modelElements:["imageBlock"],className:"image-style-block-align-left"}},get alignCenter(){return{name:"alignCenter",title:"Centered image",icon:Na,modelElements:["imageBlock"],className:"image-style-align-center"}},get alignRight(){return{name:"alignRight",title:"Right aligned image",icon:Ba,modelElements:["imageBlock","imageInline"],className:"image-style-align-right"}},get alignBlockRight(){return{name:"alignBlockRight",title:"Right aligned image",icon:im,modelElements:["imageBlock"],className:"image-style-block-align-right"}},get block(){return{name:"block",title:"Centered image",icon:Na,modelElements:["imageBlock"],isDefault:!0}},get side(){return{name:"side",title:"Side image",icon:Ba,modelElements:["imageBlock"],className:"image-style-side"}}},rm={full:bI,left:om,right:im,center:Na,inlineLeft:nm,inlineRight:Ba,inline:em},sm=[{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 wI(o){return(o.configuredStyles.options||[]).map(n=>_I(n)).filter(n=>vI(n,o))}function AI(o,t){return o&&t?{options:["inline","alignLeft","alignRight","alignCenter","alignBlockLeft","alignBlockRight","block","side"]}:o?{options:["block","side"]}:t?{options:["inline","alignLeft","alignRight"]}:{}}function CI(o){return o.has("ImageBlockEditing")&&o.has("ImageInlineEditing")?[...sm]:[]}function _I(o){return typeof o=="string"?Oi[o]?o={...Oi[o]}:o={name:o}:o=yI(Oi[o.name],o),typeof o.icon=="string"&&(o.icon=rm[o.icon]||o.icon),o}function vI(o,{isBlockPluginLoaded:t,isInlinePluginLoaded:e}){const{modelElements:n,name:i}=o;if(!n||!n.length||!i)return am({style:o}),!1;{const r=[t?"imageBlock":null,e?"imageInline":null];if(!n.some(s=>r.includes(s)))return at("image-style-missing-dependency",{style:o,missingPlugins:n.map(s=>s==="imageBlock"?"ImageBlockEditing":"ImageInlineEditing")}),!1}return!0}function yI(o,t){const e={...t};for(const n in o)Object.prototype.hasOwnProperty.call(t,n)||(e[n]=o[n]);return e}function am(o){at("image-style-configuration-definition-invalid",o)}const za={normalizeStyles:wI,getDefaultStylesConfiguration:AI,getDefaultDropdownDefinitions:CI,warnInvalidStyle:am,DEFAULT_OPTIONS:Oi,DEFAULT_ICONS:rm,DEFAULT_DROPDOWN_DEFINITIONS:sm};function xI(o){return(t,e,n)=>{if(!n.consumable.consume(e.item,t.name))return;const i=cm(e.attributeNewValue,o),r=cm(e.attributeOldValue,o),s=n.mapper.toViewElement(e.item),a=n.writer;r&&a.removeClass(r.className,s),i&&a.addClass(i.className,s)}}function EI(o){const t={imageInline:o.filter(e=>!e.isDefault&&e.modelElements.includes("imageInline")),imageBlock:o.filter(e=>!e.isDefault&&e.modelElements.includes("imageBlock"))};return(e,n,i)=>{if(!n.modelRange)return;const r=n.viewItem,s=It(n.modelRange.getItems());if(s&&i.schema.checkAttribute(s,"imageStyle"))for(const a of t[s.name])i.consumable.consume(r,{classes:a.className})&&i.writer.setAttribute("imageStyle",a.name,s)}}function cm(o,t){for(const e of t)if(e.name===o)return e}class lm extends P{static get pluginName(){return"ImageStyleEditing"}static get requires(){return[Ut]}init(){const{normalizeStyles:t,getDefaultStylesConfiguration:e}=za,n=this.editor,i=n.plugins.has("ImageBlockEditing"),r=n.plugins.has("ImageInlineEditing");n.config.define("image.styles",e(i,r)),this.normalizedStyles=t({configuredStyles:n.config.get("image.styles"),isBlockPluginLoaded:i,isInlinePluginLoaded:r}),this._setupConversion(i,r),this._setupPostFixer(),n.commands.add("imageStyle",new kI(n,this.normalizedStyles))}_setupConversion(t,e){const n=this.editor,i=n.model.schema,r=xI(this.normalizedStyles),s=EI(this.normalizedStyles);n.editing.downcastDispatcher.on("attribute:imageStyle",r),n.data.downcastDispatcher.on("attribute:imageStyle",r),t&&(i.extend("imageBlock",{allowAttributes:"imageStyle"}),n.data.upcastDispatcher.on("element:figure",s,{priority:"low"})),e&&(i.extend("imageInline",{allowAttributes:"imageStyle"}),n.data.upcastDispatcher.on("element:img",s,{priority:"low"}))}_setupPostFixer(){const t=this.editor,e=t.model.document,n=t.plugins.get(Ut),i=new Map(this.normalizedStyles.map(r=>[r.name,r]));e.registerPostFixer(r=>{let s=!1;for(const a of e.differ.getChanges())if(a.type=="insert"||a.type=="attribute"&&a.attributeKey=="imageStyle"){let c=a.type=="insert"?a.position.nodeAfter:a.range.start.nodeAfter;if(c&&c.is("element","paragraph")&&c.childCount>0&&(c=c.getChild(0)),!n.isImage(c))continue;const l=c.getAttribute("imageStyle");if(!l)continue;const d=i.get(l);(!d||!d.modelElements.includes(c.name))&&(r.removeAttribute("imageStyle",c),s=!0)}return s})}}var dm=L(3534),Pa={injectType:"singletonStyleTag",attributes:{"data-cke":!0}};Pa.insert="head",Pa.singleton=!0,F()(dm.Z,Pa),dm.Z.locals;class DI extends P{static get requires(){return[lm]}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=t.get("ImageStyleEditing"),i=um(n.normalizedStyles,this.localizedDefaultStylesTitles);for(const s of i)this._createButton(s);const r=um([...e.filter(_t),...za.getDefaultDropdownDefinitions(t)],this.localizedDefaultStylesTitles);for(const s of r)this._createDropdown(s,i)}_createDropdown(t,e){const n=this.editor.ui.componentFactory;n.add(t.name,i=>{let r;const{defaultItem:s,items:a,title:c}=t,l=a.filter(p=>e.find(({name:w})=>hm(w)===p)).map(p=>{const w=n.create(p);return p===s&&(r=w),w});a.length!==l.length&&za.warnInvalidStyle({dropdown:t});const d=_e(i,pi),u=d.buttonView,f=u.arrowView;return xs(d,l,{enableActiveItemFocusOnDropdownOpen:!0}),u.set({label:gm(c,r.label),class:null,tooltip:!0}),f.unbind("label"),f.set({label:c}),u.bind("icon").toMany(l,"isOn",(...p)=>{const w=p.findIndex(en);return w<0?r.icon:l[w].icon}),u.bind("label").toMany(l,"isOn",(...p)=>{const w=p.findIndex(en);return gm(c,w<0?r.label:l[w].label)}),u.bind("isOn").toMany(l,"isOn",(...p)=>p.some(en)),u.bind("class").toMany(l,"isOn",(...p)=>p.some(en)?"ck-splitbutton_flatten":void 0),u.on("execute",()=>{l.some(({isOn:p})=>p)?d.isOpen=!d.isOpen:r.fire("execute")}),d.bind("isEnabled").toMany(l,"isEnabled",(...p)=>p.some(en)),this.listenTo(d,"execute",()=>{this.editor.editing.view.focus()}),d})}_createButton(t){const e=t.name;this.editor.ui.componentFactory.add(hm(e),n=>{const i=this.editor.commands.get("imageStyle"),r=new ht(n);return r.set({label:t.title,icon:t.icon,tooltip:!0,isToggleable:!0}),r.bind("isEnabled").to(i,"isEnabled"),r.bind("isOn").to(i,"value",s=>s===e),r.on("execute",this._executeCommand.bind(this,e)),r})}_executeCommand(t){this.editor.execute("imageStyle",{value:t}),this.editor.editing.view.focus()}}function um(o,t){for(const e of o)t[e.title]&&(e.title=t[e.title]);return o}function hm(o){return`imageStyle:${o}`}function gm(o,t){return(o?o+": ":"")+t}class SI extends P{static get requires(){return[lm,DI]}static get pluginName(){return"ImageStyle"}}class TI extends P{static get requires(){return[Mi,Ut]}static get pluginName(){return"ImageToolbar"}afterInit(){const t=this.editor,e=t.t,n=t.plugins.get(Mi),i=t.plugins.get("ImageUtils");n.register("image",{ariaLabel:e("Image toolbar"),items:II(t.config.get("image.toolbar")||[]),getRelatedElement:r=>i.getClosestSelectedImageWidget(r)})}}function II(o){return o.map(t=>_t(t)?t.name:t)}class MI extends P{static get pluginName(){return"IndentEditing"}init(){const t=this.editor;t.commands.add("indent",new Cd(t)),t.commands.add("outdent",new Cd(t))}}const fm='',mm='';class BI extends P{static get pluginName(){return"IndentUI"}init(){const t=this.editor,e=t.locale,n=t.t,i=e.uiLanguageDirection=="ltr"?fm:mm,r=e.uiLanguageDirection=="ltr"?mm:fm;this._defineButton("indent",n("Increase indent"),i),this._defineButton("outdent",n("Decrease indent"),r)}_defineButton(t,e,n){const i=this.editor;i.ui.componentFactory.add(t,r=>{const s=i.commands.get(t),a=new ht(r);return a.set({label:e,icon:n,tooltip:!0}),a.bind("isEnabled").to(s,"isEnabled"),this.listenTo(a,"execute",()=>{i.execute(t),i.editing.view.focus()}),a})}}class NI extends P{static get pluginName(){return"Indent"}static get requires(){return[MI,BI]}}class zI{constructor(){this._definitions=new Set}get length(){return this._definitions.size}add(t){Array.isArray(t)?t.forEach(e=>this._definitions.add(e)):this._definitions.add(t)}getDispatcher(){return t=>{t.on("attribute:linkHref",(e,n,i)=>{if(!i.consumable.test(n.item,"attribute:linkHref")||!(n.item.is("selection")||i.schema.isInline(n.item)))return;const r=i.writer,s=r.document.selection;for(const a of this._definitions){const c=r.createAttributeElement("a",a.attributes,{priority:5});a.classes&&r.addClass(a.classes,c);for(const l in a.styles)r.setStyle(l,a.styles[l],c);r.setCustomProperty("link",!0,c),a.callback(n.attributeNewValue)?n.item.is("selection")?r.wrap(s.getFirstRange(),c):r.wrap(i.mapper.toViewRange(n.range),c):r.unwrap(i.mapper.toViewRange(n.range),c)}},{priority:"high"})}}getDispatcherForLinkedImage(){return t=>{t.on("attribute:linkHref:imageBlock",(e,n,{writer:i,mapper:r})=>{const s=r.toViewElement(n.item),a=Array.from(s.getChildren()).find(c=>c.is("element","a"));for(const c of this._definitions){const l=De(c.attributes);if(c.callback(n.attributeNewValue)){for(const[d,u]of l)d==="class"?i.addClass(u,a):i.setAttribute(d,u,a);c.classes&&i.addClass(c.classes,a);for(const d in c.styles)i.setStyle(d,c.styles[d],a)}else{for(const[d,u]of l)d==="class"?i.removeClass(u,a):i.removeAttribute(d,a);c.classes&&i.removeClass(c.classes,a);for(const d in c.styles)i.removeStyle(d,a)}}})}}}function PI(o,t,e){var n=o.length;return e=e===void 0?n:e,!t&&e>=n?o:zd(o,t,e)}const LI=PI;var OI="\\ud800-\\udfff",RI="\\u0300-\\u036f",jI="\\ufe20-\\ufe2f",FI="\\u20d0-\\u20ff",VI=RI+jI+FI,HI="\\ufe0e\\ufe0f",UI="\\u200d",qI=RegExp("["+UI+OI+VI+HI+"]");function WI(o){return qI.test(o)}const pm=WI;function GI(o){return o.split("")}const $I=GI;var km="\\ud800-\\udfff",KI="\\u0300-\\u036f",ZI="\\ufe20-\\ufe2f",YI="\\u20d0-\\u20ff",QI=KI+ZI+YI,JI="\\ufe0e\\ufe0f",XI="["+km+"]",La="["+QI+"]",Oa="\\ud83c[\\udffb-\\udfff]",tM="(?:"+La+"|"+Oa+")",bm="[^"+km+"]",wm="(?:\\ud83c[\\udde6-\\uddff]){2}",Am="[\\ud800-\\udbff][\\udc00-\\udfff]",eM="\\u200d",Cm=tM+"?",_m="["+JI+"]?",nM="(?:"+eM+"(?:"+[bm,wm,Am].join("|")+")"+_m+Cm+")*",oM=_m+Cm+nM,iM="(?:"+[bm+La+"?",La,wm,Am,XI].join("|")+")",rM=RegExp(Oa+"(?="+Oa+")|"+iM+oM,"g");function sM(o){return o.match(rM)||[]}const aM=sM;function cM(o){return pm(o)?aM(o):$I(o)}const lM=cM;function dM(o){return function(t){t=Vr(t);var e=pm(t)?lM(t):void 0,n=e?e[0]:t.charAt(0),i=e?LI(e,1).join(""):t.slice(1);return n[o]()+i}}var uM=dM("toUpperCase");const hM=uM,gM=/[\u0000-\u0020\u00A0\u1680\u180E\u2000-\u2029\u205f\u3000]/g,fM=/^(?:(?:https?|ftps?|mailto):|[^a-z]|[a-z+.-]+(?:[^a-z+.:-]|$))/i,mM=/^[\S]+@((?![-_])(?:[-\w\u00a1-\uffff]{0,63}[^-_]\.))+(?:[a-z\u00a1-\uffff]{2,})$/i,pM=/^((\w+:(\/{2,})?)|(\W))/i,Ra="Ctrl+K";function kM(o){return o.is("attributeElement")&&!!o.getCustomProperty("link")}function vm(o,{writer:t}){const e=t.createAttributeElement("a",{href:o},{priority:5});return t.setCustomProperty("link",!0,e),e}function ym(o){const t=String(o);return bM(t)?t:"#"}function bM(o){return!!o.replace(gM,"").match(fM)}function wM(o,t){const e={"Open in a new tab":o("Open in a new tab"),Downloadable:o("Downloadable")};return t.forEach(n=>("label"in n&&e[n.label]&&(n.label=e[n.label]),n)),t}function AM(o){const t=[];if(o)for(const[e,n]of Object.entries(o)){const i=Object.assign({},n,{id:`link${hM(e)}`});t.push(i)}return t}function ja(o,t){return o?t.checkAttribute(o.name,"linkHref"):!1}function CM(o){return mM.test(o)}function Fa(o,t){const e=CM(o)?"mailto:":t,n=!!e&&!xm(o);return o&&n?e+o:o}function xm(o){return pM.test(o)}function Em(o){window.open(o,"_blank","noopener")}class _M extends X{constructor(){super(...arguments),this.manualDecorators=new oe,this.automaticDecorators=new zI}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()||It(e.getSelectedBlocks());ja(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 i of this.manualDecorators)i.value=this._getDecoratorStateFromModel(i.id)}execute(t,e={}){const n=this.editor.model,i=n.document.selection,r=[],s=[];for(const a in e)e[a]?r.push(a):s.push(a);n.change(a=>{if(i.isCollapsed){const c=i.getFirstPosition();if(i.hasAttribute("linkHref")){const l=Dm(i);let d=Ei(c,"linkHref",i.getAttribute("linkHref"),n);i.getAttribute("linkHref")===l&&(d=this._updateLinkContent(n,a,d,t)),a.setAttribute("linkHref",t,d),r.forEach(u=>{a.setAttribute(u,!0,d)}),s.forEach(u=>{a.removeAttribute(u,d)}),a.setSelection(a.createPositionAfter(d.end.nodeBefore))}else if(t!==""){const l=De(i.getAttributes());l.set("linkHref",t),r.forEach(u=>{l.set(u,!0)});const{end:d}=n.insertContent(a.createText(t,l),c);a.setSelection(d)}["linkHref",...r,...s].forEach(l=>{a.removeSelectionAttribute(l)})}else{const c=n.schema.getValidRanges(i.getRanges(),"linkHref"),l=[];for(const u of i.getSelectedBlocks())n.schema.checkAttribute(u,"linkHref")&&l.push(a.createRangeOn(u));const d=l.slice();for(const u of c)this._isRangeToUpdate(u,l)&&d.push(u);for(const u of d){let f=u;if(d.length===1){const p=Dm(i);i.getAttribute("linkHref")===p&&(f=this._updateLinkContent(n,a,u,t),a.setSelection(a.createSelection(f)))}a.setAttribute("linkHref",t,f),r.forEach(p=>{a.setAttribute(p,!0,f)}),s.forEach(p=>{a.removeAttribute(p,f)})}}})}_getDecoratorStateFromModel(t){const e=this.editor.model,n=e.document.selection,i=n.getSelectedElement();return ja(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}_updateLinkContent(t,e,n,i){const r=e.createText(i,{linkHref:i});return t.insertContent(r,n)}}function Dm(o){if(o.isCollapsed){const t=o.getFirstPosition();return t.textNode&&t.textNode.data}else{const t=Array.from(o.getFirstRange().getItems());if(t.length>1)return null;const e=t[0];return e.is("$text")||e.is("$textProxy")?e.data:null}}class vM extends X{refresh(){const t=this.editor.model,e=t.document.selection,n=e.getSelectedElement();ja(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(r=>{const s=n.isCollapsed?[Ei(n.getFirstPosition(),"linkHref",n.getAttribute("linkHref"),e)]:e.schema.getValidRanges(n.getRanges(),"linkHref");for(const a of s)if(r.removeAttribute("linkHref",a),i)for(const c of i.manualDecorators)r.removeAttribute(c.id,a)})}}class yM extends rt(){constructor({id:t,label:e,attributes:n,classes:i,styles:r,defaultValue:s}){super(),this.id=t,this.set("value",void 0),this.defaultValue=s,this.label=e,this.attributes=n,this.classes=i,this.styles=r}_createPattern(){return{attributes:this.attributes,classes:this.classes,styles:this.styles}}}var Sm=L(3925),Va={injectType:"singletonStyleTag",attributes:{"data-cke":!0}};Va.insert="head",Va.singleton=!0,F()(Sm.Z,Va),Sm.Z.locals;const xM="ck-link_selected",Tm="automatic",EM="manual",DM=/^(https?:)?\/\//;class Im extends P{static get pluginName(){return"LinkEditing"}static get requires(){return[Eg,wg,ve]}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:vm}),t.conversion.for("editingDowncast").attributeToElement({model:"linkHref",view:(i,r)=>vm(ym(i),r)}),t.conversion.for("upcast").elementToAttribute({view:{name:"a",attributes:{href:!0}},model:{key:"linkHref",value:i=>i.getAttribute("href")}}),t.commands.add("link",new _M(t)),t.commands.add("unlink",new vM(t));const e=wM(t.t,AM(t.config.get("link.decorators")));this._enableAutomaticDecorators(e.filter(i=>i.mode===Tm)),this._enableManualDecorators(e.filter(i=>i.mode===EM)),t.plugins.get(Eg).registerAttribute("linkHref"),I5(t,"linkHref","a",xM),this._enableLinkOpen(),this._enableSelectionAttributesFixer(),this._enableClipboardIntegration()}_enableAutomaticDecorators(t){const e=this.editor,i=e.commands.get("link").automaticDecorators;e.config.get("link.addTargetToExternalLinks")&&i.add({id:"linkIsExternal",mode:Tm,callback:r=>!!r&&DM.test(r),attributes:{target:"_blank",rel:"noopener noreferrer"}}),i.add(t),i.length&&e.conversion.for("downcast").add(i.getDispatcher())}_enableManualDecorators(t){if(!t.length)return;const e=this.editor,i=e.commands.get("link").manualDecorators;t.forEach(r=>{e.model.schema.extend("$text",{allowAttributes:r.id});const s=new yM(r);i.add(s),e.conversion.for("downcast").attributeToElement({model:s.id,view:(a,{writer:c,schema:l},{item:d})=>{if((d.is("selection")||l.isInline(d))&&a){const u=c.createAttributeElement("a",s.attributes,{priority:5});s.classes&&c.addClass(s.classes,u);for(const f in s.styles)c.setStyle(f,s.styles[f],u);return c.setCustomProperty("link",!0,u),u}}}),e.conversion.for("upcast").elementToAttribute({view:{name:"a",...s._createPattern()},model:{key:s.id}})})}_enableLinkOpen(){const t=this.editor,n=t.editing.view.document;this.listenTo(n,"click",(i,r)=>{if(!(g.isMac?r.domEvent.metaKey:r.domEvent.ctrlKey))return;let a=r.domTarget;if(a.tagName.toLowerCase()!="a"&&(a=a.closest("a")),!a)return;const c=a.getAttribute("href");c&&(i.stop(),r.preventDefault(),Em(c))},{context:"$capture"}),this.listenTo(n,"keydown",(i,r)=>{const a=t.commands.get("link").value;a&&r.keyCode===tt.enter&&r.altKey&&(i.stop(),Em(a))})}_enableSelectionAttributesFixer(){const e=this.editor.model,n=e.document.selection;this.listenTo(n,"change:attribute",(i,{attributeKeys:r})=>{!r.includes("linkHref")||n.hasAttribute("linkHref")||e.change(s=>{SM(s,TM(e.schema))})})}_enableClipboardIntegration(){const t=this.editor,e=t.model,n=this.editor.config.get("link.defaultProtocol");n&&this.listenTo(t.plugins.get("ClipboardPipeline"),"contentInsertion",(i,r)=>{e.change(s=>{const a=s.createRangeIn(r.content);for(const c of a.getItems())if(c.hasAttribute("linkHref")){const l=Fa(c.getAttribute("linkHref"),n);s.setAttribute("linkHref",l,c)}})})}}function SM(o,t){o.removeSelectionAttribute("linkHref");for(const e of t)o.removeSelectionAttribute(e)}function TM(o){return o.getDefinition("$text").allowAttributes.filter(e=>e.startsWith("link"))}var Mm=L(4874),Ha={injectType:"singletonStyleTag",attributes:{"data-cke":!0}};Ha.insert="head",Ha.singleton=!0,F()(Mm.Z,Ha),Mm.Z.locals;class IM extends Y{constructor(t,e){super(t),this.focusTracker=new Ht,this.keystrokes=new ie,this._focusables=new be;const n=t.t;this.urlInputView=this._createUrlInput(),this.saveButtonView=this._createButton(n("Save"),dt.check,"ck-button-save"),this.saveButtonView.type="submit",this.cancelButtonView=this._createButton(n("Cancel"),dt.cancel,"ck-button-cancel","cancel"),this._manualDecoratorSwitches=this._createManualDecoratorSwitches(e),this.children=this._createFormChildren(e.manualDecorators),this._focusCycler=new Te({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})}getDecoratorSwitchesState(){return Array.from(this._manualDecoratorSwitches).reduce((t,e)=>(t[e.name]=e.isOn,t),{})}render(){super.render(),h({view:this}),[this.urlInputView,...this._manualDecoratorSwitches,this.saveButtonView,this.cancelButtonView].forEach(e=>{this._focusables.add(e),this.focusTracker.add(e.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 Zo(this.locale,ki);return e.label=t("Link URL"),e}_createButton(t,e,n,i){const r=new ht(this.locale);return r.set({label:t,icon:e,tooltip:!0}),r.extendTemplate({attributes:{class:n}}),i&&r.delegate("execute").to(this,i),r}_createManualDecoratorSwitches(t){const e=this.createCollection();for(const n of t.manualDecorators){const i=new Ko(this.locale);i.set({name:n.id,label:n.label,withText:!0}),i.bind("isOn").toMany([n,t],"value",(r,s)=>s===void 0&&r===void 0?!!n.defaultValue:!!r),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 n=new Y;n.setTemplate({tag:"ul",children:this._manualDecoratorSwitches.map(i=>({tag:"li",children:[i],attributes:{class:["ck","ck-list__item"]}})),attributes:{class:["ck","ck-reset","ck-list"]}}),e.add(n)}return e.add(this.saveButtonView),e.add(this.cancelButtonView),e}}var Bm=L(7536),Ua={injectType:"singletonStyleTag",attributes:{"data-cke":!0}};Ua.insert="head",Ua.singleton=!0,F()(Bm.Z,Ua),Bm.Z.locals;const MM='';class BM extends Y{constructor(t){super(t),this.focusTracker=new Ht,this.keystrokes=new ie,this._focusables=new be;const e=t.t;this.previewButtonView=this._createPreviewButton(),this.unlinkButtonView=this._createButton(e("Unlink"),MM,"unlink"),this.editButtonView=this._createButton(e("Edit link"),dt.pencil,"edit"),this.set("href",void 0),this._focusCycler=new Te({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(e=>{this._focusables.add(e),this.focusTracker.add(e.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 ht(this.locale);return i.set({label:t,icon:e,tooltip:!0}),i.delegate("execute").to(this,n),i}_createPreviewButton(){const t=new ht(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",i=>i&&ym(i)),target:"_blank",rel:"noopener noreferrer"}}),t.bind("label").to(this,"href",i=>i||n("This link has no URL")),t.bind("isEnabled").to(this,"href",i=>!!i),t.template.tag="a",t.template.eventListeners={},t}}const NM='',ye="link-ui";class zM extends P{constructor(){super(...arguments),this.actionsView=null,this.formView=null}static get requires(){return[_i]}static get pluginName(){return"LinkUI"}init(){const t=this.editor;t.editing.view.addObserver(qE),this._balloon=t.plugins.get(_i),this._createToolbarLinkButton(),this._enableBalloonActivators(),t.conversion.for("editingDowncast").markerToHighlight({model:ye,view:{classes:["ck-fake-link-selection"]}}),t.conversion.for("editingDowncast").markerToElement({model:ye,view:{name:"span",classes:["ck-fake-link-selection","ck-fake-link-selection_collapsed"]}})}destroy(){super.destroy(),this.formView&&this.formView.destroy(),this.actionsView&&this.actionsView.destroy()}_createViews(){this.actionsView=this._createActionsView(),this.formView=this._createFormView(),this._enableUserBalloonInteractions()}_createActionsView(){const t=this.editor,e=new BM(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",(r,s)=>{this._hideUI(),s()}),e.keystrokes.set(Ra,(r,s)=>{this._addFormView(),s()}),e}_createFormView(){const t=this.editor,e=t.commands.get("link"),n=t.config.get("link.defaultProtocol"),i=new(x(IM))(t.locale,e);return i.urlInputView.fieldView.bind("value").to(e,"value"),i.urlInputView.bind("isEnabled").to(e,"isEnabled"),i.saveButtonView.bind("isEnabled").to(e),this.listenTo(i,"submit",()=>{const{value:r}=i.urlInputView.fieldView.element,s=Fa(r,n);t.execute("link",s,i.getDecoratorSwitchesState()),this._closeFormView()}),this.listenTo(i,"cancel",()=>{this._closeFormView()}),i.keystrokes.set("Esc",(r,s)=>{this._closeFormView(),s()}),i}_createToolbarLinkButton(){const t=this.editor,e=t.commands.get("link"),n=t.t;t.ui.componentFactory.add("link",i=>{const r=new ht(i);return r.isEnabled=!0,r.label=n("Link"),r.icon=NM,r.keystroke=Ra,r.tooltip=!0,r.isToggleable=!0,r.bind("isEnabled").to(e,"isEnabled"),r.bind("isOn").to(e,"value",s=>!!s),this.listenTo(r,"execute",()=>this._showUI(!0)),r})}_enableBalloonActivators(){const t=this.editor,e=t.editing.view.document;this.listenTo(e,"click",()=>{this._getSelectedLinkElement()&&this._showUI()}),t.keystrokes.set(Ra,(n,i)=>{i(),t.commands.get("link").isEnabled&&this._showUI(!0)})}_enableUserBalloonInteractions(){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())}),_({emitter:this.formView,activator:()=>this._isUIInPanel,contextElements:()=>[this._balloon.view.element],callback:()=>this._hideUI()})}_addActionsView(){this.actionsView||this._createViews(),!this._areActionsInPanel&&this._balloon.add({view:this.actionsView,position:this._getBalloonPositionData()})}_addFormView(){if(this.formView||this._createViews(),this._isFormInPanel)return;const e=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=e.value||""}_closeFormView(){const t=this.editor.commands.get("link");t.restoreManualDecoratorStates(),t.value!==void 0?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.formView||this._createViews(),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=s();const r=()=>{const a=this._getSelectedLinkElement(),c=s();n&&!a||!n&&c!==i?this._hideUI():this._isUIVisible&&this._balloon.updatePosition(this._getBalloonPositionData()),n=a,i=c};function s(){return e.selection.focus.getAncestors().reverse().find(a=>a.is("element"))}this.listenTo(t.ui,"update",r),this.listenTo(this._balloon,"change:visibleView",r)}get _isFormInPanel(){return!!this.formView&&this._balloon.hasView(this.formView)}get _areActionsInPanel(){return!!this.actionsView&&this._balloon.hasView(this.actionsView)}get _areActionsVisible(){return!!this.actionsView&&this._balloon.visibleView===this.actionsView}get _isUIInPanel(){return this._isFormInPanel||this._areActionsInPanel}get _isUIVisible(){const t=this._balloon.visibleView;return!!this.formView&&t==this.formView||this._areActionsVisible}_getBalloonPositionData(){const t=this.editor.editing.view,e=this.editor.model,n=t.document;let i;if(e.markers.has(ye)){const r=Array.from(this.editor.editing.mapper.markerNameToElements(ye)),s=t.createRange(t.createPositionBefore(r[0]),t.createPositionAfter(r[r.length-1]));i=t.domConverter.viewRangeToDom(s)}else i=()=>{const r=this._getSelectedLinkElement();return r?t.domConverter.mapViewToDom(r):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&&Mt(n))return qa(e.getFirstPosition());{const i=e.getFirstRange().getTrimmed(),r=qa(i.start),s=qa(i.end);return!r||r!=s?null:t.createRangeIn(r).getTrimmed().isEqual(i)?r:null}}_showFakeVisualSelection(){const t=this.editor.model;t.change(e=>{const n=t.document.selection.getFirstRange();if(t.markers.has(ye))e.updateMarker(ye,{range:n});else if(n.start.isAtEnd){const i=n.start.getLastMatchingPosition(({item:r})=>!t.schema.isContent(r),{boundaries:n});e.addMarker(ye,{usingOperation:!1,affectsData:!1,range:e.createRange(i,n.end)})}else e.addMarker(ye,{usingOperation:!1,affectsData:!1,range:n})})}_hideFakeVisualSelection(){const t=this.editor.model;t.markers.has(ye)&&t.change(e=>{e.removeMarker(ye)})}}function qa(o){return o.getAncestors().find(t=>kM(t))||null}const PM=4,Nm=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"),LM=2;class OM extends P{static get requires(){return[Be,Im]}static get pluginName(){return"AutoLink"}init(){const e=this.editor.model.document.selection;e.on("change:range",()=>{this.isEnabled=!e.anchor.parent.is("element","codeBlock")}),this._enableTypingHandling()}afterInit(){this._enableEnterHandling(),this._enableShiftEnterHandling(),this._enablePasteLinking()}_expandLinkRange(t,e){return e.textNode&&e.textNode.hasAttribute("linkHref")?Ei(e,"linkHref",e.textNode.getAttribute("linkHref"),t):null}_selectEntireLinks(t,e){const i=this.editor.model,r=i.document.selection,s=r.getFirstPosition(),a=r.getLastPosition();let c=e.getJoined(this._expandLinkRange(i,s)||e);c&&(c=c.getJoined(this._expandLinkRange(i,a)||e)),c&&(c.start.isBefore(s)||c.end.isAfter(a))&&t.setSelection(c)}_enablePasteLinking(){const t=this.editor,e=t.model,n=e.document.selection,i=t.plugins.get("ClipboardPipeline"),r=t.commands.get("link");i.on("inputTransformation",(s,a)=>{if(!this.isEnabled||!r.isEnabled||n.isCollapsed||n.rangeCount>1)return;const c=n.getFirstRange(),l=a.dataTransfer.getData("text/plain");if(!l)return;const d=l.match(Nm);d&&d[2]===l&&(e.change(u=>{this._selectEntireLinks(u,c),r.execute(l)}),s.stop())},{priority:"high"})}_enableTypingHandling(){const t=this.editor,e=new xg(t.model,n=>{if(!RM(n))return;const i=zm(n.substr(0,n.length-1));if(i)return{url:i}});e.on("matched:data",(n,i)=>{const{batch:r,range:s,url:a}=i;if(!r.isTyping)return;const c=s.end.getShiftedBy(-1),l=c.getShiftedBy(-a.length),d=t.model.createRange(l,c);this._applyAutoLink(a,d)}),e.bind("isEnabled").to(this)}_enableEnterHandling(){const t=this.editor,e=t.model,n=t.commands.get("enter");n&&n.on("execute",()=>{const i=e.document.selection.getFirstPosition();if(!i.parent.previousSibling)return;const r=e.createRangeIn(i.parent.previousSibling);this._checkAndApplyAutoLinkOnRange(r)})}_enableShiftEnterHandling(){const t=this.editor,e=t.model,n=t.commands.get("shiftEnter");n&&n.on("execute",()=>{const i=e.document.selection.getFirstPosition(),r=e.createRange(e.createPositionAt(i.parent,0),i.getShiftedBy(-1));this._checkAndApplyAutoLinkOnRange(r)})}_checkAndApplyAutoLinkOnRange(t){const e=this.editor.model,{text:n,range:i}=yg(t,e),r=zm(n);if(r){const s=e.createRange(i.end.getShiftedBy(-r.length),i.end);this._applyAutoLink(r,s)}}_applyAutoLink(t,e){const n=this.editor.model,i=this.editor.config.get("link.defaultProtocol"),r=Fa(t,i);!this.isEnabled||!jM(e,n)||!xm(r)||FM(e)||this._persistAutoLink(r,e)}_persistAutoLink(t,e){const n=this.editor.model,i=this.editor.plugins.get("Delete");n.enqueueChange(r=>{r.setAttribute("linkHref",t,e),n.enqueueChange(()=>{i.requestUndoOnBackspace()})})}}function RM(o){return o.length>PM&&o[o.length-1]===" "&&o[o.length-2]!==" "}function zm(o){const t=Nm.exec(o);return t?t[LM]:null}function jM(o,t){return t.schema.checkAttributeInSelection(t.createSelection(o),"linkHref")}function FM(o){const t=o.start.nodeAfter;return!!t&&t.hasAttribute("linkHref")}class VM extends P{static get requires(){return[Im,zM,OM]}static get pluginName(){return"Link"}}var Pm=L(4330),Wa={injectType:"singletonStyleTag",attributes:{"data-cke":!0}};Wa.insert="head",Wa.singleton=!0,F()(Pm.Z,Wa),Pm.Z.locals;var Lm=L(3190),Ga={injectType:"singletonStyleTag",attributes:{"data-cke":!0}};Ga.insert="head",Ga.singleton=!0,F()(Lm.Z,Ga),Lm.Z.locals;var Om=L(4784),$a={injectType:"singletonStyleTag",attributes:{"data-cke":!0}};$a.insert="head",$a.singleton=!0,F()(Om.Z,$a),Om.Z.locals;function HM(o){const t=o.createContainerElement("li");return t.getFillerOffset=ZM,t}function UM(o,t){const e=t.mapper,n=t.writer,i=o.getAttribute("listType")=="numbered"?"ol":"ul",r=HM(n),s=n.createContainerElement(i,null);return n.insert(n.createPositionAt(s,0),r),e.bindElements(o,r),r}function Rm(o,t,e,n){const i=t.parent,r=e.mapper,s=e.writer;let a=r.toViewPosition(n.createPositionBefore(o));const c=Fm(o.previousSibling,{sameIndent:!0,smallerIndent:!0,listIndent:o.getAttribute("listIndent")}),l=o.previousSibling;if(c&&c.getAttribute("listIndent")==o.getAttribute("listIndent")){const d=r.toViewElement(c);a=s.breakContainer(s.createPositionAfter(d))}else if(l&&l.name=="listItem"){a=r.toViewPosition(n.createPositionAt(l,"end"));const d=r.findMappedViewAncestor(a),u=qM(d);u?a=s.createPositionBefore(u):a=s.createPositionAt(d,"end")}else a=r.toViewPosition(n.createPositionBefore(o));if(a=jm(a),s.insert(a,i),l&&l.name=="listItem"){const d=r.toViewElement(l),f=s.createRange(s.createPositionAt(d,0),a).getWalker({ignoreElementEnd:!0});for(const p of f)if(p.item.is("element","li")){const w=s.breakContainer(s.createPositionBefore(p.item)),S=p.item.parent,B=s.createPositionAt(t,"end");ce(s,B.nodeBefore,B.nodeAfter),s.move(s.createRangeOn(S),B),f._position=w}}else{const d=i.nextSibling;if(d&&(d.is("element","ul")||d.is("element","ol"))){let u=null;for(const f of d.getChildren()){const p=r.toModelElement(f);if(p&&p.getAttribute("listIndent")>o.getAttribute("listIndent"))u=f;else break}u&&(s.breakContainer(s.createPositionAfter(u)),s.move(s.createRangeOn(u.parent),s.createPositionAt(t,"end")))}}ce(s,i,i.nextSibling),ce(s,i.previousSibling,i)}function ce(o,t,e){return!t||!e||t.name!="ul"&&t.name!="ol"||t.name!=e.name||t.getAttribute("class")!==e.getAttribute("class")?null:o.mergeContainers(o.createPositionAfter(t))}function jm(o){return o.getLastMatchingPosition(t=>t.item.is("uiElement"))}function Fm(o,t){const e=!!t.sameIndent,n=!!t.smallerIndent,i=t.listIndent;let r=o;for(;r&&r.name=="listItem";){const s=r.getAttribute("listIndent");if(e&&i==s||n&&i>s)return r;t.direction==="forward"?r=r.nextSibling:r=r.previousSibling}return null}function Vm(o,t,e,n){o.ui.componentFactory.add(t,i=>{const r=o.commands.get(t),s=new ht(i);return s.set({label:e,icon:n,tooltip:!0,isToggleable:!0}),s.bind("isOn","isEnabled").to(r,"value","isEnabled"),s.on("execute",()=>{o.execute(t),o.editing.view.focus()}),s})}function qM(o){for(const t of o.getChildren())if(t.name=="ul"||t.name=="ol")return t;return null}function Ka(o,t){const e=[],n=o.parent,i={ignoreElementEnd:!1,startPosition:o,shallow:!0,direction:t},r=n.getAttribute("listIndent"),s=[...new fe(i)].filter(a=>a.item.is("element")).map(a=>a.item);for(const a of s){if(!a.is("element","listItem")||a.getAttribute("listIndent")r)){if(a.getAttribute("listType")!==n.getAttribute("listType")||a.getAttribute("listStyle")!==n.getAttribute("listStyle")||a.getAttribute("listReversed")!==n.getAttribute("listReversed")||a.getAttribute("listStart")!==n.getAttribute("listStart"))break;t==="backward"?e.unshift(a):e.push(a)}}return e}function WM(o){let e=[...o.document.selection.getSelectedBlocks()].filter(n=>n.is("element","listItem")).map(n=>{const i=o.change(r=>r.createPositionAt(n,0));return[...Ka(i,"backward"),...Ka(i,"forward")]}).flat();return e=[...new Set(e)],e}const GM=["disc","circle","square"],$M=["decimal","decimal-leading-zero","lower-roman","upper-roman","lower-latin","upper-latin"];function KM(o){return GM.includes(o)?"bulleted":$M.includes(o)?"numbered":null}function ZM(){const o=!this.isEmpty&&(this.getChild(0).name=="ul"||this.getChild(0).name=="ol");return this.isEmpty||o?0:Fd.call(this)}const YM='',QM='';class JM extends P{static get pluginName(){return"ListUI"}init(){const t=this.editor.t;Vm(this.editor,"numberedList",t("Numbered List"),YM),Vm(this.editor,"bulletedList",t("Bulleted List"),QM)}}const XM=[{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:o,typeAttribute:t,listType:e}of XM);var Hm=L(9938),Za={injectType:"singletonStyleTag",attributes:{"data-cke":!0}};Za.insert="head",Za.singleton=!0,F()(Hm.Z,Za),Hm.Z.locals;var Um=L(2591),Ya={injectType:"singletonStyleTag",attributes:{"data-cke":!0}};Ya.insert="head",Ya.singleton=!0,F()(Um.Z,Ya),Um.Z.locals;class qm extends X{constructor(t,e){super(t),this._indentBy=e=="forward"?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(i=>{const r=n[n.length-1];let s=r.nextSibling;for(;s&&s.name=="listItem"&&s.getAttribute("listIndent")>r.getAttribute("listIndent");)n.push(s),s=s.nextSibling;this._indentBy<0&&(n=n.reverse());for(const a of n){const c=a.getAttribute("listIndent")+this._indentBy;c<0?i.rename(a,"paragraph"):i.setAttribute("listIndent",c,a)}this.fire("_executeCleanup",n)})}_checkEnabled(){const t=It(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}}class Wm extends X{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(s=>$m(s,e.schema)),r=t.forceValue!==void 0?!t.forceValue:this.value;e.change(s=>{if(r){let a=i[i.length-1].nextSibling,c=Number.POSITIVE_INFINITY,l=[];for(;a&&a.name=="listItem"&&a.getAttribute("listIndent")!==0;){const d=a.getAttribute("listIndent");d=e;)r>i.getAttribute("listIndent")&&(r=i.getAttribute("listIndent")),i.getAttribute("listIndent")==r&&o[t?"unshift":"push"](i),i=i[t?"previousSibling":"nextSibling"]}}function $m(o,t){return t.checkChild(o.parent,"listItem")&&!t.isObject(o)}class t4 extends P{static get pluginName(){return"ListUtils"}getListTypeFromListStyleType(t){return KM(t)}getSelectedListItems(t){return WM(t)}getSiblingNodes(t,e){return Ka(t,e)}}function Km(o){return(t,e,n)=>{const i=n.consumable;if(!i.test(e.item,"insert")||!i.test(e.item,"attribute:listType")||!i.test(e.item,"attribute:listIndent"))return;i.consume(e.item,"insert"),i.consume(e.item,"attribute:listType"),i.consume(e.item,"attribute:listIndent");const r=e.item,s=UM(r,n);Rm(r,s,n,o)}}function e4(o){return(t,e,n)=>{const s=n.mapper.toViewPosition(e.position).getLastMatchingPosition(p=>!p.item.is("element","li")).nodeAfter,a=n.writer;a.breakContainer(a.createPositionBefore(s)),a.breakContainer(a.createPositionAfter(s));const c=s.parent,l=c.previousSibling,d=a.createRangeOn(c),u=a.remove(d);l&&l.nextSibling&&ce(a,l,l.nextSibling);const f=n.mapper.toModelElement(s);Jm(f.getAttribute("listIndent")+1,e.position,d.start,s,n,o);for(const p of a.createRangeIn(u).getItems())n.mapper.unbindViewElement(p);t.stop()}}const n4=(o,t,e)=>{if(!e.consumable.test(t.item,o.name))return;const n=e.mapper.toViewElement(t.item),i=e.writer;i.breakContainer(i.createPositionBefore(n)),i.breakContainer(i.createPositionAfter(n));const r=n.parent,s=t.attributeNewValue=="numbered"?"ol":"ul";i.rename(s,r)},o4=(o,t,e)=>{e.consumable.consume(t.item,o.name);const i=e.mapper.toViewElement(t.item).parent,r=e.writer;ce(r,i,i.nextSibling),ce(r,i.previousSibling,i)};function i4(o){return(t,e,n)=>{if(!n.consumable.consume(e.item,"attribute:listIndent"))return;const i=n.mapper.toViewElement(e.item),r=n.writer;r.breakContainer(r.createPositionBefore(i)),r.breakContainer(r.createPositionAfter(i));const s=i.parent,a=s.previousSibling,c=r.createRangeOn(s);r.remove(c),a&&a.nextSibling&&ce(r,a,a.nextSibling),Jm(e.attributeOldValue+1,e.range.start,c.start,i,n,o),Rm(e.item,i,n,o);for(const l of e.item.getChildren())n.consumable.consume(l,"insert")}}const Zm=(o,t,e)=>{if(e.consumable.test(t.item,o.name)&&t.item.name!="listItem"){let n=e.mapper.toViewPosition(t.range.start);const i=e.writer,r=[];for(;(n.parent.name=="ul"||n.parent.name=="ol")&&(n=i.breakContainer(n),n.parent.name=="li");){const s=n,a=i.createPositionAt(n.parent,"end");if(!s.isEqual(a)){const c=i.remove(i.createRange(s,a));r.push(c)}n=i.createPositionAfter(n.parent)}if(r.length>0){for(let s=0;s0){const l=ce(i,a,a.nextSibling);l&&l.parent==a&&n.offset--}}ce(i,n.nodeBefore,n.nodeAfter)}}},r4=(o,t,e)=>{const n=e.mapper.toViewPosition(t.position),i=n.nodeBefore,r=n.nodeAfter;ce(e.writer,i,r)},s4=(o,t,e)=>{if(e.consumable.consume(t.viewItem,{name:!0})){const n=e.writer,i=n.createElement("listItem"),r=g4(t.viewItem);n.setAttribute("listIndent",r,i);const s=t.viewItem.parent&&t.viewItem.parent.name=="ol"?"numbered":"bulleted";if(n.setAttribute("listType",s,i),!e.safeInsert(i,t.modelCursor))return;const a=u4(i,t.viewItem.getChildren(),e);t.modelRange=n.createRange(t.modelCursor,a),e.updateConversionResult(i,t)}},Ym=(o,t,e)=>{if(e.consumable.test(t.viewItem,{name:!0})){const n=Array.from(t.viewItem.getChildren());for(const i of n)!(i.is("element","li")||Vn(i))&&i._remove()}},a4=(o,t,e)=>{if(e.consumable.test(t.viewItem,{name:!0})){if(t.viewItem.childCount===0)return;const n=[...t.viewItem.getChildren()];let i=!1;for(const r of n)i&&!Vn(r)&&r._remove(),Vn(r)&&(i=!0)}};function Qm(o){return(t,e)=>{if(e.isPhantom)return;const n=e.modelPosition.nodeBefore;if(n&&n.is("element","listItem")){const i=e.mapper.toViewElement(n),r=i.getAncestors().find(Vn),s=o.createPositionAt(i,0).getWalker();for(const a of s)if(a.type=="elementStart"&&a.item.is("element","li")){e.viewPosition=a.previousPosition;break}else if(a.type=="elementEnd"&&a.item==r){e.viewPosition=a.nextPosition;break}}}}function c4(o){return(t,e)=>{const n=e.viewPosition,i=n.parent,r=e.mapper;if(i.name=="ul"||i.name=="ol"){if(n.isAtEnd){const s=r.toModelElement(n.nodeBefore),a=r.getModelLength(n.nodeBefore);e.modelPosition=o.createPositionBefore(s).getShiftedBy(a)}else{const s=r.toModelElement(n.nodeAfter);e.modelPosition=o.createPositionBefore(s)}t.stop()}else if(i.name=="li"&&n.nodeBefore&&(n.nodeBefore.name=="ul"||n.nodeBefore.name=="ol")){const s=r.toModelElement(i);let a=1,c=n.nodeBefore;for(;c&&Vn(c);)a+=r.getModelLength(c),c=c.previousSibling;e.modelPosition=o.createPositionBefore(s).getShiftedBy(a),t.stop()}}}function l4(o,t){const e=o.document.differ.getChanges(),n=new Map;let i=!1;for(const c of e)if(c.type=="insert"&&c.name=="listItem")r(c.position);else if(c.type=="insert"&&c.name!="listItem"){if(c.name!="$text"){const d=c.position.nodeAfter;d.hasAttribute("listIndent")&&(t.removeAttribute("listIndent",d),i=!0),d.hasAttribute("listType")&&(t.removeAttribute("listType",d),i=!0),d.hasAttribute("listStyle")&&(t.removeAttribute("listStyle",d),i=!0),d.hasAttribute("listReversed")&&(t.removeAttribute("listReversed",d),i=!0),d.hasAttribute("listStart")&&(t.removeAttribute("listStart",d),i=!0);for(const u of Array.from(o.createRangeIn(d)).filter(f=>f.item.is("element","listItem")))r(u.previousPosition)}const l=c.position.getShiftedBy(c.length);r(l)}else c.type=="remove"&&c.name=="listItem"?r(c.position):(c.type=="attribute"&&c.attributeKey=="listIndent"||c.type=="attribute"&&c.attributeKey=="listType")&&r(c.range.start);for(const c of n.values())s(c),a(c);return i;function r(c){const l=c.nodeBefore;if(!l||!l.is("element","listItem")){const d=c.nodeAfter;d&&d.is("element","listItem")&&n.set(d,d)}else{let d=l;if(n.has(d))return;for(let u=d.previousSibling;u&&u.is("element","listItem");u=d.previousSibling)if(d=u,n.has(d))return;n.set(l,d)}}function s(c){let l=0,d=null;for(;c&&c.is("element","listItem");){const u=c.getAttribute("listIndent");if(u>l){let f;d===null?(d=u-l,f=l):(d>u&&(d=u),f=u-d),t.setAttribute("listIndent",f,c),i=!0}else d=null,l=c.getAttribute("listIndent")+1;c=c.nextSibling}}function a(c){let l=[],d=null;for(;c&&c.is("element","listItem");){const u=c.getAttribute("listIndent");if(d&&d.getAttribute("listIndent")>u&&(l=l.slice(0,u+1)),u!=0)if(l[u]){const f=l[u];c.getAttribute("listType")!=f&&(t.setAttribute("listType",f,c),i=!0)}else l[u]=c.getAttribute("listType");d=c,c=c.nextSibling}}}const d4=function(o,[t,e]){const n=this;let i=t.is("documentFragment")?t.getChild(0):t,r;if(e?r=n.createSelection(e):r=n.document.selection,i&&i.is("element","listItem")){const s=r.getFirstPosition();let a=null;if(s.parent.is("element","listItem")?a=s.parent:s.nodeBefore&&s.nodeBefore.is("element","listItem")&&(a=s.nodeBefore),a){const c=a.getAttribute("listIndent");if(c>0)for(;i&&i.is("element","listItem");)i._setAttribute("listIndent",i.getAttribute("listIndent")+c),i=i.nextSibling}}};function u4(o,t,e){const{writer:n,schema:i}=e;let r=n.createPositionAfter(o);for(const s of t)if(s.name=="ul"||s.name=="ol")r=e.convertItem(s,r).modelCursor;else{const a=e.convertItem(s,n.createPositionAt(o,"end")),c=a.modelRange.start.nodeAfter;c&&c.is("element")&&!i.checkChild(o,c.name)&&(a.modelCursor.parent.is("element","listItem")?o=a.modelCursor.parent:o=h4(a.modelCursor),r=n.createPositionAfter(o))}return r}function h4(o){const t=new fe({startPosition:o});let e;do e=t.next();while(!e.value.item.is("element","listItem"));return e.value.item}function Jm(o,t,e,n,i,r){const s=Fm(t.nodeBefore,{sameIndent:!0,smallerIndent:!0,listIndent:o}),a=i.mapper,c=i.writer,l=s?s.getAttribute("listIndent"):null;let d;if(!s)d=e;else if(l==o){const u=a.toViewElement(s).parent;d=c.createPositionAfter(u)}else{const u=r.createPositionAt(s,"end");d=a.toViewPosition(u)}d=jm(d);for(const u of[...n.getChildren()])Vn(u)&&(d=c.move(c.createRangeOn(u),d).end,ce(c,u,u.nextSibling),ce(c,u.previousSibling,u))}function Vn(o){return o.is("element","ol")||o.is("element","ul")}function g4(o){let t=0,e=o.parent;for(;e;){if(e.is("element","li"))t++;else{const n=e.previousSibling;n&&n.is("element","li")&&t++}e=e.parent}return t}class f4 extends P{static get pluginName(){return"ListEditing"}static get requires(){return[Si,Be,t4]}init(){const t=this.editor;t.model.schema.register("listItem",{inheritAllFrom:"$block",allowAttributes:["listType","listIndent"]});const e=t.data,n=t.editing;t.model.document.registerPostFixer(r=>l4(t.model,r)),n.mapper.registerViewToModelLength("li",Qa),e.mapper.registerViewToModelLength("li",Qa),n.mapper.on("modelToViewPosition",Qm(n.view)),n.mapper.on("viewToModelPosition",c4(t.model)),e.mapper.on("modelToViewPosition",Qm(n.view)),t.conversion.for("editingDowncast").add(r=>{r.on("insert",Zm,{priority:"high"}),r.on("insert:listItem",Km(t.model)),r.on("attribute:listType:listItem",n4,{priority:"high"}),r.on("attribute:listType:listItem",o4,{priority:"low"}),r.on("attribute:listIndent:listItem",i4(t.model)),r.on("remove:listItem",e4(t.model)),r.on("remove",r4,{priority:"low"})}),t.conversion.for("dataDowncast").add(r=>{r.on("insert",Zm,{priority:"high"}),r.on("insert:listItem",Km(t.model))}),t.conversion.for("upcast").add(r=>{r.on("element:ul",Ym,{priority:"high"}),r.on("element:ol",Ym,{priority:"high"}),r.on("element:li",a4,{priority:"high"}),r.on("element:li",s4)}),t.model.on("insertContent",d4,{priority:"high"}),t.commands.add("numberedList",new Wm(t,"numbered")),t.commands.add("bulletedList",new Wm(t,"bulleted")),t.commands.add("indentList",new qm(t,"forward")),t.commands.add("outdentList",new qm(t,"backward"));const i=n.view.document;this.listenTo(i,"enter",(r,s)=>{const a=this.editor.model.document,c=a.selection.getLastPosition().parent;a.selection.isCollapsed&&c.name=="listItem"&&c.isEmpty&&(this.editor.execute("outdentList"),s.preventDefault(),r.stop())},{context:"li"}),this.listenTo(i,"delete",(r,s)=>{if(s.direction!=="backward")return;const a=this.editor.model.document.selection;if(!a.isCollapsed)return;const c=a.getFirstPosition();if(!c.isAtStart)return;const l=c.parent;l.name!=="listItem"||l.previousSibling&&l.previousSibling.name==="listItem"||(this.editor.execute("outdentList"),s.preventDefault(),r.stop())},{context:"li"}),this.listenTo(t.editing.view.document,"tab",(r,s)=>{const a=s.shiftKey?"outdentList":"indentList";this.editor.commands.get(a).isEnabled&&(t.execute(a),s.stopPropagation(),s.preventDefault(),r.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 Qa(o){let t=1;for(const e of o.getChildren())if(e.name=="ul"||e.name=="ol")for(const n of e.getChildren())t+=Qa(n);return t}class m4 extends P{static get requires(){return[f4,JM]}static get pluginName(){return"List"}}eo("Ctrl+Enter");var Xm=L(9292),Ja={injectType:"singletonStyleTag",attributes:{"data-cke":!0}};Ja.insert="head",Ja.singleton=!0,F()(Xm.Z,Ja),Xm.Z.locals,eo("Ctrl+Enter");function tp(o,t){const e=(n,i,r)=>{if(!r.consumable.consume(i.item,n.name))return;const s=i.attributeNewValue,a=r.writer,c=r.mapper.toViewElement(i.item),l=[...c.getChildren()].find(u=>u.getCustomProperty("media-content"));a.remove(l);const d=o.getMediaViewElement(a,s,t);a.insert(a.createPositionAt(c,0),d)};return n=>{n.on("attribute:url:media",e)}}function p4(o,t,e){return t.setCustomProperty("media",!0,o),la(o,t,{label:e})}function ep(o,t,e,n){return o.createContainerElement("figure",{class:"media"},[t.getMediaViewElement(o,e,n),o.createSlot()])}function np(o){const t=o.getSelectedElement();return t&&t.is("element","media")?t:null}function op(o,t,e,n){o.change(i=>{const r=i.createElement("media",{url:t});o.insertObject(r,e,null,{setSelection:"on",findOptimalPosition:n?"auto":void 0})})}class k4 extends X{refresh(){const t=this.editor.model,e=t.document.selection,n=np(e);this.value=n?n.getAttribute("url"):void 0,this.isEnabled=w4(e)||b4(e,t)}execute(t){const e=this.editor.model,n=e.document.selection,i=np(n);i?e.change(r=>{r.setAttribute("url",t,i)}):op(e,t,n,!0)}}function b4(o,t){let n=Kg(o,t).start.parent;return n.isEmpty&&!t.schema.isLimit(n)&&(n=n.parent),t.schema.checkChild(n,"media")}function w4(o){const t=o.getSelectedElement();return!!t&&t.name==="media"}const A4='',C4="0 0 64 42";class _4{constructor(t,e){const n=e.providers,i=e.extraProviders||[],r=new Set(e.removeProviders),s=n.concat(i).filter(a=>{const c=a.name;return c?!r.has(c):(at("media-embed-no-provider-name",{provider:a}),!1)});this.locale=t,this.providerDefinitions=s}hasMedia(t){return!!this._getMedia(t)}getMediaViewElement(t,e,n){return this._getMedia(e).getViewElement(t,n)}_getMedia(t){if(!t)return new ip(this.locale);t=t.trim();for(const e of this.providerDefinitions){const n=e.html,i=Tt(e.url);for(const r of i){const s=this._getUrlMatches(t,r);if(s)return new ip(this.locale,t,s,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)?n:null}}class ip{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 r=this._getPreviewHtml(e);i=t.createRawElement("div",n,(s,a)=>{a.setContentOf(s,r)})}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 Se,e=this._locale.t;return t.content=A4,t.viewBox=C4,new re({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 rp=L(1922),Xa={injectType:"singletonStyleTag",attributes:{"data-cke":!0}};Xa.insert="head",Xa.singleton=!0,F()(rp.Z,Xa),rp.Z.locals;class Ri extends P{static get pluginName(){return"MediaEmbedEditing"}constructor(t){super(t),t.config.define("mediaEmbed",{elementName:"oembed",providers:[{name:"dailymotion",url:[/^dailymotion\.com\/video\/(\w+)/,/^dai.ly\/(\w+)/],html:e=>`
`},{name:"spotify",url:[/^open\.spotify\.com\/(artist\/\w+)/,/^open\.spotify\.com\/(album\/\w+)/,/^open\.spotify\.com\/(track\/\w+)/],html:e=>`
`},{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:e=>{const n=e[1],i=e[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:e=>`
`},{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 _4(t.locale,t.config.get("mediaEmbed"))}init(){const t=this.editor,e=t.model.schema,n=t.t,i=t.conversion,r=t.config.get("mediaEmbed.previewsInData"),s=t.config.get("mediaEmbed.elementName"),a=this.registry;t.commands.add("mediaEmbed",new k4(t)),e.register("media",{inheritAllFrom:"$blockObject",allowAttributes:["url"]}),i.for("dataDowncast").elementToStructure({model:"media",view:(c,{writer:l})=>{const d=c.getAttribute("url");return ep(l,a,d,{elementName:s,renderMediaPreview:!!d&&r})}}),i.for("dataDowncast").add(tp(a,{elementName:s,renderMediaPreview:r})),i.for("editingDowncast").elementToStructure({model:"media",view:(c,{writer:l})=>{const d=c.getAttribute("url"),u=ep(l,a,d,{elementName:s,renderForEditingView:!0});return p4(u,l,n("media widget"))}}),i.for("editingDowncast").add(tp(a,{elementName:s,renderForEditingView:!0})),i.for("upcast").elementToElement({view:c=>["oembed",s].includes(c.name)&&c.getAttribute("url")?{name:!0}:null,model:(c,{writer:l})=>{const d=c.getAttribute("url");return a.hasMedia(d)?l.createElement("media",{url:d}):null}}).elementToElement({view:{name:"div",attributes:{"data-oembed-url":!0}},model:(c,{writer:l})=>{const d=c.getAttribute("data-oembed-url");return a.hasMedia(d)?l.createElement("media",{url:d}):null}}).add(c=>{const l=(d,u,f)=>{if(!f.consumable.consume(u.viewItem,{name:!0,classes:"media"}))return;const{modelRange:p,modelCursor:w}=f.convertChildren(u.viewItem,u.modelCursor);u.modelRange=p,u.modelCursor=w,It(p.getItems())||f.consumable.revert(u.viewItem,{name:!0,classes:"media"})};c.on("element:figure",l)})}}const v4=/^(?:http(s)?:\/\/)?[\w-]+\.[\w-.~:/?#[\]@!$&'()*+,;=%]+$/;class y4 extends P{static get requires(){return[gf,Be,pa]}static get pluginName(){return"AutoMediaEmbed"}constructor(t){super(t),this._timeoutId=null,this._positionToInsert=null}init(){const t=this.editor,e=t.model.document,n=t.plugins.get("ClipboardPipeline");this.listenTo(n,"inputTransformation",()=>{const r=e.selection.getFirstRange(),s=Lt.fromPosition(r.start);s.stickiness="toPrevious";const a=Lt.fromPosition(r.end);a.stickiness="toNext",e.once("change:data",()=>{this._embedMediaBetweenPositions(s,a),s.detach(),a.detach()},{priority:"high"})}),t.commands.get("undo").on("execute",()=>{this._timeoutId&&(U.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(Ri).registry,r=new Xt(t,e),s=r.getWalker({ignoreElementEnd:!0});let a="";for(const l of s)l.item.is("$textProxy")&&(a+=l.item.data);if(a=a.trim(),!a.match(v4)){r.detach();return}if(!i.hasMedia(a)){r.detach();return}if(!n.commands.get("mediaEmbed").isEnabled){r.detach();return}this._positionToInsert=Lt.fromPosition(t),this._timeoutId=U.window.setTimeout(()=>{n.model.change(l=>{this._timeoutId=null,l.remove(r),r.detach();let d=null;this._positionToInsert.root.rootName!=="$graveyard"&&(d=this._positionToInsert),op(n.model,a,d,!1),this._positionToInsert.detach(),this._positionToInsert=null}),n.plugins.get(Be).requestUndoOnBackspace()},100)}}var sp=L(7138),tc={injectType:"singletonStyleTag",attributes:{"data-cke":!0}};tc.insert="head",tc.singleton=!0,F()(sp.Z,tc),sp.Z.locals;class x4 extends Y{constructor(t,e){super(e);const n=e.t;this.focusTracker=new Ht,this.keystrokes=new ie,this.set("mediaURLInputValue",""),this.urlInputView=this._createUrlInput(),this.saveButtonView=this._createButton(n("Save"),dt.check,"ck-button-save"),this.saveButtonView.type="submit",this.saveButtonView.bind("isEnabled").to(this,"mediaURLInputValue",i=>!!i),this.cancelButtonView=this._createButton(n("Cancel"),dt.cancel,"ck-button-cancel","cancel"),this._focusables=new be,this._focusCycler=new Te({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]})}render(){super.render(),h({view:this}),[this.urlInputView,this.saveButtonView,this.cancelButtonView].forEach(n=>{this._focusables.add(n),this.focusTracker.add(n.element)}),this.keystrokes.listenTo(this.element);const e=n=>n.stopPropagation();this.keystrokes.set("arrowright",e),this.keystrokes.set("arrowleft",e),this.keystrokes.set("arrowup",e),this.keystrokes.set("arrowdown",e)}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 Zo(this.locale,ki),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 r=new ht(this.locale);return r.set({label:t,icon:e,tooltip:!0}),r.extendTemplate({attributes:{class:n}}),i&&r.delegate("execute").to(this,i),r}}const E4='';class D4 extends P{static get requires(){return[Ri]}static get pluginName(){return"MediaEmbedUI"}init(){const t=this.editor,e=t.commands.get("mediaEmbed");t.ui.componentFactory.add("mediaEmbed",n=>{const i=_e(n);return this._setUpDropdown(i,e),i})}_setUpDropdown(t,e){const n=this.editor,i=n.t,r=t.buttonView,s=n.plugins.get(Ri).registry;t.once("change:isOpen",()=>{const a=new(x(x4))(S4(n.t,s),n.locale);t.panelView.children.add(a),r.on("open",()=>{a.disableCssTransitions(),a.url=e.value||"",a.urlInputView.fieldView.select(),a.enableCssTransitions()},{priority:"low"}),t.on("submit",()=>{a.isValid()&&(n.execute("mediaEmbed",a.url),n.editing.view.focus())}),t.on("change:isOpen",()=>a.resetFormStatus()),t.on("cancel",()=>{n.editing.view.focus()}),a.delegate("submit","cancel").to(t),a.urlInputView.fieldView.bind("value").to(e,"value"),a.urlInputView.bind("isEnabled").to(e,"isEnabled")}),t.bind("isEnabled").to(e),r.set({label:i("Insert media"),icon:E4,tooltip:!0})}}function S4(o,t){return[e=>{if(!e.url.length)return o("The URL must not be empty.")},e=>{if(!t.hasMedia(e.url))return o("This media URL is not supported.")}]}var ap=L(8705),ec={injectType:"singletonStyleTag",attributes:{"data-cke":!0}};ec.insert="head",ec.singleton=!0,F()(ap.Z,ec),ap.Z.locals;class T4 extends P{static get requires(){return[Ri,D4,y4,So]}static get pluginName(){return"MediaEmbed"}}function I4(o,t){if(!o.childCount)return;const e=new He(o.document),n=B4(o,e);if(!n.length)return;let i=null,r=1;n.forEach((s,a)=>{const c=F4(n[a-1],s),l=c?null:n[a-1],d=H4(l,s);if(c&&(i=null,r=1),!i||d!==0){const f=N4(s,t);if(!i)i=cp(f,s.element,e);else if(s.indent>r){const p=i.getChild(i.childCount-1),w=p.getChild(p.childCount-1);i=cp(f,w,e),r+=1}else if(s.indent1&&e.setAttribute("start",o.startIndex,i),i}function O4(o,t){return j4(o,t),t.removeStyle("text-indent",o),t.rename("li",o)}function R4(o){const t={},e=o.getStyle("mso-list");if(e){const n=e.match(/(^|\s{1,100})l(\d+)/i),i=e.match(/\s{0,100}lfo(\d+)/i),r=e.match(/\s{0,100}level(\d+)/i);n&&i&&r&&(t.id=n[2],t.order=i[1],t.indent=parseInt(r[1]))}return t}function j4(o,t){const e=new de({name:"span",styles:{"mso-list":"Ignore"}}),n=t.createRangeIn(o);for(const i of n)i.type==="elementStart"&&e.match(i.item)&&t.remove(i.item)}function F4(o,t){if(!o)return!0;if(o.id!==t.id)return t.indent-o.indent!==1;const e=t.element.previousSibling;return e?!V4(e):!0}function V4(o){return o.is("element","ol")||o.is("element","ul")}function H4(o,t){return o?t.indent-o.indent:t.indent-1}function U4(o,t){const e=o.getAncestors({parentFirst:!0});let n=null,i=0;for(const r of e)if((r.is("element","ul")||r.is("element","ol"))&&i++,i===t){n=r;break}return n}function q4(o,t){if(!o.childCount)return;const e=new He(o.document),n=G4(o,e);$4(n,o,e),Z4(n,o,e),K4(o,e);const i=Y4(o,e);i.length&&J4(i,Q4(t),e)}function W4(o){return btoa(o.match(/\w{2}/g).map(t=>String.fromCharCode(parseInt(t,16))).join(""))}function G4(o,t){const e=t.createRangeIn(o),n=new de({name:/v:(.+)/}),i=[];for(const r of e){if(r.type!="elementStart")continue;const s=r.item,a=s.previousSibling,c=a&&a.is("element")?a.name:null;n.match(s)&&s.getAttribute("o:gfxdata")&&c!=="v:shapetype"&&i.push(r.item.getAttribute("id"))}return i}function $4(o,t,e){const n=e.createRangeIn(t),i=new de({name:"img"}),r=[];for(const s of n)if(s.item.is("element")&&i.match(s.item)){const a=s.item,c=a.getAttribute("v:shapes")?a.getAttribute("v:shapes").split(" "):[];c.length&&c.every(l=>o.indexOf(l)>-1)?r.push(a):a.getAttribute("src")||r.push(a)}for(const s of r)e.remove(s)}function K4(o,t){const e=t.createRangeIn(o),n=new de({name:/v:(.+)/}),i=[];for(const r of e)r.type=="elementStart"&&n.match(r.item)&&i.push(r.item);for(const r of i)t.remove(r)}function Z4(o,t,e){const n=e.createRangeIn(t),i=[];for(const a of n)if(a.type=="elementStart"&&a.item.is("element","v:shape")){const c=a.item.getAttribute("id");if(o.includes(c))continue;r(a.item.parent.getChildren(),c)||i.push(a.item)}for(const a of i){const c={src:s(a)};a.hasAttribute("alt")&&(c.alt=a.getAttribute("alt"));const l=e.createElement("img",c);e.insertChild(a.index+1,l,a.parent)}function r(a,c){for(const l of a)if(l.is("element")&&(l.name=="img"&&l.getAttribute("v:shapes")==c||r(l.getChildren(),c)))return!0;return!1}function s(a){for(const c of a.getChildren())if(c.is("element")&&c.getAttribute("src"))return c.getAttribute("src")}}function Y4(o,t){const e=t.createRangeIn(o),n=new de({name:"img"}),i=[];for(const r of e)r.item.is("element")&&n.match(r.item)&&r.item.getAttribute("src").startsWith("file://")&&i.push(r.item);return i}function Q4(o){if(!o)return[];const t=/{\\pict[\s\S]+?\\bliptag-?\d+(\\blipupi-?\d+)?({\\\*\\blipuid\s?[\da-fA-F]+)?[\s}]*?/,e=new RegExp("(?:("+t.source+"))([\\da-fA-F\\s]+)\\}","g"),n=o.match(e),i=[];if(n)for(const r of n){let s=!1;r.includes("\\pngblip")?s="image/png":r.includes("\\jpegblip")&&(s="image/jpeg"),s&&i.push({hex:r.replace(t,"").replace(/[^\da-fA-F]/g,""),type:s})}return i}function J4(o,t,e){if(o.length===t.length)for(let n=0;n/i,eB=/xmlns:o="urn:schemas-microsoft-com/i;class nB{constructor(t){this.document=t}isActive(t){return tB.test(t)||eB.test(t)}execute(t){const{body:e,stylesString:n}=t._parsedData;I4(e,n),q4(e,t.dataTransfer.getData("text/rtf")),X4(e),t.content=e}}function oB(o,t){for(const e of o.getChildren())if(e.is("element","b")&&e.getStyle("font-weight")==="normal"){const n=o.getChildIndex(e);t.remove(e),t.insertChild(n,e.getChildren(),o)}}function iB(o,t){const e=new ni(t.document.stylesProcessor),n=new ri(e,{renderingMode:"data"}),i=n.blockElements,r=n.inlineObjectElements,s=[];for(const a of t.createRangeIn(o)){const c=a.item;if(c.is("element","br")){const l=lp(c,"forward",t,{blockElements:i,inlineObjectElements:r}),d=lp(c,"backward",t,{blockElements:i,inlineObjectElements:r}),u=dp(l,i);(dp(d,i)||u)&&s.push(c)}}for(const a of s)a.hasClass("Apple-interchange-newline")?t.remove(a):t.replace(a,t.createElement("p"))}function lp(o,t,e,{blockElements:n,inlineObjectElements:i}){let r=e.createPositionAt(o,t=="forward"?"after":"before");return r=r.getLastMatchingPosition(({item:s})=>s.is("element")&&!n.includes(s.name)&&!i.includes(s.name),{direction:t}),t=="forward"?r.nodeAfter:r.nodeBefore}function dp(o,t){return!!o&&o.is("element")&&t.includes(o.name)}const rB=/id=("|')docs-internal-guid-[-0-9a-f]+("|')/i;class sB{constructor(t){this.document=t}isActive(t){return rB.test(t)}execute(t){const e=new He(this.document),{body:n}=t._parsedData;oB(n,e),M4(n,e),iB(n,e),t.content=n}}function aB(o,t){for(const e of o.getChildren())e.is("element","table")&&e.hasAttribute("xmlns")&&t.removeAttribute("xmlns",e)}function cB(o,t){for(const e of o.getChildren())if(e.is("element","google-sheets-html-origin")){const n=o.getChildIndex(e);t.remove(e),t.insertChild(n,e.getChildren(),o)}}function lB(o,t){for(const e of o.getChildren())e.is("element","table")&&e.getStyle("width")==="0px"&&t.removeStyle("width",e)}function dB(o,t){for(const e of Array.from(o.getChildren()))e.is("element","style")&&t.remove(e)}const uB=/[^\S\r\n]*?)[\r\n]+([^\S\r\n]*<\/span>)/g,"$1$2").replace(/<\/span>/g,"").replace(/()[\r\n]+(<\/span>)/g,"$1 $2").replace(/ <\//g," <\/o:p>/g," ").replace(/( |\u00A0)<\/o:p>/g,"").replace(/>([^\S\r\n]*[\r\n]\s*)<")}function fB(o){o.querySelectorAll("span[style*=spacerun]").forEach(t=>{const e=t,n=e.innerText.length||0;e.innerText=Array(n+1).join("  ").substr(0,n)})}function up(o){return o.replace(/(\s+)<\/span>/g,(t,e)=>e.length===1?" ":Array(e.length+1).join("  ").substr(0,e.length))}function mB(o,t){const e=new DOMParser;o=o.replace(/ + + + +
+
+

WOW.js

+
+
+
+
+
+
+
+ +
+
+ + + + diff --git a/web/assets/js/libs/WOW/package.json b/web/assets/js/libs/WOW/package.json new file mode 100644 index 0000000..afd92f0 --- /dev/null +++ b/web/assets/js/libs/WOW/package.json @@ -0,0 +1,51 @@ +{ + "name": "wow.js", + "title": "WOW", + "version": "1.3.0", + "main": "dist/wow.js", + "description": "", + "keywords": [], + "homepage": "https://wowjs.uk", + "contributors": [ + { + "name": "Matthieu Aussaguel", + "email": "matthieu.aussaguel@gmail.com", + "url": "http://mynameismatthieu.com/" + }, + { + "name": "Thomas Grainger", + "email": "wow.js@graingert.co.uk", + "url": "https://graingert.co.uk/" + } + ], + "repository": { + "type": "git", + "url": "git://github.com/graingert/WOW.git" + }, + "bugs": { + "url": "https://github.com/graingert/WOW/issues" + }, + "license": "MIT", + "devDependencies": { + "babel-eslint": "^6.0.4", + "babel-plugin-add-module-exports": "^0.2.0", + "babel-plugin-transform-es2015-modules-umd": "^6.8.0", + "babel-preset-es2015": "^6.6.0", + "babel-preset-stage-1": "^6.5.0", + "eslint-config-airbnb-base": "^3.0.0", + "eslint-plugin-import": "^1.7.0", + "grunt": "latest", + "grunt-babel": "^6.0.0", + "grunt-cli": "latest", + "grunt-contrib-coffee": "latest", + "grunt-contrib-jasmine": "latest", + "grunt-contrib-uglify": "latest", + "grunt-contrib-watch": "latest", + "grunt-eslint": "^18.1.0", + "grunt-growl": "latest", + "load-grunt-tasks": "^3.5.0" + }, + "scripts": { + "test": "grunt travis" + } +} diff --git a/web/assets/js/libs/WOW/spec/coffeescripts/helpers/SpecHelper.coffee b/web/assets/js/libs/WOW/spec/coffeescripts/helpers/SpecHelper.coffee new file mode 100644 index 0000000..ee997e6 --- /dev/null +++ b/web/assets/js/libs/WOW/spec/coffeescripts/helpers/SpecHelper.coffee @@ -0,0 +1 @@ +beforeEach -> \ No newline at end of file diff --git a/web/assets/js/libs/WOW/spec/coffeescripts/wow-spec.coffee b/web/assets/js/libs/WOW/spec/coffeescripts/wow-spec.coffee new file mode 100644 index 0000000..ab4183e --- /dev/null +++ b/web/assets/js/libs/WOW/spec/coffeescripts/wow-spec.coffee @@ -0,0 +1,334 @@ +describe 'WOW', -> + + # Supress warnings: + window.console = + warn: -> + + # Time to wait after each scroll event: + # (This should be >= the interval used by the plugin.) + timeout = 100 + + # Height of the PhantomJS window: + winHeight = 300 + + describe 'smoke test', -> + + it 'exists', -> + expect WOW + .toBeDefined() + + it "has an 'init' method", -> + expect new WOW().init + .toBeDefined() + + describe 'simple test environment', -> + + beforeEach -> + loadFixtures 'simple.html' + + it 'emulates window height', -> + expect document.documentElement.clientHeight + .toBe winHeight + + it 'has boxes set up for testing', -> + boxHeight = 200 + boxCount = $ '#simple' + .children().length + # Check each box height + expect $('#simple').height() + .toBe boxHeight*boxCount + expect $('#simple-1').height() + .toBe boxHeight + expect $('#simple-2').height() + .toBe boxHeight + expect $('#simple-3').height() + .toBe boxHeight + expect $('#simple-4').height() + .toBe boxHeight + expect $('#simple-5').height() + .toBe boxHeight + # Check each box offset + offset = $('#simple').offset().top + expect $('#simple-1').offset().top + .toBe offset + boxHeight*0 + expect $('#simple-2').offset().top + .toBe offset + boxHeight*1 + expect $('#simple-3').offset().top + .toBe offset + boxHeight*2 + expect $('#simple-4').offset().top + .toBe offset + boxHeight*3 + expect $('#simple-5').offset().top + .toBe offset + boxHeight*4 + style = $('#simple-5')[0].style + expect style.background + .toBe 'yellow' + expect style.color + .toBe 'red' + + describe 'library behaviour', -> + + wow = null + + beforeEach (done) -> + loadFixtures 'simple.html' + (wow = new WOW).init() + setTimeout -> + done() + , timeout + + it 'animates elements that are fully visible on the page', -> + expect $ '#simple-1' + .toHaveClass 'animated' + expect $('#simple-1').css 'visibility' + .toBe 'visible' + + it "does not touch elements that don't have the marker class", -> + expect $ '#simple-2' + .not.toHaveClass 'animated' + expect $('#simple-2').css 'visibility' + .toBe 'visible' + + it 'does not animate elements not yet visible on the page', -> + expect $ '#simple-3' + .not.toHaveClass 'animated' + expect $('#simple-3').css 'visibility' + .not.toBe 'visible' + expect $ '#simple-4' + .not.toHaveClass 'animated' + expect $('#simple-4').css 'visibility' + .not.toBe 'visible' + + it 'animates elements after scrolling down and they become visible', (done) -> + # Scroll down so that 150px of #simple-3 becomes visible. + window.scrollTo 0, $('#simple-3').offset().top - winHeight + 150 + setTimeout -> + expect $ '#simple-3' + .toHaveClass 'animated' + expect $('#simple-3').css 'visibility' + .toBe 'visible' + expect $ '#simple-4' + .not.toHaveClass 'animated' + expect $('#simple-4').css 'visibility' + .not.toBe 'visible' + # Scroll down so that 150px of #simple-4 becomes visible. + window.scrollTo 0, $('#simple-4').offset().top - winHeight + 150 + setTimeout -> + expect $ '#simple-4' + .toHaveClass 'animated' + expect $('#simple-4').css 'visibility' + .toBe 'visible' + done() + , timeout + , timeout + + it 'does not tamper with the style attribute', (done) -> + # Scroll down so that 150px of #simple-5 becomes visible. + window.scrollTo 0, $('#simple-5').offset().top - winHeight + 150 + setTimeout -> + expect $ '#simple-5' + .toHaveClass 'animated' + expect $('#simple-5').css 'visibility' + .toBe 'visible' + expect $('#simple-5')[0].style.background + .toBe 'yellow' + expect $('#simple-5')[0].style.color + .toBe 'red' + done() + , timeout + + it 'works with asynchronously loaded content', (done) -> + $ '#simple' + .append $ '
', + id: 'simple-6' + class: 'wow' + wow.sync() + # Scroll down so that 150px of #simple-6 becomes visible. + window.scrollTo 0, $('#simple-6').offset().top - winHeight + 150 + setTimeout -> + expect $ '#simple-6' + .toHaveClass 'animated' + expect $('#simple-6').css 'visibility' + .toBe 'visible' + done() + , timeout + + it 'works with asynchronously loaded nested content', (done) -> + $ '#simple' + .append $ '
' + .children() + .first() + .append $ '
', + id: 'simple-7' + class: 'wow' + wow.sync() + # Scroll down so that 150px of #simple-7 becomes visible. + window.scrollTo 0, $('#simple-7').offset().top - winHeight + 150 + setTimeout -> + expect $ '#simple-7' + .toHaveClass 'animated' + expect $('#simple-7').css 'visibility' + .toBe 'visible' + done() + , timeout + + describe 'custom test environment', -> + + beforeEach -> + loadFixtures 'custom.html' + + it 'emulates window height', -> + expect document.documentElement.clientHeight + .toBe winHeight + + it 'has boxes set up for testing', -> + # Check each box height + expect $('#custom').height() + .toBe 800 + expect $('#custom-1').height() + .toBe 200 + expect $('#custom-2').height() + .toBe 200 + expect $('#custom-3').height() + .toBe 200 + expect $('#custom-4').height() + .toBe 200 + # Check each box offset + offset = $('#custom').offset().top + expect $('#custom-1').offset().top + .toBe offset + 200*0 + expect $('#custom-2').offset().top + .toBe offset + 200*1 + expect $('#custom-3').offset().top + .toBe offset + 200*2 + expect $('#custom-4').offset().top + .toBe offset + 200*3 + + describe 'library behaviour with custom settings', -> + + called = false + + beforeEach (done) -> + called = false + loadFixtures 'custom.html' + new WOW + boxClass: 'block' + animateClass: 'fancy' + offset: 10 + callback: -> + called = true + .init() + + # Trigger custom event on dom object, event name is boxClass value + $('.block').on 'block', -> + $(this).addClass('triggered') + + setTimeout -> + done() + , timeout + + it "creates two instances of the WOW.js with different configs", -> + wow1 = new WOW + boxClass: 'block1' + animateClass: 'fancy1' + offset: 10 + wow2 = new WOW + boxClass: 'block2' + animateClass: 'fancy2' + offset: 20 + + expect wow1.config.boxClass + .toBe "block1" + expect wow1.config.animateClass + .toBe "fancy1" + expect wow1.config.offset + .toBe 10 + + it "does not touch elements that don't have the marker class", (done) -> + # Scroll down so that 15px of #custom-1 becomes visible. + window.scrollTo 0, $('#custom-1').offset().top - winHeight + 15 + setTimeout -> + expect $ '#custom-1' + .not.toHaveClass 'fancy' + done() + , timeout + + it "animates elements that are partially visible on the page based on the 'offset' config", (done) -> + setTimeout -> + # Scroll down so that 5px of #custom-2 becomes visible. + window.scrollTo 0, $('#custom-2').offset().top - winHeight + 5 + expect $ '#custom-2' + .not.toHaveClass 'fancy' + window.scrollTo 0, $('#custom-2').offset().top - winHeight + 15 + setTimeout -> + # Scroll down so that 15px of #custom-2 becomes visible. + expect $ '#custom-2' + .toHaveClass 'fancy' + expect $('#custom-2').css 'visibility' + .toBe 'visible' + done() + , timeout + , timeout + + it 'does not animate elements not yet visible on the page', -> + expect $ '#custom-3' + .not.toHaveClass 'fancy' + expect $ '#custom-4' + .not.toHaveClass 'fancy' + + it 'animates elements after scrolling down and they become visible', (done) -> + # Scroll down so that 150px of #custom-3 becomes visible. + window.scrollTo 0, $('#custom-3').offset().top - winHeight + 150 + setTimeout -> + expect $ '#custom-3' + .toHaveClass 'fancy' + expect $('#custom-3').css 'visibility' + .toBe 'visible' + expect $('#custom-3')[0].style.webkitAnimationIterationCount + .toBe '2' + expect $ '#custom-4' + .not.toHaveClass 'fancy' + # Scroll down so that 150px of #custom-4 becomes visible. + window.scrollTo 0, $('#custom-4').offset().top - winHeight + 150 + setTimeout -> + expect $ '#custom-4' + .toHaveClass 'fancy' + expect $('#custom-4').css 'visibility' + .toBe 'visible' + expect $('#custom-4')[0].style.webkitAnimationIterationCount + .toBe 'infinite' + expect $('#custom-4')[0].style.webkitAnimationDuration + .toBe '2s' + expect $('#custom-4')[0].style.webkitAnimationDelay + .toBe '1s' + done() + , timeout + , timeout + + it "fires the callback", (done) -> + called = false # reset + # Scroll down so that 150px of #custom-3 becomes visible. + window.scrollTo 0, $('#custom-3').offset().top - winHeight + 150 + setTimeout -> + expect called + .toBe true + done() + , timeout + + it 'fires the callback on the visible element', (done) -> + # Scroll down so that 150px of #custom-3 becomes visible. + window.scrollTo 0, $('#custom-3').offset().top - winHeight + 150 + setTimeout -> + expect $ '#custom-3' + .toHaveClass 'triggered' + expect $ '#custom-4' + .not.toHaveClass 'triggered' + # Scroll down so that 150px of #custom-4 becomes visible. + window.scrollTo 0, $('#custom-4').offset().top - winHeight + 150 + setTimeout -> + expect $ '#custom-3' + .toHaveClass 'triggered' + expect $ '#custom-4' + .toHaveClass 'triggered' + done() + , timeout + , timeout diff --git a/web/assets/js/libs/WOW/spec/javascripts/fixtures/custom.html b/web/assets/js/libs/WOW/spec/javascripts/fixtures/custom.html new file mode 100644 index 0000000..5d0586f --- /dev/null +++ b/web/assets/js/libs/WOW/spec/javascripts/fixtures/custom.html @@ -0,0 +1 @@ +
Test 1
Test 2
Test 3
Test 4
\ No newline at end of file diff --git a/web/assets/js/libs/WOW/spec/javascripts/fixtures/simple.html b/web/assets/js/libs/WOW/spec/javascripts/fixtures/simple.html new file mode 100644 index 0000000..635ebb9 --- /dev/null +++ b/web/assets/js/libs/WOW/spec/javascripts/fixtures/simple.html @@ -0,0 +1 @@ +
Test 1
Test 2
Test 3
Test 4
Test 5
\ No newline at end of file diff --git a/web/assets/js/libs/WOW/spec/javascripts/helpers/SpecHelper.js b/web/assets/js/libs/WOW/spec/javascripts/helpers/SpecHelper.js new file mode 100644 index 0000000..bba8cb5 --- /dev/null +++ b/web/assets/js/libs/WOW/spec/javascripts/helpers/SpecHelper.js @@ -0,0 +1,4 @@ +(function() { + beforeEach(function() {}); + +}).call(this); diff --git a/web/assets/js/libs/WOW/spec/javascripts/libs/jasmine-jquery.js b/web/assets/js/libs/WOW/spec/javascripts/libs/jasmine-jquery.js new file mode 100644 index 0000000..1d97b32 --- /dev/null +++ b/web/assets/js/libs/WOW/spec/javascripts/libs/jasmine-jquery.js @@ -0,0 +1,812 @@ +/*! +Jasmine-jQuery: a set of jQuery helpers for Jasmine tests. + +Version 2.0.2 + +https://github.com/velesin/jasmine-jquery + +Copyright (c) 2010-2014 Wojciech Zawistowski, Travis Jeffery + +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. +*/ + ++function (window, jasmine, $) { "use strict"; + + jasmine.spiedEventsKey = function (selector, eventName) { + return [$(selector).selector, eventName].toString() + } + + jasmine.getFixtures = function () { + return jasmine.currentFixtures_ = jasmine.currentFixtures_ || new jasmine.Fixtures() + } + + jasmine.getStyleFixtures = function () { + return jasmine.currentStyleFixtures_ = jasmine.currentStyleFixtures_ || new jasmine.StyleFixtures() + } + + jasmine.Fixtures = function () { + this.containerId = 'jasmine-fixtures' + this.fixturesCache_ = {} + this.fixturesPath = 'spec/javascripts/fixtures' + } + + jasmine.Fixtures.prototype.set = function (html) { + this.cleanUp() + return this.createContainer_(html) + } + + jasmine.Fixtures.prototype.appendSet= function (html) { + this.addToContainer_(html) + } + + jasmine.Fixtures.prototype.preload = function () { + this.read.apply(this, arguments) + } + + jasmine.Fixtures.prototype.load = function () { + this.cleanUp() + this.createContainer_(this.read.apply(this, arguments)) + } + + jasmine.Fixtures.prototype.appendLoad = function () { + this.addToContainer_(this.read.apply(this, arguments)) + } + + jasmine.Fixtures.prototype.read = function () { + var htmlChunks = [] + , fixtureUrls = arguments + + for(var urlCount = fixtureUrls.length, urlIndex = 0; urlIndex < urlCount; urlIndex++) { + htmlChunks.push(this.getFixtureHtml_(fixtureUrls[urlIndex])) + } + + return htmlChunks.join('') + } + + jasmine.Fixtures.prototype.clearCache = function () { + this.fixturesCache_ = {} + } + + jasmine.Fixtures.prototype.cleanUp = function () { + $('#' + this.containerId).remove() + } + + jasmine.Fixtures.prototype.sandbox = function (attributes) { + var attributesToSet = attributes || {} + return $('
').attr(attributesToSet) + } + + jasmine.Fixtures.prototype.createContainer_ = function (html) { + var container = $('
') + .attr('id', this.containerId) + .html(html) + + $(document.body).append(container) + return container + } + + jasmine.Fixtures.prototype.addToContainer_ = function (html){ + var container = $(document.body).find('#'+this.containerId).append(html) + + if (!container.length) { + this.createContainer_(html) + } + } + + jasmine.Fixtures.prototype.getFixtureHtml_ = function (url) { + if (typeof this.fixturesCache_[url] === 'undefined') { + this.loadFixtureIntoCache_(url) + } + return this.fixturesCache_[url] + } + + jasmine.Fixtures.prototype.loadFixtureIntoCache_ = function (relativeUrl) { + var self = this + , url = this.makeFixtureUrl_(relativeUrl) + , htmlText = '' + , request = $.ajax({ + async: false, // must be synchronous to guarantee that no tests are run before fixture is loaded + cache: false, + url: url, + success: function (data, status, $xhr) { + htmlText = $xhr.responseText + } + }).fail(function () { + throw new Error('Fixture could not be loaded: ' + url + ' (status: ' + status + ', message: ' + errorThrown.message + ')') + }) + + var scripts = $($.parseHTML(htmlText, true)).find('script[src]') || []; + + scripts.each(function(){ + $.ajax({ + async: false, // must be synchronous to guarantee that no tests are run before fixture is loaded + cache: false, + dataType: 'script', + url: $(this).attr('src'), + success: function (data, status, $xhr) { + htmlText += '' + }, + error: function (jqXHR, status, errorThrown) { + throw new Error('Script could not be loaded: ' + scriptSrc + ' (status: ' + status + ', message: ' + errorThrown.message + ')') + } + }); + }) + + self.fixturesCache_[relativeUrl] = htmlText; + } + + jasmine.Fixtures.prototype.makeFixtureUrl_ = function (relativeUrl){ + return this.fixturesPath.match('/$') ? this.fixturesPath + relativeUrl : this.fixturesPath + '/' + relativeUrl + } + + jasmine.Fixtures.prototype.proxyCallTo_ = function (methodName, passedArguments) { + return this[methodName].apply(this, passedArguments) + } + + + jasmine.StyleFixtures = function () { + this.fixturesCache_ = {} + this.fixturesNodes_ = [] + this.fixturesPath = 'spec/javascripts/fixtures' + } + + jasmine.StyleFixtures.prototype.set = function (css) { + this.cleanUp() + this.createStyle_(css) + } + + jasmine.StyleFixtures.prototype.appendSet = function (css) { + this.createStyle_(css) + } + + jasmine.StyleFixtures.prototype.preload = function () { + this.read_.apply(this, arguments) + } + + jasmine.StyleFixtures.prototype.load = function () { + this.cleanUp() + this.createStyle_(this.read_.apply(this, arguments)) + } + + jasmine.StyleFixtures.prototype.appendLoad = function () { + this.createStyle_(this.read_.apply(this, arguments)) + } + + jasmine.StyleFixtures.prototype.cleanUp = function () { + while(this.fixturesNodes_.length) { + this.fixturesNodes_.pop().remove() + } + } + + jasmine.StyleFixtures.prototype.createStyle_ = function (html) { + var styleText = $('
').html(html).text() + , style = $('') + + this.fixturesNodes_.push(style) + $('head').append(style) + } + + jasmine.StyleFixtures.prototype.clearCache = jasmine.Fixtures.prototype.clearCache + jasmine.StyleFixtures.prototype.read_ = jasmine.Fixtures.prototype.read + jasmine.StyleFixtures.prototype.getFixtureHtml_ = jasmine.Fixtures.prototype.getFixtureHtml_ + jasmine.StyleFixtures.prototype.loadFixtureIntoCache_ = jasmine.Fixtures.prototype.loadFixtureIntoCache_ + jasmine.StyleFixtures.prototype.makeFixtureUrl_ = jasmine.Fixtures.prototype.makeFixtureUrl_ + jasmine.StyleFixtures.prototype.proxyCallTo_ = jasmine.Fixtures.prototype.proxyCallTo_ + + jasmine.getJSONFixtures = function () { + return jasmine.currentJSONFixtures_ = jasmine.currentJSONFixtures_ || new jasmine.JSONFixtures() + } + + jasmine.JSONFixtures = function () { + this.fixturesCache_ = {} + this.fixturesPath = 'spec/javascripts/fixtures/json' + } + + jasmine.JSONFixtures.prototype.load = function () { + this.read.apply(this, arguments) + return this.fixturesCache_ + } + + jasmine.JSONFixtures.prototype.read = function () { + var fixtureUrls = arguments + + for(var urlCount = fixtureUrls.length, urlIndex = 0; urlIndex < urlCount; urlIndex++) { + this.getFixtureData_(fixtureUrls[urlIndex]) + } + + return this.fixturesCache_ + } + + jasmine.JSONFixtures.prototype.clearCache = function () { + this.fixturesCache_ = {} + } + + jasmine.JSONFixtures.prototype.getFixtureData_ = function (url) { + if (!this.fixturesCache_[url]) this.loadFixtureIntoCache_(url) + return this.fixturesCache_[url] + } + + jasmine.JSONFixtures.prototype.loadFixtureIntoCache_ = function (relativeUrl) { + var self = this + , url = this.fixturesPath.match('/$') ? this.fixturesPath + relativeUrl : this.fixturesPath + '/' + relativeUrl + + $.ajax({ + async: false, // must be synchronous to guarantee that no tests are run before fixture is loaded + cache: false, + dataType: 'json', + url: url, + success: function (data) { + self.fixturesCache_[relativeUrl] = data + }, + error: function (jqXHR, status, errorThrown) { + throw new Error('JSONFixture could not be loaded: ' + url + ' (status: ' + status + ', message: ' + errorThrown.message + ')') + } + }) + } + + jasmine.JSONFixtures.prototype.proxyCallTo_ = function (methodName, passedArguments) { + return this[methodName].apply(this, passedArguments) + } + + jasmine.jQuery = function () {} + + jasmine.jQuery.browserTagCaseIndependentHtml = function (html) { + return $('
').append(html).html() + } + + jasmine.jQuery.elementToString = function (element) { + return $(element).map(function () { return this.outerHTML; }).toArray().join(', ') + } + + var data = { + spiedEvents: {} + , handlers: [] + } + + jasmine.jQuery.events = { + spyOn: function (selector, eventName) { + var handler = function (e) { + data.spiedEvents[jasmine.spiedEventsKey(selector, eventName)] = jasmine.util.argsToArray(arguments) + } + + $(selector).on(eventName, handler) + data.handlers.push(handler) + + return { + selector: selector, + eventName: eventName, + handler: handler, + reset: function (){ + delete data.spiedEvents[jasmine.spiedEventsKey(selector, eventName)] + } + } + }, + + args: function (selector, eventName) { + var actualArgs = data.spiedEvents[jasmine.spiedEventsKey(selector, eventName)] + + if (!actualArgs) { + throw "There is no spy for " + eventName + " on " + selector.toString() + ". Make sure to create a spy using spyOnEvent." + } + + return actualArgs + }, + + wasTriggered: function (selector, eventName) { + return !!(data.spiedEvents[jasmine.spiedEventsKey(selector, eventName)]) + }, + + wasTriggeredWith: function (selector, eventName, expectedArgs, util, customEqualityTesters) { + var actualArgs = jasmine.jQuery.events.args(selector, eventName).slice(1) + + if (Object.prototype.toString.call(expectedArgs) !== '[object Array]') + actualArgs = actualArgs[0] + + return util.equals(expectedArgs, actualArgs, customEqualityTesters) + }, + + wasPrevented: function (selector, eventName) { + var args = data.spiedEvents[jasmine.spiedEventsKey(selector, eventName)] + , e = args ? args[0] : undefined + + return e && e.isDefaultPrevented() + }, + + wasStopped: function (selector, eventName) { + var args = data.spiedEvents[jasmine.spiedEventsKey(selector, eventName)] + , e = args ? args[0] : undefined + return e && e.isPropagationStopped() + }, + + cleanUp: function () { + data.spiedEvents = {} + data.handlers = [] + } + } + + var hasProperty = function (actualValue, expectedValue) { + if (expectedValue === undefined) + return actualValue !== undefined + + return actualValue === expectedValue + } + + beforeEach(function () { + jasmine.addMatchers({ + toHaveClass: function () { + return { + compare: function (actual, className) { + return { pass: $(actual).hasClass(className) } + } + } + }, + + toHaveCss: function () { + return { + compare: function (actual, css) { + for (var prop in css){ + var value = css[prop] + // see issue #147 on gh + ;if (value === 'auto' && $(actual).get(0).style[prop] === 'auto') continue + if ($(actual).css(prop) !== value) return { pass: false } + } + return { pass: true } + } + } + }, + + toBeVisible: function () { + return { + compare: function (actual) { + return { pass: $(actual).is(':visible') } + } + } + }, + + toBeHidden: function () { + return { + compare: function (actual) { + return { pass: $(actual).is(':hidden') } + } + } + }, + + toBeSelected: function () { + return { + compare: function (actual) { + return { pass: $(actual).is(':selected') } + } + } + }, + + toBeChecked: function () { + return { + compare: function (actual) { + return { pass: $(actual).is(':checked') } + } + } + }, + + toBeEmpty: function () { + return { + compare: function (actual) { + return { pass: $(actual).is(':empty') } + } + } + }, + + toBeInDOM: function () { + return { + compare: function (actual) { + return { pass: $.contains(document.documentElement, $(actual)[0]) } + } + } + }, + + toExist: function () { + return { + compare: function (actual) { + return { pass: $(actual).length } + } + } + }, + + toHaveLength: function () { + return { + compare: function (actual, length) { + return { pass: $(actual).length === length } + } + } + }, + + toHaveAttr: function () { + return { + compare: function (actual, attributeName, expectedAttributeValue) { + return { pass: hasProperty($(actual).attr(attributeName), expectedAttributeValue) } + } + } + }, + + toHaveProp: function () { + return { + compare: function (actual, propertyName, expectedPropertyValue) { + return { pass: hasProperty($(actual).prop(propertyName), expectedPropertyValue) } + } + } + }, + + toHaveId: function () { + return { + compare: function (actual, id) { + return { pass: $(actual).attr('id') == id } + } + } + }, + + toHaveHtml: function () { + return { + compare: function (actual, html) { + return { pass: $(actual).html() == jasmine.jQuery.browserTagCaseIndependentHtml(html) } + } + } + }, + + toContainHtml: function () { + return { + compare: function (actual, html) { + var actualHtml = $(actual).html() + , expectedHtml = jasmine.jQuery.browserTagCaseIndependentHtml(html) + + return { pass: (actualHtml.indexOf(expectedHtml) >= 0) } + } + } + }, + + toHaveText: function () { + return { + compare: function (actual, text) { + var trimmedText = $.trim($(actual).text()) + + if (text && $.isFunction(text.test)) { + return { pass: text.test(trimmedText) } + } else { + return { pass: trimmedText == text } + } + } + } + }, + + toContainText: function () { + return { + compare: function (actual, text) { + var trimmedText = $.trim($(actual).text()) + + if (text && $.isFunction(text.test)) { + return { pass: text.test(trimmedText) } + } else { + return { pass: trimmedText.indexOf(text) != -1 } + } + } + } + }, + + toHaveValue: function () { + return { + compare: function (actual, value) { + return { pass: $(actual).val() === value } + } + } + }, + + toHaveData: function () { + return { + compare: function (actual, key, expectedValue) { + return { pass: hasProperty($(actual).data(key), expectedValue) } + } + } + }, + + toContainElement: function () { + return { + compare: function (actual, selector) { + if (window.debug) debugger + return { pass: $(actual).find(selector).length } + } + } + }, + + toBeMatchedBy: function () { + return { + compare: function (actual, selector) { + return { pass: $(actual).filter(selector).length } + } + } + }, + + toBeDisabled: function () { + return { + compare: function (actual, selector) { + return { pass: $(actual).is(':disabled') } + } + } + }, + + toBeFocused: function (selector) { + return { + compare: function (actual, selector) { + return { pass: $(actual)[0] === $(actual)[0].ownerDocument.activeElement } + } + } + }, + + toHandle: function () { + return { + compare: function (actual, event) { + var events = $._data($(actual).get(0), "events") + + if (!events || !event || typeof event !== "string") { + return { pass: false } + } + + var namespaces = event.split(".") + , eventType = namespaces.shift() + , sortedNamespaces = namespaces.slice(0).sort() + , namespaceRegExp = new RegExp("(^|\\.)" + sortedNamespaces.join("\\.(?:.*\\.)?") + "(\\.|$)") + + if (events[eventType] && namespaces.length) { + for (var i = 0; i < events[eventType].length; i++) { + var namespace = events[eventType][i].namespace + + if (namespaceRegExp.test(namespace)) + return { pass: true } + } + } else { + return { pass: (events[eventType] && events[eventType].length > 0) } + } + + return { pass: false } + } + } + }, + + toHandleWith: function () { + return { + compare: function (actual, eventName, eventHandler) { + var normalizedEventName = eventName.split('.')[0] + , stack = $._data($(actual).get(0), "events")[normalizedEventName] + + for (var i = 0; i < stack.length; i++) { + if (stack[i].handler == eventHandler) return { pass: true } + } + + return { pass: false } + } + } + }, + + toHaveBeenTriggeredOn: function () { + return { + compare: function (actual, selector) { + var result = { pass: jasmine.jQuery.events.wasTriggered(selector, actual) } + + result.message = result.pass ? + "Expected event " + $(actual) + " not to have been triggered on " + selector : + "Expected event " + $(actual) + " to have been triggered on " + selector + + return result; + } + } + }, + + toHaveBeenTriggered: function (){ + return { + compare: function (actual) { + var eventName = actual.eventName + , selector = actual.selector + , result = { pass: jasmine.jQuery.events.wasTriggered(selector, eventName) } + + result.message = result.pass ? + "Expected event " + eventName + " not to have been triggered on " + selector : + "Expected event " + eventName + " to have been triggered on " + selector + + return result + } + } + }, + + toHaveBeenTriggeredOnAndWith: function (j$, customEqualityTesters) { + return { + compare: function (actual, selector, expectedArgs) { + var wasTriggered = jasmine.jQuery.events.wasTriggered(selector, actual) + , result = { pass: wasTriggered && jasmine.jQuery.events.wasTriggeredWith(selector, actual, expectedArgs, j$, customEqualityTesters) } + + if (wasTriggered) { + var actualArgs = jasmine.jQuery.events.args(selector, actual, expectedArgs)[1] + result.message = result.pass ? + "Expected event " + actual + " not to have been triggered with " + jasmine.pp(expectedArgs) + " but it was triggered with " + jasmine.pp(actualArgs) : + "Expected event " + actual + " to have been triggered with " + jasmine.pp(expectedArgs) + " but it was triggered with " + jasmine.pp(actualArgs) + + } else { + // todo check on this + result.message = result.pass ? + "Expected event " + actual + " not to have been triggered on " + selector : + "Expected event " + actual + " to have been triggered on " + selector + } + + return result + } + } + }, + + toHaveBeenPreventedOn: function () { + return { + compare: function (actual, selector) { + var result = { pass: jasmine.jQuery.events.wasPrevented(selector, actual) } + + result.message = result.pass ? + "Expected event " + actual + " not to have been prevented on " + selector : + "Expected event " + actual + " to have been prevented on " + selector + + return result + } + } + }, + + toHaveBeenPrevented: function () { + return { + compare: function (actual) { + var eventName = actual.eventName + , selector = actual.selector + , result = { pass: jasmine.jQuery.events.wasPrevented(selector, eventName) } + + result.message = result.pass ? + "Expected event " + eventName + " not to have been prevented on " + selector : + "Expected event " + eventName + " to have been prevented on " + selector + + return result + } + } + }, + + toHaveBeenStoppedOn: function () { + return { + compare: function (actual, selector) { + var result = { pass: jasmine.jQuery.events.wasStopped(selector, actual) } + + result.message = result.pass ? + "Expected event " + actual + " not to have been stopped on " + selector : + "Expected event " + actual + " to have been stopped on " + selector + + return result; + } + } + }, + + toHaveBeenStopped: function () { + return { + compare: function (actual) { + var eventName = actual.eventName + , selector = actual.selector + , result = { pass: jasmine.jQuery.events.wasStopped(selector, eventName) } + + result.message = result.pass ? + "Expected event " + eventName + " not to have been stopped on " + selector : + "Expected event " + eventName + " to have been stopped on " + selector + + return result + } + } + } + }) + + jasmine.getEnv().addCustomEqualityTester(function(a, b) { + if (a && b) { + if (a instanceof $ || jasmine.isDomNode(a)) { + var $a = $(a) + + if (b instanceof $) + return $a.length == b.length && a.is(b) + + return $a.is(b); + } + + if (b instanceof $ || jasmine.isDomNode(b)) { + var $b = $(b) + + if (a instanceof jQuery) + return a.length == $b.length && $b.is(a) + + return $(b).is(a); + } + } + }) + + jasmine.getEnv().addCustomEqualityTester(function (a, b) { + if (a instanceof jQuery && b instanceof jQuery && a.size() == b.size()) + return a.is(b) + }) + }) + + afterEach(function () { + jasmine.getFixtures().cleanUp() + jasmine.getStyleFixtures().cleanUp() + jasmine.jQuery.events.cleanUp() + }) + + window.readFixtures = function () { + return jasmine.getFixtures().proxyCallTo_('read', arguments) + } + + window.preloadFixtures = function () { + jasmine.getFixtures().proxyCallTo_('preload', arguments) + } + + window.loadFixtures = function () { + jasmine.getFixtures().proxyCallTo_('load', arguments) + } + + window.appendLoadFixtures = function () { + jasmine.getFixtures().proxyCallTo_('appendLoad', arguments) + } + + window.setFixtures = function (html) { + return jasmine.getFixtures().proxyCallTo_('set', arguments) + } + + window.appendSetFixtures = function () { + jasmine.getFixtures().proxyCallTo_('appendSet', arguments) + } + + window.sandbox = function (attributes) { + return jasmine.getFixtures().sandbox(attributes) + } + + window.spyOnEvent = function (selector, eventName) { + return jasmine.jQuery.events.spyOn(selector, eventName) + } + + window.preloadStyleFixtures = function () { + jasmine.getStyleFixtures().proxyCallTo_('preload', arguments) + } + + window.loadStyleFixtures = function () { + jasmine.getStyleFixtures().proxyCallTo_('load', arguments) + } + + window.appendLoadStyleFixtures = function () { + jasmine.getStyleFixtures().proxyCallTo_('appendLoad', arguments) + } + + window.setStyleFixtures = function (html) { + jasmine.getStyleFixtures().proxyCallTo_('set', arguments) + } + + window.appendSetStyleFixtures = function (html) { + jasmine.getStyleFixtures().proxyCallTo_('appendSet', arguments) + } + + window.loadJSONFixtures = function () { + return jasmine.getJSONFixtures().proxyCallTo_('load', arguments) + } + + window.getJSONFixture = function (url) { + return jasmine.getJSONFixtures().proxyCallTo_('read', arguments)[url] + } +}(window, window.jasmine, window.jQuery); diff --git a/web/assets/js/libs/WOW/spec/javascripts/libs/jquery.js b/web/assets/js/libs/WOW/spec/javascripts/libs/jquery.js new file mode 100644 index 0000000..a202c66 --- /dev/null +++ b/web/assets/js/libs/WOW/spec/javascripts/libs/jquery.js @@ -0,0 +1,9789 @@ +/*! + * jQuery JavaScript Library v1.10.2 + * http://jquery.com/ + * + * Includes Sizzle.js + * http://sizzlejs.com/ + * + * Copyright 2005, 2013 jQuery Foundation, Inc. and other contributors + * Released under the MIT license + * http://jquery.org/license + * + * Date: 2013-07-03T13:48Z + */ +(function( window, undefined ) { + +// Can't do this because several apps including ASP.NET trace +// the stack via arguments.caller.callee and Firefox dies if +// you try to trace through "use strict" call chains. (#13335) +// Support: Firefox 18+ +//"use strict"; +var + // The deferred used on DOM ready + readyList, + + // A central reference to the root jQuery(document) + rootjQuery, + + // Support: IE<10 + // For `typeof xmlNode.method` instead of `xmlNode.method !== undefined` + core_strundefined = typeof undefined, + + // Use the correct document accordingly with window argument (sandbox) + location = window.location, + document = window.document, + docElem = document.documentElement, + + // Map over jQuery in case of overwrite + _jQuery = window.jQuery, + + // Map over the $ in case of overwrite + _$ = window.$, + + // [[Class]] -> type pairs + class2type = {}, + + // List of deleted data cache ids, so we can reuse them + core_deletedIds = [], + + core_version = "1.10.2", + + // Save a reference to some core methods + core_concat = core_deletedIds.concat, + core_push = core_deletedIds.push, + core_slice = core_deletedIds.slice, + core_indexOf = core_deletedIds.indexOf, + core_toString = class2type.toString, + core_hasOwn = class2type.hasOwnProperty, + core_trim = core_version.trim, + + // Define a local copy of jQuery + jQuery = function( selector, context ) { + // The jQuery object is actually just the init constructor 'enhanced' + return new jQuery.fn.init( selector, context, rootjQuery ); + }, + + // Used for matching numbers + core_pnum = /[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source, + + // Used for splitting on whitespace + core_rnotwhite = /\S+/g, + + // Make sure we trim BOM and NBSP (here's looking at you, Safari 5.0 and IE) + rtrim = /^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g, + + // A simple way to check for HTML strings + // Prioritize #id over to avoid XSS via location.hash (#9521) + // Strict HTML recognition (#11290: must start with <) + rquickExpr = /^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]*))$/, + + // Match a standalone tag + rsingleTag = /^<(\w+)\s*\/?>(?:<\/\1>|)$/, + + // JSON RegExp + rvalidchars = /^[\],:{}\s]*$/, + rvalidbraces = /(?:^|:|,)(?:\s*\[)+/g, + rvalidescape = /\\(?:["\\\/bfnrt]|u[\da-fA-F]{4})/g, + rvalidtokens = /"[^"\\\r\n]*"|true|false|null|-?(?:\d+\.|)\d+(?:[eE][+-]?\d+|)/g, + + // Matches dashed string for camelizing + rmsPrefix = /^-ms-/, + rdashAlpha = /-([\da-z])/gi, + + // Used by jQuery.camelCase as callback to replace() + fcamelCase = function( all, letter ) { + return letter.toUpperCase(); + }, + + // The ready event handler + completed = function( event ) { + + // readyState === "complete" is good enough for us to call the dom ready in oldIE + if ( document.addEventListener || event.type === "load" || document.readyState === "complete" ) { + detach(); + jQuery.ready(); + } + }, + // Clean-up method for dom ready events + detach = function() { + if ( document.addEventListener ) { + document.removeEventListener( "DOMContentLoaded", completed, false ); + window.removeEventListener( "load", completed, false ); + + } else { + document.detachEvent( "onreadystatechange", completed ); + window.detachEvent( "onload", completed ); + } + }; + +jQuery.fn = jQuery.prototype = { + // The current version of jQuery being used + jquery: core_version, + + constructor: jQuery, + init: function( selector, context, rootjQuery ) { + var match, elem; + + // HANDLE: $(""), $(null), $(undefined), $(false) + if ( !selector ) { + return this; + } + + // Handle HTML strings + if ( typeof selector === "string" ) { + if ( selector.charAt(0) === "<" && selector.charAt( selector.length - 1 ) === ">" && selector.length >= 3 ) { + // Assume that strings that start and end with <> are HTML and skip the regex check + match = [ null, selector, null ]; + + } else { + match = rquickExpr.exec( selector ); + } + + // Match html or make sure no context is specified for #id + if ( match && (match[1] || !context) ) { + + // HANDLE: $(html) -> $(array) + if ( match[1] ) { + context = context instanceof jQuery ? context[0] : context; + + // scripts is true for back-compat + jQuery.merge( this, jQuery.parseHTML( + match[1], + context && context.nodeType ? context.ownerDocument || context : document, + true + ) ); + + // HANDLE: $(html, props) + if ( rsingleTag.test( match[1] ) && jQuery.isPlainObject( context ) ) { + for ( match in context ) { + // Properties of context are called as methods if possible + if ( jQuery.isFunction( this[ match ] ) ) { + this[ match ]( context[ match ] ); + + // ...and otherwise set as attributes + } else { + this.attr( match, context[ match ] ); + } + } + } + + return this; + + // HANDLE: $(#id) + } else { + elem = document.getElementById( match[2] ); + + // Check parentNode to catch when Blackberry 4.6 returns + // nodes that are no longer in the document #6963 + if ( elem && elem.parentNode ) { + // Handle the case where IE and Opera return items + // by name instead of ID + if ( elem.id !== match[2] ) { + return rootjQuery.find( selector ); + } + + // Otherwise, we inject the element directly into the jQuery object + this.length = 1; + this[0] = elem; + } + + this.context = document; + this.selector = selector; + return this; + } + + // HANDLE: $(expr, $(...)) + } else if ( !context || context.jquery ) { + return ( context || rootjQuery ).find( selector ); + + // HANDLE: $(expr, context) + // (which is just equivalent to: $(context).find(expr) + } else { + return this.constructor( context ).find( selector ); + } + + // HANDLE: $(DOMElement) + } else if ( selector.nodeType ) { + this.context = this[0] = selector; + this.length = 1; + return this; + + // HANDLE: $(function) + // Shortcut for document ready + } else if ( jQuery.isFunction( selector ) ) { + return rootjQuery.ready( selector ); + } + + if ( selector.selector !== undefined ) { + this.selector = selector.selector; + this.context = selector.context; + } + + return jQuery.makeArray( selector, this ); + }, + + // Start with an empty selector + selector: "", + + // The default length of a jQuery object is 0 + length: 0, + + toArray: function() { + return core_slice.call( this ); + }, + + // Get the Nth element in the matched element set OR + // Get the whole matched element set as a clean array + get: function( num ) { + return num == null ? + + // Return a 'clean' array + this.toArray() : + + // Return just the object + ( num < 0 ? this[ this.length + num ] : this[ num ] ); + }, + + // Take an array of elements and push it onto the stack + // (returning the new matched element set) + pushStack: function( elems ) { + + // Build a new jQuery matched element set + var ret = jQuery.merge( this.constructor(), elems ); + + // Add the old object onto the stack (as a reference) + ret.prevObject = this; + ret.context = this.context; + + // Return the newly-formed element set + return ret; + }, + + // Execute a callback for every element in the matched set. + // (You can seed the arguments with an array of args, but this is + // only used internally.) + each: function( callback, args ) { + return jQuery.each( this, callback, args ); + }, + + ready: function( fn ) { + // Add the callback + jQuery.ready.promise().done( fn ); + + return this; + }, + + slice: function() { + return this.pushStack( core_slice.apply( this, arguments ) ); + }, + + first: function() { + return this.eq( 0 ); + }, + + last: function() { + return this.eq( -1 ); + }, + + eq: function( i ) { + var len = this.length, + j = +i + ( i < 0 ? len : 0 ); + return this.pushStack( j >= 0 && j < len ? [ this[j] ] : [] ); + }, + + map: function( callback ) { + return this.pushStack( jQuery.map(this, function( elem, i ) { + return callback.call( elem, i, elem ); + })); + }, + + end: function() { + return this.prevObject || this.constructor(null); + }, + + // For internal use only. + // Behaves like an Array's method, not like a jQuery method. + push: core_push, + sort: [].sort, + splice: [].splice +}; + +// Give the init function the jQuery prototype for later instantiation +jQuery.fn.init.prototype = jQuery.fn; + +jQuery.extend = jQuery.fn.extend = function() { + var src, copyIsArray, copy, name, options, clone, + target = arguments[0] || {}, + i = 1, + length = arguments.length, + deep = false; + + // Handle a deep copy situation + if ( typeof target === "boolean" ) { + deep = target; + target = arguments[1] || {}; + // skip the boolean and the target + i = 2; + } + + // Handle case when target is a string or something (possible in deep copy) + if ( typeof target !== "object" && !jQuery.isFunction(target) ) { + target = {}; + } + + // extend jQuery itself if only one argument is passed + if ( length === i ) { + target = this; + --i; + } + + for ( ; i < length; i++ ) { + // Only deal with non-null/undefined values + if ( (options = arguments[ i ]) != null ) { + // Extend the base object + for ( name in options ) { + src = target[ name ]; + copy = options[ name ]; + + // Prevent never-ending loop + if ( target === copy ) { + continue; + } + + // Recurse if we're merging plain objects or arrays + if ( deep && copy && ( jQuery.isPlainObject(copy) || (copyIsArray = jQuery.isArray(copy)) ) ) { + if ( copyIsArray ) { + copyIsArray = false; + clone = src && jQuery.isArray(src) ? src : []; + + } else { + clone = src && jQuery.isPlainObject(src) ? src : {}; + } + + // Never move original objects, clone them + target[ name ] = jQuery.extend( deep, clone, copy ); + + // Don't bring in undefined values + } else if ( copy !== undefined ) { + target[ name ] = copy; + } + } + } + } + + // Return the modified object + return target; +}; + +jQuery.extend({ + // Unique for each copy of jQuery on the page + // Non-digits removed to match rinlinejQuery + expando: "jQuery" + ( core_version + Math.random() ).replace( /\D/g, "" ), + + noConflict: function( deep ) { + if ( window.$ === jQuery ) { + window.$ = _$; + } + + if ( deep && window.jQuery === jQuery ) { + window.jQuery = _jQuery; + } + + return jQuery; + }, + + // Is the DOM ready to be used? Set to true once it occurs. + isReady: false, + + // A counter to track how many items to wait for before + // the ready event fires. See #6781 + readyWait: 1, + + // Hold (or release) the ready event + holdReady: function( hold ) { + if ( hold ) { + jQuery.readyWait++; + } else { + jQuery.ready( true ); + } + }, + + // Handle when the DOM is ready + ready: function( wait ) { + + // Abort if there are pending holds or we're already ready + if ( wait === true ? --jQuery.readyWait : jQuery.isReady ) { + return; + } + + // Make sure body exists, at least, in case IE gets a little overzealous (ticket #5443). + if ( !document.body ) { + return setTimeout( jQuery.ready ); + } + + // Remember that the DOM is ready + jQuery.isReady = true; + + // If a normal DOM Ready event fired, decrement, and wait if need be + if ( wait !== true && --jQuery.readyWait > 0 ) { + return; + } + + // If there are functions bound, to execute + readyList.resolveWith( document, [ jQuery ] ); + + // Trigger any bound ready events + if ( jQuery.fn.trigger ) { + jQuery( document ).trigger("ready").off("ready"); + } + }, + + // See test/unit/core.js for details concerning isFunction. + // Since version 1.3, DOM methods and functions like alert + // aren't supported. They return false on IE (#2968). + isFunction: function( obj ) { + return jQuery.type(obj) === "function"; + }, + + isArray: Array.isArray || function( obj ) { + return jQuery.type(obj) === "array"; + }, + + isWindow: function( obj ) { + /* jshint eqeqeq: false */ + return obj != null && obj == obj.window; + }, + + isNumeric: function( obj ) { + return !isNaN( parseFloat(obj) ) && isFinite( obj ); + }, + + type: function( obj ) { + if ( obj == null ) { + return String( obj ); + } + return typeof obj === "object" || typeof obj === "function" ? + class2type[ core_toString.call(obj) ] || "object" : + typeof obj; + }, + + isPlainObject: function( obj ) { + var key; + + // Must be an Object. + // Because of IE, we also have to check the presence of the constructor property. + // Make sure that DOM nodes and window objects don't pass through, as well + if ( !obj || jQuery.type(obj) !== "object" || obj.nodeType || jQuery.isWindow( obj ) ) { + return false; + } + + try { + // Not own constructor property must be Object + if ( obj.constructor && + !core_hasOwn.call(obj, "constructor") && + !core_hasOwn.call(obj.constructor.prototype, "isPrototypeOf") ) { + return false; + } + } catch ( e ) { + // IE8,9 Will throw exceptions on certain host objects #9897 + return false; + } + + // Support: IE<9 + // Handle iteration over inherited properties before own properties. + if ( jQuery.support.ownLast ) { + for ( key in obj ) { + return core_hasOwn.call( obj, key ); + } + } + + // Own properties are enumerated firstly, so to speed up, + // if last one is own, then all properties are own. + for ( key in obj ) {} + + return key === undefined || core_hasOwn.call( obj, key ); + }, + + isEmptyObject: function( obj ) { + var name; + for ( name in obj ) { + return false; + } + return true; + }, + + error: function( msg ) { + throw new Error( msg ); + }, + + // data: string of html + // context (optional): If specified, the fragment will be created in this context, defaults to document + // keepScripts (optional): If true, will include scripts passed in the html string + parseHTML: function( data, context, keepScripts ) { + if ( !data || typeof data !== "string" ) { + return null; + } + if ( typeof context === "boolean" ) { + keepScripts = context; + context = false; + } + context = context || document; + + var parsed = rsingleTag.exec( data ), + scripts = !keepScripts && []; + + // Single tag + if ( parsed ) { + return [ context.createElement( parsed[1] ) ]; + } + + parsed = jQuery.buildFragment( [ data ], context, scripts ); + if ( scripts ) { + jQuery( scripts ).remove(); + } + return jQuery.merge( [], parsed.childNodes ); + }, + + parseJSON: function( data ) { + // Attempt to parse using the native JSON parser first + if ( window.JSON && window.JSON.parse ) { + return window.JSON.parse( data ); + } + + if ( data === null ) { + return data; + } + + if ( typeof data === "string" ) { + + // Make sure leading/trailing whitespace is removed (IE can't handle it) + data = jQuery.trim( data ); + + if ( data ) { + // Make sure the incoming data is actual JSON + // Logic borrowed from http://json.org/json2.js + if ( rvalidchars.test( data.replace( rvalidescape, "@" ) + .replace( rvalidtokens, "]" ) + .replace( rvalidbraces, "")) ) { + + return ( new Function( "return " + data ) )(); + } + } + } + + jQuery.error( "Invalid JSON: " + data ); + }, + + // Cross-browser xml parsing + parseXML: function( data ) { + var xml, tmp; + if ( !data || typeof data !== "string" ) { + return null; + } + try { + if ( window.DOMParser ) { // Standard + tmp = new DOMParser(); + xml = tmp.parseFromString( data , "text/xml" ); + } else { // IE + xml = new ActiveXObject( "Microsoft.XMLDOM" ); + xml.async = "false"; + xml.loadXML( data ); + } + } catch( e ) { + xml = undefined; + } + if ( !xml || !xml.documentElement || xml.getElementsByTagName( "parsererror" ).length ) { + jQuery.error( "Invalid XML: " + data ); + } + return xml; + }, + + noop: function() {}, + + // Evaluates a script in a global context + // Workarounds based on findings by Jim Driscoll + // http://weblogs.java.net/blog/driscoll/archive/2009/09/08/eval-javascript-global-context + globalEval: function( data ) { + if ( data && jQuery.trim( data ) ) { + // We use execScript on Internet Explorer + // We use an anonymous function so that context is window + // rather than jQuery in Firefox + ( window.execScript || function( data ) { + window[ "eval" ].call( window, data ); + } )( data ); + } + }, + + // Convert dashed to camelCase; used by the css and data modules + // Microsoft forgot to hump their vendor prefix (#9572) + camelCase: function( string ) { + return string.replace( rmsPrefix, "ms-" ).replace( rdashAlpha, fcamelCase ); + }, + + nodeName: function( elem, name ) { + return elem.nodeName && elem.nodeName.toLowerCase() === name.toLowerCase(); + }, + + // args is for internal usage only + each: function( obj, callback, args ) { + var value, + i = 0, + length = obj.length, + isArray = isArraylike( obj ); + + if ( args ) { + if ( isArray ) { + for ( ; i < length; i++ ) { + value = callback.apply( obj[ i ], args ); + + if ( value === false ) { + break; + } + } + } else { + for ( i in obj ) { + value = callback.apply( obj[ i ], args ); + + if ( value === false ) { + break; + } + } + } + + // A special, fast, case for the most common use of each + } else { + if ( isArray ) { + for ( ; i < length; i++ ) { + value = callback.call( obj[ i ], i, obj[ i ] ); + + if ( value === false ) { + break; + } + } + } else { + for ( i in obj ) { + value = callback.call( obj[ i ], i, obj[ i ] ); + + if ( value === false ) { + break; + } + } + } + } + + return obj; + }, + + // Use native String.trim function wherever possible + trim: core_trim && !core_trim.call("\uFEFF\xA0") ? + function( text ) { + return text == null ? + "" : + core_trim.call( text ); + } : + + // Otherwise use our own trimming functionality + function( text ) { + return text == null ? + "" : + ( text + "" ).replace( rtrim, "" ); + }, + + // results is for internal usage only + makeArray: function( arr, results ) { + var ret = results || []; + + if ( arr != null ) { + if ( isArraylike( Object(arr) ) ) { + jQuery.merge( ret, + typeof arr === "string" ? + [ arr ] : arr + ); + } else { + core_push.call( ret, arr ); + } + } + + return ret; + }, + + inArray: function( elem, arr, i ) { + var len; + + if ( arr ) { + if ( core_indexOf ) { + return core_indexOf.call( arr, elem, i ); + } + + len = arr.length; + i = i ? i < 0 ? Math.max( 0, len + i ) : i : 0; + + for ( ; i < len; i++ ) { + // Skip accessing in sparse arrays + if ( i in arr && arr[ i ] === elem ) { + return i; + } + } + } + + return -1; + }, + + merge: function( first, second ) { + var l = second.length, + i = first.length, + j = 0; + + if ( typeof l === "number" ) { + for ( ; j < l; j++ ) { + first[ i++ ] = second[ j ]; + } + } else { + while ( second[j] !== undefined ) { + first[ i++ ] = second[ j++ ]; + } + } + + first.length = i; + + return first; + }, + + grep: function( elems, callback, inv ) { + var retVal, + ret = [], + i = 0, + length = elems.length; + inv = !!inv; + + // Go through the array, only saving the items + // that pass the validator function + for ( ; i < length; i++ ) { + retVal = !!callback( elems[ i ], i ); + if ( inv !== retVal ) { + ret.push( elems[ i ] ); + } + } + + return ret; + }, + + // arg is for internal usage only + map: function( elems, callback, arg ) { + var value, + i = 0, + length = elems.length, + isArray = isArraylike( elems ), + ret = []; + + // Go through the array, translating each of the items to their + if ( isArray ) { + for ( ; i < length; i++ ) { + value = callback( elems[ i ], i, arg ); + + if ( value != null ) { + ret[ ret.length ] = value; + } + } + + // Go through every key on the object, + } else { + for ( i in elems ) { + value = callback( elems[ i ], i, arg ); + + if ( value != null ) { + ret[ ret.length ] = value; + } + } + } + + // Flatten any nested arrays + return core_concat.apply( [], ret ); + }, + + // A global GUID counter for objects + guid: 1, + + // Bind a function to a context, optionally partially applying any + // arguments. + proxy: function( fn, context ) { + var args, proxy, tmp; + + if ( typeof context === "string" ) { + tmp = fn[ context ]; + context = fn; + fn = tmp; + } + + // Quick check to determine if target is callable, in the spec + // this throws a TypeError, but we will just return undefined. + if ( !jQuery.isFunction( fn ) ) { + return undefined; + } + + // Simulated bind + args = core_slice.call( arguments, 2 ); + proxy = function() { + return fn.apply( context || this, args.concat( core_slice.call( arguments ) ) ); + }; + + // Set the guid of unique handler to the same of original handler, so it can be removed + proxy.guid = fn.guid = fn.guid || jQuery.guid++; + + return proxy; + }, + + // Multifunctional method to get and set values of a collection + // The value/s can optionally be executed if it's a function + access: function( elems, fn, key, value, chainable, emptyGet, raw ) { + var i = 0, + length = elems.length, + bulk = key == null; + + // Sets many values + if ( jQuery.type( key ) === "object" ) { + chainable = true; + for ( i in key ) { + jQuery.access( elems, fn, i, key[i], true, emptyGet, raw ); + } + + // Sets one value + } else if ( value !== undefined ) { + chainable = true; + + if ( !jQuery.isFunction( value ) ) { + raw = true; + } + + if ( bulk ) { + // Bulk operations run against the entire set + if ( raw ) { + fn.call( elems, value ); + fn = null; + + // ...except when executing function values + } else { + bulk = fn; + fn = function( elem, key, value ) { + return bulk.call( jQuery( elem ), value ); + }; + } + } + + if ( fn ) { + for ( ; i < length; i++ ) { + fn( elems[i], key, raw ? value : value.call( elems[i], i, fn( elems[i], key ) ) ); + } + } + } + + return chainable ? + elems : + + // Gets + bulk ? + fn.call( elems ) : + length ? fn( elems[0], key ) : emptyGet; + }, + + now: function() { + return ( new Date() ).getTime(); + }, + + // A method for quickly swapping in/out CSS properties to get correct calculations. + // Note: this method belongs to the css module but it's needed here for the support module. + // If support gets modularized, this method should be moved back to the css module. + swap: function( elem, options, callback, args ) { + var ret, name, + old = {}; + + // Remember the old values, and insert the new ones + for ( name in options ) { + old[ name ] = elem.style[ name ]; + elem.style[ name ] = options[ name ]; + } + + ret = callback.apply( elem, args || [] ); + + // Revert the old values + for ( name in options ) { + elem.style[ name ] = old[ name ]; + } + + return ret; + } +}); + +jQuery.ready.promise = function( obj ) { + if ( !readyList ) { + + readyList = jQuery.Deferred(); + + // Catch cases where $(document).ready() is called after the browser event has already occurred. + // we once tried to use readyState "interactive" here, but it caused issues like the one + // discovered by ChrisS here: http://bugs.jquery.com/ticket/12282#comment:15 + if ( document.readyState === "complete" ) { + // Handle it asynchronously to allow scripts the opportunity to delay ready + setTimeout( jQuery.ready ); + + // Standards-based browsers support DOMContentLoaded + } else if ( document.addEventListener ) { + // Use the handy event callback + document.addEventListener( "DOMContentLoaded", completed, false ); + + // A fallback to window.onload, that will always work + window.addEventListener( "load", completed, false ); + + // If IE event model is used + } else { + // Ensure firing before onload, maybe late but safe also for iframes + document.attachEvent( "onreadystatechange", completed ); + + // A fallback to window.onload, that will always work + window.attachEvent( "onload", completed ); + + // If IE and not a frame + // continually check to see if the document is ready + var top = false; + + try { + top = window.frameElement == null && document.documentElement; + } catch(e) {} + + if ( top && top.doScroll ) { + (function doScrollCheck() { + if ( !jQuery.isReady ) { + + try { + // Use the trick by Diego Perini + // http://javascript.nwbox.com/IEContentLoaded/ + top.doScroll("left"); + } catch(e) { + return setTimeout( doScrollCheck, 50 ); + } + + // detach all dom ready events + detach(); + + // and execute any waiting functions + jQuery.ready(); + } + })(); + } + } + } + return readyList.promise( obj ); +}; + +// Populate the class2type map +jQuery.each("Boolean Number String Function Array Date RegExp Object Error".split(" "), function(i, name) { + class2type[ "[object " + name + "]" ] = name.toLowerCase(); +}); + +function isArraylike( obj ) { + var length = obj.length, + type = jQuery.type( obj ); + + if ( jQuery.isWindow( obj ) ) { + return false; + } + + if ( obj.nodeType === 1 && length ) { + return true; + } + + return type === "array" || type !== "function" && + ( length === 0 || + typeof length === "number" && length > 0 && ( length - 1 ) in obj ); +} + +// All jQuery objects should point back to these +rootjQuery = jQuery(document); +/*! + * Sizzle CSS Selector Engine v1.10.2 + * http://sizzlejs.com/ + * + * Copyright 2013 jQuery Foundation, Inc. and other contributors + * Released under the MIT license + * http://jquery.org/license + * + * Date: 2013-07-03 + */ +(function( window, undefined ) { + +var i, + support, + cachedruns, + Expr, + getText, + isXML, + compile, + outermostContext, + sortInput, + + // Local document vars + setDocument, + document, + docElem, + documentIsHTML, + rbuggyQSA, + rbuggyMatches, + matches, + contains, + + // Instance-specific data + expando = "sizzle" + -(new Date()), + preferredDoc = window.document, + dirruns = 0, + done = 0, + classCache = createCache(), + tokenCache = createCache(), + compilerCache = createCache(), + hasDuplicate = false, + sortOrder = function( a, b ) { + if ( a === b ) { + hasDuplicate = true; + return 0; + } + return 0; + }, + + // General-purpose constants + strundefined = typeof undefined, + MAX_NEGATIVE = 1 << 31, + + // Instance methods + hasOwn = ({}).hasOwnProperty, + arr = [], + pop = arr.pop, + push_native = arr.push, + push = arr.push, + slice = arr.slice, + // Use a stripped-down indexOf if we can't use a native one + indexOf = arr.indexOf || function( elem ) { + var i = 0, + len = this.length; + for ( ; i < len; i++ ) { + if ( this[i] === elem ) { + return i; + } + } + return -1; + }, + + booleans = "checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped", + + // Regular expressions + + // Whitespace characters http://www.w3.org/TR/css3-selectors/#whitespace + whitespace = "[\\x20\\t\\r\\n\\f]", + // http://www.w3.org/TR/css3-syntax/#characters + characterEncoding = "(?:\\\\.|[\\w-]|[^\\x00-\\xa0])+", + + // Loosely modeled on CSS identifier characters + // An unquoted value should be a CSS identifier http://www.w3.org/TR/css3-selectors/#attribute-selectors + // Proper syntax: http://www.w3.org/TR/CSS21/syndata.html#value-def-identifier + identifier = characterEncoding.replace( "w", "w#" ), + + // Acceptable operators http://www.w3.org/TR/selectors/#attribute-selectors + attributes = "\\[" + whitespace + "*(" + characterEncoding + ")" + whitespace + + "*(?:([*^$|!~]?=)" + whitespace + "*(?:(['\"])((?:\\\\.|[^\\\\])*?)\\3|(" + identifier + ")|)|)" + whitespace + "*\\]", + + // Prefer arguments quoted, + // then not containing pseudos/brackets, + // then attribute selectors/non-parenthetical expressions, + // then anything else + // These preferences are here to reduce the number of selectors + // needing tokenize in the PSEUDO preFilter + pseudos = ":(" + characterEncoding + ")(?:\\(((['\"])((?:\\\\.|[^\\\\])*?)\\3|((?:\\\\.|[^\\\\()[\\]]|" + attributes.replace( 3, 8 ) + ")*)|.*)\\)|)", + + // Leading and non-escaped trailing whitespace, capturing some non-whitespace characters preceding the latter + rtrim = new RegExp( "^" + whitespace + "+|((?:^|[^\\\\])(?:\\\\.)*)" + whitespace + "+$", "g" ), + + rcomma = new RegExp( "^" + whitespace + "*," + whitespace + "*" ), + rcombinators = new RegExp( "^" + whitespace + "*([>+~]|" + whitespace + ")" + whitespace + "*" ), + + rsibling = new RegExp( whitespace + "*[+~]" ), + rattributeQuotes = new RegExp( "=" + whitespace + "*([^\\]'\"]*)" + whitespace + "*\\]", "g" ), + + rpseudo = new RegExp( pseudos ), + ridentifier = new RegExp( "^" + identifier + "$" ), + + matchExpr = { + "ID": new RegExp( "^#(" + characterEncoding + ")" ), + "CLASS": new RegExp( "^\\.(" + characterEncoding + ")" ), + "TAG": new RegExp( "^(" + characterEncoding.replace( "w", "w*" ) + ")" ), + "ATTR": new RegExp( "^" + attributes ), + "PSEUDO": new RegExp( "^" + pseudos ), + "CHILD": new RegExp( "^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\(" + whitespace + + "*(even|odd|(([+-]|)(\\d*)n|)" + whitespace + "*(?:([+-]|)" + whitespace + + "*(\\d+)|))" + whitespace + "*\\)|)", "i" ), + "bool": new RegExp( "^(?:" + booleans + ")$", "i" ), + // For use in libraries implementing .is() + // We use this for POS matching in `select` + "needsContext": new RegExp( "^" + whitespace + "*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\(" + + whitespace + "*((?:-\\d)?\\d*)" + whitespace + "*\\)|)(?=[^-]|$)", "i" ) + }, + + rnative = /^[^{]+\{\s*\[native \w/, + + // Easily-parseable/retrievable ID or TAG or CLASS selectors + rquickExpr = /^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/, + + rinputs = /^(?:input|select|textarea|button)$/i, + rheader = /^h\d$/i, + + rescape = /'|\\/g, + + // CSS escapes http://www.w3.org/TR/CSS21/syndata.html#escaped-characters + runescape = new RegExp( "\\\\([\\da-f]{1,6}" + whitespace + "?|(" + whitespace + ")|.)", "ig" ), + funescape = function( _, escaped, escapedWhitespace ) { + var high = "0x" + escaped - 0x10000; + // NaN means non-codepoint + // Support: Firefox + // Workaround erroneous numeric interpretation of +"0x" + return high !== high || escapedWhitespace ? + escaped : + // BMP codepoint + high < 0 ? + String.fromCharCode( high + 0x10000 ) : + // Supplemental Plane codepoint (surrogate pair) + String.fromCharCode( high >> 10 | 0xD800, high & 0x3FF | 0xDC00 ); + }; + +// Optimize for push.apply( _, NodeList ) +try { + push.apply( + (arr = slice.call( preferredDoc.childNodes )), + preferredDoc.childNodes + ); + // Support: Android<4.0 + // Detect silently failing push.apply + arr[ preferredDoc.childNodes.length ].nodeType; +} catch ( e ) { + push = { apply: arr.length ? + + // Leverage slice if possible + function( target, els ) { + push_native.apply( target, slice.call(els) ); + } : + + // Support: IE<9 + // Otherwise append directly + function( target, els ) { + var j = target.length, + i = 0; + // Can't trust NodeList.length + while ( (target[j++] = els[i++]) ) {} + target.length = j - 1; + } + }; +} + +function Sizzle( selector, context, results, seed ) { + var match, elem, m, nodeType, + // QSA vars + i, groups, old, nid, newContext, newSelector; + + if ( ( context ? context.ownerDocument || context : preferredDoc ) !== document ) { + setDocument( context ); + } + + context = context || document; + results = results || []; + + if ( !selector || typeof selector !== "string" ) { + return results; + } + + if ( (nodeType = context.nodeType) !== 1 && nodeType !== 9 ) { + return []; + } + + if ( documentIsHTML && !seed ) { + + // Shortcuts + if ( (match = rquickExpr.exec( selector )) ) { + // Speed-up: Sizzle("#ID") + if ( (m = match[1]) ) { + if ( nodeType === 9 ) { + elem = context.getElementById( m ); + // Check parentNode to catch when Blackberry 4.6 returns + // nodes that are no longer in the document #6963 + if ( elem && elem.parentNode ) { + // Handle the case where IE, Opera, and Webkit return items + // by name instead of ID + if ( elem.id === m ) { + results.push( elem ); + return results; + } + } else { + return results; + } + } else { + // Context is not a document + if ( context.ownerDocument && (elem = context.ownerDocument.getElementById( m )) && + contains( context, elem ) && elem.id === m ) { + results.push( elem ); + return results; + } + } + + // Speed-up: Sizzle("TAG") + } else if ( match[2] ) { + push.apply( results, context.getElementsByTagName( selector ) ); + return results; + + // Speed-up: Sizzle(".CLASS") + } else if ( (m = match[3]) && support.getElementsByClassName && context.getElementsByClassName ) { + push.apply( results, context.getElementsByClassName( m ) ); + return results; + } + } + + // QSA path + if ( support.qsa && (!rbuggyQSA || !rbuggyQSA.test( selector )) ) { + nid = old = expando; + newContext = context; + newSelector = nodeType === 9 && selector; + + // qSA works strangely on Element-rooted queries + // We can work around this by specifying an extra ID on the root + // and working up from there (Thanks to Andrew Dupont for the technique) + // IE 8 doesn't work on object elements + if ( nodeType === 1 && context.nodeName.toLowerCase() !== "object" ) { + groups = tokenize( selector ); + + if ( (old = context.getAttribute("id")) ) { + nid = old.replace( rescape, "\\$&" ); + } else { + context.setAttribute( "id", nid ); + } + nid = "[id='" + nid + "'] "; + + i = groups.length; + while ( i-- ) { + groups[i] = nid + toSelector( groups[i] ); + } + newContext = rsibling.test( selector ) && context.parentNode || context; + newSelector = groups.join(","); + } + + if ( newSelector ) { + try { + push.apply( results, + newContext.querySelectorAll( newSelector ) + ); + return results; + } catch(qsaError) { + } finally { + if ( !old ) { + context.removeAttribute("id"); + } + } + } + } + } + + // All others + return select( selector.replace( rtrim, "$1" ), context, results, seed ); +} + +/** + * Create key-value caches of limited size + * @returns {Function(string, Object)} Returns the Object data after storing it on itself with + * property name the (space-suffixed) string and (if the cache is larger than Expr.cacheLength) + * deleting the oldest entry + */ +function createCache() { + var keys = []; + + function cache( key, value ) { + // Use (key + " ") to avoid collision with native prototype properties (see Issue #157) + if ( keys.push( key += " " ) > Expr.cacheLength ) { + // Only keep the most recent entries + delete cache[ keys.shift() ]; + } + return (cache[ key ] = value); + } + return cache; +} + +/** + * Mark a function for special use by Sizzle + * @param {Function} fn The function to mark + */ +function markFunction( fn ) { + fn[ expando ] = true; + return fn; +} + +/** + * Support testing using an element + * @param {Function} fn Passed the created div and expects a boolean result + */ +function assert( fn ) { + var div = document.createElement("div"); + + try { + return !!fn( div ); + } catch (e) { + return false; + } finally { + // Remove from its parent by default + if ( div.parentNode ) { + div.parentNode.removeChild( div ); + } + // release memory in IE + div = null; + } +} + +/** + * Adds the same handler for all of the specified attrs + * @param {String} attrs Pipe-separated list of attributes + * @param {Function} handler The method that will be applied + */ +function addHandle( attrs, handler ) { + var arr = attrs.split("|"), + i = attrs.length; + + while ( i-- ) { + Expr.attrHandle[ arr[i] ] = handler; + } +} + +/** + * Checks document order of two siblings + * @param {Element} a + * @param {Element} b + * @returns {Number} Returns less than 0 if a precedes b, greater than 0 if a follows b + */ +function siblingCheck( a, b ) { + var cur = b && a, + diff = cur && a.nodeType === 1 && b.nodeType === 1 && + ( ~b.sourceIndex || MAX_NEGATIVE ) - + ( ~a.sourceIndex || MAX_NEGATIVE ); + + // Use IE sourceIndex if available on both nodes + if ( diff ) { + return diff; + } + + // Check if b follows a + if ( cur ) { + while ( (cur = cur.nextSibling) ) { + if ( cur === b ) { + return -1; + } + } + } + + return a ? 1 : -1; +} + +/** + * Returns a function to use in pseudos for input types + * @param {String} type + */ +function createInputPseudo( type ) { + return function( elem ) { + var name = elem.nodeName.toLowerCase(); + return name === "input" && elem.type === type; + }; +} + +/** + * Returns a function to use in pseudos for buttons + * @param {String} type + */ +function createButtonPseudo( type ) { + return function( elem ) { + var name = elem.nodeName.toLowerCase(); + return (name === "input" || name === "button") && elem.type === type; + }; +} + +/** + * Returns a function to use in pseudos for positionals + * @param {Function} fn + */ +function createPositionalPseudo( fn ) { + return markFunction(function( argument ) { + argument = +argument; + return markFunction(function( seed, matches ) { + var j, + matchIndexes = fn( [], seed.length, argument ), + i = matchIndexes.length; + + // Match elements found at the specified indexes + while ( i-- ) { + if ( seed[ (j = matchIndexes[i]) ] ) { + seed[j] = !(matches[j] = seed[j]); + } + } + }); + }); +} + +/** + * Detect xml + * @param {Element|Object} elem An element or a document + */ +isXML = Sizzle.isXML = function( elem ) { + // documentElement is verified for cases where it doesn't yet exist + // (such as loading iframes in IE - #4833) + var documentElement = elem && (elem.ownerDocument || elem).documentElement; + return documentElement ? documentElement.nodeName !== "HTML" : false; +}; + +// Expose support vars for convenience +support = Sizzle.support = {}; + +/** + * Sets document-related variables once based on the current document + * @param {Element|Object} [doc] An element or document object to use to set the document + * @returns {Object} Returns the current document + */ +setDocument = Sizzle.setDocument = function( node ) { + var doc = node ? node.ownerDocument || node : preferredDoc, + parent = doc.defaultView; + + // If no document and documentElement is available, return + if ( doc === document || doc.nodeType !== 9 || !doc.documentElement ) { + return document; + } + + // Set our document + document = doc; + docElem = doc.documentElement; + + // Support tests + documentIsHTML = !isXML( doc ); + + // Support: IE>8 + // If iframe document is assigned to "document" variable and if iframe has been reloaded, + // IE will throw "permission denied" error when accessing "document" variable, see jQuery #13936 + // IE6-8 do not support the defaultView property so parent will be undefined + if ( parent && parent.attachEvent && parent !== parent.top ) { + parent.attachEvent( "onbeforeunload", function() { + setDocument(); + }); + } + + /* Attributes + ---------------------------------------------------------------------- */ + + // Support: IE<8 + // Verify that getAttribute really returns attributes and not properties (excepting IE8 booleans) + support.attributes = assert(function( div ) { + div.className = "i"; + return !div.getAttribute("className"); + }); + + /* getElement(s)By* + ---------------------------------------------------------------------- */ + + // Check if getElementsByTagName("*") returns only elements + support.getElementsByTagName = assert(function( div ) { + div.appendChild( doc.createComment("") ); + return !div.getElementsByTagName("*").length; + }); + + // Check if getElementsByClassName can be trusted + support.getElementsByClassName = assert(function( div ) { + div.innerHTML = "
"; + + // Support: Safari<4 + // Catch class over-caching + div.firstChild.className = "i"; + // Support: Opera<10 + // Catch gEBCN failure to find non-leading classes + return div.getElementsByClassName("i").length === 2; + }); + + // Support: IE<10 + // Check if getElementById returns elements by name + // The broken getElementById methods don't pick up programatically-set names, + // so use a roundabout getElementsByName test + support.getById = assert(function( div ) { + docElem.appendChild( div ).id = expando; + return !doc.getElementsByName || !doc.getElementsByName( expando ).length; + }); + + // ID find and filter + if ( support.getById ) { + Expr.find["ID"] = function( id, context ) { + if ( typeof context.getElementById !== strundefined && documentIsHTML ) { + var m = context.getElementById( id ); + // Check parentNode to catch when Blackberry 4.6 returns + // nodes that are no longer in the document #6963 + return m && m.parentNode ? [m] : []; + } + }; + Expr.filter["ID"] = function( id ) { + var attrId = id.replace( runescape, funescape ); + return function( elem ) { + return elem.getAttribute("id") === attrId; + }; + }; + } else { + // Support: IE6/7 + // getElementById is not reliable as a find shortcut + delete Expr.find["ID"]; + + Expr.filter["ID"] = function( id ) { + var attrId = id.replace( runescape, funescape ); + return function( elem ) { + var node = typeof elem.getAttributeNode !== strundefined && elem.getAttributeNode("id"); + return node && node.value === attrId; + }; + }; + } + + // Tag + Expr.find["TAG"] = support.getElementsByTagName ? + function( tag, context ) { + if ( typeof context.getElementsByTagName !== strundefined ) { + return context.getElementsByTagName( tag ); + } + } : + function( tag, context ) { + var elem, + tmp = [], + i = 0, + results = context.getElementsByTagName( tag ); + + // Filter out possible comments + if ( tag === "*" ) { + while ( (elem = results[i++]) ) { + if ( elem.nodeType === 1 ) { + tmp.push( elem ); + } + } + + return tmp; + } + return results; + }; + + // Class + Expr.find["CLASS"] = support.getElementsByClassName && function( className, context ) { + if ( typeof context.getElementsByClassName !== strundefined && documentIsHTML ) { + return context.getElementsByClassName( className ); + } + }; + + /* QSA/matchesSelector + ---------------------------------------------------------------------- */ + + // QSA and matchesSelector support + + // matchesSelector(:active) reports false when true (IE9/Opera 11.5) + rbuggyMatches = []; + + // qSa(:focus) reports false when true (Chrome 21) + // We allow this because of a bug in IE8/9 that throws an error + // whenever `document.activeElement` is accessed on an iframe + // So, we allow :focus to pass through QSA all the time to avoid the IE error + // See http://bugs.jquery.com/ticket/13378 + rbuggyQSA = []; + + if ( (support.qsa = rnative.test( doc.querySelectorAll )) ) { + // Build QSA regex + // Regex strategy adopted from Diego Perini + assert(function( div ) { + // Select is set to empty string on purpose + // This is to test IE's treatment of not explicitly + // setting a boolean content attribute, + // since its presence should be enough + // http://bugs.jquery.com/ticket/12359 + div.innerHTML = ""; + + // Support: IE8 + // Boolean attributes and "value" are not treated correctly + if ( !div.querySelectorAll("[selected]").length ) { + rbuggyQSA.push( "\\[" + whitespace + "*(?:value|" + booleans + ")" ); + } + + // Webkit/Opera - :checked should return selected option elements + // http://www.w3.org/TR/2011/REC-css3-selectors-20110929/#checked + // IE8 throws error here and will not see later tests + if ( !div.querySelectorAll(":checked").length ) { + rbuggyQSA.push(":checked"); + } + }); + + assert(function( div ) { + + // Support: Opera 10-12/IE8 + // ^= $= *= and empty values + // Should not select anything + // Support: Windows 8 Native Apps + // The type attribute is restricted during .innerHTML assignment + var input = doc.createElement("input"); + input.setAttribute( "type", "hidden" ); + div.appendChild( input ).setAttribute( "t", "" ); + + if ( div.querySelectorAll("[t^='']").length ) { + rbuggyQSA.push( "[*^$]=" + whitespace + "*(?:''|\"\")" ); + } + + // FF 3.5 - :enabled/:disabled and hidden elements (hidden elements are still enabled) + // IE8 throws error here and will not see later tests + if ( !div.querySelectorAll(":enabled").length ) { + rbuggyQSA.push( ":enabled", ":disabled" ); + } + + // Opera 10-11 does not throw on post-comma invalid pseudos + div.querySelectorAll("*,:x"); + rbuggyQSA.push(",.*:"); + }); + } + + if ( (support.matchesSelector = rnative.test( (matches = docElem.webkitMatchesSelector || + docElem.mozMatchesSelector || + docElem.oMatchesSelector || + docElem.msMatchesSelector) )) ) { + + assert(function( div ) { + // Check to see if it's possible to do matchesSelector + // on a disconnected node (IE 9) + support.disconnectedMatch = matches.call( div, "div" ); + + // This should fail with an exception + // Gecko does not error, returns false instead + matches.call( div, "[s!='']:x" ); + rbuggyMatches.push( "!=", pseudos ); + }); + } + + rbuggyQSA = rbuggyQSA.length && new RegExp( rbuggyQSA.join("|") ); + rbuggyMatches = rbuggyMatches.length && new RegExp( rbuggyMatches.join("|") ); + + /* Contains + ---------------------------------------------------------------------- */ + + // Element contains another + // Purposefully does not implement inclusive descendent + // As in, an element does not contain itself + contains = rnative.test( docElem.contains ) || docElem.compareDocumentPosition ? + function( a, b ) { + var adown = a.nodeType === 9 ? a.documentElement : a, + bup = b && b.parentNode; + return a === bup || !!( bup && bup.nodeType === 1 && ( + adown.contains ? + adown.contains( bup ) : + a.compareDocumentPosition && a.compareDocumentPosition( bup ) & 16 + )); + } : + function( a, b ) { + if ( b ) { + while ( (b = b.parentNode) ) { + if ( b === a ) { + return true; + } + } + } + return false; + }; + + /* Sorting + ---------------------------------------------------------------------- */ + + // Document order sorting + sortOrder = docElem.compareDocumentPosition ? + function( a, b ) { + + // Flag for duplicate removal + if ( a === b ) { + hasDuplicate = true; + return 0; + } + + var compare = b.compareDocumentPosition && a.compareDocumentPosition && a.compareDocumentPosition( b ); + + if ( compare ) { + // Disconnected nodes + if ( compare & 1 || + (!support.sortDetached && b.compareDocumentPosition( a ) === compare) ) { + + // Choose the first element that is related to our preferred document + if ( a === doc || contains(preferredDoc, a) ) { + return -1; + } + if ( b === doc || contains(preferredDoc, b) ) { + return 1; + } + + // Maintain original order + return sortInput ? + ( indexOf.call( sortInput, a ) - indexOf.call( sortInput, b ) ) : + 0; + } + + return compare & 4 ? -1 : 1; + } + + // Not directly comparable, sort on existence of method + return a.compareDocumentPosition ? -1 : 1; + } : + function( a, b ) { + var cur, + i = 0, + aup = a.parentNode, + bup = b.parentNode, + ap = [ a ], + bp = [ b ]; + + // Exit early if the nodes are identical + if ( a === b ) { + hasDuplicate = true; + return 0; + + // Parentless nodes are either documents or disconnected + } else if ( !aup || !bup ) { + return a === doc ? -1 : + b === doc ? 1 : + aup ? -1 : + bup ? 1 : + sortInput ? + ( indexOf.call( sortInput, a ) - indexOf.call( sortInput, b ) ) : + 0; + + // If the nodes are siblings, we can do a quick check + } else if ( aup === bup ) { + return siblingCheck( a, b ); + } + + // Otherwise we need full lists of their ancestors for comparison + cur = a; + while ( (cur = cur.parentNode) ) { + ap.unshift( cur ); + } + cur = b; + while ( (cur = cur.parentNode) ) { + bp.unshift( cur ); + } + + // Walk down the tree looking for a discrepancy + while ( ap[i] === bp[i] ) { + i++; + } + + return i ? + // Do a sibling check if the nodes have a common ancestor + siblingCheck( ap[i], bp[i] ) : + + // Otherwise nodes in our document sort first + ap[i] === preferredDoc ? -1 : + bp[i] === preferredDoc ? 1 : + 0; + }; + + return doc; +}; + +Sizzle.matches = function( expr, elements ) { + return Sizzle( expr, null, null, elements ); +}; + +Sizzle.matchesSelector = function( elem, expr ) { + // Set document vars if needed + if ( ( elem.ownerDocument || elem ) !== document ) { + setDocument( elem ); + } + + // Make sure that attribute selectors are quoted + expr = expr.replace( rattributeQuotes, "='$1']" ); + + if ( support.matchesSelector && documentIsHTML && + ( !rbuggyMatches || !rbuggyMatches.test( expr ) ) && + ( !rbuggyQSA || !rbuggyQSA.test( expr ) ) ) { + + try { + var ret = matches.call( elem, expr ); + + // IE 9's matchesSelector returns false on disconnected nodes + if ( ret || support.disconnectedMatch || + // As well, disconnected nodes are said to be in a document + // fragment in IE 9 + elem.document && elem.document.nodeType !== 11 ) { + return ret; + } + } catch(e) {} + } + + return Sizzle( expr, document, null, [elem] ).length > 0; +}; + +Sizzle.contains = function( context, elem ) { + // Set document vars if needed + if ( ( context.ownerDocument || context ) !== document ) { + setDocument( context ); + } + return contains( context, elem ); +}; + +Sizzle.attr = function( elem, name ) { + // Set document vars if needed + if ( ( elem.ownerDocument || elem ) !== document ) { + setDocument( elem ); + } + + var fn = Expr.attrHandle[ name.toLowerCase() ], + // Don't get fooled by Object.prototype properties (jQuery #13807) + val = fn && hasOwn.call( Expr.attrHandle, name.toLowerCase() ) ? + fn( elem, name, !documentIsHTML ) : + undefined; + + return val === undefined ? + support.attributes || !documentIsHTML ? + elem.getAttribute( name ) : + (val = elem.getAttributeNode(name)) && val.specified ? + val.value : + null : + val; +}; + +Sizzle.error = function( msg ) { + throw new Error( "Syntax error, unrecognized expression: " + msg ); +}; + +/** + * Document sorting and removing duplicates + * @param {ArrayLike} results + */ +Sizzle.uniqueSort = function( results ) { + var elem, + duplicates = [], + j = 0, + i = 0; + + // Unless we *know* we can detect duplicates, assume their presence + hasDuplicate = !support.detectDuplicates; + sortInput = !support.sortStable && results.slice( 0 ); + results.sort( sortOrder ); + + if ( hasDuplicate ) { + while ( (elem = results[i++]) ) { + if ( elem === results[ i ] ) { + j = duplicates.push( i ); + } + } + while ( j-- ) { + results.splice( duplicates[ j ], 1 ); + } + } + + return results; +}; + +/** + * Utility function for retrieving the text value of an array of DOM nodes + * @param {Array|Element} elem + */ +getText = Sizzle.getText = function( elem ) { + var node, + ret = "", + i = 0, + nodeType = elem.nodeType; + + if ( !nodeType ) { + // If no nodeType, this is expected to be an array + for ( ; (node = elem[i]); i++ ) { + // Do not traverse comment nodes + ret += getText( node ); + } + } else if ( nodeType === 1 || nodeType === 9 || nodeType === 11 ) { + // Use textContent for elements + // innerText usage removed for consistency of new lines (see #11153) + if ( typeof elem.textContent === "string" ) { + return elem.textContent; + } else { + // Traverse its children + for ( elem = elem.firstChild; elem; elem = elem.nextSibling ) { + ret += getText( elem ); + } + } + } else if ( nodeType === 3 || nodeType === 4 ) { + return elem.nodeValue; + } + // Do not include comment or processing instruction nodes + + return ret; +}; + +Expr = Sizzle.selectors = { + + // Can be adjusted by the user + cacheLength: 50, + + createPseudo: markFunction, + + match: matchExpr, + + attrHandle: {}, + + find: {}, + + relative: { + ">": { dir: "parentNode", first: true }, + " ": { dir: "parentNode" }, + "+": { dir: "previousSibling", first: true }, + "~": { dir: "previousSibling" } + }, + + preFilter: { + "ATTR": function( match ) { + match[1] = match[1].replace( runescape, funescape ); + + // Move the given value to match[3] whether quoted or unquoted + match[3] = ( match[4] || match[5] || "" ).replace( runescape, funescape ); + + if ( match[2] === "~=" ) { + match[3] = " " + match[3] + " "; + } + + return match.slice( 0, 4 ); + }, + + "CHILD": function( match ) { + /* matches from matchExpr["CHILD"] + 1 type (only|nth|...) + 2 what (child|of-type) + 3 argument (even|odd|\d*|\d*n([+-]\d+)?|...) + 4 xn-component of xn+y argument ([+-]?\d*n|) + 5 sign of xn-component + 6 x of xn-component + 7 sign of y-component + 8 y of y-component + */ + match[1] = match[1].toLowerCase(); + + if ( match[1].slice( 0, 3 ) === "nth" ) { + // nth-* requires argument + if ( !match[3] ) { + Sizzle.error( match[0] ); + } + + // numeric x and y parameters for Expr.filter.CHILD + // remember that false/true cast respectively to 0/1 + match[4] = +( match[4] ? match[5] + (match[6] || 1) : 2 * ( match[3] === "even" || match[3] === "odd" ) ); + match[5] = +( ( match[7] + match[8] ) || match[3] === "odd" ); + + // other types prohibit arguments + } else if ( match[3] ) { + Sizzle.error( match[0] ); + } + + return match; + }, + + "PSEUDO": function( match ) { + var excess, + unquoted = !match[5] && match[2]; + + if ( matchExpr["CHILD"].test( match[0] ) ) { + return null; + } + + // Accept quoted arguments as-is + if ( match[3] && match[4] !== undefined ) { + match[2] = match[4]; + + // Strip excess characters from unquoted arguments + } else if ( unquoted && rpseudo.test( unquoted ) && + // Get excess from tokenize (recursively) + (excess = tokenize( unquoted, true )) && + // advance to the next closing parenthesis + (excess = unquoted.indexOf( ")", unquoted.length - excess ) - unquoted.length) ) { + + // excess is a negative index + match[0] = match[0].slice( 0, excess ); + match[2] = unquoted.slice( 0, excess ); + } + + // Return only captures needed by the pseudo filter method (type and argument) + return match.slice( 0, 3 ); + } + }, + + filter: { + + "TAG": function( nodeNameSelector ) { + var nodeName = nodeNameSelector.replace( runescape, funescape ).toLowerCase(); + return nodeNameSelector === "*" ? + function() { return true; } : + function( elem ) { + return elem.nodeName && elem.nodeName.toLowerCase() === nodeName; + }; + }, + + "CLASS": function( className ) { + var pattern = classCache[ className + " " ]; + + return pattern || + (pattern = new RegExp( "(^|" + whitespace + ")" + className + "(" + whitespace + "|$)" )) && + classCache( className, function( elem ) { + return pattern.test( typeof elem.className === "string" && elem.className || typeof elem.getAttribute !== strundefined && elem.getAttribute("class") || "" ); + }); + }, + + "ATTR": function( name, operator, check ) { + return function( elem ) { + var result = Sizzle.attr( elem, name ); + + if ( result == null ) { + return operator === "!="; + } + if ( !operator ) { + return true; + } + + result += ""; + + return operator === "=" ? result === check : + operator === "!=" ? result !== check : + operator === "^=" ? check && result.indexOf( check ) === 0 : + operator === "*=" ? check && result.indexOf( check ) > -1 : + operator === "$=" ? check && result.slice( -check.length ) === check : + operator === "~=" ? ( " " + result + " " ).indexOf( check ) > -1 : + operator === "|=" ? result === check || result.slice( 0, check.length + 1 ) === check + "-" : + false; + }; + }, + + "CHILD": function( type, what, argument, first, last ) { + var simple = type.slice( 0, 3 ) !== "nth", + forward = type.slice( -4 ) !== "last", + ofType = what === "of-type"; + + return first === 1 && last === 0 ? + + // Shortcut for :nth-*(n) + function( elem ) { + return !!elem.parentNode; + } : + + function( elem, context, xml ) { + var cache, outerCache, node, diff, nodeIndex, start, + dir = simple !== forward ? "nextSibling" : "previousSibling", + parent = elem.parentNode, + name = ofType && elem.nodeName.toLowerCase(), + useCache = !xml && !ofType; + + if ( parent ) { + + // :(first|last|only)-(child|of-type) + if ( simple ) { + while ( dir ) { + node = elem; + while ( (node = node[ dir ]) ) { + if ( ofType ? node.nodeName.toLowerCase() === name : node.nodeType === 1 ) { + return false; + } + } + // Reverse direction for :only-* (if we haven't yet done so) + start = dir = type === "only" && !start && "nextSibling"; + } + return true; + } + + start = [ forward ? parent.firstChild : parent.lastChild ]; + + // non-xml :nth-child(...) stores cache data on `parent` + if ( forward && useCache ) { + // Seek `elem` from a previously-cached index + outerCache = parent[ expando ] || (parent[ expando ] = {}); + cache = outerCache[ type ] || []; + nodeIndex = cache[0] === dirruns && cache[1]; + diff = cache[0] === dirruns && cache[2]; + node = nodeIndex && parent.childNodes[ nodeIndex ]; + + while ( (node = ++nodeIndex && node && node[ dir ] || + + // Fallback to seeking `elem` from the start + (diff = nodeIndex = 0) || start.pop()) ) { + + // When found, cache indexes on `parent` and break + if ( node.nodeType === 1 && ++diff && node === elem ) { + outerCache[ type ] = [ dirruns, nodeIndex, diff ]; + break; + } + } + + // Use previously-cached element index if available + } else if ( useCache && (cache = (elem[ expando ] || (elem[ expando ] = {}))[ type ]) && cache[0] === dirruns ) { + diff = cache[1]; + + // xml :nth-child(...) or :nth-last-child(...) or :nth(-last)?-of-type(...) + } else { + // Use the same loop as above to seek `elem` from the start + while ( (node = ++nodeIndex && node && node[ dir ] || + (diff = nodeIndex = 0) || start.pop()) ) { + + if ( ( ofType ? node.nodeName.toLowerCase() === name : node.nodeType === 1 ) && ++diff ) { + // Cache the index of each encountered element + if ( useCache ) { + (node[ expando ] || (node[ expando ] = {}))[ type ] = [ dirruns, diff ]; + } + + if ( node === elem ) { + break; + } + } + } + } + + // Incorporate the offset, then check against cycle size + diff -= last; + return diff === first || ( diff % first === 0 && diff / first >= 0 ); + } + }; + }, + + "PSEUDO": function( pseudo, argument ) { + // pseudo-class names are case-insensitive + // http://www.w3.org/TR/selectors/#pseudo-classes + // Prioritize by case sensitivity in case custom pseudos are added with uppercase letters + // Remember that setFilters inherits from pseudos + var args, + fn = Expr.pseudos[ pseudo ] || Expr.setFilters[ pseudo.toLowerCase() ] || + Sizzle.error( "unsupported pseudo: " + pseudo ); + + // The user may use createPseudo to indicate that + // arguments are needed to create the filter function + // just as Sizzle does + if ( fn[ expando ] ) { + return fn( argument ); + } + + // But maintain support for old signatures + if ( fn.length > 1 ) { + args = [ pseudo, pseudo, "", argument ]; + return Expr.setFilters.hasOwnProperty( pseudo.toLowerCase() ) ? + markFunction(function( seed, matches ) { + var idx, + matched = fn( seed, argument ), + i = matched.length; + while ( i-- ) { + idx = indexOf.call( seed, matched[i] ); + seed[ idx ] = !( matches[ idx ] = matched[i] ); + } + }) : + function( elem ) { + return fn( elem, 0, args ); + }; + } + + return fn; + } + }, + + pseudos: { + // Potentially complex pseudos + "not": markFunction(function( selector ) { + // Trim the selector passed to compile + // to avoid treating leading and trailing + // spaces as combinators + var input = [], + results = [], + matcher = compile( selector.replace( rtrim, "$1" ) ); + + return matcher[ expando ] ? + markFunction(function( seed, matches, context, xml ) { + var elem, + unmatched = matcher( seed, null, xml, [] ), + i = seed.length; + + // Match elements unmatched by `matcher` + while ( i-- ) { + if ( (elem = unmatched[i]) ) { + seed[i] = !(matches[i] = elem); + } + } + }) : + function( elem, context, xml ) { + input[0] = elem; + matcher( input, null, xml, results ); + return !results.pop(); + }; + }), + + "has": markFunction(function( selector ) { + return function( elem ) { + return Sizzle( selector, elem ).length > 0; + }; + }), + + "contains": markFunction(function( text ) { + return function( elem ) { + return ( elem.textContent || elem.innerText || getText( elem ) ).indexOf( text ) > -1; + }; + }), + + // "Whether an element is represented by a :lang() selector + // is based solely on the element's language value + // being equal to the identifier C, + // or beginning with the identifier C immediately followed by "-". + // The matching of C against the element's language value is performed case-insensitively. + // The identifier C does not have to be a valid language name." + // http://www.w3.org/TR/selectors/#lang-pseudo + "lang": markFunction( function( lang ) { + // lang value must be a valid identifier + if ( !ridentifier.test(lang || "") ) { + Sizzle.error( "unsupported lang: " + lang ); + } + lang = lang.replace( runescape, funescape ).toLowerCase(); + return function( elem ) { + var elemLang; + do { + if ( (elemLang = documentIsHTML ? + elem.lang : + elem.getAttribute("xml:lang") || elem.getAttribute("lang")) ) { + + elemLang = elemLang.toLowerCase(); + return elemLang === lang || elemLang.indexOf( lang + "-" ) === 0; + } + } while ( (elem = elem.parentNode) && elem.nodeType === 1 ); + return false; + }; + }), + + // Miscellaneous + "target": function( elem ) { + var hash = window.location && window.location.hash; + return hash && hash.slice( 1 ) === elem.id; + }, + + "root": function( elem ) { + return elem === docElem; + }, + + "focus": function( elem ) { + return elem === document.activeElement && (!document.hasFocus || document.hasFocus()) && !!(elem.type || elem.href || ~elem.tabIndex); + }, + + // Boolean properties + "enabled": function( elem ) { + return elem.disabled === false; + }, + + "disabled": function( elem ) { + return elem.disabled === true; + }, + + "checked": function( elem ) { + // In CSS3, :checked should return both checked and selected elements + // http://www.w3.org/TR/2011/REC-css3-selectors-20110929/#checked + var nodeName = elem.nodeName.toLowerCase(); + return (nodeName === "input" && !!elem.checked) || (nodeName === "option" && !!elem.selected); + }, + + "selected": function( elem ) { + // Accessing this property makes selected-by-default + // options in Safari work properly + if ( elem.parentNode ) { + elem.parentNode.selectedIndex; + } + + return elem.selected === true; + }, + + // Contents + "empty": function( elem ) { + // http://www.w3.org/TR/selectors/#empty-pseudo + // :empty is only affected by element nodes and content nodes(including text(3), cdata(4)), + // not comment, processing instructions, or others + // Thanks to Diego Perini for the nodeName shortcut + // Greater than "@" means alpha characters (specifically not starting with "#" or "?") + for ( elem = elem.firstChild; elem; elem = elem.nextSibling ) { + if ( elem.nodeName > "@" || elem.nodeType === 3 || elem.nodeType === 4 ) { + return false; + } + } + return true; + }, + + "parent": function( elem ) { + return !Expr.pseudos["empty"]( elem ); + }, + + // Element/input types + "header": function( elem ) { + return rheader.test( elem.nodeName ); + }, + + "input": function( elem ) { + return rinputs.test( elem.nodeName ); + }, + + "button": function( elem ) { + var name = elem.nodeName.toLowerCase(); + return name === "input" && elem.type === "button" || name === "button"; + }, + + "text": function( elem ) { + var attr; + // IE6 and 7 will map elem.type to 'text' for new HTML5 types (search, etc) + // use getAttribute instead to test this case + return elem.nodeName.toLowerCase() === "input" && + elem.type === "text" && + ( (attr = elem.getAttribute("type")) == null || attr.toLowerCase() === elem.type ); + }, + + // Position-in-collection + "first": createPositionalPseudo(function() { + return [ 0 ]; + }), + + "last": createPositionalPseudo(function( matchIndexes, length ) { + return [ length - 1 ]; + }), + + "eq": createPositionalPseudo(function( matchIndexes, length, argument ) { + return [ argument < 0 ? argument + length : argument ]; + }), + + "even": createPositionalPseudo(function( matchIndexes, length ) { + var i = 0; + for ( ; i < length; i += 2 ) { + matchIndexes.push( i ); + } + return matchIndexes; + }), + + "odd": createPositionalPseudo(function( matchIndexes, length ) { + var i = 1; + for ( ; i < length; i += 2 ) { + matchIndexes.push( i ); + } + return matchIndexes; + }), + + "lt": createPositionalPseudo(function( matchIndexes, length, argument ) { + var i = argument < 0 ? argument + length : argument; + for ( ; --i >= 0; ) { + matchIndexes.push( i ); + } + return matchIndexes; + }), + + "gt": createPositionalPseudo(function( matchIndexes, length, argument ) { + var i = argument < 0 ? argument + length : argument; + for ( ; ++i < length; ) { + matchIndexes.push( i ); + } + return matchIndexes; + }) + } +}; + +Expr.pseudos["nth"] = Expr.pseudos["eq"]; + +// Add button/input type pseudos +for ( i in { radio: true, checkbox: true, file: true, password: true, image: true } ) { + Expr.pseudos[ i ] = createInputPseudo( i ); +} +for ( i in { submit: true, reset: true } ) { + Expr.pseudos[ i ] = createButtonPseudo( i ); +} + +// Easy API for creating new setFilters +function setFilters() {} +setFilters.prototype = Expr.filters = Expr.pseudos; +Expr.setFilters = new setFilters(); + +function tokenize( selector, parseOnly ) { + var matched, match, tokens, type, + soFar, groups, preFilters, + cached = tokenCache[ selector + " " ]; + + if ( cached ) { + return parseOnly ? 0 : cached.slice( 0 ); + } + + soFar = selector; + groups = []; + preFilters = Expr.preFilter; + + while ( soFar ) { + + // Comma and first run + if ( !matched || (match = rcomma.exec( soFar )) ) { + if ( match ) { + // Don't consume trailing commas as valid + soFar = soFar.slice( match[0].length ) || soFar; + } + groups.push( tokens = [] ); + } + + matched = false; + + // Combinators + if ( (match = rcombinators.exec( soFar )) ) { + matched = match.shift(); + tokens.push({ + value: matched, + // Cast descendant combinators to space + type: match[0].replace( rtrim, " " ) + }); + soFar = soFar.slice( matched.length ); + } + + // Filters + for ( type in Expr.filter ) { + if ( (match = matchExpr[ type ].exec( soFar )) && (!preFilters[ type ] || + (match = preFilters[ type ]( match ))) ) { + matched = match.shift(); + tokens.push({ + value: matched, + type: type, + matches: match + }); + soFar = soFar.slice( matched.length ); + } + } + + if ( !matched ) { + break; + } + } + + // Return the length of the invalid excess + // if we're just parsing + // Otherwise, throw an error or return tokens + return parseOnly ? + soFar.length : + soFar ? + Sizzle.error( selector ) : + // Cache the tokens + tokenCache( selector, groups ).slice( 0 ); +} + +function toSelector( tokens ) { + var i = 0, + len = tokens.length, + selector = ""; + for ( ; i < len; i++ ) { + selector += tokens[i].value; + } + return selector; +} + +function addCombinator( matcher, combinator, base ) { + var dir = combinator.dir, + checkNonElements = base && dir === "parentNode", + doneName = done++; + + return combinator.first ? + // Check against closest ancestor/preceding element + function( elem, context, xml ) { + while ( (elem = elem[ dir ]) ) { + if ( elem.nodeType === 1 || checkNonElements ) { + return matcher( elem, context, xml ); + } + } + } : + + // Check against all ancestor/preceding elements + function( elem, context, xml ) { + var data, cache, outerCache, + dirkey = dirruns + " " + doneName; + + // We can't set arbitrary data on XML nodes, so they don't benefit from dir caching + if ( xml ) { + while ( (elem = elem[ dir ]) ) { + if ( elem.nodeType === 1 || checkNonElements ) { + if ( matcher( elem, context, xml ) ) { + return true; + } + } + } + } else { + while ( (elem = elem[ dir ]) ) { + if ( elem.nodeType === 1 || checkNonElements ) { + outerCache = elem[ expando ] || (elem[ expando ] = {}); + if ( (cache = outerCache[ dir ]) && cache[0] === dirkey ) { + if ( (data = cache[1]) === true || data === cachedruns ) { + return data === true; + } + } else { + cache = outerCache[ dir ] = [ dirkey ]; + cache[1] = matcher( elem, context, xml ) || cachedruns; + if ( cache[1] === true ) { + return true; + } + } + } + } + } + }; +} + +function elementMatcher( matchers ) { + return matchers.length > 1 ? + function( elem, context, xml ) { + var i = matchers.length; + while ( i-- ) { + if ( !matchers[i]( elem, context, xml ) ) { + return false; + } + } + return true; + } : + matchers[0]; +} + +function condense( unmatched, map, filter, context, xml ) { + var elem, + newUnmatched = [], + i = 0, + len = unmatched.length, + mapped = map != null; + + for ( ; i < len; i++ ) { + if ( (elem = unmatched[i]) ) { + if ( !filter || filter( elem, context, xml ) ) { + newUnmatched.push( elem ); + if ( mapped ) { + map.push( i ); + } + } + } + } + + return newUnmatched; +} + +function setMatcher( preFilter, selector, matcher, postFilter, postFinder, postSelector ) { + if ( postFilter && !postFilter[ expando ] ) { + postFilter = setMatcher( postFilter ); + } + if ( postFinder && !postFinder[ expando ] ) { + postFinder = setMatcher( postFinder, postSelector ); + } + return markFunction(function( seed, results, context, xml ) { + var temp, i, elem, + preMap = [], + postMap = [], + preexisting = results.length, + + // Get initial elements from seed or context + elems = seed || multipleContexts( selector || "*", context.nodeType ? [ context ] : context, [] ), + + // Prefilter to get matcher input, preserving a map for seed-results synchronization + matcherIn = preFilter && ( seed || !selector ) ? + condense( elems, preMap, preFilter, context, xml ) : + elems, + + matcherOut = matcher ? + // If we have a postFinder, or filtered seed, or non-seed postFilter or preexisting results, + postFinder || ( seed ? preFilter : preexisting || postFilter ) ? + + // ...intermediate processing is necessary + [] : + + // ...otherwise use results directly + results : + matcherIn; + + // Find primary matches + if ( matcher ) { + matcher( matcherIn, matcherOut, context, xml ); + } + + // Apply postFilter + if ( postFilter ) { + temp = condense( matcherOut, postMap ); + postFilter( temp, [], context, xml ); + + // Un-match failing elements by moving them back to matcherIn + i = temp.length; + while ( i-- ) { + if ( (elem = temp[i]) ) { + matcherOut[ postMap[i] ] = !(matcherIn[ postMap[i] ] = elem); + } + } + } + + if ( seed ) { + if ( postFinder || preFilter ) { + if ( postFinder ) { + // Get the final matcherOut by condensing this intermediate into postFinder contexts + temp = []; + i = matcherOut.length; + while ( i-- ) { + if ( (elem = matcherOut[i]) ) { + // Restore matcherIn since elem is not yet a final match + temp.push( (matcherIn[i] = elem) ); + } + } + postFinder( null, (matcherOut = []), temp, xml ); + } + + // Move matched elements from seed to results to keep them synchronized + i = matcherOut.length; + while ( i-- ) { + if ( (elem = matcherOut[i]) && + (temp = postFinder ? indexOf.call( seed, elem ) : preMap[i]) > -1 ) { + + seed[temp] = !(results[temp] = elem); + } + } + } + + // Add elements to results, through postFinder if defined + } else { + matcherOut = condense( + matcherOut === results ? + matcherOut.splice( preexisting, matcherOut.length ) : + matcherOut + ); + if ( postFinder ) { + postFinder( null, results, matcherOut, xml ); + } else { + push.apply( results, matcherOut ); + } + } + }); +} + +function matcherFromTokens( tokens ) { + var checkContext, matcher, j, + len = tokens.length, + leadingRelative = Expr.relative[ tokens[0].type ], + implicitRelative = leadingRelative || Expr.relative[" "], + i = leadingRelative ? 1 : 0, + + // The foundational matcher ensures that elements are reachable from top-level context(s) + matchContext = addCombinator( function( elem ) { + return elem === checkContext; + }, implicitRelative, true ), + matchAnyContext = addCombinator( function( elem ) { + return indexOf.call( checkContext, elem ) > -1; + }, implicitRelative, true ), + matchers = [ function( elem, context, xml ) { + return ( !leadingRelative && ( xml || context !== outermostContext ) ) || ( + (checkContext = context).nodeType ? + matchContext( elem, context, xml ) : + matchAnyContext( elem, context, xml ) ); + } ]; + + for ( ; i < len; i++ ) { + if ( (matcher = Expr.relative[ tokens[i].type ]) ) { + matchers = [ addCombinator(elementMatcher( matchers ), matcher) ]; + } else { + matcher = Expr.filter[ tokens[i].type ].apply( null, tokens[i].matches ); + + // Return special upon seeing a positional matcher + if ( matcher[ expando ] ) { + // Find the next relative operator (if any) for proper handling + j = ++i; + for ( ; j < len; j++ ) { + if ( Expr.relative[ tokens[j].type ] ) { + break; + } + } + return setMatcher( + i > 1 && elementMatcher( matchers ), + i > 1 && toSelector( + // If the preceding token was a descendant combinator, insert an implicit any-element `*` + tokens.slice( 0, i - 1 ).concat({ value: tokens[ i - 2 ].type === " " ? "*" : "" }) + ).replace( rtrim, "$1" ), + matcher, + i < j && matcherFromTokens( tokens.slice( i, j ) ), + j < len && matcherFromTokens( (tokens = tokens.slice( j )) ), + j < len && toSelector( tokens ) + ); + } + matchers.push( matcher ); + } + } + + return elementMatcher( matchers ); +} + +function matcherFromGroupMatchers( elementMatchers, setMatchers ) { + // A counter to specify which element is currently being matched + var matcherCachedRuns = 0, + bySet = setMatchers.length > 0, + byElement = elementMatchers.length > 0, + superMatcher = function( seed, context, xml, results, expandContext ) { + var elem, j, matcher, + setMatched = [], + matchedCount = 0, + i = "0", + unmatched = seed && [], + outermost = expandContext != null, + contextBackup = outermostContext, + // We must always have either seed elements or context + elems = seed || byElement && Expr.find["TAG"]( "*", expandContext && context.parentNode || context ), + // Use integer dirruns iff this is the outermost matcher + dirrunsUnique = (dirruns += contextBackup == null ? 1 : Math.random() || 0.1); + + if ( outermost ) { + outermostContext = context !== document && context; + cachedruns = matcherCachedRuns; + } + + // Add elements passing elementMatchers directly to results + // Keep `i` a string if there are no elements so `matchedCount` will be "00" below + for ( ; (elem = elems[i]) != null; i++ ) { + if ( byElement && elem ) { + j = 0; + while ( (matcher = elementMatchers[j++]) ) { + if ( matcher( elem, context, xml ) ) { + results.push( elem ); + break; + } + } + if ( outermost ) { + dirruns = dirrunsUnique; + cachedruns = ++matcherCachedRuns; + } + } + + // Track unmatched elements for set filters + if ( bySet ) { + // They will have gone through all possible matchers + if ( (elem = !matcher && elem) ) { + matchedCount--; + } + + // Lengthen the array for every element, matched or not + if ( seed ) { + unmatched.push( elem ); + } + } + } + + // Apply set filters to unmatched elements + matchedCount += i; + if ( bySet && i !== matchedCount ) { + j = 0; + while ( (matcher = setMatchers[j++]) ) { + matcher( unmatched, setMatched, context, xml ); + } + + if ( seed ) { + // Reintegrate element matches to eliminate the need for sorting + if ( matchedCount > 0 ) { + while ( i-- ) { + if ( !(unmatched[i] || setMatched[i]) ) { + setMatched[i] = pop.call( results ); + } + } + } + + // Discard index placeholder values to get only actual matches + setMatched = condense( setMatched ); + } + + // Add matches to results + push.apply( results, setMatched ); + + // Seedless set matches succeeding multiple successful matchers stipulate sorting + if ( outermost && !seed && setMatched.length > 0 && + ( matchedCount + setMatchers.length ) > 1 ) { + + Sizzle.uniqueSort( results ); + } + } + + // Override manipulation of globals by nested matchers + if ( outermost ) { + dirruns = dirrunsUnique; + outermostContext = contextBackup; + } + + return unmatched; + }; + + return bySet ? + markFunction( superMatcher ) : + superMatcher; +} + +compile = Sizzle.compile = function( selector, group /* Internal Use Only */ ) { + var i, + setMatchers = [], + elementMatchers = [], + cached = compilerCache[ selector + " " ]; + + if ( !cached ) { + // Generate a function of recursive functions that can be used to check each element + if ( !group ) { + group = tokenize( selector ); + } + i = group.length; + while ( i-- ) { + cached = matcherFromTokens( group[i] ); + if ( cached[ expando ] ) { + setMatchers.push( cached ); + } else { + elementMatchers.push( cached ); + } + } + + // Cache the compiled function + cached = compilerCache( selector, matcherFromGroupMatchers( elementMatchers, setMatchers ) ); + } + return cached; +}; + +function multipleContexts( selector, contexts, results ) { + var i = 0, + len = contexts.length; + for ( ; i < len; i++ ) { + Sizzle( selector, contexts[i], results ); + } + return results; +} + +function select( selector, context, results, seed ) { + var i, tokens, token, type, find, + match = tokenize( selector ); + + if ( !seed ) { + // Try to minimize operations if there is only one group + if ( match.length === 1 ) { + + // Take a shortcut and set the context if the root selector is an ID + tokens = match[0] = match[0].slice( 0 ); + if ( tokens.length > 2 && (token = tokens[0]).type === "ID" && + support.getById && context.nodeType === 9 && documentIsHTML && + Expr.relative[ tokens[1].type ] ) { + + context = ( Expr.find["ID"]( token.matches[0].replace(runescape, funescape), context ) || [] )[0]; + if ( !context ) { + return results; + } + selector = selector.slice( tokens.shift().value.length ); + } + + // Fetch a seed set for right-to-left matching + i = matchExpr["needsContext"].test( selector ) ? 0 : tokens.length; + while ( i-- ) { + token = tokens[i]; + + // Abort if we hit a combinator + if ( Expr.relative[ (type = token.type) ] ) { + break; + } + if ( (find = Expr.find[ type ]) ) { + // Search, expanding context for leading sibling combinators + if ( (seed = find( + token.matches[0].replace( runescape, funescape ), + rsibling.test( tokens[0].type ) && context.parentNode || context + )) ) { + + // If seed is empty or no tokens remain, we can return early + tokens.splice( i, 1 ); + selector = seed.length && toSelector( tokens ); + if ( !selector ) { + push.apply( results, seed ); + return results; + } + + break; + } + } + } + } + } + + // Compile and execute a filtering function + // Provide `match` to avoid retokenization if we modified the selector above + compile( selector, match )( + seed, + context, + !documentIsHTML, + results, + rsibling.test( selector ) + ); + return results; +} + +// One-time assignments + +// Sort stability +support.sortStable = expando.split("").sort( sortOrder ).join("") === expando; + +// Support: Chrome<14 +// Always assume duplicates if they aren't passed to the comparison function +support.detectDuplicates = hasDuplicate; + +// Initialize against the default document +setDocument(); + +// Support: Webkit<537.32 - Safari 6.0.3/Chrome 25 (fixed in Chrome 27) +// Detached nodes confoundingly follow *each other* +support.sortDetached = assert(function( div1 ) { + // Should return 1, but returns 4 (following) + return div1.compareDocumentPosition( document.createElement("div") ) & 1; +}); + +// Support: IE<8 +// Prevent attribute/property "interpolation" +// http://msdn.microsoft.com/en-us/library/ms536429%28VS.85%29.aspx +if ( !assert(function( div ) { + div.innerHTML = ""; + return div.firstChild.getAttribute("href") === "#" ; +}) ) { + addHandle( "type|href|height|width", function( elem, name, isXML ) { + if ( !isXML ) { + return elem.getAttribute( name, name.toLowerCase() === "type" ? 1 : 2 ); + } + }); +} + +// Support: IE<9 +// Use defaultValue in place of getAttribute("value") +if ( !support.attributes || !assert(function( div ) { + div.innerHTML = ""; + div.firstChild.setAttribute( "value", "" ); + return div.firstChild.getAttribute( "value" ) === ""; +}) ) { + addHandle( "value", function( elem, name, isXML ) { + if ( !isXML && elem.nodeName.toLowerCase() === "input" ) { + return elem.defaultValue; + } + }); +} + +// Support: IE<9 +// Use getAttributeNode to fetch booleans when getAttribute lies +if ( !assert(function( div ) { + return div.getAttribute("disabled") == null; +}) ) { + addHandle( booleans, function( elem, name, isXML ) { + var val; + if ( !isXML ) { + return (val = elem.getAttributeNode( name )) && val.specified ? + val.value : + elem[ name ] === true ? name.toLowerCase() : null; + } + }); +} + +jQuery.find = Sizzle; +jQuery.expr = Sizzle.selectors; +jQuery.expr[":"] = jQuery.expr.pseudos; +jQuery.unique = Sizzle.uniqueSort; +jQuery.text = Sizzle.getText; +jQuery.isXMLDoc = Sizzle.isXML; +jQuery.contains = Sizzle.contains; + + +})( window ); +// String to Object options format cache +var optionsCache = {}; + +// Convert String-formatted options into Object-formatted ones and store in cache +function createOptions( options ) { + var object = optionsCache[ options ] = {}; + jQuery.each( options.match( core_rnotwhite ) || [], function( _, flag ) { + object[ flag ] = true; + }); + return object; +} + +/* + * Create a callback list using the following parameters: + * + * options: an optional list of space-separated options that will change how + * the callback list behaves or a more traditional option object + * + * By default a callback list will act like an event callback list and can be + * "fired" multiple times. + * + * Possible options: + * + * once: will ensure the callback list can only be fired once (like a Deferred) + * + * memory: will keep track of previous values and will call any callback added + * after the list has been fired right away with the latest "memorized" + * values (like a Deferred) + * + * unique: will ensure a callback can only be added once (no duplicate in the list) + * + * stopOnFalse: interrupt callings when a callback returns false + * + */ +jQuery.Callbacks = function( options ) { + + // Convert options from String-formatted to Object-formatted if needed + // (we check in cache first) + options = typeof options === "string" ? + ( optionsCache[ options ] || createOptions( options ) ) : + jQuery.extend( {}, options ); + + var // Flag to know if list is currently firing + firing, + // Last fire value (for non-forgettable lists) + memory, + // Flag to know if list was already fired + fired, + // End of the loop when firing + firingLength, + // Index of currently firing callback (modified by remove if needed) + firingIndex, + // First callback to fire (used internally by add and fireWith) + firingStart, + // Actual callback list + list = [], + // Stack of fire calls for repeatable lists + stack = !options.once && [], + // Fire callbacks + fire = function( data ) { + memory = options.memory && data; + fired = true; + firingIndex = firingStart || 0; + firingStart = 0; + firingLength = list.length; + firing = true; + for ( ; list && firingIndex < firingLength; firingIndex++ ) { + if ( list[ firingIndex ].apply( data[ 0 ], data[ 1 ] ) === false && options.stopOnFalse ) { + memory = false; // To prevent further calls using add + break; + } + } + firing = false; + if ( list ) { + if ( stack ) { + if ( stack.length ) { + fire( stack.shift() ); + } + } else if ( memory ) { + list = []; + } else { + self.disable(); + } + } + }, + // Actual Callbacks object + self = { + // Add a callback or a collection of callbacks to the list + add: function() { + if ( list ) { + // First, we save the current length + var start = list.length; + (function add( args ) { + jQuery.each( args, function( _, arg ) { + var type = jQuery.type( arg ); + if ( type === "function" ) { + if ( !options.unique || !self.has( arg ) ) { + list.push( arg ); + } + } else if ( arg && arg.length && type !== "string" ) { + // Inspect recursively + add( arg ); + } + }); + })( arguments ); + // Do we need to add the callbacks to the + // current firing batch? + if ( firing ) { + firingLength = list.length; + // With memory, if we're not firing then + // we should call right away + } else if ( memory ) { + firingStart = start; + fire( memory ); + } + } + return this; + }, + // Remove a callback from the list + remove: function() { + if ( list ) { + jQuery.each( arguments, function( _, arg ) { + var index; + while( ( index = jQuery.inArray( arg, list, index ) ) > -1 ) { + list.splice( index, 1 ); + // Handle firing indexes + if ( firing ) { + if ( index <= firingLength ) { + firingLength--; + } + if ( index <= firingIndex ) { + firingIndex--; + } + } + } + }); + } + return this; + }, + // Check if a given callback is in the list. + // If no argument is given, return whether or not list has callbacks attached. + has: function( fn ) { + return fn ? jQuery.inArray( fn, list ) > -1 : !!( list && list.length ); + }, + // Remove all callbacks from the list + empty: function() { + list = []; + firingLength = 0; + return this; + }, + // Have the list do nothing anymore + disable: function() { + list = stack = memory = undefined; + return this; + }, + // Is it disabled? + disabled: function() { + return !list; + }, + // Lock the list in its current state + lock: function() { + stack = undefined; + if ( !memory ) { + self.disable(); + } + return this; + }, + // Is it locked? + locked: function() { + return !stack; + }, + // Call all callbacks with the given context and arguments + fireWith: function( context, args ) { + if ( list && ( !fired || stack ) ) { + args = args || []; + args = [ context, args.slice ? args.slice() : args ]; + if ( firing ) { + stack.push( args ); + } else { + fire( args ); + } + } + return this; + }, + // Call all the callbacks with the given arguments + fire: function() { + self.fireWith( this, arguments ); + return this; + }, + // To know if the callbacks have already been called at least once + fired: function() { + return !!fired; + } + }; + + return self; +}; +jQuery.extend({ + + Deferred: function( func ) { + var tuples = [ + // action, add listener, listener list, final state + [ "resolve", "done", jQuery.Callbacks("once memory"), "resolved" ], + [ "reject", "fail", jQuery.Callbacks("once memory"), "rejected" ], + [ "notify", "progress", jQuery.Callbacks("memory") ] + ], + state = "pending", + promise = { + state: function() { + return state; + }, + always: function() { + deferred.done( arguments ).fail( arguments ); + return this; + }, + then: function( /* fnDone, fnFail, fnProgress */ ) { + var fns = arguments; + return jQuery.Deferred(function( newDefer ) { + jQuery.each( tuples, function( i, tuple ) { + var action = tuple[ 0 ], + fn = jQuery.isFunction( fns[ i ] ) && fns[ i ]; + // deferred[ done | fail | progress ] for forwarding actions to newDefer + deferred[ tuple[1] ](function() { + var returned = fn && fn.apply( this, arguments ); + if ( returned && jQuery.isFunction( returned.promise ) ) { + returned.promise() + .done( newDefer.resolve ) + .fail( newDefer.reject ) + .progress( newDefer.notify ); + } else { + newDefer[ action + "With" ]( this === promise ? newDefer.promise() : this, fn ? [ returned ] : arguments ); + } + }); + }); + fns = null; + }).promise(); + }, + // Get a promise for this deferred + // If obj is provided, the promise aspect is added to the object + promise: function( obj ) { + return obj != null ? jQuery.extend( obj, promise ) : promise; + } + }, + deferred = {}; + + // Keep pipe for back-compat + promise.pipe = promise.then; + + // Add list-specific methods + jQuery.each( tuples, function( i, tuple ) { + var list = tuple[ 2 ], + stateString = tuple[ 3 ]; + + // promise[ done | fail | progress ] = list.add + promise[ tuple[1] ] = list.add; + + // Handle state + if ( stateString ) { + list.add(function() { + // state = [ resolved | rejected ] + state = stateString; + + // [ reject_list | resolve_list ].disable; progress_list.lock + }, tuples[ i ^ 1 ][ 2 ].disable, tuples[ 2 ][ 2 ].lock ); + } + + // deferred[ resolve | reject | notify ] + deferred[ tuple[0] ] = function() { + deferred[ tuple[0] + "With" ]( this === deferred ? promise : this, arguments ); + return this; + }; + deferred[ tuple[0] + "With" ] = list.fireWith; + }); + + // Make the deferred a promise + promise.promise( deferred ); + + // Call given func if any + if ( func ) { + func.call( deferred, deferred ); + } + + // All done! + return deferred; + }, + + // Deferred helper + when: function( subordinate /* , ..., subordinateN */ ) { + var i = 0, + resolveValues = core_slice.call( arguments ), + length = resolveValues.length, + + // the count of uncompleted subordinates + remaining = length !== 1 || ( subordinate && jQuery.isFunction( subordinate.promise ) ) ? length : 0, + + // the master Deferred. If resolveValues consist of only a single Deferred, just use that. + deferred = remaining === 1 ? subordinate : jQuery.Deferred(), + + // Update function for both resolve and progress values + updateFunc = function( i, contexts, values ) { + return function( value ) { + contexts[ i ] = this; + values[ i ] = arguments.length > 1 ? core_slice.call( arguments ) : value; + if( values === progressValues ) { + deferred.notifyWith( contexts, values ); + } else if ( !( --remaining ) ) { + deferred.resolveWith( contexts, values ); + } + }; + }, + + progressValues, progressContexts, resolveContexts; + + // add listeners to Deferred subordinates; treat others as resolved + if ( length > 1 ) { + progressValues = new Array( length ); + progressContexts = new Array( length ); + resolveContexts = new Array( length ); + for ( ; i < length; i++ ) { + if ( resolveValues[ i ] && jQuery.isFunction( resolveValues[ i ].promise ) ) { + resolveValues[ i ].promise() + .done( updateFunc( i, resolveContexts, resolveValues ) ) + .fail( deferred.reject ) + .progress( updateFunc( i, progressContexts, progressValues ) ); + } else { + --remaining; + } + } + } + + // if we're not waiting on anything, resolve the master + if ( !remaining ) { + deferred.resolveWith( resolveContexts, resolveValues ); + } + + return deferred.promise(); + } +}); +jQuery.support = (function( support ) { + + var all, a, input, select, fragment, opt, eventName, isSupported, i, + div = document.createElement("div"); + + // Setup + div.setAttribute( "className", "t" ); + div.innerHTML = "
a"; + + // Finish early in limited (non-browser) environments + all = div.getElementsByTagName("*") || []; + a = div.getElementsByTagName("a")[ 0 ]; + if ( !a || !a.style || !all.length ) { + return support; + } + + // First batch of tests + select = document.createElement("select"); + opt = select.appendChild( document.createElement("option") ); + input = div.getElementsByTagName("input")[ 0 ]; + + a.style.cssText = "top:1px;float:left;opacity:.5"; + + // Test setAttribute on camelCase class. If it works, we need attrFixes when doing get/setAttribute (ie6/7) + support.getSetAttribute = div.className !== "t"; + + // IE strips leading whitespace when .innerHTML is used + support.leadingWhitespace = div.firstChild.nodeType === 3; + + // Make sure that tbody elements aren't automatically inserted + // IE will insert them into empty tables + support.tbody = !div.getElementsByTagName("tbody").length; + + // Make sure that link elements get serialized correctly by innerHTML + // This requires a wrapper element in IE + support.htmlSerialize = !!div.getElementsByTagName("link").length; + + // Get the style information from getAttribute + // (IE uses .cssText instead) + support.style = /top/.test( a.getAttribute("style") ); + + // Make sure that URLs aren't manipulated + // (IE normalizes it by default) + support.hrefNormalized = a.getAttribute("href") === "/a"; + + // Make sure that element opacity exists + // (IE uses filter instead) + // Use a regex to work around a WebKit issue. See #5145 + support.opacity = /^0.5/.test( a.style.opacity ); + + // Verify style float existence + // (IE uses styleFloat instead of cssFloat) + support.cssFloat = !!a.style.cssFloat; + + // Check the default checkbox/radio value ("" on WebKit; "on" elsewhere) + support.checkOn = !!input.value; + + // Make sure that a selected-by-default option has a working selected property. + // (WebKit defaults to false instead of true, IE too, if it's in an optgroup) + support.optSelected = opt.selected; + + // Tests for enctype support on a form (#6743) + support.enctype = !!document.createElement("form").enctype; + + // Makes sure cloning an html5 element does not cause problems + // Where outerHTML is undefined, this still works + support.html5Clone = document.createElement("nav").cloneNode( true ).outerHTML !== "<:nav>"; + + // Will be defined later + support.inlineBlockNeedsLayout = false; + support.shrinkWrapBlocks = false; + support.pixelPosition = false; + support.deleteExpando = true; + support.noCloneEvent = true; + support.reliableMarginRight = true; + support.boxSizingReliable = true; + + // Make sure checked status is properly cloned + input.checked = true; + support.noCloneChecked = input.cloneNode( true ).checked; + + // Make sure that the options inside disabled selects aren't marked as disabled + // (WebKit marks them as disabled) + select.disabled = true; + support.optDisabled = !opt.disabled; + + // Support: IE<9 + try { + delete div.test; + } catch( e ) { + support.deleteExpando = false; + } + + // Check if we can trust getAttribute("value") + input = document.createElement("input"); + input.setAttribute( "value", "" ); + support.input = input.getAttribute( "value" ) === ""; + + // Check if an input maintains its value after becoming a radio + input.value = "t"; + input.setAttribute( "type", "radio" ); + support.radioValue = input.value === "t"; + + // #11217 - WebKit loses check when the name is after the checked attribute + input.setAttribute( "checked", "t" ); + input.setAttribute( "name", "t" ); + + fragment = document.createDocumentFragment(); + fragment.appendChild( input ); + + // Check if a disconnected checkbox will retain its checked + // value of true after appended to the DOM (IE6/7) + support.appendChecked = input.checked; + + // WebKit doesn't clone checked state correctly in fragments + support.checkClone = fragment.cloneNode( true ).cloneNode( true ).lastChild.checked; + + // Support: IE<9 + // Opera does not clone events (and typeof div.attachEvent === undefined). + // IE9-10 clones events bound via attachEvent, but they don't trigger with .click() + if ( div.attachEvent ) { + div.attachEvent( "onclick", function() { + support.noCloneEvent = false; + }); + + div.cloneNode( true ).click(); + } + + // Support: IE<9 (lack submit/change bubble), Firefox 17+ (lack focusin event) + // Beware of CSP restrictions (https://developer.mozilla.org/en/Security/CSP) + for ( i in { submit: true, change: true, focusin: true }) { + div.setAttribute( eventName = "on" + i, "t" ); + + support[ i + "Bubbles" ] = eventName in window || div.attributes[ eventName ].expando === false; + } + + div.style.backgroundClip = "content-box"; + div.cloneNode( true ).style.backgroundClip = ""; + support.clearCloneStyle = div.style.backgroundClip === "content-box"; + + // Support: IE<9 + // Iteration over object's inherited properties before its own. + for ( i in jQuery( support ) ) { + break; + } + support.ownLast = i !== "0"; + + // Run tests that need a body at doc ready + jQuery(function() { + var container, marginDiv, tds, + divReset = "padding:0;margin:0;border:0;display:block;box-sizing:content-box;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;", + body = document.getElementsByTagName("body")[0]; + + if ( !body ) { + // Return for frameset docs that don't have a body + return; + } + + container = document.createElement("div"); + container.style.cssText = "border:0;width:0;height:0;position:absolute;top:0;left:-9999px;margin-top:1px"; + + body.appendChild( container ).appendChild( div ); + + // Support: IE8 + // Check if table cells still have offsetWidth/Height when they are set + // to display:none and there are still other visible table cells in a + // table row; if so, offsetWidth/Height are not reliable for use when + // determining if an element has been hidden directly using + // display:none (it is still safe to use offsets if a parent element is + // hidden; don safety goggles and see bug #4512 for more information). + div.innerHTML = "
t
"; + tds = div.getElementsByTagName("td"); + tds[ 0 ].style.cssText = "padding:0;margin:0;border:0;display:none"; + isSupported = ( tds[ 0 ].offsetHeight === 0 ); + + tds[ 0 ].style.display = ""; + tds[ 1 ].style.display = "none"; + + // Support: IE8 + // Check if empty table cells still have offsetWidth/Height + support.reliableHiddenOffsets = isSupported && ( tds[ 0 ].offsetHeight === 0 ); + + // Check box-sizing and margin behavior. + div.innerHTML = ""; + div.style.cssText = "box-sizing:border-box;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;padding:1px;border:1px;display:block;width:4px;margin-top:1%;position:absolute;top:1%;"; + + // Workaround failing boxSizing test due to offsetWidth returning wrong value + // with some non-1 values of body zoom, ticket #13543 + jQuery.swap( body, body.style.zoom != null ? { zoom: 1 } : {}, function() { + support.boxSizing = div.offsetWidth === 4; + }); + + // Use window.getComputedStyle because jsdom on node.js will break without it. + if ( window.getComputedStyle ) { + support.pixelPosition = ( window.getComputedStyle( div, null ) || {} ).top !== "1%"; + support.boxSizingReliable = ( window.getComputedStyle( div, null ) || { width: "4px" } ).width === "4px"; + + // Check if div with explicit width and no margin-right incorrectly + // gets computed margin-right based on width of container. (#3333) + // Fails in WebKit before Feb 2011 nightlies + // WebKit Bug 13343 - getComputedStyle returns wrong value for margin-right + marginDiv = div.appendChild( document.createElement("div") ); + marginDiv.style.cssText = div.style.cssText = divReset; + marginDiv.style.marginRight = marginDiv.style.width = "0"; + div.style.width = "1px"; + + support.reliableMarginRight = + !parseFloat( ( window.getComputedStyle( marginDiv, null ) || {} ).marginRight ); + } + + if ( typeof div.style.zoom !== core_strundefined ) { + // Support: IE<8 + // Check if natively block-level elements act like inline-block + // elements when setting their display to 'inline' and giving + // them layout + div.innerHTML = ""; + div.style.cssText = divReset + "width:1px;padding:1px;display:inline;zoom:1"; + support.inlineBlockNeedsLayout = ( div.offsetWidth === 3 ); + + // Support: IE6 + // Check if elements with layout shrink-wrap their children + div.style.display = "block"; + div.innerHTML = "
"; + div.firstChild.style.width = "5px"; + support.shrinkWrapBlocks = ( div.offsetWidth !== 3 ); + + if ( support.inlineBlockNeedsLayout ) { + // Prevent IE 6 from affecting layout for positioned elements #11048 + // Prevent IE from shrinking the body in IE 7 mode #12869 + // Support: IE<8 + body.style.zoom = 1; + } + } + + body.removeChild( container ); + + // Null elements to avoid leaks in IE + container = div = tds = marginDiv = null; + }); + + // Null elements to avoid leaks in IE + all = select = fragment = opt = a = input = null; + + return support; +})({}); + +var rbrace = /(?:\{[\s\S]*\}|\[[\s\S]*\])$/, + rmultiDash = /([A-Z])/g; + +function internalData( elem, name, data, pvt /* Internal Use Only */ ){ + if ( !jQuery.acceptData( elem ) ) { + return; + } + + var ret, thisCache, + internalKey = jQuery.expando, + + // We have to handle DOM nodes and JS objects differently because IE6-7 + // can't GC object references properly across the DOM-JS boundary + isNode = elem.nodeType, + + // Only DOM nodes need the global jQuery cache; JS object data is + // attached directly to the object so GC can occur automatically + cache = isNode ? jQuery.cache : elem, + + // Only defining an ID for JS objects if its cache already exists allows + // the code to shortcut on the same path as a DOM node with no cache + id = isNode ? elem[ internalKey ] : elem[ internalKey ] && internalKey; + + // Avoid doing any more work than we need to when trying to get data on an + // object that has no data at all + if ( (!id || !cache[id] || (!pvt && !cache[id].data)) && data === undefined && typeof name === "string" ) { + return; + } + + if ( !id ) { + // Only DOM nodes need a new unique ID for each element since their data + // ends up in the global cache + if ( isNode ) { + id = elem[ internalKey ] = core_deletedIds.pop() || jQuery.guid++; + } else { + id = internalKey; + } + } + + if ( !cache[ id ] ) { + // Avoid exposing jQuery metadata on plain JS objects when the object + // is serialized using JSON.stringify + cache[ id ] = isNode ? {} : { toJSON: jQuery.noop }; + } + + // An object can be passed to jQuery.data instead of a key/value pair; this gets + // shallow copied over onto the existing cache + if ( typeof name === "object" || typeof name === "function" ) { + if ( pvt ) { + cache[ id ] = jQuery.extend( cache[ id ], name ); + } else { + cache[ id ].data = jQuery.extend( cache[ id ].data, name ); + } + } + + thisCache = cache[ id ]; + + // jQuery data() is stored in a separate object inside the object's internal data + // cache in order to avoid key collisions between internal data and user-defined + // data. + if ( !pvt ) { + if ( !thisCache.data ) { + thisCache.data = {}; + } + + thisCache = thisCache.data; + } + + if ( data !== undefined ) { + thisCache[ jQuery.camelCase( name ) ] = data; + } + + // Check for both converted-to-camel and non-converted data property names + // If a data property was specified + if ( typeof name === "string" ) { + + // First Try to find as-is property data + ret = thisCache[ name ]; + + // Test for null|undefined property data + if ( ret == null ) { + + // Try to find the camelCased property + ret = thisCache[ jQuery.camelCase( name ) ]; + } + } else { + ret = thisCache; + } + + return ret; +} + +function internalRemoveData( elem, name, pvt ) { + if ( !jQuery.acceptData( elem ) ) { + return; + } + + var thisCache, i, + isNode = elem.nodeType, + + // See jQuery.data for more information + cache = isNode ? jQuery.cache : elem, + id = isNode ? elem[ jQuery.expando ] : jQuery.expando; + + // If there is already no cache entry for this object, there is no + // purpose in continuing + if ( !cache[ id ] ) { + return; + } + + if ( name ) { + + thisCache = pvt ? cache[ id ] : cache[ id ].data; + + if ( thisCache ) { + + // Support array or space separated string names for data keys + if ( !jQuery.isArray( name ) ) { + + // try the string as a key before any manipulation + if ( name in thisCache ) { + name = [ name ]; + } else { + + // split the camel cased version by spaces unless a key with the spaces exists + name = jQuery.camelCase( name ); + if ( name in thisCache ) { + name = [ name ]; + } else { + name = name.split(" "); + } + } + } else { + // If "name" is an array of keys... + // When data is initially created, via ("key", "val") signature, + // keys will be converted to camelCase. + // Since there is no way to tell _how_ a key was added, remove + // both plain key and camelCase key. #12786 + // This will only penalize the array argument path. + name = name.concat( jQuery.map( name, jQuery.camelCase ) ); + } + + i = name.length; + while ( i-- ) { + delete thisCache[ name[i] ]; + } + + // If there is no data left in the cache, we want to continue + // and let the cache object itself get destroyed + if ( pvt ? !isEmptyDataObject(thisCache) : !jQuery.isEmptyObject(thisCache) ) { + return; + } + } + } + + // See jQuery.data for more information + if ( !pvt ) { + delete cache[ id ].data; + + // Don't destroy the parent cache unless the internal data object + // had been the only thing left in it + if ( !isEmptyDataObject( cache[ id ] ) ) { + return; + } + } + + // Destroy the cache + if ( isNode ) { + jQuery.cleanData( [ elem ], true ); + + // Use delete when supported for expandos or `cache` is not a window per isWindow (#10080) + /* jshint eqeqeq: false */ + } else if ( jQuery.support.deleteExpando || cache != cache.window ) { + /* jshint eqeqeq: true */ + delete cache[ id ]; + + // When all else fails, null + } else { + cache[ id ] = null; + } +} + +jQuery.extend({ + cache: {}, + + // The following elements throw uncatchable exceptions if you + // attempt to add expando properties to them. + noData: { + "applet": true, + "embed": true, + // Ban all objects except for Flash (which handle expandos) + "object": "clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" + }, + + hasData: function( elem ) { + elem = elem.nodeType ? jQuery.cache[ elem[jQuery.expando] ] : elem[ jQuery.expando ]; + return !!elem && !isEmptyDataObject( elem ); + }, + + data: function( elem, name, data ) { + return internalData( elem, name, data ); + }, + + removeData: function( elem, name ) { + return internalRemoveData( elem, name ); + }, + + // For internal use only. + _data: function( elem, name, data ) { + return internalData( elem, name, data, true ); + }, + + _removeData: function( elem, name ) { + return internalRemoveData( elem, name, true ); + }, + + // A method for determining if a DOM node can handle the data expando + acceptData: function( elem ) { + // Do not set data on non-element because it will not be cleared (#8335). + if ( elem.nodeType && elem.nodeType !== 1 && elem.nodeType !== 9 ) { + return false; + } + + var noData = elem.nodeName && jQuery.noData[ elem.nodeName.toLowerCase() ]; + + // nodes accept data unless otherwise specified; rejection can be conditional + return !noData || noData !== true && elem.getAttribute("classid") === noData; + } +}); + +jQuery.fn.extend({ + data: function( key, value ) { + var attrs, name, + data = null, + i = 0, + elem = this[0]; + + // Special expections of .data basically thwart jQuery.access, + // so implement the relevant behavior ourselves + + // Gets all values + if ( key === undefined ) { + if ( this.length ) { + data = jQuery.data( elem ); + + if ( elem.nodeType === 1 && !jQuery._data( elem, "parsedAttrs" ) ) { + attrs = elem.attributes; + for ( ; i < attrs.length; i++ ) { + name = attrs[i].name; + + if ( name.indexOf("data-") === 0 ) { + name = jQuery.camelCase( name.slice(5) ); + + dataAttr( elem, name, data[ name ] ); + } + } + jQuery._data( elem, "parsedAttrs", true ); + } + } + + return data; + } + + // Sets multiple values + if ( typeof key === "object" ) { + return this.each(function() { + jQuery.data( this, key ); + }); + } + + return arguments.length > 1 ? + + // Sets one value + this.each(function() { + jQuery.data( this, key, value ); + }) : + + // Gets one value + // Try to fetch any internally stored data first + elem ? dataAttr( elem, key, jQuery.data( elem, key ) ) : null; + }, + + removeData: function( key ) { + return this.each(function() { + jQuery.removeData( this, key ); + }); + } +}); + +function dataAttr( elem, key, data ) { + // If nothing was found internally, try to fetch any + // data from the HTML5 data-* attribute + if ( data === undefined && elem.nodeType === 1 ) { + + var name = "data-" + key.replace( rmultiDash, "-$1" ).toLowerCase(); + + data = elem.getAttribute( name ); + + if ( typeof data === "string" ) { + try { + data = data === "true" ? true : + data === "false" ? false : + data === "null" ? null : + // Only convert to a number if it doesn't change the string + +data + "" === data ? +data : + rbrace.test( data ) ? jQuery.parseJSON( data ) : + data; + } catch( e ) {} + + // Make sure we set the data so it isn't changed later + jQuery.data( elem, key, data ); + + } else { + data = undefined; + } + } + + return data; +} + +// checks a cache object for emptiness +function isEmptyDataObject( obj ) { + var name; + for ( name in obj ) { + + // if the public data object is empty, the private is still empty + if ( name === "data" && jQuery.isEmptyObject( obj[name] ) ) { + continue; + } + if ( name !== "toJSON" ) { + return false; + } + } + + return true; +} +jQuery.extend({ + queue: function( elem, type, data ) { + var queue; + + if ( elem ) { + type = ( type || "fx" ) + "queue"; + queue = jQuery._data( elem, type ); + + // Speed up dequeue by getting out quickly if this is just a lookup + if ( data ) { + if ( !queue || jQuery.isArray(data) ) { + queue = jQuery._data( elem, type, jQuery.makeArray(data) ); + } else { + queue.push( data ); + } + } + return queue || []; + } + }, + + dequeue: function( elem, type ) { + type = type || "fx"; + + var queue = jQuery.queue( elem, type ), + startLength = queue.length, + fn = queue.shift(), + hooks = jQuery._queueHooks( elem, type ), + next = function() { + jQuery.dequeue( elem, type ); + }; + + // If the fx queue is dequeued, always remove the progress sentinel + if ( fn === "inprogress" ) { + fn = queue.shift(); + startLength--; + } + + if ( fn ) { + + // Add a progress sentinel to prevent the fx queue from being + // automatically dequeued + if ( type === "fx" ) { + queue.unshift( "inprogress" ); + } + + // clear up the last queue stop function + delete hooks.stop; + fn.call( elem, next, hooks ); + } + + if ( !startLength && hooks ) { + hooks.empty.fire(); + } + }, + + // not intended for public consumption - generates a queueHooks object, or returns the current one + _queueHooks: function( elem, type ) { + var key = type + "queueHooks"; + return jQuery._data( elem, key ) || jQuery._data( elem, key, { + empty: jQuery.Callbacks("once memory").add(function() { + jQuery._removeData( elem, type + "queue" ); + jQuery._removeData( elem, key ); + }) + }); + } +}); + +jQuery.fn.extend({ + queue: function( type, data ) { + var setter = 2; + + if ( typeof type !== "string" ) { + data = type; + type = "fx"; + setter--; + } + + if ( arguments.length < setter ) { + return jQuery.queue( this[0], type ); + } + + return data === undefined ? + this : + this.each(function() { + var queue = jQuery.queue( this, type, data ); + + // ensure a hooks for this queue + jQuery._queueHooks( this, type ); + + if ( type === "fx" && queue[0] !== "inprogress" ) { + jQuery.dequeue( this, type ); + } + }); + }, + dequeue: function( type ) { + return this.each(function() { + jQuery.dequeue( this, type ); + }); + }, + // Based off of the plugin by Clint Helfers, with permission. + // http://blindsignals.com/index.php/2009/07/jquery-delay/ + delay: function( time, type ) { + time = jQuery.fx ? jQuery.fx.speeds[ time ] || time : time; + type = type || "fx"; + + return this.queue( type, function( next, hooks ) { + var timeout = setTimeout( next, time ); + hooks.stop = function() { + clearTimeout( timeout ); + }; + }); + }, + clearQueue: function( type ) { + return this.queue( type || "fx", [] ); + }, + // Get a promise resolved when queues of a certain type + // are emptied (fx is the type by default) + promise: function( type, obj ) { + var tmp, + count = 1, + defer = jQuery.Deferred(), + elements = this, + i = this.length, + resolve = function() { + if ( !( --count ) ) { + defer.resolveWith( elements, [ elements ] ); + } + }; + + if ( typeof type !== "string" ) { + obj = type; + type = undefined; + } + type = type || "fx"; + + while( i-- ) { + tmp = jQuery._data( elements[ i ], type + "queueHooks" ); + if ( tmp && tmp.empty ) { + count++; + tmp.empty.add( resolve ); + } + } + resolve(); + return defer.promise( obj ); + } +}); +var nodeHook, boolHook, + rclass = /[\t\r\n\f]/g, + rreturn = /\r/g, + rfocusable = /^(?:input|select|textarea|button|object)$/i, + rclickable = /^(?:a|area)$/i, + ruseDefault = /^(?:checked|selected)$/i, + getSetAttribute = jQuery.support.getSetAttribute, + getSetInput = jQuery.support.input; + +jQuery.fn.extend({ + attr: function( name, value ) { + return jQuery.access( this, jQuery.attr, name, value, arguments.length > 1 ); + }, + + removeAttr: function( name ) { + return this.each(function() { + jQuery.removeAttr( this, name ); + }); + }, + + prop: function( name, value ) { + return jQuery.access( this, jQuery.prop, name, value, arguments.length > 1 ); + }, + + removeProp: function( name ) { + name = jQuery.propFix[ name ] || name; + return this.each(function() { + // try/catch handles cases where IE balks (such as removing a property on window) + try { + this[ name ] = undefined; + delete this[ name ]; + } catch( e ) {} + }); + }, + + addClass: function( value ) { + var classes, elem, cur, clazz, j, + i = 0, + len = this.length, + proceed = typeof value === "string" && value; + + if ( jQuery.isFunction( value ) ) { + return this.each(function( j ) { + jQuery( this ).addClass( value.call( this, j, this.className ) ); + }); + } + + if ( proceed ) { + // The disjunction here is for better compressibility (see removeClass) + classes = ( value || "" ).match( core_rnotwhite ) || []; + + for ( ; i < len; i++ ) { + elem = this[ i ]; + cur = elem.nodeType === 1 && ( elem.className ? + ( " " + elem.className + " " ).replace( rclass, " " ) : + " " + ); + + if ( cur ) { + j = 0; + while ( (clazz = classes[j++]) ) { + if ( cur.indexOf( " " + clazz + " " ) < 0 ) { + cur += clazz + " "; + } + } + elem.className = jQuery.trim( cur ); + + } + } + } + + return this; + }, + + removeClass: function( value ) { + var classes, elem, cur, clazz, j, + i = 0, + len = this.length, + proceed = arguments.length === 0 || typeof value === "string" && value; + + if ( jQuery.isFunction( value ) ) { + return this.each(function( j ) { + jQuery( this ).removeClass( value.call( this, j, this.className ) ); + }); + } + if ( proceed ) { + classes = ( value || "" ).match( core_rnotwhite ) || []; + + for ( ; i < len; i++ ) { + elem = this[ i ]; + // This expression is here for better compressibility (see addClass) + cur = elem.nodeType === 1 && ( elem.className ? + ( " " + elem.className + " " ).replace( rclass, " " ) : + "" + ); + + if ( cur ) { + j = 0; + while ( (clazz = classes[j++]) ) { + // Remove *all* instances + while ( cur.indexOf( " " + clazz + " " ) >= 0 ) { + cur = cur.replace( " " + clazz + " ", " " ); + } + } + elem.className = value ? jQuery.trim( cur ) : ""; + } + } + } + + return this; + }, + + toggleClass: function( value, stateVal ) { + var type = typeof value; + + if ( typeof stateVal === "boolean" && type === "string" ) { + return stateVal ? this.addClass( value ) : this.removeClass( value ); + } + + if ( jQuery.isFunction( value ) ) { + return this.each(function( i ) { + jQuery( this ).toggleClass( value.call(this, i, this.className, stateVal), stateVal ); + }); + } + + return this.each(function() { + if ( type === "string" ) { + // toggle individual class names + var className, + i = 0, + self = jQuery( this ), + classNames = value.match( core_rnotwhite ) || []; + + while ( (className = classNames[ i++ ]) ) { + // check each className given, space separated list + if ( self.hasClass( className ) ) { + self.removeClass( className ); + } else { + self.addClass( className ); + } + } + + // Toggle whole class name + } else if ( type === core_strundefined || type === "boolean" ) { + if ( this.className ) { + // store className if set + jQuery._data( this, "__className__", this.className ); + } + + // If the element has a class name or if we're passed "false", + // then remove the whole classname (if there was one, the above saved it). + // Otherwise bring back whatever was previously saved (if anything), + // falling back to the empty string if nothing was stored. + this.className = this.className || value === false ? "" : jQuery._data( this, "__className__" ) || ""; + } + }); + }, + + hasClass: function( selector ) { + var className = " " + selector + " ", + i = 0, + l = this.length; + for ( ; i < l; i++ ) { + if ( this[i].nodeType === 1 && (" " + this[i].className + " ").replace(rclass, " ").indexOf( className ) >= 0 ) { + return true; + } + } + + return false; + }, + + val: function( value ) { + var ret, hooks, isFunction, + elem = this[0]; + + if ( !arguments.length ) { + if ( elem ) { + hooks = jQuery.valHooks[ elem.type ] || jQuery.valHooks[ elem.nodeName.toLowerCase() ]; + + if ( hooks && "get" in hooks && (ret = hooks.get( elem, "value" )) !== undefined ) { + return ret; + } + + ret = elem.value; + + return typeof ret === "string" ? + // handle most common string cases + ret.replace(rreturn, "") : + // handle cases where value is null/undef or number + ret == null ? "" : ret; + } + + return; + } + + isFunction = jQuery.isFunction( value ); + + return this.each(function( i ) { + var val; + + if ( this.nodeType !== 1 ) { + return; + } + + if ( isFunction ) { + val = value.call( this, i, jQuery( this ).val() ); + } else { + val = value; + } + + // Treat null/undefined as ""; convert numbers to string + if ( val == null ) { + val = ""; + } else if ( typeof val === "number" ) { + val += ""; + } else if ( jQuery.isArray( val ) ) { + val = jQuery.map(val, function ( value ) { + return value == null ? "" : value + ""; + }); + } + + hooks = jQuery.valHooks[ this.type ] || jQuery.valHooks[ this.nodeName.toLowerCase() ]; + + // If set returns undefined, fall back to normal setting + if ( !hooks || !("set" in hooks) || hooks.set( this, val, "value" ) === undefined ) { + this.value = val; + } + }); + } +}); + +jQuery.extend({ + valHooks: { + option: { + get: function( elem ) { + // Use proper attribute retrieval(#6932, #12072) + var val = jQuery.find.attr( elem, "value" ); + return val != null ? + val : + elem.text; + } + }, + select: { + get: function( elem ) { + var value, option, + options = elem.options, + index = elem.selectedIndex, + one = elem.type === "select-one" || index < 0, + values = one ? null : [], + max = one ? index + 1 : options.length, + i = index < 0 ? + max : + one ? index : 0; + + // Loop through all the selected options + for ( ; i < max; i++ ) { + option = options[ i ]; + + // oldIE doesn't update selected after form reset (#2551) + if ( ( option.selected || i === index ) && + // Don't return options that are disabled or in a disabled optgroup + ( jQuery.support.optDisabled ? !option.disabled : option.getAttribute("disabled") === null ) && + ( !option.parentNode.disabled || !jQuery.nodeName( option.parentNode, "optgroup" ) ) ) { + + // Get the specific value for the option + value = jQuery( option ).val(); + + // We don't need an array for one selects + if ( one ) { + return value; + } + + // Multi-Selects return an array + values.push( value ); + } + } + + return values; + }, + + set: function( elem, value ) { + var optionSet, option, + options = elem.options, + values = jQuery.makeArray( value ), + i = options.length; + + while ( i-- ) { + option = options[ i ]; + if ( (option.selected = jQuery.inArray( jQuery(option).val(), values ) >= 0) ) { + optionSet = true; + } + } + + // force browsers to behave consistently when non-matching value is set + if ( !optionSet ) { + elem.selectedIndex = -1; + } + return values; + } + } + }, + + attr: function( elem, name, value ) { + var hooks, ret, + nType = elem.nodeType; + + // don't get/set attributes on text, comment and attribute nodes + if ( !elem || nType === 3 || nType === 8 || nType === 2 ) { + return; + } + + // Fallback to prop when attributes are not supported + if ( typeof elem.getAttribute === core_strundefined ) { + return jQuery.prop( elem, name, value ); + } + + // All attributes are lowercase + // Grab necessary hook if one is defined + if ( nType !== 1 || !jQuery.isXMLDoc( elem ) ) { + name = name.toLowerCase(); + hooks = jQuery.attrHooks[ name ] || + ( jQuery.expr.match.bool.test( name ) ? boolHook : nodeHook ); + } + + if ( value !== undefined ) { + + if ( value === null ) { + jQuery.removeAttr( elem, name ); + + } else if ( hooks && "set" in hooks && (ret = hooks.set( elem, value, name )) !== undefined ) { + return ret; + + } else { + elem.setAttribute( name, value + "" ); + return value; + } + + } else if ( hooks && "get" in hooks && (ret = hooks.get( elem, name )) !== null ) { + return ret; + + } else { + ret = jQuery.find.attr( elem, name ); + + // Non-existent attributes return null, we normalize to undefined + return ret == null ? + undefined : + ret; + } + }, + + removeAttr: function( elem, value ) { + var name, propName, + i = 0, + attrNames = value && value.match( core_rnotwhite ); + + if ( attrNames && elem.nodeType === 1 ) { + while ( (name = attrNames[i++]) ) { + propName = jQuery.propFix[ name ] || name; + + // Boolean attributes get special treatment (#10870) + if ( jQuery.expr.match.bool.test( name ) ) { + // Set corresponding property to false + if ( getSetInput && getSetAttribute || !ruseDefault.test( name ) ) { + elem[ propName ] = false; + // Support: IE<9 + // Also clear defaultChecked/defaultSelected (if appropriate) + } else { + elem[ jQuery.camelCase( "default-" + name ) ] = + elem[ propName ] = false; + } + + // See #9699 for explanation of this approach (setting first, then removal) + } else { + jQuery.attr( elem, name, "" ); + } + + elem.removeAttribute( getSetAttribute ? name : propName ); + } + } + }, + + attrHooks: { + type: { + set: function( elem, value ) { + if ( !jQuery.support.radioValue && value === "radio" && jQuery.nodeName(elem, "input") ) { + // Setting the type on a radio button after the value resets the value in IE6-9 + // Reset value to default in case type is set after value during creation + var val = elem.value; + elem.setAttribute( "type", value ); + if ( val ) { + elem.value = val; + } + return value; + } + } + } + }, + + propFix: { + "for": "htmlFor", + "class": "className" + }, + + prop: function( elem, name, value ) { + var ret, hooks, notxml, + nType = elem.nodeType; + + // don't get/set properties on text, comment and attribute nodes + if ( !elem || nType === 3 || nType === 8 || nType === 2 ) { + return; + } + + notxml = nType !== 1 || !jQuery.isXMLDoc( elem ); + + if ( notxml ) { + // Fix name and attach hooks + name = jQuery.propFix[ name ] || name; + hooks = jQuery.propHooks[ name ]; + } + + if ( value !== undefined ) { + return hooks && "set" in hooks && (ret = hooks.set( elem, value, name )) !== undefined ? + ret : + ( elem[ name ] = value ); + + } else { + return hooks && "get" in hooks && (ret = hooks.get( elem, name )) !== null ? + ret : + elem[ name ]; + } + }, + + propHooks: { + tabIndex: { + get: function( elem ) { + // elem.tabIndex doesn't always return the correct value when it hasn't been explicitly set + // http://fluidproject.org/blog/2008/01/09/getting-setting-and-removing-tabindex-values-with-javascript/ + // Use proper attribute retrieval(#12072) + var tabindex = jQuery.find.attr( elem, "tabindex" ); + + return tabindex ? + parseInt( tabindex, 10 ) : + rfocusable.test( elem.nodeName ) || rclickable.test( elem.nodeName ) && elem.href ? + 0 : + -1; + } + } + } +}); + +// Hooks for boolean attributes +boolHook = { + set: function( elem, value, name ) { + if ( value === false ) { + // Remove boolean attributes when set to false + jQuery.removeAttr( elem, name ); + } else if ( getSetInput && getSetAttribute || !ruseDefault.test( name ) ) { + // IE<8 needs the *property* name + elem.setAttribute( !getSetAttribute && jQuery.propFix[ name ] || name, name ); + + // Use defaultChecked and defaultSelected for oldIE + } else { + elem[ jQuery.camelCase( "default-" + name ) ] = elem[ name ] = true; + } + + return name; + } +}; +jQuery.each( jQuery.expr.match.bool.source.match( /\w+/g ), function( i, name ) { + var getter = jQuery.expr.attrHandle[ name ] || jQuery.find.attr; + + jQuery.expr.attrHandle[ name ] = getSetInput && getSetAttribute || !ruseDefault.test( name ) ? + function( elem, name, isXML ) { + var fn = jQuery.expr.attrHandle[ name ], + ret = isXML ? + undefined : + /* jshint eqeqeq: false */ + (jQuery.expr.attrHandle[ name ] = undefined) != + getter( elem, name, isXML ) ? + + name.toLowerCase() : + null; + jQuery.expr.attrHandle[ name ] = fn; + return ret; + } : + function( elem, name, isXML ) { + return isXML ? + undefined : + elem[ jQuery.camelCase( "default-" + name ) ] ? + name.toLowerCase() : + null; + }; +}); + +// fix oldIE attroperties +if ( !getSetInput || !getSetAttribute ) { + jQuery.attrHooks.value = { + set: function( elem, value, name ) { + if ( jQuery.nodeName( elem, "input" ) ) { + // Does not return so that setAttribute is also used + elem.defaultValue = value; + } else { + // Use nodeHook if defined (#1954); otherwise setAttribute is fine + return nodeHook && nodeHook.set( elem, value, name ); + } + } + }; +} + +// IE6/7 do not support getting/setting some attributes with get/setAttribute +if ( !getSetAttribute ) { + + // Use this for any attribute in IE6/7 + // This fixes almost every IE6/7 issue + nodeHook = { + set: function( elem, value, name ) { + // Set the existing or create a new attribute node + var ret = elem.getAttributeNode( name ); + if ( !ret ) { + elem.setAttributeNode( + (ret = elem.ownerDocument.createAttribute( name )) + ); + } + + ret.value = value += ""; + + // Break association with cloned elements by also using setAttribute (#9646) + return name === "value" || value === elem.getAttribute( name ) ? + value : + undefined; + } + }; + jQuery.expr.attrHandle.id = jQuery.expr.attrHandle.name = jQuery.expr.attrHandle.coords = + // Some attributes are constructed with empty-string values when not defined + function( elem, name, isXML ) { + var ret; + return isXML ? + undefined : + (ret = elem.getAttributeNode( name )) && ret.value !== "" ? + ret.value : + null; + }; + jQuery.valHooks.button = { + get: function( elem, name ) { + var ret = elem.getAttributeNode( name ); + return ret && ret.specified ? + ret.value : + undefined; + }, + set: nodeHook.set + }; + + // Set contenteditable to false on removals(#10429) + // Setting to empty string throws an error as an invalid value + jQuery.attrHooks.contenteditable = { + set: function( elem, value, name ) { + nodeHook.set( elem, value === "" ? false : value, name ); + } + }; + + // Set width and height to auto instead of 0 on empty string( Bug #8150 ) + // This is for removals + jQuery.each([ "width", "height" ], function( i, name ) { + jQuery.attrHooks[ name ] = { + set: function( elem, value ) { + if ( value === "" ) { + elem.setAttribute( name, "auto" ); + return value; + } + } + }; + }); +} + + +// Some attributes require a special call on IE +// http://msdn.microsoft.com/en-us/library/ms536429%28VS.85%29.aspx +if ( !jQuery.support.hrefNormalized ) { + // href/src property should get the full normalized URL (#10299/#12915) + jQuery.each([ "href", "src" ], function( i, name ) { + jQuery.propHooks[ name ] = { + get: function( elem ) { + return elem.getAttribute( name, 4 ); + } + }; + }); +} + +if ( !jQuery.support.style ) { + jQuery.attrHooks.style = { + get: function( elem ) { + // Return undefined in the case of empty string + // Note: IE uppercases css property names, but if we were to .toLowerCase() + // .cssText, that would destroy case senstitivity in URL's, like in "background" + return elem.style.cssText || undefined; + }, + set: function( elem, value ) { + return ( elem.style.cssText = value + "" ); + } + }; +} + +// Safari mis-reports the default selected property of an option +// Accessing the parent's selectedIndex property fixes it +if ( !jQuery.support.optSelected ) { + jQuery.propHooks.selected = { + get: function( elem ) { + var parent = elem.parentNode; + + if ( parent ) { + parent.selectedIndex; + + // Make sure that it also works with optgroups, see #5701 + if ( parent.parentNode ) { + parent.parentNode.selectedIndex; + } + } + return null; + } + }; +} + +jQuery.each([ + "tabIndex", + "readOnly", + "maxLength", + "cellSpacing", + "cellPadding", + "rowSpan", + "colSpan", + "useMap", + "frameBorder", + "contentEditable" +], function() { + jQuery.propFix[ this.toLowerCase() ] = this; +}); + +// IE6/7 call enctype encoding +if ( !jQuery.support.enctype ) { + jQuery.propFix.enctype = "encoding"; +} + +// Radios and checkboxes getter/setter +jQuery.each([ "radio", "checkbox" ], function() { + jQuery.valHooks[ this ] = { + set: function( elem, value ) { + if ( jQuery.isArray( value ) ) { + return ( elem.checked = jQuery.inArray( jQuery(elem).val(), value ) >= 0 ); + } + } + }; + if ( !jQuery.support.checkOn ) { + jQuery.valHooks[ this ].get = function( elem ) { + // Support: Webkit + // "" is returned instead of "on" if a value isn't specified + return elem.getAttribute("value") === null ? "on" : elem.value; + }; + } +}); +var rformElems = /^(?:input|select|textarea)$/i, + rkeyEvent = /^key/, + rmouseEvent = /^(?:mouse|contextmenu)|click/, + rfocusMorph = /^(?:focusinfocus|focusoutblur)$/, + rtypenamespace = /^([^.]*)(?:\.(.+)|)$/; + +function returnTrue() { + return true; +} + +function returnFalse() { + return false; +} + +function safeActiveElement() { + try { + return document.activeElement; + } catch ( err ) { } +} + +/* + * Helper functions for managing events -- not part of the public interface. + * Props to Dean Edwards' addEvent library for many of the ideas. + */ +jQuery.event = { + + global: {}, + + add: function( elem, types, handler, data, selector ) { + var tmp, events, t, handleObjIn, + special, eventHandle, handleObj, + handlers, type, namespaces, origType, + elemData = jQuery._data( elem ); + + // Don't attach events to noData or text/comment nodes (but allow plain objects) + if ( !elemData ) { + return; + } + + // Caller can pass in an object of custom data in lieu of the handler + if ( handler.handler ) { + handleObjIn = handler; + handler = handleObjIn.handler; + selector = handleObjIn.selector; + } + + // Make sure that the handler has a unique ID, used to find/remove it later + if ( !handler.guid ) { + handler.guid = jQuery.guid++; + } + + // Init the element's event structure and main handler, if this is the first + if ( !(events = elemData.events) ) { + events = elemData.events = {}; + } + if ( !(eventHandle = elemData.handle) ) { + eventHandle = elemData.handle = function( e ) { + // Discard the second event of a jQuery.event.trigger() and + // when an event is called after a page has unloaded + return typeof jQuery !== core_strundefined && (!e || jQuery.event.triggered !== e.type) ? + jQuery.event.dispatch.apply( eventHandle.elem, arguments ) : + undefined; + }; + // Add elem as a property of the handle fn to prevent a memory leak with IE non-native events + eventHandle.elem = elem; + } + + // Handle multiple events separated by a space + types = ( types || "" ).match( core_rnotwhite ) || [""]; + t = types.length; + while ( t-- ) { + tmp = rtypenamespace.exec( types[t] ) || []; + type = origType = tmp[1]; + namespaces = ( tmp[2] || "" ).split( "." ).sort(); + + // There *must* be a type, no attaching namespace-only handlers + if ( !type ) { + continue; + } + + // If event changes its type, use the special event handlers for the changed type + special = jQuery.event.special[ type ] || {}; + + // If selector defined, determine special event api type, otherwise given type + type = ( selector ? special.delegateType : special.bindType ) || type; + + // Update special based on newly reset type + special = jQuery.event.special[ type ] || {}; + + // handleObj is passed to all event handlers + handleObj = jQuery.extend({ + type: type, + origType: origType, + data: data, + handler: handler, + guid: handler.guid, + selector: selector, + needsContext: selector && jQuery.expr.match.needsContext.test( selector ), + namespace: namespaces.join(".") + }, handleObjIn ); + + // Init the event handler queue if we're the first + if ( !(handlers = events[ type ]) ) { + handlers = events[ type ] = []; + handlers.delegateCount = 0; + + // Only use addEventListener/attachEvent if the special events handler returns false + if ( !special.setup || special.setup.call( elem, data, namespaces, eventHandle ) === false ) { + // Bind the global event handler to the element + if ( elem.addEventListener ) { + elem.addEventListener( type, eventHandle, false ); + + } else if ( elem.attachEvent ) { + elem.attachEvent( "on" + type, eventHandle ); + } + } + } + + if ( special.add ) { + special.add.call( elem, handleObj ); + + if ( !handleObj.handler.guid ) { + handleObj.handler.guid = handler.guid; + } + } + + // Add to the element's handler list, delegates in front + if ( selector ) { + handlers.splice( handlers.delegateCount++, 0, handleObj ); + } else { + handlers.push( handleObj ); + } + + // Keep track of which events have ever been used, for event optimization + jQuery.event.global[ type ] = true; + } + + // Nullify elem to prevent memory leaks in IE + elem = null; + }, + + // Detach an event or set of events from an element + remove: function( elem, types, handler, selector, mappedTypes ) { + var j, handleObj, tmp, + origCount, t, events, + special, handlers, type, + namespaces, origType, + elemData = jQuery.hasData( elem ) && jQuery._data( elem ); + + if ( !elemData || !(events = elemData.events) ) { + return; + } + + // Once for each type.namespace in types; type may be omitted + types = ( types || "" ).match( core_rnotwhite ) || [""]; + t = types.length; + while ( t-- ) { + tmp = rtypenamespace.exec( types[t] ) || []; + type = origType = tmp[1]; + namespaces = ( tmp[2] || "" ).split( "." ).sort(); + + // Unbind all events (on this namespace, if provided) for the element + if ( !type ) { + for ( type in events ) { + jQuery.event.remove( elem, type + types[ t ], handler, selector, true ); + } + continue; + } + + special = jQuery.event.special[ type ] || {}; + type = ( selector ? special.delegateType : special.bindType ) || type; + handlers = events[ type ] || []; + tmp = tmp[2] && new RegExp( "(^|\\.)" + namespaces.join("\\.(?:.*\\.|)") + "(\\.|$)" ); + + // Remove matching events + origCount = j = handlers.length; + while ( j-- ) { + handleObj = handlers[ j ]; + + if ( ( mappedTypes || origType === handleObj.origType ) && + ( !handler || handler.guid === handleObj.guid ) && + ( !tmp || tmp.test( handleObj.namespace ) ) && + ( !selector || selector === handleObj.selector || selector === "**" && handleObj.selector ) ) { + handlers.splice( j, 1 ); + + if ( handleObj.selector ) { + handlers.delegateCount--; + } + if ( special.remove ) { + special.remove.call( elem, handleObj ); + } + } + } + + // Remove generic event handler if we removed something and no more handlers exist + // (avoids potential for endless recursion during removal of special event handlers) + if ( origCount && !handlers.length ) { + if ( !special.teardown || special.teardown.call( elem, namespaces, elemData.handle ) === false ) { + jQuery.removeEvent( elem, type, elemData.handle ); + } + + delete events[ type ]; + } + } + + // Remove the expando if it's no longer used + if ( jQuery.isEmptyObject( events ) ) { + delete elemData.handle; + + // removeData also checks for emptiness and clears the expando if empty + // so use it instead of delete + jQuery._removeData( elem, "events" ); + } + }, + + trigger: function( event, data, elem, onlyHandlers ) { + var handle, ontype, cur, + bubbleType, special, tmp, i, + eventPath = [ elem || document ], + type = core_hasOwn.call( event, "type" ) ? event.type : event, + namespaces = core_hasOwn.call( event, "namespace" ) ? event.namespace.split(".") : []; + + cur = tmp = elem = elem || document; + + // Don't do events on text and comment nodes + if ( elem.nodeType === 3 || elem.nodeType === 8 ) { + return; + } + + // focus/blur morphs to focusin/out; ensure we're not firing them right now + if ( rfocusMorph.test( type + jQuery.event.triggered ) ) { + return; + } + + if ( type.indexOf(".") >= 0 ) { + // Namespaced trigger; create a regexp to match event type in handle() + namespaces = type.split("."); + type = namespaces.shift(); + namespaces.sort(); + } + ontype = type.indexOf(":") < 0 && "on" + type; + + // Caller can pass in a jQuery.Event object, Object, or just an event type string + event = event[ jQuery.expando ] ? + event : + new jQuery.Event( type, typeof event === "object" && event ); + + // Trigger bitmask: & 1 for native handlers; & 2 for jQuery (always true) + event.isTrigger = onlyHandlers ? 2 : 3; + event.namespace = namespaces.join("."); + event.namespace_re = event.namespace ? + new RegExp( "(^|\\.)" + namespaces.join("\\.(?:.*\\.|)") + "(\\.|$)" ) : + null; + + // Clean up the event in case it is being reused + event.result = undefined; + if ( !event.target ) { + event.target = elem; + } + + // Clone any incoming data and prepend the event, creating the handler arg list + data = data == null ? + [ event ] : + jQuery.makeArray( data, [ event ] ); + + // Allow special events to draw outside the lines + special = jQuery.event.special[ type ] || {}; + if ( !onlyHandlers && special.trigger && special.trigger.apply( elem, data ) === false ) { + return; + } + + // Determine event propagation path in advance, per W3C events spec (#9951) + // Bubble up to document, then to window; watch for a global ownerDocument var (#9724) + if ( !onlyHandlers && !special.noBubble && !jQuery.isWindow( elem ) ) { + + bubbleType = special.delegateType || type; + if ( !rfocusMorph.test( bubbleType + type ) ) { + cur = cur.parentNode; + } + for ( ; cur; cur = cur.parentNode ) { + eventPath.push( cur ); + tmp = cur; + } + + // Only add window if we got to document (e.g., not plain obj or detached DOM) + if ( tmp === (elem.ownerDocument || document) ) { + eventPath.push( tmp.defaultView || tmp.parentWindow || window ); + } + } + + // Fire handlers on the event path + i = 0; + while ( (cur = eventPath[i++]) && !event.isPropagationStopped() ) { + + event.type = i > 1 ? + bubbleType : + special.bindType || type; + + // jQuery handler + handle = ( jQuery._data( cur, "events" ) || {} )[ event.type ] && jQuery._data( cur, "handle" ); + if ( handle ) { + handle.apply( cur, data ); + } + + // Native handler + handle = ontype && cur[ ontype ]; + if ( handle && jQuery.acceptData( cur ) && handle.apply && handle.apply( cur, data ) === false ) { + event.preventDefault(); + } + } + event.type = type; + + // If nobody prevented the default action, do it now + if ( !onlyHandlers && !event.isDefaultPrevented() ) { + + if ( (!special._default || special._default.apply( eventPath.pop(), data ) === false) && + jQuery.acceptData( elem ) ) { + + // Call a native DOM method on the target with the same name name as the event. + // Can't use an .isFunction() check here because IE6/7 fails that test. + // Don't do default actions on window, that's where global variables be (#6170) + if ( ontype && elem[ type ] && !jQuery.isWindow( elem ) ) { + + // Don't re-trigger an onFOO event when we call its FOO() method + tmp = elem[ ontype ]; + + if ( tmp ) { + elem[ ontype ] = null; + } + + // Prevent re-triggering of the same event, since we already bubbled it above + jQuery.event.triggered = type; + try { + elem[ type ](); + } catch ( e ) { + // IE<9 dies on focus/blur to hidden element (#1486,#12518) + // only reproducible on winXP IE8 native, not IE9 in IE8 mode + } + jQuery.event.triggered = undefined; + + if ( tmp ) { + elem[ ontype ] = tmp; + } + } + } + } + + return event.result; + }, + + dispatch: function( event ) { + + // Make a writable jQuery.Event from the native event object + event = jQuery.event.fix( event ); + + var i, ret, handleObj, matched, j, + handlerQueue = [], + args = core_slice.call( arguments ), + handlers = ( jQuery._data( this, "events" ) || {} )[ event.type ] || [], + special = jQuery.event.special[ event.type ] || {}; + + // Use the fix-ed jQuery.Event rather than the (read-only) native event + args[0] = event; + event.delegateTarget = this; + + // Call the preDispatch hook for the mapped type, and let it bail if desired + if ( special.preDispatch && special.preDispatch.call( this, event ) === false ) { + return; + } + + // Determine handlers + handlerQueue = jQuery.event.handlers.call( this, event, handlers ); + + // Run delegates first; they may want to stop propagation beneath us + i = 0; + while ( (matched = handlerQueue[ i++ ]) && !event.isPropagationStopped() ) { + event.currentTarget = matched.elem; + + j = 0; + while ( (handleObj = matched.handlers[ j++ ]) && !event.isImmediatePropagationStopped() ) { + + // Triggered event must either 1) have no namespace, or + // 2) have namespace(s) a subset or equal to those in the bound event (both can have no namespace). + if ( !event.namespace_re || event.namespace_re.test( handleObj.namespace ) ) { + + event.handleObj = handleObj; + event.data = handleObj.data; + + ret = ( (jQuery.event.special[ handleObj.origType ] || {}).handle || handleObj.handler ) + .apply( matched.elem, args ); + + if ( ret !== undefined ) { + if ( (event.result = ret) === false ) { + event.preventDefault(); + event.stopPropagation(); + } + } + } + } + } + + // Call the postDispatch hook for the mapped type + if ( special.postDispatch ) { + special.postDispatch.call( this, event ); + } + + return event.result; + }, + + handlers: function( event, handlers ) { + var sel, handleObj, matches, i, + handlerQueue = [], + delegateCount = handlers.delegateCount, + cur = event.target; + + // Find delegate handlers + // Black-hole SVG instance trees (#13180) + // Avoid non-left-click bubbling in Firefox (#3861) + if ( delegateCount && cur.nodeType && (!event.button || event.type !== "click") ) { + + /* jshint eqeqeq: false */ + for ( ; cur != this; cur = cur.parentNode || this ) { + /* jshint eqeqeq: true */ + + // Don't check non-elements (#13208) + // Don't process clicks on disabled elements (#6911, #8165, #11382, #11764) + if ( cur.nodeType === 1 && (cur.disabled !== true || event.type !== "click") ) { + matches = []; + for ( i = 0; i < delegateCount; i++ ) { + handleObj = handlers[ i ]; + + // Don't conflict with Object.prototype properties (#13203) + sel = handleObj.selector + " "; + + if ( matches[ sel ] === undefined ) { + matches[ sel ] = handleObj.needsContext ? + jQuery( sel, this ).index( cur ) >= 0 : + jQuery.find( sel, this, null, [ cur ] ).length; + } + if ( matches[ sel ] ) { + matches.push( handleObj ); + } + } + if ( matches.length ) { + handlerQueue.push({ elem: cur, handlers: matches }); + } + } + } + } + + // Add the remaining (directly-bound) handlers + if ( delegateCount < handlers.length ) { + handlerQueue.push({ elem: this, handlers: handlers.slice( delegateCount ) }); + } + + return handlerQueue; + }, + + fix: function( event ) { + if ( event[ jQuery.expando ] ) { + return event; + } + + // Create a writable copy of the event object and normalize some properties + var i, prop, copy, + type = event.type, + originalEvent = event, + fixHook = this.fixHooks[ type ]; + + if ( !fixHook ) { + this.fixHooks[ type ] = fixHook = + rmouseEvent.test( type ) ? this.mouseHooks : + rkeyEvent.test( type ) ? this.keyHooks : + {}; + } + copy = fixHook.props ? this.props.concat( fixHook.props ) : this.props; + + event = new jQuery.Event( originalEvent ); + + i = copy.length; + while ( i-- ) { + prop = copy[ i ]; + event[ prop ] = originalEvent[ prop ]; + } + + // Support: IE<9 + // Fix target property (#1925) + if ( !event.target ) { + event.target = originalEvent.srcElement || document; + } + + // Support: Chrome 23+, Safari? + // Target should not be a text node (#504, #13143) + if ( event.target.nodeType === 3 ) { + event.target = event.target.parentNode; + } + + // Support: IE<9 + // For mouse/key events, metaKey==false if it's undefined (#3368, #11328) + event.metaKey = !!event.metaKey; + + return fixHook.filter ? fixHook.filter( event, originalEvent ) : event; + }, + + // Includes some event props shared by KeyEvent and MouseEvent + props: "altKey bubbles cancelable ctrlKey currentTarget eventPhase metaKey relatedTarget shiftKey target timeStamp view which".split(" "), + + fixHooks: {}, + + keyHooks: { + props: "char charCode key keyCode".split(" "), + filter: function( event, original ) { + + // Add which for key events + if ( event.which == null ) { + event.which = original.charCode != null ? original.charCode : original.keyCode; + } + + return event; + } + }, + + mouseHooks: { + props: "button buttons clientX clientY fromElement offsetX offsetY pageX pageY screenX screenY toElement".split(" "), + filter: function( event, original ) { + var body, eventDoc, doc, + button = original.button, + fromElement = original.fromElement; + + // Calculate pageX/Y if missing and clientX/Y available + if ( event.pageX == null && original.clientX != null ) { + eventDoc = event.target.ownerDocument || document; + doc = eventDoc.documentElement; + body = eventDoc.body; + + event.pageX = original.clientX + ( doc && doc.scrollLeft || body && body.scrollLeft || 0 ) - ( doc && doc.clientLeft || body && body.clientLeft || 0 ); + event.pageY = original.clientY + ( doc && doc.scrollTop || body && body.scrollTop || 0 ) - ( doc && doc.clientTop || body && body.clientTop || 0 ); + } + + // Add relatedTarget, if necessary + if ( !event.relatedTarget && fromElement ) { + event.relatedTarget = fromElement === event.target ? original.toElement : fromElement; + } + + // Add which for click: 1 === left; 2 === middle; 3 === right + // Note: button is not normalized, so don't use it + if ( !event.which && button !== undefined ) { + event.which = ( button & 1 ? 1 : ( button & 2 ? 3 : ( button & 4 ? 2 : 0 ) ) ); + } + + return event; + } + }, + + special: { + load: { + // Prevent triggered image.load events from bubbling to window.load + noBubble: true + }, + focus: { + // Fire native event if possible so blur/focus sequence is correct + trigger: function() { + if ( this !== safeActiveElement() && this.focus ) { + try { + this.focus(); + return false; + } catch ( e ) { + // Support: IE<9 + // If we error on focus to hidden element (#1486, #12518), + // let .trigger() run the handlers + } + } + }, + delegateType: "focusin" + }, + blur: { + trigger: function() { + if ( this === safeActiveElement() && this.blur ) { + this.blur(); + return false; + } + }, + delegateType: "focusout" + }, + click: { + // For checkbox, fire native event so checked state will be right + trigger: function() { + if ( jQuery.nodeName( this, "input" ) && this.type === "checkbox" && this.click ) { + this.click(); + return false; + } + }, + + // For cross-browser consistency, don't fire native .click() on links + _default: function( event ) { + return jQuery.nodeName( event.target, "a" ); + } + }, + + beforeunload: { + postDispatch: function( event ) { + + // Even when returnValue equals to undefined Firefox will still show alert + if ( event.result !== undefined ) { + event.originalEvent.returnValue = event.result; + } + } + } + }, + + simulate: function( type, elem, event, bubble ) { + // Piggyback on a donor event to simulate a different one. + // Fake originalEvent to avoid donor's stopPropagation, but if the + // simulated event prevents default then we do the same on the donor. + var e = jQuery.extend( + new jQuery.Event(), + event, + { + type: type, + isSimulated: true, + originalEvent: {} + } + ); + if ( bubble ) { + jQuery.event.trigger( e, null, elem ); + } else { + jQuery.event.dispatch.call( elem, e ); + } + if ( e.isDefaultPrevented() ) { + event.preventDefault(); + } + } +}; + +jQuery.removeEvent = document.removeEventListener ? + function( elem, type, handle ) { + if ( elem.removeEventListener ) { + elem.removeEventListener( type, handle, false ); + } + } : + function( elem, type, handle ) { + var name = "on" + type; + + if ( elem.detachEvent ) { + + // #8545, #7054, preventing memory leaks for custom events in IE6-8 + // detachEvent needed property on element, by name of that event, to properly expose it to GC + if ( typeof elem[ name ] === core_strundefined ) { + elem[ name ] = null; + } + + elem.detachEvent( name, handle ); + } + }; + +jQuery.Event = function( src, props ) { + // Allow instantiation without the 'new' keyword + if ( !(this instanceof jQuery.Event) ) { + return new jQuery.Event( src, props ); + } + + // Event object + if ( src && src.type ) { + this.originalEvent = src; + this.type = src.type; + + // Events bubbling up the document may have been marked as prevented + // by a handler lower down the tree; reflect the correct value. + this.isDefaultPrevented = ( src.defaultPrevented || src.returnValue === false || + src.getPreventDefault && src.getPreventDefault() ) ? returnTrue : returnFalse; + + // Event type + } else { + this.type = src; + } + + // Put explicitly provided properties onto the event object + if ( props ) { + jQuery.extend( this, props ); + } + + // Create a timestamp if incoming event doesn't have one + this.timeStamp = src && src.timeStamp || jQuery.now(); + + // Mark it as fixed + this[ jQuery.expando ] = true; +}; + +// jQuery.Event is based on DOM3 Events as specified by the ECMAScript Language Binding +// http://www.w3.org/TR/2003/WD-DOM-Level-3-Events-20030331/ecma-script-binding.html +jQuery.Event.prototype = { + isDefaultPrevented: returnFalse, + isPropagationStopped: returnFalse, + isImmediatePropagationStopped: returnFalse, + + preventDefault: function() { + var e = this.originalEvent; + + this.isDefaultPrevented = returnTrue; + if ( !e ) { + return; + } + + // If preventDefault exists, run it on the original event + if ( e.preventDefault ) { + e.preventDefault(); + + // Support: IE + // Otherwise set the returnValue property of the original event to false + } else { + e.returnValue = false; + } + }, + stopPropagation: function() { + var e = this.originalEvent; + + this.isPropagationStopped = returnTrue; + if ( !e ) { + return; + } + // If stopPropagation exists, run it on the original event + if ( e.stopPropagation ) { + e.stopPropagation(); + } + + // Support: IE + // Set the cancelBubble property of the original event to true + e.cancelBubble = true; + }, + stopImmediatePropagation: function() { + this.isImmediatePropagationStopped = returnTrue; + this.stopPropagation(); + } +}; + +// Create mouseenter/leave events using mouseover/out and event-time checks +jQuery.each({ + mouseenter: "mouseover", + mouseleave: "mouseout" +}, function( orig, fix ) { + jQuery.event.special[ orig ] = { + delegateType: fix, + bindType: fix, + + handle: function( event ) { + var ret, + target = this, + related = event.relatedTarget, + handleObj = event.handleObj; + + // For mousenter/leave call the handler if related is outside the target. + // NB: No relatedTarget if the mouse left/entered the browser window + if ( !related || (related !== target && !jQuery.contains( target, related )) ) { + event.type = handleObj.origType; + ret = handleObj.handler.apply( this, arguments ); + event.type = fix; + } + return ret; + } + }; +}); + +// IE submit delegation +if ( !jQuery.support.submitBubbles ) { + + jQuery.event.special.submit = { + setup: function() { + // Only need this for delegated form submit events + if ( jQuery.nodeName( this, "form" ) ) { + return false; + } + + // Lazy-add a submit handler when a descendant form may potentially be submitted + jQuery.event.add( this, "click._submit keypress._submit", function( e ) { + // Node name check avoids a VML-related crash in IE (#9807) + var elem = e.target, + form = jQuery.nodeName( elem, "input" ) || jQuery.nodeName( elem, "button" ) ? elem.form : undefined; + if ( form && !jQuery._data( form, "submitBubbles" ) ) { + jQuery.event.add( form, "submit._submit", function( event ) { + event._submit_bubble = true; + }); + jQuery._data( form, "submitBubbles", true ); + } + }); + // return undefined since we don't need an event listener + }, + + postDispatch: function( event ) { + // If form was submitted by the user, bubble the event up the tree + if ( event._submit_bubble ) { + delete event._submit_bubble; + if ( this.parentNode && !event.isTrigger ) { + jQuery.event.simulate( "submit", this.parentNode, event, true ); + } + } + }, + + teardown: function() { + // Only need this for delegated form submit events + if ( jQuery.nodeName( this, "form" ) ) { + return false; + } + + // Remove delegated handlers; cleanData eventually reaps submit handlers attached above + jQuery.event.remove( this, "._submit" ); + } + }; +} + +// IE change delegation and checkbox/radio fix +if ( !jQuery.support.changeBubbles ) { + + jQuery.event.special.change = { + + setup: function() { + + if ( rformElems.test( this.nodeName ) ) { + // IE doesn't fire change on a check/radio until blur; trigger it on click + // after a propertychange. Eat the blur-change in special.change.handle. + // This still fires onchange a second time for check/radio after blur. + if ( this.type === "checkbox" || this.type === "radio" ) { + jQuery.event.add( this, "propertychange._change", function( event ) { + if ( event.originalEvent.propertyName === "checked" ) { + this._just_changed = true; + } + }); + jQuery.event.add( this, "click._change", function( event ) { + if ( this._just_changed && !event.isTrigger ) { + this._just_changed = false; + } + // Allow triggered, simulated change events (#11500) + jQuery.event.simulate( "change", this, event, true ); + }); + } + return false; + } + // Delegated event; lazy-add a change handler on descendant inputs + jQuery.event.add( this, "beforeactivate._change", function( e ) { + var elem = e.target; + + if ( rformElems.test( elem.nodeName ) && !jQuery._data( elem, "changeBubbles" ) ) { + jQuery.event.add( elem, "change._change", function( event ) { + if ( this.parentNode && !event.isSimulated && !event.isTrigger ) { + jQuery.event.simulate( "change", this.parentNode, event, true ); + } + }); + jQuery._data( elem, "changeBubbles", true ); + } + }); + }, + + handle: function( event ) { + var elem = event.target; + + // Swallow native change events from checkbox/radio, we already triggered them above + if ( this !== elem || event.isSimulated || event.isTrigger || (elem.type !== "radio" && elem.type !== "checkbox") ) { + return event.handleObj.handler.apply( this, arguments ); + } + }, + + teardown: function() { + jQuery.event.remove( this, "._change" ); + + return !rformElems.test( this.nodeName ); + } + }; +} + +// Create "bubbling" focus and blur events +if ( !jQuery.support.focusinBubbles ) { + jQuery.each({ focus: "focusin", blur: "focusout" }, function( orig, fix ) { + + // Attach a single capturing handler while someone wants focusin/focusout + var attaches = 0, + handler = function( event ) { + jQuery.event.simulate( fix, event.target, jQuery.event.fix( event ), true ); + }; + + jQuery.event.special[ fix ] = { + setup: function() { + if ( attaches++ === 0 ) { + document.addEventListener( orig, handler, true ); + } + }, + teardown: function() { + if ( --attaches === 0 ) { + document.removeEventListener( orig, handler, true ); + } + } + }; + }); +} + +jQuery.fn.extend({ + + on: function( types, selector, data, fn, /*INTERNAL*/ one ) { + var type, origFn; + + // Types can be a map of types/handlers + if ( typeof types === "object" ) { + // ( types-Object, selector, data ) + if ( typeof selector !== "string" ) { + // ( types-Object, data ) + data = data || selector; + selector = undefined; + } + for ( type in types ) { + this.on( type, selector, data, types[ type ], one ); + } + return this; + } + + if ( data == null && fn == null ) { + // ( types, fn ) + fn = selector; + data = selector = undefined; + } else if ( fn == null ) { + if ( typeof selector === "string" ) { + // ( types, selector, fn ) + fn = data; + data = undefined; + } else { + // ( types, data, fn ) + fn = data; + data = selector; + selector = undefined; + } + } + if ( fn === false ) { + fn = returnFalse; + } else if ( !fn ) { + return this; + } + + if ( one === 1 ) { + origFn = fn; + fn = function( event ) { + // Can use an empty set, since event contains the info + jQuery().off( event ); + return origFn.apply( this, arguments ); + }; + // Use same guid so caller can remove using origFn + fn.guid = origFn.guid || ( origFn.guid = jQuery.guid++ ); + } + return this.each( function() { + jQuery.event.add( this, types, fn, data, selector ); + }); + }, + one: function( types, selector, data, fn ) { + return this.on( types, selector, data, fn, 1 ); + }, + off: function( types, selector, fn ) { + var handleObj, type; + if ( types && types.preventDefault && types.handleObj ) { + // ( event ) dispatched jQuery.Event + handleObj = types.handleObj; + jQuery( types.delegateTarget ).off( + handleObj.namespace ? handleObj.origType + "." + handleObj.namespace : handleObj.origType, + handleObj.selector, + handleObj.handler + ); + return this; + } + if ( typeof types === "object" ) { + // ( types-object [, selector] ) + for ( type in types ) { + this.off( type, selector, types[ type ] ); + } + return this; + } + if ( selector === false || typeof selector === "function" ) { + // ( types [, fn] ) + fn = selector; + selector = undefined; + } + if ( fn === false ) { + fn = returnFalse; + } + return this.each(function() { + jQuery.event.remove( this, types, fn, selector ); + }); + }, + + trigger: function( type, data ) { + return this.each(function() { + jQuery.event.trigger( type, data, this ); + }); + }, + triggerHandler: function( type, data ) { + var elem = this[0]; + if ( elem ) { + return jQuery.event.trigger( type, data, elem, true ); + } + } +}); +var isSimple = /^.[^:#\[\.,]*$/, + rparentsprev = /^(?:parents|prev(?:Until|All))/, + rneedsContext = jQuery.expr.match.needsContext, + // methods guaranteed to produce a unique set when starting from a unique set + guaranteedUnique = { + children: true, + contents: true, + next: true, + prev: true + }; + +jQuery.fn.extend({ + find: function( selector ) { + var i, + ret = [], + self = this, + len = self.length; + + if ( typeof selector !== "string" ) { + return this.pushStack( jQuery( selector ).filter(function() { + for ( i = 0; i < len; i++ ) { + if ( jQuery.contains( self[ i ], this ) ) { + return true; + } + } + }) ); + } + + for ( i = 0; i < len; i++ ) { + jQuery.find( selector, self[ i ], ret ); + } + + // Needed because $( selector, context ) becomes $( context ).find( selector ) + ret = this.pushStack( len > 1 ? jQuery.unique( ret ) : ret ); + ret.selector = this.selector ? this.selector + " " + selector : selector; + return ret; + }, + + has: function( target ) { + var i, + targets = jQuery( target, this ), + len = targets.length; + + return this.filter(function() { + for ( i = 0; i < len; i++ ) { + if ( jQuery.contains( this, targets[i] ) ) { + return true; + } + } + }); + }, + + not: function( selector ) { + return this.pushStack( winnow(this, selector || [], true) ); + }, + + filter: function( selector ) { + return this.pushStack( winnow(this, selector || [], false) ); + }, + + is: function( selector ) { + return !!winnow( + this, + + // If this is a positional/relative selector, check membership in the returned set + // so $("p:first").is("p:last") won't return true for a doc with two "p". + typeof selector === "string" && rneedsContext.test( selector ) ? + jQuery( selector ) : + selector || [], + false + ).length; + }, + + closest: function( selectors, context ) { + var cur, + i = 0, + l = this.length, + ret = [], + pos = rneedsContext.test( selectors ) || typeof selectors !== "string" ? + jQuery( selectors, context || this.context ) : + 0; + + for ( ; i < l; i++ ) { + for ( cur = this[i]; cur && cur !== context; cur = cur.parentNode ) { + // Always skip document fragments + if ( cur.nodeType < 11 && (pos ? + pos.index(cur) > -1 : + + // Don't pass non-elements to Sizzle + cur.nodeType === 1 && + jQuery.find.matchesSelector(cur, selectors)) ) { + + cur = ret.push( cur ); + break; + } + } + } + + return this.pushStack( ret.length > 1 ? jQuery.unique( ret ) : ret ); + }, + + // Determine the position of an element within + // the matched set of elements + index: function( elem ) { + + // No argument, return index in parent + if ( !elem ) { + return ( this[0] && this[0].parentNode ) ? this.first().prevAll().length : -1; + } + + // index in selector + if ( typeof elem === "string" ) { + return jQuery.inArray( this[0], jQuery( elem ) ); + } + + // Locate the position of the desired element + return jQuery.inArray( + // If it receives a jQuery object, the first element is used + elem.jquery ? elem[0] : elem, this ); + }, + + add: function( selector, context ) { + var set = typeof selector === "string" ? + jQuery( selector, context ) : + jQuery.makeArray( selector && selector.nodeType ? [ selector ] : selector ), + all = jQuery.merge( this.get(), set ); + + return this.pushStack( jQuery.unique(all) ); + }, + + addBack: function( selector ) { + return this.add( selector == null ? + this.prevObject : this.prevObject.filter(selector) + ); + } +}); + +function sibling( cur, dir ) { + do { + cur = cur[ dir ]; + } while ( cur && cur.nodeType !== 1 ); + + return cur; +} + +jQuery.each({ + parent: function( elem ) { + var parent = elem.parentNode; + return parent && parent.nodeType !== 11 ? parent : null; + }, + parents: function( elem ) { + return jQuery.dir( elem, "parentNode" ); + }, + parentsUntil: function( elem, i, until ) { + return jQuery.dir( elem, "parentNode", until ); + }, + next: function( elem ) { + return sibling( elem, "nextSibling" ); + }, + prev: function( elem ) { + return sibling( elem, "previousSibling" ); + }, + nextAll: function( elem ) { + return jQuery.dir( elem, "nextSibling" ); + }, + prevAll: function( elem ) { + return jQuery.dir( elem, "previousSibling" ); + }, + nextUntil: function( elem, i, until ) { + return jQuery.dir( elem, "nextSibling", until ); + }, + prevUntil: function( elem, i, until ) { + return jQuery.dir( elem, "previousSibling", until ); + }, + siblings: function( elem ) { + return jQuery.sibling( ( elem.parentNode || {} ).firstChild, elem ); + }, + children: function( elem ) { + return jQuery.sibling( elem.firstChild ); + }, + contents: function( elem ) { + return jQuery.nodeName( elem, "iframe" ) ? + elem.contentDocument || elem.contentWindow.document : + jQuery.merge( [], elem.childNodes ); + } +}, function( name, fn ) { + jQuery.fn[ name ] = function( until, selector ) { + var ret = jQuery.map( this, fn, until ); + + if ( name.slice( -5 ) !== "Until" ) { + selector = until; + } + + if ( selector && typeof selector === "string" ) { + ret = jQuery.filter( selector, ret ); + } + + if ( this.length > 1 ) { + // Remove duplicates + if ( !guaranteedUnique[ name ] ) { + ret = jQuery.unique( ret ); + } + + // Reverse order for parents* and prev-derivatives + if ( rparentsprev.test( name ) ) { + ret = ret.reverse(); + } + } + + return this.pushStack( ret ); + }; +}); + +jQuery.extend({ + filter: function( expr, elems, not ) { + var elem = elems[ 0 ]; + + if ( not ) { + expr = ":not(" + expr + ")"; + } + + return elems.length === 1 && elem.nodeType === 1 ? + jQuery.find.matchesSelector( elem, expr ) ? [ elem ] : [] : + jQuery.find.matches( expr, jQuery.grep( elems, function( elem ) { + return elem.nodeType === 1; + })); + }, + + dir: function( elem, dir, until ) { + var matched = [], + cur = elem[ dir ]; + + while ( cur && cur.nodeType !== 9 && (until === undefined || cur.nodeType !== 1 || !jQuery( cur ).is( until )) ) { + if ( cur.nodeType === 1 ) { + matched.push( cur ); + } + cur = cur[dir]; + } + return matched; + }, + + sibling: function( n, elem ) { + var r = []; + + for ( ; n; n = n.nextSibling ) { + if ( n.nodeType === 1 && n !== elem ) { + r.push( n ); + } + } + + return r; + } +}); + +// Implement the identical functionality for filter and not +function winnow( elements, qualifier, not ) { + if ( jQuery.isFunction( qualifier ) ) { + return jQuery.grep( elements, function( elem, i ) { + /* jshint -W018 */ + return !!qualifier.call( elem, i, elem ) !== not; + }); + + } + + if ( qualifier.nodeType ) { + return jQuery.grep( elements, function( elem ) { + return ( elem === qualifier ) !== not; + }); + + } + + if ( typeof qualifier === "string" ) { + if ( isSimple.test( qualifier ) ) { + return jQuery.filter( qualifier, elements, not ); + } + + qualifier = jQuery.filter( qualifier, elements ); + } + + return jQuery.grep( elements, function( elem ) { + return ( jQuery.inArray( elem, qualifier ) >= 0 ) !== not; + }); +} +function createSafeFragment( document ) { + var list = nodeNames.split( "|" ), + safeFrag = document.createDocumentFragment(); + + if ( safeFrag.createElement ) { + while ( list.length ) { + safeFrag.createElement( + list.pop() + ); + } + } + return safeFrag; +} + +var nodeNames = "abbr|article|aside|audio|bdi|canvas|data|datalist|details|figcaption|figure|footer|" + + "header|hgroup|mark|meter|nav|output|progress|section|summary|time|video", + rinlinejQuery = / jQuery\d+="(?:null|\d+)"/g, + rnoshimcache = new RegExp("<(?:" + nodeNames + ")[\\s/>]", "i"), + rleadingWhitespace = /^\s+/, + rxhtmlTag = /<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/gi, + rtagName = /<([\w:]+)/, + rtbody = /\s*$/g, + + // We have to close these tags to support XHTML (#13200) + wrapMap = { + option: [ 1, "" ], + legend: [ 1, "
", "
" ], + area: [ 1, "", "" ], + param: [ 1, "", "" ], + thead: [ 1, "", "
" ], + tr: [ 2, "", "
" ], + col: [ 2, "", "
" ], + td: [ 3, "", "
" ], + + // IE6-8 can't serialize link, script, style, or any html5 (NoScope) tags, + // unless wrapped in a div with non-breaking characters in front of it. + _default: jQuery.support.htmlSerialize ? [ 0, "", "" ] : [ 1, "X
", "
" ] + }, + safeFragment = createSafeFragment( document ), + fragmentDiv = safeFragment.appendChild( document.createElement("div") ); + +wrapMap.optgroup = wrapMap.option; +wrapMap.tbody = wrapMap.tfoot = wrapMap.colgroup = wrapMap.caption = wrapMap.thead; +wrapMap.th = wrapMap.td; + +jQuery.fn.extend({ + text: function( value ) { + return jQuery.access( this, function( value ) { + return value === undefined ? + jQuery.text( this ) : + this.empty().append( ( this[0] && this[0].ownerDocument || document ).createTextNode( value ) ); + }, null, value, arguments.length ); + }, + + append: function() { + return this.domManip( arguments, function( elem ) { + if ( this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9 ) { + var target = manipulationTarget( this, elem ); + target.appendChild( elem ); + } + }); + }, + + prepend: function() { + return this.domManip( arguments, function( elem ) { + if ( this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9 ) { + var target = manipulationTarget( this, elem ); + target.insertBefore( elem, target.firstChild ); + } + }); + }, + + before: function() { + return this.domManip( arguments, function( elem ) { + if ( this.parentNode ) { + this.parentNode.insertBefore( elem, this ); + } + }); + }, + + after: function() { + return this.domManip( arguments, function( elem ) { + if ( this.parentNode ) { + this.parentNode.insertBefore( elem, this.nextSibling ); + } + }); + }, + + // keepData is for internal use only--do not document + remove: function( selector, keepData ) { + var elem, + elems = selector ? jQuery.filter( selector, this ) : this, + i = 0; + + for ( ; (elem = elems[i]) != null; i++ ) { + + if ( !keepData && elem.nodeType === 1 ) { + jQuery.cleanData( getAll( elem ) ); + } + + if ( elem.parentNode ) { + if ( keepData && jQuery.contains( elem.ownerDocument, elem ) ) { + setGlobalEval( getAll( elem, "script" ) ); + } + elem.parentNode.removeChild( elem ); + } + } + + return this; + }, + + empty: function() { + var elem, + i = 0; + + for ( ; (elem = this[i]) != null; i++ ) { + // Remove element nodes and prevent memory leaks + if ( elem.nodeType === 1 ) { + jQuery.cleanData( getAll( elem, false ) ); + } + + // Remove any remaining nodes + while ( elem.firstChild ) { + elem.removeChild( elem.firstChild ); + } + + // If this is a select, ensure that it displays empty (#12336) + // Support: IE<9 + if ( elem.options && jQuery.nodeName( elem, "select" ) ) { + elem.options.length = 0; + } + } + + return this; + }, + + clone: function( dataAndEvents, deepDataAndEvents ) { + dataAndEvents = dataAndEvents == null ? false : dataAndEvents; + deepDataAndEvents = deepDataAndEvents == null ? dataAndEvents : deepDataAndEvents; + + return this.map( function () { + return jQuery.clone( this, dataAndEvents, deepDataAndEvents ); + }); + }, + + html: function( value ) { + return jQuery.access( this, function( value ) { + var elem = this[0] || {}, + i = 0, + l = this.length; + + if ( value === undefined ) { + return elem.nodeType === 1 ? + elem.innerHTML.replace( rinlinejQuery, "" ) : + undefined; + } + + // See if we can take a shortcut and just use innerHTML + if ( typeof value === "string" && !rnoInnerhtml.test( value ) && + ( jQuery.support.htmlSerialize || !rnoshimcache.test( value ) ) && + ( jQuery.support.leadingWhitespace || !rleadingWhitespace.test( value ) ) && + !wrapMap[ ( rtagName.exec( value ) || ["", ""] )[1].toLowerCase() ] ) { + + value = value.replace( rxhtmlTag, "<$1>" ); + + try { + for (; i < l; i++ ) { + // Remove element nodes and prevent memory leaks + elem = this[i] || {}; + if ( elem.nodeType === 1 ) { + jQuery.cleanData( getAll( elem, false ) ); + elem.innerHTML = value; + } + } + + elem = 0; + + // If using innerHTML throws an exception, use the fallback method + } catch(e) {} + } + + if ( elem ) { + this.empty().append( value ); + } + }, null, value, arguments.length ); + }, + + replaceWith: function() { + var + // Snapshot the DOM in case .domManip sweeps something relevant into its fragment + args = jQuery.map( this, function( elem ) { + return [ elem.nextSibling, elem.parentNode ]; + }), + i = 0; + + // Make the changes, replacing each context element with the new content + this.domManip( arguments, function( elem ) { + var next = args[ i++ ], + parent = args[ i++ ]; + + if ( parent ) { + // Don't use the snapshot next if it has moved (#13810) + if ( next && next.parentNode !== parent ) { + next = this.nextSibling; + } + jQuery( this ).remove(); + parent.insertBefore( elem, next ); + } + // Allow new content to include elements from the context set + }, true ); + + // Force removal if there was no new content (e.g., from empty arguments) + return i ? this : this.remove(); + }, + + detach: function( selector ) { + return this.remove( selector, true ); + }, + + domManip: function( args, callback, allowIntersection ) { + + // Flatten any nested arrays + args = core_concat.apply( [], args ); + + var first, node, hasScripts, + scripts, doc, fragment, + i = 0, + l = this.length, + set = this, + iNoClone = l - 1, + value = args[0], + isFunction = jQuery.isFunction( value ); + + // We can't cloneNode fragments that contain checked, in WebKit + if ( isFunction || !( l <= 1 || typeof value !== "string" || jQuery.support.checkClone || !rchecked.test( value ) ) ) { + return this.each(function( index ) { + var self = set.eq( index ); + if ( isFunction ) { + args[0] = value.call( this, index, self.html() ); + } + self.domManip( args, callback, allowIntersection ); + }); + } + + if ( l ) { + fragment = jQuery.buildFragment( args, this[ 0 ].ownerDocument, false, !allowIntersection && this ); + first = fragment.firstChild; + + if ( fragment.childNodes.length === 1 ) { + fragment = first; + } + + if ( first ) { + scripts = jQuery.map( getAll( fragment, "script" ), disableScript ); + hasScripts = scripts.length; + + // Use the original fragment for the last item instead of the first because it can end up + // being emptied incorrectly in certain situations (#8070). + for ( ; i < l; i++ ) { + node = fragment; + + if ( i !== iNoClone ) { + node = jQuery.clone( node, true, true ); + + // Keep references to cloned scripts for later restoration + if ( hasScripts ) { + jQuery.merge( scripts, getAll( node, "script" ) ); + } + } + + callback.call( this[i], node, i ); + } + + if ( hasScripts ) { + doc = scripts[ scripts.length - 1 ].ownerDocument; + + // Reenable scripts + jQuery.map( scripts, restoreScript ); + + // Evaluate executable scripts on first document insertion + for ( i = 0; i < hasScripts; i++ ) { + node = scripts[ i ]; + if ( rscriptType.test( node.type || "" ) && + !jQuery._data( node, "globalEval" ) && jQuery.contains( doc, node ) ) { + + if ( node.src ) { + // Hope ajax is available... + jQuery._evalUrl( node.src ); + } else { + jQuery.globalEval( ( node.text || node.textContent || node.innerHTML || "" ).replace( rcleanScript, "" ) ); + } + } + } + } + + // Fix #11809: Avoid leaking memory + fragment = first = null; + } + } + + return this; + } +}); + +// Support: IE<8 +// Manipulating tables requires a tbody +function manipulationTarget( elem, content ) { + return jQuery.nodeName( elem, "table" ) && + jQuery.nodeName( content.nodeType === 1 ? content : content.firstChild, "tr" ) ? + + elem.getElementsByTagName("tbody")[0] || + elem.appendChild( elem.ownerDocument.createElement("tbody") ) : + elem; +} + +// Replace/restore the type attribute of script elements for safe DOM manipulation +function disableScript( elem ) { + elem.type = (jQuery.find.attr( elem, "type" ) !== null) + "/" + elem.type; + return elem; +} +function restoreScript( elem ) { + var match = rscriptTypeMasked.exec( elem.type ); + if ( match ) { + elem.type = match[1]; + } else { + elem.removeAttribute("type"); + } + return elem; +} + +// Mark scripts as having already been evaluated +function setGlobalEval( elems, refElements ) { + var elem, + i = 0; + for ( ; (elem = elems[i]) != null; i++ ) { + jQuery._data( elem, "globalEval", !refElements || jQuery._data( refElements[i], "globalEval" ) ); + } +} + +function cloneCopyEvent( src, dest ) { + + if ( dest.nodeType !== 1 || !jQuery.hasData( src ) ) { + return; + } + + var type, i, l, + oldData = jQuery._data( src ), + curData = jQuery._data( dest, oldData ), + events = oldData.events; + + if ( events ) { + delete curData.handle; + curData.events = {}; + + for ( type in events ) { + for ( i = 0, l = events[ type ].length; i < l; i++ ) { + jQuery.event.add( dest, type, events[ type ][ i ] ); + } + } + } + + // make the cloned public data object a copy from the original + if ( curData.data ) { + curData.data = jQuery.extend( {}, curData.data ); + } +} + +function fixCloneNodeIssues( src, dest ) { + var nodeName, e, data; + + // We do not need to do anything for non-Elements + if ( dest.nodeType !== 1 ) { + return; + } + + nodeName = dest.nodeName.toLowerCase(); + + // IE6-8 copies events bound via attachEvent when using cloneNode. + if ( !jQuery.support.noCloneEvent && dest[ jQuery.expando ] ) { + data = jQuery._data( dest ); + + for ( e in data.events ) { + jQuery.removeEvent( dest, e, data.handle ); + } + + // Event data gets referenced instead of copied if the expando gets copied too + dest.removeAttribute( jQuery.expando ); + } + + // IE blanks contents when cloning scripts, and tries to evaluate newly-set text + if ( nodeName === "script" && dest.text !== src.text ) { + disableScript( dest ).text = src.text; + restoreScript( dest ); + + // IE6-10 improperly clones children of object elements using classid. + // IE10 throws NoModificationAllowedError if parent is null, #12132. + } else if ( nodeName === "object" ) { + if ( dest.parentNode ) { + dest.outerHTML = src.outerHTML; + } + + // This path appears unavoidable for IE9. When cloning an object + // element in IE9, the outerHTML strategy above is not sufficient. + // If the src has innerHTML and the destination does not, + // copy the src.innerHTML into the dest.innerHTML. #10324 + if ( jQuery.support.html5Clone && ( src.innerHTML && !jQuery.trim(dest.innerHTML) ) ) { + dest.innerHTML = src.innerHTML; + } + + } else if ( nodeName === "input" && manipulation_rcheckableType.test( src.type ) ) { + // IE6-8 fails to persist the checked state of a cloned checkbox + // or radio button. Worse, IE6-7 fail to give the cloned element + // a checked appearance if the defaultChecked value isn't also set + + dest.defaultChecked = dest.checked = src.checked; + + // IE6-7 get confused and end up setting the value of a cloned + // checkbox/radio button to an empty string instead of "on" + if ( dest.value !== src.value ) { + dest.value = src.value; + } + + // IE6-8 fails to return the selected option to the default selected + // state when cloning options + } else if ( nodeName === "option" ) { + dest.defaultSelected = dest.selected = src.defaultSelected; + + // IE6-8 fails to set the defaultValue to the correct value when + // cloning other types of input fields + } else if ( nodeName === "input" || nodeName === "textarea" ) { + dest.defaultValue = src.defaultValue; + } +} + +jQuery.each({ + appendTo: "append", + prependTo: "prepend", + insertBefore: "before", + insertAfter: "after", + replaceAll: "replaceWith" +}, function( name, original ) { + jQuery.fn[ name ] = function( selector ) { + var elems, + i = 0, + ret = [], + insert = jQuery( selector ), + last = insert.length - 1; + + for ( ; i <= last; i++ ) { + elems = i === last ? this : this.clone(true); + jQuery( insert[i] )[ original ]( elems ); + + // Modern browsers can apply jQuery collections as arrays, but oldIE needs a .get() + core_push.apply( ret, elems.get() ); + } + + return this.pushStack( ret ); + }; +}); + +function getAll( context, tag ) { + var elems, elem, + i = 0, + found = typeof context.getElementsByTagName !== core_strundefined ? context.getElementsByTagName( tag || "*" ) : + typeof context.querySelectorAll !== core_strundefined ? context.querySelectorAll( tag || "*" ) : + undefined; + + if ( !found ) { + for ( found = [], elems = context.childNodes || context; (elem = elems[i]) != null; i++ ) { + if ( !tag || jQuery.nodeName( elem, tag ) ) { + found.push( elem ); + } else { + jQuery.merge( found, getAll( elem, tag ) ); + } + } + } + + return tag === undefined || tag && jQuery.nodeName( context, tag ) ? + jQuery.merge( [ context ], found ) : + found; +} + +// Used in buildFragment, fixes the defaultChecked property +function fixDefaultChecked( elem ) { + if ( manipulation_rcheckableType.test( elem.type ) ) { + elem.defaultChecked = elem.checked; + } +} + +jQuery.extend({ + clone: function( elem, dataAndEvents, deepDataAndEvents ) { + var destElements, node, clone, i, srcElements, + inPage = jQuery.contains( elem.ownerDocument, elem ); + + if ( jQuery.support.html5Clone || jQuery.isXMLDoc(elem) || !rnoshimcache.test( "<" + elem.nodeName + ">" ) ) { + clone = elem.cloneNode( true ); + + // IE<=8 does not properly clone detached, unknown element nodes + } else { + fragmentDiv.innerHTML = elem.outerHTML; + fragmentDiv.removeChild( clone = fragmentDiv.firstChild ); + } + + if ( (!jQuery.support.noCloneEvent || !jQuery.support.noCloneChecked) && + (elem.nodeType === 1 || elem.nodeType === 11) && !jQuery.isXMLDoc(elem) ) { + + // We eschew Sizzle here for performance reasons: http://jsperf.com/getall-vs-sizzle/2 + destElements = getAll( clone ); + srcElements = getAll( elem ); + + // Fix all IE cloning issues + for ( i = 0; (node = srcElements[i]) != null; ++i ) { + // Ensure that the destination node is not null; Fixes #9587 + if ( destElements[i] ) { + fixCloneNodeIssues( node, destElements[i] ); + } + } + } + + // Copy the events from the original to the clone + if ( dataAndEvents ) { + if ( deepDataAndEvents ) { + srcElements = srcElements || getAll( elem ); + destElements = destElements || getAll( clone ); + + for ( i = 0; (node = srcElements[i]) != null; i++ ) { + cloneCopyEvent( node, destElements[i] ); + } + } else { + cloneCopyEvent( elem, clone ); + } + } + + // Preserve script evaluation history + destElements = getAll( clone, "script" ); + if ( destElements.length > 0 ) { + setGlobalEval( destElements, !inPage && getAll( elem, "script" ) ); + } + + destElements = srcElements = node = null; + + // Return the cloned set + return clone; + }, + + buildFragment: function( elems, context, scripts, selection ) { + var j, elem, contains, + tmp, tag, tbody, wrap, + l = elems.length, + + // Ensure a safe fragment + safe = createSafeFragment( context ), + + nodes = [], + i = 0; + + for ( ; i < l; i++ ) { + elem = elems[ i ]; + + if ( elem || elem === 0 ) { + + // Add nodes directly + if ( jQuery.type( elem ) === "object" ) { + jQuery.merge( nodes, elem.nodeType ? [ elem ] : elem ); + + // Convert non-html into a text node + } else if ( !rhtml.test( elem ) ) { + nodes.push( context.createTextNode( elem ) ); + + // Convert html into DOM nodes + } else { + tmp = tmp || safe.appendChild( context.createElement("div") ); + + // Deserialize a standard representation + tag = ( rtagName.exec( elem ) || ["", ""] )[1].toLowerCase(); + wrap = wrapMap[ tag ] || wrapMap._default; + + tmp.innerHTML = wrap[1] + elem.replace( rxhtmlTag, "<$1>" ) + wrap[2]; + + // Descend through wrappers to the right content + j = wrap[0]; + while ( j-- ) { + tmp = tmp.lastChild; + } + + // Manually add leading whitespace removed by IE + if ( !jQuery.support.leadingWhitespace && rleadingWhitespace.test( elem ) ) { + nodes.push( context.createTextNode( rleadingWhitespace.exec( elem )[0] ) ); + } + + // Remove IE's autoinserted from table fragments + if ( !jQuery.support.tbody ) { + + // String was a , *may* have spurious + elem = tag === "table" && !rtbody.test( elem ) ? + tmp.firstChild : + + // String was a bare or + wrap[1] === "
" && !rtbody.test( elem ) ? + tmp : + 0; + + j = elem && elem.childNodes.length; + while ( j-- ) { + if ( jQuery.nodeName( (tbody = elem.childNodes[j]), "tbody" ) && !tbody.childNodes.length ) { + elem.removeChild( tbody ); + } + } + } + + jQuery.merge( nodes, tmp.childNodes ); + + // Fix #12392 for WebKit and IE > 9 + tmp.textContent = ""; + + // Fix #12392 for oldIE + while ( tmp.firstChild ) { + tmp.removeChild( tmp.firstChild ); + } + + // Remember the top-level container for proper cleanup + tmp = safe.lastChild; + } + } + } + + // Fix #11356: Clear elements from fragment + if ( tmp ) { + safe.removeChild( tmp ); + } + + // Reset defaultChecked for any radios and checkboxes + // about to be appended to the DOM in IE 6/7 (#8060) + if ( !jQuery.support.appendChecked ) { + jQuery.grep( getAll( nodes, "input" ), fixDefaultChecked ); + } + + i = 0; + while ( (elem = nodes[ i++ ]) ) { + + // #4087 - If origin and destination elements are the same, and this is + // that element, do not do anything + if ( selection && jQuery.inArray( elem, selection ) !== -1 ) { + continue; + } + + contains = jQuery.contains( elem.ownerDocument, elem ); + + // Append to fragment + tmp = getAll( safe.appendChild( elem ), "script" ); + + // Preserve script evaluation history + if ( contains ) { + setGlobalEval( tmp ); + } + + // Capture executables + if ( scripts ) { + j = 0; + while ( (elem = tmp[ j++ ]) ) { + if ( rscriptType.test( elem.type || "" ) ) { + scripts.push( elem ); + } + } + } + } + + tmp = null; + + return safe; + }, + + cleanData: function( elems, /* internal */ acceptData ) { + var elem, type, id, data, + i = 0, + internalKey = jQuery.expando, + cache = jQuery.cache, + deleteExpando = jQuery.support.deleteExpando, + special = jQuery.event.special; + + for ( ; (elem = elems[i]) != null; i++ ) { + + if ( acceptData || jQuery.acceptData( elem ) ) { + + id = elem[ internalKey ]; + data = id && cache[ id ]; + + if ( data ) { + if ( data.events ) { + for ( type in data.events ) { + if ( special[ type ] ) { + jQuery.event.remove( elem, type ); + + // This is a shortcut to avoid jQuery.event.remove's overhead + } else { + jQuery.removeEvent( elem, type, data.handle ); + } + } + } + + // Remove cache only if it was not already removed by jQuery.event.remove + if ( cache[ id ] ) { + + delete cache[ id ]; + + // IE does not allow us to delete expando properties from nodes, + // nor does it have a removeAttribute function on Document nodes; + // we must handle all of these cases + if ( deleteExpando ) { + delete elem[ internalKey ]; + + } else if ( typeof elem.removeAttribute !== core_strundefined ) { + elem.removeAttribute( internalKey ); + + } else { + elem[ internalKey ] = null; + } + + core_deletedIds.push( id ); + } + } + } + } + }, + + _evalUrl: function( url ) { + return jQuery.ajax({ + url: url, + type: "GET", + dataType: "script", + async: false, + global: false, + "throws": true + }); + } +}); +jQuery.fn.extend({ + wrapAll: function( html ) { + if ( jQuery.isFunction( html ) ) { + return this.each(function(i) { + jQuery(this).wrapAll( html.call(this, i) ); + }); + } + + if ( this[0] ) { + // The elements to wrap the target around + var wrap = jQuery( html, this[0].ownerDocument ).eq(0).clone(true); + + if ( this[0].parentNode ) { + wrap.insertBefore( this[0] ); + } + + wrap.map(function() { + var elem = this; + + while ( elem.firstChild && elem.firstChild.nodeType === 1 ) { + elem = elem.firstChild; + } + + return elem; + }).append( this ); + } + + return this; + }, + + wrapInner: function( html ) { + if ( jQuery.isFunction( html ) ) { + return this.each(function(i) { + jQuery(this).wrapInner( html.call(this, i) ); + }); + } + + return this.each(function() { + var self = jQuery( this ), + contents = self.contents(); + + if ( contents.length ) { + contents.wrapAll( html ); + + } else { + self.append( html ); + } + }); + }, + + wrap: function( html ) { + var isFunction = jQuery.isFunction( html ); + + return this.each(function(i) { + jQuery( this ).wrapAll( isFunction ? html.call(this, i) : html ); + }); + }, + + unwrap: function() { + return this.parent().each(function() { + if ( !jQuery.nodeName( this, "body" ) ) { + jQuery( this ).replaceWith( this.childNodes ); + } + }).end(); + } +}); +var iframe, getStyles, curCSS, + ralpha = /alpha\([^)]*\)/i, + ropacity = /opacity\s*=\s*([^)]*)/, + rposition = /^(top|right|bottom|left)$/, + // swappable if display is none or starts with table except "table", "table-cell", or "table-caption" + // see here for display values: https://developer.mozilla.org/en-US/docs/CSS/display + rdisplayswap = /^(none|table(?!-c[ea]).+)/, + rmargin = /^margin/, + rnumsplit = new RegExp( "^(" + core_pnum + ")(.*)$", "i" ), + rnumnonpx = new RegExp( "^(" + core_pnum + ")(?!px)[a-z%]+$", "i" ), + rrelNum = new RegExp( "^([+-])=(" + core_pnum + ")", "i" ), + elemdisplay = { BODY: "block" }, + + cssShow = { position: "absolute", visibility: "hidden", display: "block" }, + cssNormalTransform = { + letterSpacing: 0, + fontWeight: 400 + }, + + cssExpand = [ "Top", "Right", "Bottom", "Left" ], + cssPrefixes = [ "Webkit", "O", "Moz", "ms" ]; + +// return a css property mapped to a potentially vendor prefixed property +function vendorPropName( style, name ) { + + // shortcut for names that are not vendor prefixed + if ( name in style ) { + return name; + } + + // check for vendor prefixed names + var capName = name.charAt(0).toUpperCase() + name.slice(1), + origName = name, + i = cssPrefixes.length; + + while ( i-- ) { + name = cssPrefixes[ i ] + capName; + if ( name in style ) { + return name; + } + } + + return origName; +} + +function isHidden( elem, el ) { + // isHidden might be called from jQuery#filter function; + // in that case, element will be second argument + elem = el || elem; + return jQuery.css( elem, "display" ) === "none" || !jQuery.contains( elem.ownerDocument, elem ); +} + +function showHide( elements, show ) { + var display, elem, hidden, + values = [], + index = 0, + length = elements.length; + + for ( ; index < length; index++ ) { + elem = elements[ index ]; + if ( !elem.style ) { + continue; + } + + values[ index ] = jQuery._data( elem, "olddisplay" ); + display = elem.style.display; + if ( show ) { + // Reset the inline display of this element to learn if it is + // being hidden by cascaded rules or not + if ( !values[ index ] && display === "none" ) { + elem.style.display = ""; + } + + // Set elements which have been overridden with display: none + // in a stylesheet to whatever the default browser style is + // for such an element + if ( elem.style.display === "" && isHidden( elem ) ) { + values[ index ] = jQuery._data( elem, "olddisplay", css_defaultDisplay(elem.nodeName) ); + } + } else { + + if ( !values[ index ] ) { + hidden = isHidden( elem ); + + if ( display && display !== "none" || !hidden ) { + jQuery._data( elem, "olddisplay", hidden ? display : jQuery.css( elem, "display" ) ); + } + } + } + } + + // Set the display of most of the elements in a second loop + // to avoid the constant reflow + for ( index = 0; index < length; index++ ) { + elem = elements[ index ]; + if ( !elem.style ) { + continue; + } + if ( !show || elem.style.display === "none" || elem.style.display === "" ) { + elem.style.display = show ? values[ index ] || "" : "none"; + } + } + + return elements; +} + +jQuery.fn.extend({ + css: function( name, value ) { + return jQuery.access( this, function( elem, name, value ) { + var len, styles, + map = {}, + i = 0; + + if ( jQuery.isArray( name ) ) { + styles = getStyles( elem ); + len = name.length; + + for ( ; i < len; i++ ) { + map[ name[ i ] ] = jQuery.css( elem, name[ i ], false, styles ); + } + + return map; + } + + return value !== undefined ? + jQuery.style( elem, name, value ) : + jQuery.css( elem, name ); + }, name, value, arguments.length > 1 ); + }, + show: function() { + return showHide( this, true ); + }, + hide: function() { + return showHide( this ); + }, + toggle: function( state ) { + if ( typeof state === "boolean" ) { + return state ? this.show() : this.hide(); + } + + return this.each(function() { + if ( isHidden( this ) ) { + jQuery( this ).show(); + } else { + jQuery( this ).hide(); + } + }); + } +}); + +jQuery.extend({ + // Add in style property hooks for overriding the default + // behavior of getting and setting a style property + cssHooks: { + opacity: { + get: function( elem, computed ) { + if ( computed ) { + // We should always get a number back from opacity + var ret = curCSS( elem, "opacity" ); + return ret === "" ? "1" : ret; + } + } + } + }, + + // Don't automatically add "px" to these possibly-unitless properties + cssNumber: { + "columnCount": true, + "fillOpacity": true, + "fontWeight": true, + "lineHeight": true, + "opacity": true, + "order": true, + "orphans": true, + "widows": true, + "zIndex": true, + "zoom": true + }, + + // Add in properties whose names you wish to fix before + // setting or getting the value + cssProps: { + // normalize float css property + "float": jQuery.support.cssFloat ? "cssFloat" : "styleFloat" + }, + + // Get and set the style property on a DOM Node + style: function( elem, name, value, extra ) { + // Don't set styles on text and comment nodes + if ( !elem || elem.nodeType === 3 || elem.nodeType === 8 || !elem.style ) { + return; + } + + // Make sure that we're working with the right name + var ret, type, hooks, + origName = jQuery.camelCase( name ), + style = elem.style; + + name = jQuery.cssProps[ origName ] || ( jQuery.cssProps[ origName ] = vendorPropName( style, origName ) ); + + // gets hook for the prefixed version + // followed by the unprefixed version + hooks = jQuery.cssHooks[ name ] || jQuery.cssHooks[ origName ]; + + // Check if we're setting a value + if ( value !== undefined ) { + type = typeof value; + + // convert relative number strings (+= or -=) to relative numbers. #7345 + if ( type === "string" && (ret = rrelNum.exec( value )) ) { + value = ( ret[1] + 1 ) * ret[2] + parseFloat( jQuery.css( elem, name ) ); + // Fixes bug #9237 + type = "number"; + } + + // Make sure that NaN and null values aren't set. See: #7116 + if ( value == null || type === "number" && isNaN( value ) ) { + return; + } + + // If a number was passed in, add 'px' to the (except for certain CSS properties) + if ( type === "number" && !jQuery.cssNumber[ origName ] ) { + value += "px"; + } + + // Fixes #8908, it can be done more correctly by specifing setters in cssHooks, + // but it would mean to define eight (for every problematic property) identical functions + if ( !jQuery.support.clearCloneStyle && value === "" && name.indexOf("background") === 0 ) { + style[ name ] = "inherit"; + } + + // If a hook was provided, use that value, otherwise just set the specified value + if ( !hooks || !("set" in hooks) || (value = hooks.set( elem, value, extra )) !== undefined ) { + + // Wrapped to prevent IE from throwing errors when 'invalid' values are provided + // Fixes bug #5509 + try { + style[ name ] = value; + } catch(e) {} + } + + } else { + // If a hook was provided get the non-computed value from there + if ( hooks && "get" in hooks && (ret = hooks.get( elem, false, extra )) !== undefined ) { + return ret; + } + + // Otherwise just get the value from the style object + return style[ name ]; + } + }, + + css: function( elem, name, extra, styles ) { + var num, val, hooks, + origName = jQuery.camelCase( name ); + + // Make sure that we're working with the right name + name = jQuery.cssProps[ origName ] || ( jQuery.cssProps[ origName ] = vendorPropName( elem.style, origName ) ); + + // gets hook for the prefixed version + // followed by the unprefixed version + hooks = jQuery.cssHooks[ name ] || jQuery.cssHooks[ origName ]; + + // If a hook was provided get the computed value from there + if ( hooks && "get" in hooks ) { + val = hooks.get( elem, true, extra ); + } + + // Otherwise, if a way to get the computed value exists, use that + if ( val === undefined ) { + val = curCSS( elem, name, styles ); + } + + //convert "normal" to computed value + if ( val === "normal" && name in cssNormalTransform ) { + val = cssNormalTransform[ name ]; + } + + // Return, converting to number if forced or a qualifier was provided and val looks numeric + if ( extra === "" || extra ) { + num = parseFloat( val ); + return extra === true || jQuery.isNumeric( num ) ? num || 0 : val; + } + return val; + } +}); + +// NOTE: we've included the "window" in window.getComputedStyle +// because jsdom on node.js will break without it. +if ( window.getComputedStyle ) { + getStyles = function( elem ) { + return window.getComputedStyle( elem, null ); + }; + + curCSS = function( elem, name, _computed ) { + var width, minWidth, maxWidth, + computed = _computed || getStyles( elem ), + + // getPropertyValue is only needed for .css('filter') in IE9, see #12537 + ret = computed ? computed.getPropertyValue( name ) || computed[ name ] : undefined, + style = elem.style; + + if ( computed ) { + + if ( ret === "" && !jQuery.contains( elem.ownerDocument, elem ) ) { + ret = jQuery.style( elem, name ); + } + + // A tribute to the "awesome hack by Dean Edwards" + // Chrome < 17 and Safari 5.0 uses "computed value" instead of "used value" for margin-right + // Safari 5.1.7 (at least) returns percentage for a larger set of values, but width seems to be reliably pixels + // this is against the CSSOM draft spec: http://dev.w3.org/csswg/cssom/#resolved-values + if ( rnumnonpx.test( ret ) && rmargin.test( name ) ) { + + // Remember the original values + width = style.width; + minWidth = style.minWidth; + maxWidth = style.maxWidth; + + // Put in the new values to get a computed value out + style.minWidth = style.maxWidth = style.width = ret; + ret = computed.width; + + // Revert the changed values + style.width = width; + style.minWidth = minWidth; + style.maxWidth = maxWidth; + } + } + + return ret; + }; +} else if ( document.documentElement.currentStyle ) { + getStyles = function( elem ) { + return elem.currentStyle; + }; + + curCSS = function( elem, name, _computed ) { + var left, rs, rsLeft, + computed = _computed || getStyles( elem ), + ret = computed ? computed[ name ] : undefined, + style = elem.style; + + // Avoid setting ret to empty string here + // so we don't default to auto + if ( ret == null && style && style[ name ] ) { + ret = style[ name ]; + } + + // From the awesome hack by Dean Edwards + // http://erik.eae.net/archives/2007/07/27/18.54.15/#comment-102291 + + // If we're not dealing with a regular pixel number + // but a number that has a weird ending, we need to convert it to pixels + // but not position css attributes, as those are proportional to the parent element instead + // and we can't measure the parent instead because it might trigger a "stacking dolls" problem + if ( rnumnonpx.test( ret ) && !rposition.test( name ) ) { + + // Remember the original values + left = style.left; + rs = elem.runtimeStyle; + rsLeft = rs && rs.left; + + // Put in the new values to get a computed value out + if ( rsLeft ) { + rs.left = elem.currentStyle.left; + } + style.left = name === "fontSize" ? "1em" : ret; + ret = style.pixelLeft + "px"; + + // Revert the changed values + style.left = left; + if ( rsLeft ) { + rs.left = rsLeft; + } + } + + return ret === "" ? "auto" : ret; + }; +} + +function setPositiveNumber( elem, value, subtract ) { + var matches = rnumsplit.exec( value ); + return matches ? + // Guard against undefined "subtract", e.g., when used as in cssHooks + Math.max( 0, matches[ 1 ] - ( subtract || 0 ) ) + ( matches[ 2 ] || "px" ) : + value; +} + +function augmentWidthOrHeight( elem, name, extra, isBorderBox, styles ) { + var i = extra === ( isBorderBox ? "border" : "content" ) ? + // If we already have the right measurement, avoid augmentation + 4 : + // Otherwise initialize for horizontal or vertical properties + name === "width" ? 1 : 0, + + val = 0; + + for ( ; i < 4; i += 2 ) { + // both box models exclude margin, so add it if we want it + if ( extra === "margin" ) { + val += jQuery.css( elem, extra + cssExpand[ i ], true, styles ); + } + + if ( isBorderBox ) { + // border-box includes padding, so remove it if we want content + if ( extra === "content" ) { + val -= jQuery.css( elem, "padding" + cssExpand[ i ], true, styles ); + } + + // at this point, extra isn't border nor margin, so remove border + if ( extra !== "margin" ) { + val -= jQuery.css( elem, "border" + cssExpand[ i ] + "Width", true, styles ); + } + } else { + // at this point, extra isn't content, so add padding + val += jQuery.css( elem, "padding" + cssExpand[ i ], true, styles ); + + // at this point, extra isn't content nor padding, so add border + if ( extra !== "padding" ) { + val += jQuery.css( elem, "border" + cssExpand[ i ] + "Width", true, styles ); + } + } + } + + return val; +} + +function getWidthOrHeight( elem, name, extra ) { + + // Start with offset property, which is equivalent to the border-box value + var valueIsBorderBox = true, + val = name === "width" ? elem.offsetWidth : elem.offsetHeight, + styles = getStyles( elem ), + isBorderBox = jQuery.support.boxSizing && jQuery.css( elem, "boxSizing", false, styles ) === "border-box"; + + // some non-html elements return undefined for offsetWidth, so check for null/undefined + // svg - https://bugzilla.mozilla.org/show_bug.cgi?id=649285 + // MathML - https://bugzilla.mozilla.org/show_bug.cgi?id=491668 + if ( val <= 0 || val == null ) { + // Fall back to computed then uncomputed css if necessary + val = curCSS( elem, name, styles ); + if ( val < 0 || val == null ) { + val = elem.style[ name ]; + } + + // Computed unit is not pixels. Stop here and return. + if ( rnumnonpx.test(val) ) { + return val; + } + + // we need the check for style in case a browser which returns unreliable values + // for getComputedStyle silently falls back to the reliable elem.style + valueIsBorderBox = isBorderBox && ( jQuery.support.boxSizingReliable || val === elem.style[ name ] ); + + // Normalize "", auto, and prepare for extra + val = parseFloat( val ) || 0; + } + + // use the active box-sizing model to add/subtract irrelevant styles + return ( val + + augmentWidthOrHeight( + elem, + name, + extra || ( isBorderBox ? "border" : "content" ), + valueIsBorderBox, + styles + ) + ) + "px"; +} + +// Try to determine the default display value of an element +function css_defaultDisplay( nodeName ) { + var doc = document, + display = elemdisplay[ nodeName ]; + + if ( !display ) { + display = actualDisplay( nodeName, doc ); + + // If the simple way fails, read from inside an iframe + if ( display === "none" || !display ) { + // Use the already-created iframe if possible + iframe = ( iframe || + jQuery("'); + else + lyr1 = $(''); + + if (opts.theme) + lyr2 = $(''); + else + lyr2 = $(''); + + if (opts.theme && full) { + s = ''; + } + else if (opts.theme) { + s = ''; + } + else if (full) { + s = ''; + } + else { + s = ''; + } + lyr3 = $(s); + + // if we have a message, style it + if (msg) { + if (opts.theme) { + lyr3.css(themedCSS); + lyr3.addClass('ui-widget-content'); + } + else + lyr3.css(css); + } + + // style the overlay + if (!opts.theme /*&& (!opts.applyPlatformOpacityRules)*/) + lyr2.css(opts.overlayCSS); + lyr2.css('position', full ? 'fixed' : 'absolute'); + + // make iframe layer transparent in IE + if (msie || opts.forceIframe) + lyr1.css('opacity',0.0); + + //$([lyr1[0],lyr2[0],lyr3[0]]).appendTo(full ? 'body' : el); + var layers = [lyr1,lyr2,lyr3], $par = full ? $('body') : $(el); + $.each(layers, function() { + this.appendTo($par); + }); + + if (opts.theme && opts.draggable && $.fn.draggable) { + lyr3.draggable({ + handle: '.ui-dialog-titlebar', + cancel: 'li' + }); + } + + // ie7 must use absolute positioning in quirks mode and to account for activex issues (when scrolling) + var expr = setExpr && (!$.support.boxModel || $('object,embed', full ? null : el).length > 0); + if (ie6 || expr) { + // give body 100% height + if (full && opts.allowBodyStretch && $.support.boxModel) + $('html,body').css('height','100%'); + + // fix ie6 issue when blocked element has a border width + if ((ie6 || !$.support.boxModel) && !full) { + var t = sz(el,'borderTopWidth'), l = sz(el,'borderLeftWidth'); + var fixT = t ? '(0 - '+t+')' : 0; + var fixL = l ? '(0 - '+l+')' : 0; + } + + // simulate fixed position + $.each(layers, function(i,o) { + var s = o[0].style; + s.position = 'absolute'; + if (i < 2) { + if (full) + s.setExpression('height','Math.max(document.body.scrollHeight, document.body.offsetHeight) - (jQuery.support.boxModel?0:'+opts.quirksmodeOffsetHack+') + "px"'); + else + s.setExpression('height','this.parentNode.offsetHeight + "px"'); + if (full) + s.setExpression('width','jQuery.support.boxModel && document.documentElement.clientWidth || document.body.clientWidth + "px"'); + else + s.setExpression('width','this.parentNode.offsetWidth + "px"'); + if (fixL) s.setExpression('left', fixL); + if (fixT) s.setExpression('top', fixT); + } + else if (opts.centerY) { + if (full) s.setExpression('top','(document.documentElement.clientHeight || document.body.clientHeight) / 2 - (this.offsetHeight / 2) + (blah = document.documentElement.scrollTop ? document.documentElement.scrollTop : document.body.scrollTop) + "px"'); + s.marginTop = 0; + } + else if (!opts.centerY && full) { + var top = (opts.css && opts.css.top) ? parseInt(opts.css.top, 10) : 0; + var expression = '((document.documentElement.scrollTop ? document.documentElement.scrollTop : document.body.scrollTop) + '+top+') + "px"'; + s.setExpression('top',expression); + } + }); + } + + // show the message + if (msg) { + if (opts.theme) + lyr3.find('.ui-widget-content').append(msg); + else + lyr3.append(msg); + if (msg.jquery || msg.nodeType) + $(msg).show(); + } + + if ((msie || opts.forceIframe) && opts.showOverlay) + lyr1.show(); // opacity is zero + if (opts.fadeIn) { + var cb = opts.onBlock ? opts.onBlock : noOp; + var cb1 = (opts.showOverlay && !msg) ? cb : noOp; + var cb2 = msg ? cb : noOp; + if (opts.showOverlay) + lyr2._fadeIn(opts.fadeIn, cb1); + if (msg) + lyr3._fadeIn(opts.fadeIn, cb2); + } + else { + if (opts.showOverlay) + lyr2.show(); + if (msg) + lyr3.show(); + if (opts.onBlock) + opts.onBlock.bind(lyr3)(); + } + + // bind key and mouse events + bind(1, el, opts); + + if (full) { + pageBlock = lyr3[0]; + pageBlockEls = $(opts.focusableElements,pageBlock); + if (opts.focusInput) + setTimeout(focus, 20); + } + else + center(lyr3[0], opts.centerX, opts.centerY); + + if (opts.timeout) { + // auto-unblock + var to = setTimeout(function() { + if (full) + $.unblockUI(opts); + else + $(el).unblock(opts); + }, opts.timeout); + $(el).data('blockUI.timeout', to); + } + } + + // remove the block + function remove(el, opts) { + var count; + var full = (el == window); + var $el = $(el); + var data = $el.data('blockUI.history'); + var to = $el.data('blockUI.timeout'); + if (to) { + clearTimeout(to); + $el.removeData('blockUI.timeout'); + } + opts = $.extend({}, $.blockUI.defaults, opts || {}); + bind(0, el, opts); // unbind events + + if (opts.onUnblock === null) { + opts.onUnblock = $el.data('blockUI.onUnblock'); + $el.removeData('blockUI.onUnblock'); + } + + var els; + if (full) // crazy selector to handle odd field errors in ie6/7 + els = $('body').children().filter('.blockUI').add('body > .blockUI'); + else + els = $el.find('>.blockUI'); + + // fix cursor issue + if ( opts.cursorReset ) { + if ( els.length > 1 ) + els[1].style.cursor = opts.cursorReset; + if ( els.length > 2 ) + els[2].style.cursor = opts.cursorReset; + } + + if (full) + pageBlock = pageBlockEls = null; + + if (opts.fadeOut) { + count = els.length; + els.stop().fadeOut(opts.fadeOut, function() { + if ( --count === 0) + reset(els,data,opts,el); + }); + } + else + reset(els, data, opts, el); + } + + // move blocking element back into the DOM where it started + function reset(els,data,opts,el) { + var $el = $(el); + if ( $el.data('blockUI.isBlocked') ) + return; + + els.each(function(i,o) { + // remove via DOM calls so we don't lose event handlers + if (this.parentNode) + this.parentNode.removeChild(this); + }); + + if (data && data.el) { + data.el.style.display = data.display; + data.el.style.position = data.position; + data.el.style.cursor = 'default'; // #59 + if (data.parent) + data.parent.appendChild(data.el); + $el.removeData('blockUI.history'); + } + + if ($el.data('blockUI.static')) { + $el.css('position', 'static'); // #22 + } + + if (typeof opts.onUnblock == 'function') + opts.onUnblock(el,opts); + + // fix issue in Safari 6 where block artifacts remain until reflow + var body = $(document.body), w = body.width(), cssW = body[0].style.width; + body.width(w-1).width(w); + body[0].style.width = cssW; + } + + // bind/unbind the handler + function bind(b, el, opts) { + var full = el == window, $el = $(el); + + // don't bother unbinding if there is nothing to unbind + if (!b && (full && !pageBlock || !full && !$el.data('blockUI.isBlocked'))) + return; + + $el.data('blockUI.isBlocked', b); + + // don't bind events when overlay is not in use or if bindEvents is false + if (!full || !opts.bindEvents || (b && !opts.showOverlay)) + return; + + // bind anchors and inputs for mouse and key events + var events = 'mousedown mouseup keydown keypress keyup touchstart touchend touchmove'; + if (b) + $(document).bind(events, opts, handler); + else + $(document).unbind(events, handler); + + // former impl... + // var $e = $('a,:input'); + // b ? $e.bind(events, opts, handler) : $e.unbind(events, handler); + } + + // event handler to suppress keyboard/mouse events when blocking + function handler(e) { + // allow tab navigation (conditionally) + if (e.type === 'keydown' && e.keyCode && e.keyCode == 9) { + if (pageBlock && e.data.constrainTabKey) { + var els = pageBlockEls; + var fwd = !e.shiftKey && e.target === els[els.length-1]; + var back = e.shiftKey && e.target === els[0]; + if (fwd || back) { + setTimeout(function(){focus(back);},10); + return false; + } + } + } + var opts = e.data; + var target = $(e.target); + if (target.hasClass('blockOverlay') && opts.onOverlayClick) + opts.onOverlayClick(e); + + // allow events within the message content + if (target.parents('div.' + opts.blockMsgClass).length > 0) + return true; + + // allow events for content that is not being blocked + return target.parents().children().filter('div.blockUI').length === 0; + } + + function focus(back) { + if (!pageBlockEls) + return; + var e = pageBlockEls[back===true ? pageBlockEls.length-1 : 0]; + if (e) + e.focus(); + } + + function center(el, x, y) { + var p = el.parentNode, s = el.style; + var l = ((p.offsetWidth - el.offsetWidth)/2) - sz(p,'borderLeftWidth'); + var t = ((p.offsetHeight - el.offsetHeight)/2) - sz(p,'borderTopWidth'); + if (x) s.left = l > 0 ? (l+'px') : '0'; + if (y) s.top = t > 0 ? (t+'px') : '0'; + } + + function sz(el, p) { + return parseInt($.css(el,p),10)||0; + } + + } + + + /*global define:true */ + if (typeof define === 'function' && define.amd && define.amd.jQuery) { + define(['jquery'], setup); + } else { + setup(jQuery); + } + +})(); diff --git a/web/assets/js/libs/jquery/jquery.fancybox-1.3.4/ajax.txt b/web/assets/js/libs/jquery/jquery.fancybox-1.3.4/ajax.txt new file mode 100644 index 0000000..7e7cb5c --- /dev/null +++ b/web/assets/js/libs/jquery/jquery.fancybox-1.3.4/ajax.txt @@ -0,0 +1,6 @@ +
+

This comes from ajax request

+

+ Lorem ipsum dolor sit amet, consectetur adipiscing elit. Aenean non velit. Donec pharetra, felis ut tristique adipiscing, diam magna rhoncus neque, sit amet convallis nibh nibh vel libero. Nulla facilisi. In eleifend nisl quis lorem. Duis semper fringilla justo. Proin imperdiet sapien sed lectus. Integer quis nisl et est elementum tempor. Morbi quis tellus nec turpis suscipit molestie. Praesent sed pede. Pellentesque ac orci. Sed sit amet urna eget tellus hendrerit aliquet. Nulla consectetur, pede aliquam ornare placerat, nunc augue commodo leo, sit amet elementum dolor est eleifend magna. +

+
\ No newline at end of file diff --git a/web/assets/js/libs/jquery/jquery.fancybox-1.3.4/example/10_b.jpg b/web/assets/js/libs/jquery/jquery.fancybox-1.3.4/example/10_b.jpg new file mode 100644 index 0000000..9a070dd Binary files /dev/null and b/web/assets/js/libs/jquery/jquery.fancybox-1.3.4/example/10_b.jpg differ diff --git a/web/assets/js/libs/jquery/jquery.fancybox-1.3.4/example/10_s.jpg b/web/assets/js/libs/jquery/jquery.fancybox-1.3.4/example/10_s.jpg new file mode 100644 index 0000000..8a1c644 Binary files /dev/null and b/web/assets/js/libs/jquery/jquery.fancybox-1.3.4/example/10_s.jpg differ diff --git a/web/assets/js/libs/jquery/jquery.fancybox-1.3.4/example/11_b.jpg b/web/assets/js/libs/jquery/jquery.fancybox-1.3.4/example/11_b.jpg new file mode 100644 index 0000000..ea3eb0d Binary files /dev/null and b/web/assets/js/libs/jquery/jquery.fancybox-1.3.4/example/11_b.jpg differ diff --git a/web/assets/js/libs/jquery/jquery.fancybox-1.3.4/example/11_s.jpg b/web/assets/js/libs/jquery/jquery.fancybox-1.3.4/example/11_s.jpg new file mode 100644 index 0000000..0d071ef Binary files /dev/null and b/web/assets/js/libs/jquery/jquery.fancybox-1.3.4/example/11_s.jpg differ diff --git a/web/assets/js/libs/jquery/jquery.fancybox-1.3.4/example/12_b.jpg b/web/assets/js/libs/jquery/jquery.fancybox-1.3.4/example/12_b.jpg new file mode 100644 index 0000000..3e620e0 Binary files /dev/null and b/web/assets/js/libs/jquery/jquery.fancybox-1.3.4/example/12_b.jpg differ diff --git a/web/assets/js/libs/jquery/jquery.fancybox-1.3.4/example/12_s.jpg b/web/assets/js/libs/jquery/jquery.fancybox-1.3.4/example/12_s.jpg new file mode 100644 index 0000000..3d47f7c Binary files /dev/null and b/web/assets/js/libs/jquery/jquery.fancybox-1.3.4/example/12_s.jpg differ diff --git a/web/assets/js/libs/jquery/jquery.fancybox-1.3.4/example/1_b.jpg b/web/assets/js/libs/jquery/jquery.fancybox-1.3.4/example/1_b.jpg new file mode 100644 index 0000000..93ae239 Binary files /dev/null and b/web/assets/js/libs/jquery/jquery.fancybox-1.3.4/example/1_b.jpg differ diff --git a/web/assets/js/libs/jquery/jquery.fancybox-1.3.4/example/1_s.jpg b/web/assets/js/libs/jquery/jquery.fancybox-1.3.4/example/1_s.jpg new file mode 100644 index 0000000..97fdad2 Binary files /dev/null and b/web/assets/js/libs/jquery/jquery.fancybox-1.3.4/example/1_s.jpg differ diff --git a/web/assets/js/libs/jquery/jquery.fancybox-1.3.4/example/2_b.jpg b/web/assets/js/libs/jquery/jquery.fancybox-1.3.4/example/2_b.jpg new file mode 100644 index 0000000..6975516 Binary files /dev/null and b/web/assets/js/libs/jquery/jquery.fancybox-1.3.4/example/2_b.jpg differ diff --git a/web/assets/js/libs/jquery/jquery.fancybox-1.3.4/example/2_s.jpg b/web/assets/js/libs/jquery/jquery.fancybox-1.3.4/example/2_s.jpg new file mode 100644 index 0000000..b293db4 Binary files /dev/null and b/web/assets/js/libs/jquery/jquery.fancybox-1.3.4/example/2_s.jpg differ diff --git a/web/assets/js/libs/jquery/jquery.fancybox-1.3.4/example/3_b.jpg b/web/assets/js/libs/jquery/jquery.fancybox-1.3.4/example/3_b.jpg new file mode 100644 index 0000000..5e16847 Binary files /dev/null and b/web/assets/js/libs/jquery/jquery.fancybox-1.3.4/example/3_b.jpg differ diff --git a/web/assets/js/libs/jquery/jquery.fancybox-1.3.4/example/3_s.jpg b/web/assets/js/libs/jquery/jquery.fancybox-1.3.4/example/3_s.jpg new file mode 100644 index 0000000..0459e35 Binary files /dev/null and b/web/assets/js/libs/jquery/jquery.fancybox-1.3.4/example/3_s.jpg differ diff --git a/web/assets/js/libs/jquery/jquery.fancybox-1.3.4/example/4_b.jpg b/web/assets/js/libs/jquery/jquery.fancybox-1.3.4/example/4_b.jpg new file mode 100644 index 0000000..5a26b6b Binary files /dev/null and b/web/assets/js/libs/jquery/jquery.fancybox-1.3.4/example/4_b.jpg differ diff --git a/web/assets/js/libs/jquery/jquery.fancybox-1.3.4/example/4_s.jpg b/web/assets/js/libs/jquery/jquery.fancybox-1.3.4/example/4_s.jpg new file mode 100644 index 0000000..e52d803 Binary files /dev/null and b/web/assets/js/libs/jquery/jquery.fancybox-1.3.4/example/4_s.jpg differ diff --git a/web/assets/js/libs/jquery/jquery.fancybox-1.3.4/example/5_b.jpg b/web/assets/js/libs/jquery/jquery.fancybox-1.3.4/example/5_b.jpg new file mode 100644 index 0000000..82662e3 Binary files /dev/null and b/web/assets/js/libs/jquery/jquery.fancybox-1.3.4/example/5_b.jpg differ diff --git a/web/assets/js/libs/jquery/jquery.fancybox-1.3.4/example/5_s.jpg b/web/assets/js/libs/jquery/jquery.fancybox-1.3.4/example/5_s.jpg new file mode 100644 index 0000000..c4ae36a Binary files /dev/null and b/web/assets/js/libs/jquery/jquery.fancybox-1.3.4/example/5_s.jpg differ diff --git a/web/assets/js/libs/jquery/jquery.fancybox-1.3.4/example/6_b.jpg b/web/assets/js/libs/jquery/jquery.fancybox-1.3.4/example/6_b.jpg new file mode 100644 index 0000000..6fcc1e7 Binary files /dev/null and b/web/assets/js/libs/jquery/jquery.fancybox-1.3.4/example/6_b.jpg differ diff --git a/web/assets/js/libs/jquery/jquery.fancybox-1.3.4/example/6_s.jpg b/web/assets/js/libs/jquery/jquery.fancybox-1.3.4/example/6_s.jpg new file mode 100644 index 0000000..729dadd Binary files /dev/null and b/web/assets/js/libs/jquery/jquery.fancybox-1.3.4/example/6_s.jpg differ diff --git a/web/assets/js/libs/jquery/jquery.fancybox-1.3.4/example/7_b.jpg b/web/assets/js/libs/jquery/jquery.fancybox-1.3.4/example/7_b.jpg new file mode 100644 index 0000000..fab6b7f Binary files /dev/null and b/web/assets/js/libs/jquery/jquery.fancybox-1.3.4/example/7_b.jpg differ diff --git a/web/assets/js/libs/jquery/jquery.fancybox-1.3.4/example/7_s.jpg b/web/assets/js/libs/jquery/jquery.fancybox-1.3.4/example/7_s.jpg new file mode 100644 index 0000000..4fa27b1 Binary files /dev/null and b/web/assets/js/libs/jquery/jquery.fancybox-1.3.4/example/7_s.jpg differ diff --git a/web/assets/js/libs/jquery/jquery.fancybox-1.3.4/example/8_b.jpg b/web/assets/js/libs/jquery/jquery.fancybox-1.3.4/example/8_b.jpg new file mode 100644 index 0000000..6d83287 Binary files /dev/null and b/web/assets/js/libs/jquery/jquery.fancybox-1.3.4/example/8_b.jpg differ diff --git a/web/assets/js/libs/jquery/jquery.fancybox-1.3.4/example/8_s.jpg b/web/assets/js/libs/jquery/jquery.fancybox-1.3.4/example/8_s.jpg new file mode 100644 index 0000000..4014046 Binary files /dev/null and b/web/assets/js/libs/jquery/jquery.fancybox-1.3.4/example/8_s.jpg differ diff --git a/web/assets/js/libs/jquery/jquery.fancybox-1.3.4/example/9_b.jpg b/web/assets/js/libs/jquery/jquery.fancybox-1.3.4/example/9_b.jpg new file mode 100644 index 0000000..84d4281 Binary files /dev/null and b/web/assets/js/libs/jquery/jquery.fancybox-1.3.4/example/9_b.jpg differ diff --git a/web/assets/js/libs/jquery/jquery.fancybox-1.3.4/example/9_s.jpg b/web/assets/js/libs/jquery/jquery.fancybox-1.3.4/example/9_s.jpg new file mode 100644 index 0000000..146e0df Binary files /dev/null and b/web/assets/js/libs/jquery/jquery.fancybox-1.3.4/example/9_s.jpg differ diff --git a/web/assets/js/libs/jquery/jquery.fancybox-1.3.4/fancybox/blank.gif b/web/assets/js/libs/jquery/jquery.fancybox-1.3.4/fancybox/blank.gif new file mode 100644 index 0000000..35d42e8 Binary files /dev/null and b/web/assets/js/libs/jquery/jquery.fancybox-1.3.4/fancybox/blank.gif differ diff --git a/web/assets/js/libs/jquery/jquery.fancybox-1.3.4/fancybox/fancy_close.png b/web/assets/js/libs/jquery/jquery.fancybox-1.3.4/fancybox/fancy_close.png new file mode 100644 index 0000000..0703530 Binary files /dev/null and b/web/assets/js/libs/jquery/jquery.fancybox-1.3.4/fancybox/fancy_close.png differ diff --git a/web/assets/js/libs/jquery/jquery.fancybox-1.3.4/fancybox/fancy_loading.png b/web/assets/js/libs/jquery/jquery.fancybox-1.3.4/fancybox/fancy_loading.png new file mode 100644 index 0000000..2503017 Binary files /dev/null and b/web/assets/js/libs/jquery/jquery.fancybox-1.3.4/fancybox/fancy_loading.png differ diff --git a/web/assets/js/libs/jquery/jquery.fancybox-1.3.4/fancybox/fancy_nav_left.png b/web/assets/js/libs/jquery/jquery.fancybox-1.3.4/fancybox/fancy_nav_left.png new file mode 100644 index 0000000..ebaa6a4 Binary files /dev/null and b/web/assets/js/libs/jquery/jquery.fancybox-1.3.4/fancybox/fancy_nav_left.png differ diff --git a/web/assets/js/libs/jquery/jquery.fancybox-1.3.4/fancybox/fancy_nav_right.png b/web/assets/js/libs/jquery/jquery.fancybox-1.3.4/fancybox/fancy_nav_right.png new file mode 100644 index 0000000..873294e Binary files /dev/null and b/web/assets/js/libs/jquery/jquery.fancybox-1.3.4/fancybox/fancy_nav_right.png differ diff --git a/web/assets/js/libs/jquery/jquery.fancybox-1.3.4/fancybox/fancy_shadow_e.png b/web/assets/js/libs/jquery/jquery.fancybox-1.3.4/fancybox/fancy_shadow_e.png new file mode 100644 index 0000000..2eda089 Binary files /dev/null and b/web/assets/js/libs/jquery/jquery.fancybox-1.3.4/fancybox/fancy_shadow_e.png differ diff --git a/web/assets/js/libs/jquery/jquery.fancybox-1.3.4/fancybox/fancy_shadow_n.png b/web/assets/js/libs/jquery/jquery.fancybox-1.3.4/fancybox/fancy_shadow_n.png new file mode 100644 index 0000000..69aa10e Binary files /dev/null and b/web/assets/js/libs/jquery/jquery.fancybox-1.3.4/fancybox/fancy_shadow_n.png differ diff --git a/web/assets/js/libs/jquery/jquery.fancybox-1.3.4/fancybox/fancy_shadow_ne.png b/web/assets/js/libs/jquery/jquery.fancybox-1.3.4/fancybox/fancy_shadow_ne.png new file mode 100644 index 0000000..79f6980 Binary files /dev/null and b/web/assets/js/libs/jquery/jquery.fancybox-1.3.4/fancybox/fancy_shadow_ne.png differ diff --git a/web/assets/js/libs/jquery/jquery.fancybox-1.3.4/fancybox/fancy_shadow_nw.png b/web/assets/js/libs/jquery/jquery.fancybox-1.3.4/fancybox/fancy_shadow_nw.png new file mode 100644 index 0000000..7182cd9 Binary files /dev/null and b/web/assets/js/libs/jquery/jquery.fancybox-1.3.4/fancybox/fancy_shadow_nw.png differ diff --git a/web/assets/js/libs/jquery/jquery.fancybox-1.3.4/fancybox/fancy_shadow_s.png b/web/assets/js/libs/jquery/jquery.fancybox-1.3.4/fancybox/fancy_shadow_s.png new file mode 100644 index 0000000..d8858bf Binary files /dev/null and b/web/assets/js/libs/jquery/jquery.fancybox-1.3.4/fancybox/fancy_shadow_s.png differ diff --git a/web/assets/js/libs/jquery/jquery.fancybox-1.3.4/fancybox/fancy_shadow_se.png b/web/assets/js/libs/jquery/jquery.fancybox-1.3.4/fancybox/fancy_shadow_se.png new file mode 100644 index 0000000..541e3ff Binary files /dev/null and b/web/assets/js/libs/jquery/jquery.fancybox-1.3.4/fancybox/fancy_shadow_se.png differ diff --git a/web/assets/js/libs/jquery/jquery.fancybox-1.3.4/fancybox/fancy_shadow_sw.png b/web/assets/js/libs/jquery/jquery.fancybox-1.3.4/fancybox/fancy_shadow_sw.png new file mode 100644 index 0000000..b451689 Binary files /dev/null and b/web/assets/js/libs/jquery/jquery.fancybox-1.3.4/fancybox/fancy_shadow_sw.png differ diff --git a/web/assets/js/libs/jquery/jquery.fancybox-1.3.4/fancybox/fancy_shadow_w.png b/web/assets/js/libs/jquery/jquery.fancybox-1.3.4/fancybox/fancy_shadow_w.png new file mode 100644 index 0000000..8a4e4a8 Binary files /dev/null and b/web/assets/js/libs/jquery/jquery.fancybox-1.3.4/fancybox/fancy_shadow_w.png differ diff --git a/web/assets/js/libs/jquery/jquery.fancybox-1.3.4/fancybox/fancy_title_left.png b/web/assets/js/libs/jquery/jquery.fancybox-1.3.4/fancybox/fancy_title_left.png new file mode 100644 index 0000000..6049223 Binary files /dev/null and b/web/assets/js/libs/jquery/jquery.fancybox-1.3.4/fancybox/fancy_title_left.png differ diff --git a/web/assets/js/libs/jquery/jquery.fancybox-1.3.4/fancybox/fancy_title_main.png b/web/assets/js/libs/jquery/jquery.fancybox-1.3.4/fancybox/fancy_title_main.png new file mode 100644 index 0000000..8044271 Binary files /dev/null and b/web/assets/js/libs/jquery/jquery.fancybox-1.3.4/fancybox/fancy_title_main.png differ diff --git a/web/assets/js/libs/jquery/jquery.fancybox-1.3.4/fancybox/fancy_title_over.png b/web/assets/js/libs/jquery/jquery.fancybox-1.3.4/fancybox/fancy_title_over.png new file mode 100644 index 0000000..d9f458f Binary files /dev/null and b/web/assets/js/libs/jquery/jquery.fancybox-1.3.4/fancybox/fancy_title_over.png differ diff --git a/web/assets/js/libs/jquery/jquery.fancybox-1.3.4/fancybox/fancy_title_right.png b/web/assets/js/libs/jquery/jquery.fancybox-1.3.4/fancybox/fancy_title_right.png new file mode 100644 index 0000000..e36d9db Binary files /dev/null and b/web/assets/js/libs/jquery/jquery.fancybox-1.3.4/fancybox/fancy_title_right.png differ diff --git a/web/assets/js/libs/jquery/jquery.fancybox-1.3.4/fancybox/fancybox-x.png b/web/assets/js/libs/jquery/jquery.fancybox-1.3.4/fancybox/fancybox-x.png new file mode 100644 index 0000000..c2130f8 Binary files /dev/null and b/web/assets/js/libs/jquery/jquery.fancybox-1.3.4/fancybox/fancybox-x.png differ diff --git a/web/assets/js/libs/jquery/jquery.fancybox-1.3.4/fancybox/fancybox-y.png b/web/assets/js/libs/jquery/jquery.fancybox-1.3.4/fancybox/fancybox-y.png new file mode 100644 index 0000000..7ef399b Binary files /dev/null and b/web/assets/js/libs/jquery/jquery.fancybox-1.3.4/fancybox/fancybox-y.png differ diff --git a/web/assets/js/libs/jquery/jquery.fancybox-1.3.4/fancybox/fancybox.png b/web/assets/js/libs/jquery/jquery.fancybox-1.3.4/fancybox/fancybox.png new file mode 100644 index 0000000..65e14f6 Binary files /dev/null and b/web/assets/js/libs/jquery/jquery.fancybox-1.3.4/fancybox/fancybox.png differ diff --git a/web/assets/js/libs/jquery/jquery.fancybox-1.3.4/fancybox/jquery.easing-1.3.pack.js b/web/assets/js/libs/jquery/jquery.fancybox-1.3.4/fancybox/jquery.easing-1.3.pack.js new file mode 100644 index 0000000..9028179 --- /dev/null +++ b/web/assets/js/libs/jquery/jquery.fancybox-1.3.4/fancybox/jquery.easing-1.3.pack.js @@ -0,0 +1,72 @@ +/* + * jQuery Easing v1.3 - http://gsgd.co.uk/sandbox/jquery/easing/ + * + * Uses the built in easing capabilities added In jQuery 1.1 + * to offer multiple easing options + * + * TERMS OF USE - jQuery Easing + * + * Open source under the BSD License. + * + * Copyright © 2008 George McGinley Smith + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * Neither the name of the author nor the names of contributors may be used to endorse + * or promote products derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY + * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE + * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE + * GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED + * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED + * OF THE POSSIBILITY OF SUCH DAMAGE. + * +*/ + +// t: current time, b: begInnIng value, c: change In value, d: duration +eval(function(p,a,c,k,e,r){e=function(c){return(c35?String.fromCharCode(c+29):c.toString(36))};if(!''.replace(/^/,String)){while(c--)r[e(c)]=k[c]||e(c);k=[function(e){return r[e]}];e=function(){return'\\w+'};c=1};while(c--)if(k[c])p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c]);return p}('h.i[\'1a\']=h.i[\'z\'];h.O(h.i,{y:\'D\',z:9(x,t,b,c,d){6 h.i[h.i.y](x,t,b,c,d)},17:9(x,t,b,c,d){6 c*(t/=d)*t+b},D:9(x,t,b,c,d){6-c*(t/=d)*(t-2)+b},13:9(x,t,b,c,d){e((t/=d/2)<1)6 c/2*t*t+b;6-c/2*((--t)*(t-2)-1)+b},X:9(x,t,b,c,d){6 c*(t/=d)*t*t+b},U:9(x,t,b,c,d){6 c*((t=t/d-1)*t*t+1)+b},R:9(x,t,b,c,d){e((t/=d/2)<1)6 c/2*t*t*t+b;6 c/2*((t-=2)*t*t+2)+b},N:9(x,t,b,c,d){6 c*(t/=d)*t*t*t+b},M:9(x,t,b,c,d){6-c*((t=t/d-1)*t*t*t-1)+b},L:9(x,t,b,c,d){e((t/=d/2)<1)6 c/2*t*t*t*t+b;6-c/2*((t-=2)*t*t*t-2)+b},K:9(x,t,b,c,d){6 c*(t/=d)*t*t*t*t+b},J:9(x,t,b,c,d){6 c*((t=t/d-1)*t*t*t*t+1)+b},I:9(x,t,b,c,d){e((t/=d/2)<1)6 c/2*t*t*t*t*t+b;6 c/2*((t-=2)*t*t*t*t+2)+b},G:9(x,t,b,c,d){6-c*8.C(t/d*(8.g/2))+c+b},15:9(x,t,b,c,d){6 c*8.n(t/d*(8.g/2))+b},12:9(x,t,b,c,d){6-c/2*(8.C(8.g*t/d)-1)+b},Z:9(x,t,b,c,d){6(t==0)?b:c*8.j(2,10*(t/d-1))+b},Y:9(x,t,b,c,d){6(t==d)?b+c:c*(-8.j(2,-10*t/d)+1)+b},W:9(x,t,b,c,d){e(t==0)6 b;e(t==d)6 b+c;e((t/=d/2)<1)6 c/2*8.j(2,10*(t-1))+b;6 c/2*(-8.j(2,-10*--t)+2)+b},V:9(x,t,b,c,d){6-c*(8.o(1-(t/=d)*t)-1)+b},S:9(x,t,b,c,d){6 c*8.o(1-(t=t/d-1)*t)+b},Q:9(x,t,b,c,d){e((t/=d/2)<1)6-c/2*(8.o(1-t*t)-1)+b;6 c/2*(8.o(1-(t-=2)*t)+1)+b},P:9(x,t,b,c,d){f s=1.l;f p=0;f a=c;e(t==0)6 b;e((t/=d)==1)6 b+c;e(!p)p=d*.3;e(a<8.w(c)){a=c;f s=p/4}m f s=p/(2*8.g)*8.r(c/a);6-(a*8.j(2,10*(t-=1))*8.n((t*d-s)*(2*8.g)/p))+b},H:9(x,t,b,c,d){f s=1.l;f p=0;f a=c;e(t==0)6 b;e((t/=d)==1)6 b+c;e(!p)p=d*.3;e(a<8.w(c)){a=c;f s=p/4}m f s=p/(2*8.g)*8.r(c/a);6 a*8.j(2,-10*t)*8.n((t*d-s)*(2*8.g)/p)+c+b},T:9(x,t,b,c,d){f s=1.l;f p=0;f a=c;e(t==0)6 b;e((t/=d/2)==2)6 b+c;e(!p)p=d*(.3*1.5);e(a<8.w(c)){a=c;f s=p/4}m f s=p/(2*8.g)*8.r(c/a);e(t<1)6-.5*(a*8.j(2,10*(t-=1))*8.n((t*d-s)*(2*8.g)/p))+b;6 a*8.j(2,-10*(t-=1))*8.n((t*d-s)*(2*8.g)/p)*.5+c+b},F:9(x,t,b,c,d,s){e(s==u)s=1.l;6 c*(t/=d)*t*((s+1)*t-s)+b},E:9(x,t,b,c,d,s){e(s==u)s=1.l;6 c*((t=t/d-1)*t*((s+1)*t+s)+1)+b},16:9(x,t,b,c,d,s){e(s==u)s=1.l;e((t/=d/2)<1)6 c/2*(t*t*(((s*=(1.B))+1)*t-s))+b;6 c/2*((t-=2)*t*(((s*=(1.B))+1)*t+s)+2)+b},A:9(x,t,b,c,d){6 c-h.i.v(x,d-t,0,c,d)+b},v:9(x,t,b,c,d){e((t/=d)<(1/2.k)){6 c*(7.q*t*t)+b}m e(t<(2/2.k)){6 c*(7.q*(t-=(1.5/2.k))*t+.k)+b}m e(t<(2.5/2.k)){6 c*(7.q*(t-=(2.14/2.k))*t+.11)+b}m{6 c*(7.q*(t-=(2.18/2.k))*t+.19)+b}},1b:9(x,t,b,c,d){e(t')[0], { prop: 0 }), + + isIE6 = $.browser.msie && $.browser.version < 7 && !window.XMLHttpRequest, + + /* + * Private methods + */ + + _abort = function() { + loading.hide(); + + imgPreloader.onerror = imgPreloader.onload = null; + + if (ajaxLoader) { + ajaxLoader.abort(); + } + + tmp.empty(); + }, + + _error = function() { + if (false === selectedOpts.onError(selectedArray, selectedIndex, selectedOpts)) { + loading.hide(); + busy = false; + return; + } + + selectedOpts.titleShow = false; + + selectedOpts.width = 'auto'; + selectedOpts.height = 'auto'; + + tmp.html( '

The requested content cannot be loaded.
Please try again later.

' ); + + _process_inline(); + }, + + _start = function() { + var obj = selectedArray[ selectedIndex ], + href, + type, + title, + str, + emb, + ret; + + _abort(); + + selectedOpts = $.extend({}, $.fn.fancybox.defaults, (typeof $(obj).data('fancybox') == 'undefined' ? selectedOpts : $(obj).data('fancybox'))); + + ret = selectedOpts.onStart(selectedArray, selectedIndex, selectedOpts); + + if (ret === false) { + busy = false; + return; + } else if (typeof ret == 'object') { + selectedOpts = $.extend(selectedOpts, ret); + } + + title = selectedOpts.title || (obj.nodeName ? $(obj).attr('title') : obj.title) || ''; + + if (obj.nodeName && !selectedOpts.orig) { + selectedOpts.orig = $(obj).children("img:first").length ? $(obj).children("img:first") : $(obj); + } + + if (title === '' && selectedOpts.orig && selectedOpts.titleFromAlt) { + title = selectedOpts.orig.attr('alt'); + } + + href = selectedOpts.href || (obj.nodeName ? $(obj).attr('href') : obj.href) || null; + + if ((/^(?:javascript)/i).test(href) || href == '#') { + href = null; + } + + if (selectedOpts.type) { + type = selectedOpts.type; + + if (!href) { + href = selectedOpts.content; + } + + } else if (selectedOpts.content) { + type = 'html'; + + } else if (href) { + if (href.match(imgRegExp)) { + type = 'image'; + + } else if (href.match(swfRegExp)) { + type = 'swf'; + + } else if ($(obj).hasClass("iframe")) { + type = 'iframe'; + + } else if (href.indexOf("#") === 0) { + type = 'inline'; + + } else { + type = 'ajax'; + } + } + + if (!type) { + _error(); + return; + } + + if (type == 'inline') { + obj = href.substr(href.indexOf("#")); + type = $(obj).length > 0 ? 'inline' : 'ajax'; + } + + selectedOpts.type = type; + selectedOpts.href = href; + selectedOpts.title = title; + + if (selectedOpts.autoDimensions) { + if (selectedOpts.type == 'html' || selectedOpts.type == 'inline' || selectedOpts.type == 'ajax') { + selectedOpts.width = 'auto'; + selectedOpts.height = 'auto'; + } else { + selectedOpts.autoDimensions = false; + } + } + + if (selectedOpts.modal) { + selectedOpts.overlayShow = true; + selectedOpts.hideOnOverlayClick = false; + selectedOpts.hideOnContentClick = false; + selectedOpts.enableEscapeButton = false; + selectedOpts.showCloseButton = false; + } + + selectedOpts.padding = parseInt(selectedOpts.padding, 10); + selectedOpts.margin = parseInt(selectedOpts.margin, 10); + + tmp.css('padding', (selectedOpts.padding + selectedOpts.margin)); + + $('.fancybox-inline-tmp').unbind('fancybox-cancel').bind('fancybox-change', function() { + $(this).replaceWith(content.children()); + }); + + switch (type) { + case 'html' : + tmp.html( selectedOpts.content ); + _process_inline(); + break; + + case 'inline' : + if ( $(obj).parent().is('#fancybox-content') === true) { + busy = false; + return; + } + + $('
') + .hide() + .insertBefore( $(obj) ) + .bind('fancybox-cleanup', function() { + $(this).replaceWith(content.children()); + }).bind('fancybox-cancel', function() { + $(this).replaceWith(tmp.children()); + }); + + $(obj).appendTo(tmp); + + _process_inline(); + break; + + case 'image': + busy = false; + + $.fancybox.showActivity(); + + imgPreloader = new Image(); + + imgPreloader.onerror = function() { + _error(); + }; + + imgPreloader.onload = function() { + busy = true; + + imgPreloader.onerror = imgPreloader.onload = null; + + _process_image(); + }; + + imgPreloader.src = href; + break; + + case 'swf': + selectedOpts.scrolling = 'no'; + + str = ''; + emb = ''; + + $.each(selectedOpts.swf, function(name, val) { + str += ''; + emb += ' ' + name + '="' + val + '"'; + }); + + str += ''; + + tmp.html(str); + + _process_inline(); + break; + + case 'ajax': + busy = false; + + $.fancybox.showActivity(); + + selectedOpts.ajax.win = selectedOpts.ajax.success; + + ajaxLoader = $.ajax($.extend({}, selectedOpts.ajax, { + url : href, + data : selectedOpts.ajax.data || {}, + error : function(XMLHttpRequest, textStatus, errorThrown) { + if ( XMLHttpRequest.status > 0 ) { + _error(); + } + }, + success : function(data, textStatus, XMLHttpRequest) { + var o = typeof XMLHttpRequest == 'object' ? XMLHttpRequest : ajaxLoader; + if (o.status == 200) { + if ( typeof selectedOpts.ajax.win == 'function' ) { + ret = selectedOpts.ajax.win(href, data, textStatus, XMLHttpRequest); + + if (ret === false) { + loading.hide(); + return; + } else if (typeof ret == 'string' || typeof ret == 'object') { + data = ret; + } + } + + tmp.html( data ); + _process_inline(); + } + } + })); + + break; + + case 'iframe': + _show(); + break; + } + }, + + _process_inline = function() { + var + w = selectedOpts.width, + h = selectedOpts.height; + + if (w.toString().indexOf('%') > -1) { + w = parseInt( ($(window).width() - (selectedOpts.margin * 2)) * parseFloat(w) / 100, 10) + 'px'; + + } else { + w = w == 'auto' ? 'auto' : w + 'px'; + } + + if (h.toString().indexOf('%') > -1) { + h = parseInt( ($(window).height() - (selectedOpts.margin * 2)) * parseFloat(h) / 100, 10) + 'px'; + + } else { + h = h == 'auto' ? 'auto' : h + 'px'; + } + + tmp.wrapInner('
'); + + selectedOpts.width = tmp.width(); + selectedOpts.height = tmp.height(); + + _show(); + }, + + _process_image = function() { + selectedOpts.width = imgPreloader.width; + selectedOpts.height = imgPreloader.height; + + $("").attr({ + 'id' : 'fancybox-img', + 'src' : imgPreloader.src, + 'alt' : selectedOpts.title + }).appendTo( tmp ); + + _show(); + }, + + _show = function() { + var pos, equal; + + loading.hide(); + + if (wrap.is(":visible") && false === currentOpts.onCleanup(currentArray, currentIndex, currentOpts)) { + $.event.trigger('fancybox-cancel'); + + busy = false; + return; + } + + busy = true; + + $(content.add( overlay )).unbind(); + + $(window).unbind("resize.fb scroll.fb"); + $(document).unbind('keydown.fb'); + + if (wrap.is(":visible") && currentOpts.titlePosition !== 'outside') { + wrap.css('height', wrap.height()); + } + + currentArray = selectedArray; + currentIndex = selectedIndex; + currentOpts = selectedOpts; + + if (currentOpts.overlayShow) { + overlay.css({ + 'background-color' : currentOpts.overlayColor, + 'opacity' : currentOpts.overlayOpacity, + 'cursor' : currentOpts.hideOnOverlayClick ? 'pointer' : 'auto', + 'height' : $(document).height() + }); + + if (!overlay.is(':visible')) { + if (isIE6) { + $('select:not(#fancybox-tmp select)').filter(function() { + return this.style.visibility !== 'hidden'; + }).css({'visibility' : 'hidden'}).one('fancybox-cleanup', function() { + this.style.visibility = 'inherit'; + }); + } + + overlay.show(); + } + } else { + overlay.hide(); + } + + final_pos = _get_zoom_to(); + + _process_title(); + + if (wrap.is(":visible")) { + $( close.add( nav_left ).add( nav_right ) ).hide(); + + pos = wrap.position(), + + start_pos = { + top : pos.top, + left : pos.left, + width : wrap.width(), + height : wrap.height() + }; + + equal = (start_pos.width == final_pos.width && start_pos.height == final_pos.height); + + content.fadeTo(currentOpts.changeFade, 0.3, function() { + var finish_resizing = function() { + content.html( tmp.contents() ).fadeTo(currentOpts.changeFade, 1, _finish); + }; + + $.event.trigger('fancybox-change'); + + content + .empty() + .removeAttr('filter') + .css({ + 'border-width' : currentOpts.padding, + 'width' : final_pos.width - currentOpts.padding * 2, + 'height' : selectedOpts.autoDimensions ? 'auto' : final_pos.height - titleHeight - currentOpts.padding * 2 + }); + + if (equal) { + finish_resizing(); + + } else { + fx.prop = 0; + + $(fx).animate({prop: 1}, { + duration : currentOpts.changeSpeed, + easing : currentOpts.easingChange, + step : _draw, + complete : finish_resizing + }); + } + }); + + return; + } + + wrap.removeAttr("style"); + + content.css('border-width', currentOpts.padding); + + if (currentOpts.transitionIn == 'elastic') { + start_pos = _get_zoom_from(); + + content.html( tmp.contents() ); + + wrap.show(); + + if (currentOpts.opacity) { + final_pos.opacity = 0; + } + + fx.prop = 0; + + $(fx).animate({prop: 1}, { + duration : currentOpts.speedIn, + easing : currentOpts.easingIn, + step : _draw, + complete : _finish + }); + + return; + } + + if (currentOpts.titlePosition == 'inside' && titleHeight > 0) { + title.show(); + } + + content + .css({ + 'width' : final_pos.width - currentOpts.padding * 2, + 'height' : selectedOpts.autoDimensions ? 'auto' : final_pos.height - titleHeight - currentOpts.padding * 2 + }) + .html( tmp.contents() ); + + wrap + .css(final_pos) + .fadeIn( currentOpts.transitionIn == 'none' ? 0 : currentOpts.speedIn, _finish ); + }, + + _format_title = function(title) { + if (title && title.length) { + if (currentOpts.titlePosition == 'float') { + return '
' + title + '
'; + } + + return '
' + title + '
'; + } + + return false; + }, + + _process_title = function() { + titleStr = currentOpts.title || ''; + titleHeight = 0; + + title + .empty() + .removeAttr('style') + .removeClass(); + + if (currentOpts.titleShow === false) { + title.hide(); + return; + } + + titleStr = $.isFunction(currentOpts.titleFormat) ? currentOpts.titleFormat(titleStr, currentArray, currentIndex, currentOpts) : _format_title(titleStr); + + if (!titleStr || titleStr === '') { + title.hide(); + return; + } + + title + .addClass('fancybox-title-' + currentOpts.titlePosition) + .html( titleStr ) + .appendTo( 'body' ) + .show(); + + switch (currentOpts.titlePosition) { + case 'inside': + title + .css({ + 'width' : final_pos.width - (currentOpts.padding * 2), + 'marginLeft' : currentOpts.padding, + 'marginRight' : currentOpts.padding + }); + + titleHeight = title.outerHeight(true); + + title.appendTo( outer ); + + final_pos.height += titleHeight; + break; + + case 'over': + title + .css({ + 'marginLeft' : currentOpts.padding, + 'width' : final_pos.width - (currentOpts.padding * 2), + 'bottom' : currentOpts.padding + }) + .appendTo( outer ); + break; + + case 'float': + title + .css('left', parseInt((title.width() - final_pos.width - 40)/ 2, 10) * -1) + .appendTo( wrap ); + break; + + default: + title + .css({ + 'width' : final_pos.width - (currentOpts.padding * 2), + 'paddingLeft' : currentOpts.padding, + 'paddingRight' : currentOpts.padding + }) + .appendTo( wrap ); + break; + } + + title.hide(); + }, + + _set_navigation = function() { + if (currentOpts.enableEscapeButton || currentOpts.enableKeyboardNav) { + $(document).bind('keydown.fb', function(e) { + if (e.keyCode == 27 && currentOpts.enableEscapeButton) { + e.preventDefault(); + $.fancybox.close(); + + } else if ((e.keyCode == 37 || e.keyCode == 39) && currentOpts.enableKeyboardNav && e.target.tagName !== 'INPUT' && e.target.tagName !== 'TEXTAREA' && e.target.tagName !== 'SELECT') { + e.preventDefault(); + $.fancybox[ e.keyCode == 37 ? 'prev' : 'next'](); + } + }); + } + + if (!currentOpts.showNavArrows) { + nav_left.hide(); + nav_right.hide(); + return; + } + + if ((currentOpts.cyclic && currentArray.length > 1) || currentIndex !== 0) { + nav_left.show(); + } + + if ((currentOpts.cyclic && currentArray.length > 1) || currentIndex != (currentArray.length -1)) { + nav_right.show(); + } + }, + + _finish = function () { + if (!$.support.opacity) { + content.get(0).style.removeAttribute('filter'); + wrap.get(0).style.removeAttribute('filter'); + } + + if (selectedOpts.autoDimensions) { + content.css('height', 'auto'); + } + + wrap.css('height', 'auto'); + + if (titleStr && titleStr.length) { + title.show(); + } + + if (currentOpts.showCloseButton) { + close.show(); + } + + _set_navigation(); + + if (currentOpts.hideOnContentClick) { + content.bind('click', $.fancybox.close); + } + + if (currentOpts.hideOnOverlayClick) { + overlay.bind('click', $.fancybox.close); + } + + $(window).bind("resize.fb", $.fancybox.resize); + + if (currentOpts.centerOnScroll) { + $(window).bind("scroll.fb", $.fancybox.center); + } + + if (currentOpts.type == 'iframe') { + $('').appendTo(content); + } + + wrap.show(); + + busy = false; + + $.fancybox.center(); + + currentOpts.onComplete(currentArray, currentIndex, currentOpts); + + _preload_images(); + }, + + _preload_images = function() { + var href, + objNext; + + if ((currentArray.length -1) > currentIndex) { + href = currentArray[ currentIndex + 1 ].href; + + if (typeof href !== 'undefined' && href.match(imgRegExp)) { + objNext = new Image(); + objNext.src = href; + } + } + + if (currentIndex > 0) { + href = currentArray[ currentIndex - 1 ].href; + + if (typeof href !== 'undefined' && href.match(imgRegExp)) { + objNext = new Image(); + objNext.src = href; + } + } + }, + + _draw = function(pos) { + var dim = { + width : parseInt(start_pos.width + (final_pos.width - start_pos.width) * pos, 10), + height : parseInt(start_pos.height + (final_pos.height - start_pos.height) * pos, 10), + + top : parseInt(start_pos.top + (final_pos.top - start_pos.top) * pos, 10), + left : parseInt(start_pos.left + (final_pos.left - start_pos.left) * pos, 10) + }; + + if (typeof final_pos.opacity !== 'undefined') { + dim.opacity = pos < 0.5 ? 0.5 : pos; + } + + wrap.css(dim); + + content.css({ + 'width' : dim.width - currentOpts.padding * 2, + 'height' : dim.height - (titleHeight * pos) - currentOpts.padding * 2 + }); + }, + + _get_viewport = function() { + return [ + $(window).width() - (currentOpts.margin * 2), + $(window).height() - (currentOpts.margin * 2), + $(document).scrollLeft() + currentOpts.margin, + $(document).scrollTop() + currentOpts.margin + ]; + }, + + _get_zoom_to = function () { + var view = _get_viewport(), + to = {}, + resize = currentOpts.autoScale, + double_padding = currentOpts.padding * 2, + ratio; + + if (currentOpts.width.toString().indexOf('%') > -1) { + to.width = parseInt((view[0] * parseFloat(currentOpts.width)) / 100, 10); + } else { + to.width = currentOpts.width + double_padding; + } + + if (currentOpts.height.toString().indexOf('%') > -1) { + to.height = parseInt((view[1] * parseFloat(currentOpts.height)) / 100, 10); + } else { + to.height = currentOpts.height + double_padding; + } + + if (resize && (to.width > view[0] || to.height > view[1])) { + if (selectedOpts.type == 'image' || selectedOpts.type == 'swf') { + ratio = (currentOpts.width ) / (currentOpts.height ); + + if ((to.width ) > view[0]) { + to.width = view[0]; + to.height = parseInt(((to.width - double_padding) / ratio) + double_padding, 10); + } + + if ((to.height) > view[1]) { + to.height = view[1]; + to.width = parseInt(((to.height - double_padding) * ratio) + double_padding, 10); + } + + } else { + to.width = Math.min(to.width, view[0]); + to.height = Math.min(to.height, view[1]); + } + } + + to.top = parseInt(Math.max(view[3] - 20, view[3] + ((view[1] - to.height - 40) * 0.5)), 10); + to.left = parseInt(Math.max(view[2] - 20, view[2] + ((view[0] - to.width - 40) * 0.5)), 10); + + return to; + }, + + _get_obj_pos = function(obj) { + var pos = obj.offset(); + + pos.top += parseInt( obj.css('paddingTop'), 10 ) || 0; + pos.left += parseInt( obj.css('paddingLeft'), 10 ) || 0; + + pos.top += parseInt( obj.css('border-top-width'), 10 ) || 0; + pos.left += parseInt( obj.css('border-left-width'), 10 ) || 0; + + pos.width = obj.width(); + pos.height = obj.height(); + + return pos; + }, + + _get_zoom_from = function() { + var orig = selectedOpts.orig ? $(selectedOpts.orig) : false, + from = {}, + pos, + view; + + if (orig && orig.length) { + pos = _get_obj_pos(orig); + + from = { + width : pos.width + (currentOpts.padding * 2), + height : pos.height + (currentOpts.padding * 2), + top : pos.top - currentOpts.padding - 20, + left : pos.left - currentOpts.padding - 20 + }; + + } else { + view = _get_viewport(); + + from = { + width : currentOpts.padding * 2, + height : currentOpts.padding * 2, + top : parseInt(view[3] + view[1] * 0.5, 10), + left : parseInt(view[2] + view[0] * 0.5, 10) + }; + } + + return from; + }, + + _animate_loading = function() { + if (!loading.is(':visible')){ + clearInterval(loadingTimer); + return; + } + + $('div', loading).css('top', (loadingFrame * -40) + 'px'); + + loadingFrame = (loadingFrame + 1) % 12; + }; + + /* + * Public methods + */ + + $.fn.fancybox = function(options) { + if (!$(this).length) { + return this; + } + + $(this) + .data('fancybox', $.extend({}, options, ($.metadata ? $(this).metadata() : {}))) + .unbind('click.fb') + .bind('click.fb', function(e) { + e.preventDefault(); + + if (busy) { + return; + } + + busy = true; + + $(this).blur(); + + selectedArray = []; + selectedIndex = 0; + + var rel = $(this).attr('rel') || ''; + + if (!rel || rel == '' || rel === 'nofollow') { + selectedArray.push(this); + + } else { + selectedArray = $("a[rel=" + rel + "], area[rel=" + rel + "]"); + selectedIndex = selectedArray.index( this ); + } + + _start(); + + return; + }); + + return this; + }; + + $.fancybox = function(obj) { + var opts; + + if (busy) { + return; + } + + busy = true; + opts = typeof arguments[1] !== 'undefined' ? arguments[1] : {}; + + selectedArray = []; + selectedIndex = parseInt(opts.index, 10) || 0; + + if ($.isArray(obj)) { + for (var i = 0, j = obj.length; i < j; i++) { + if (typeof obj[i] == 'object') { + $(obj[i]).data('fancybox', $.extend({}, opts, obj[i])); + } else { + obj[i] = $({}).data('fancybox', $.extend({content : obj[i]}, opts)); + } + } + + selectedArray = jQuery.merge(selectedArray, obj); + + } else { + if (typeof obj == 'object') { + $(obj).data('fancybox', $.extend({}, opts, obj)); + } else { + obj = $({}).data('fancybox', $.extend({content : obj}, opts)); + } + + selectedArray.push(obj); + } + + if (selectedIndex > selectedArray.length || selectedIndex < 0) { + selectedIndex = 0; + } + + _start(); + }; + + $.fancybox.showActivity = function() { + clearInterval(loadingTimer); + + loading.show(); + loadingTimer = setInterval(_animate_loading, 66); + }; + + $.fancybox.hideActivity = function() { + loading.hide(); + }; + + $.fancybox.next = function() { + return $.fancybox.pos( currentIndex + 1); + }; + + $.fancybox.prev = function() { + return $.fancybox.pos( currentIndex - 1); + }; + + $.fancybox.pos = function(pos) { + if (busy) { + return; + } + + pos = parseInt(pos); + + selectedArray = currentArray; + + if (pos > -1 && pos < currentArray.length) { + selectedIndex = pos; + _start(); + + } else if (currentOpts.cyclic && currentArray.length > 1) { + selectedIndex = pos >= currentArray.length ? 0 : currentArray.length - 1; + _start(); + } + + return; + }; + + $.fancybox.cancel = function() { + if (busy) { + return; + } + + busy = true; + + $.event.trigger('fancybox-cancel'); + + _abort(); + + selectedOpts.onCancel(selectedArray, selectedIndex, selectedOpts); + + busy = false; + }; + + // Note: within an iframe use - parent.$.fancybox.close(); + $.fancybox.close = function() { + if (busy || wrap.is(':hidden')) { + return; + } + + busy = true; + + if (currentOpts && false === currentOpts.onCleanup(currentArray, currentIndex, currentOpts)) { + busy = false; + return; + } + + _abort(); + + $(close.add( nav_left ).add( nav_right )).hide(); + + $(content.add( overlay )).unbind(); + + $(window).unbind("resize.fb scroll.fb"); + $(document).unbind('keydown.fb'); + + content.find('iframe').attr('src', isIE6 && /^https/i.test(window.location.href || '') ? 'javascript:void(false)' : 'about:blank'); + + if (currentOpts.titlePosition !== 'inside') { + title.empty(); + } + + wrap.stop(); + + function _cleanup() { + overlay.fadeOut('fast'); + + title.empty().hide(); + wrap.hide(); + + $.event.trigger('fancybox-cleanup'); + + content.empty(); + + currentOpts.onClosed(currentArray, currentIndex, currentOpts); + + currentArray = selectedOpts = []; + currentIndex = selectedIndex = 0; + currentOpts = selectedOpts = {}; + + busy = false; + } + + if (currentOpts.transitionOut == 'elastic') { + start_pos = _get_zoom_from(); + + var pos = wrap.position(); + + final_pos = { + top : pos.top , + left : pos.left, + width : wrap.width(), + height : wrap.height() + }; + + if (currentOpts.opacity) { + final_pos.opacity = 1; + } + + title.empty().hide(); + + fx.prop = 1; + + $(fx).animate({ prop: 0 }, { + duration : currentOpts.speedOut, + easing : currentOpts.easingOut, + step : _draw, + complete : _cleanup + }); + + } else { + wrap.fadeOut( currentOpts.transitionOut == 'none' ? 0 : currentOpts.speedOut, _cleanup); + } + }; + + $.fancybox.resize = function() { + if (overlay.is(':visible')) { + overlay.css('height', $(document).height()); + } + + $.fancybox.center(true); + }; + + $.fancybox.center = function() { + var view, align; + + if (busy) { + return; + } + + align = arguments[0] === true ? 1 : 0; + view = _get_viewport(); + + if (!align && (wrap.width() > view[0] || wrap.height() > view[1])) { + return; + } + + wrap + .stop() + .animate({ + 'top' : parseInt(Math.max(view[3] - 20, view[3] + ((view[1] - content.height() - 40) * 0.5) - currentOpts.padding)), + 'left' : parseInt(Math.max(view[2] - 20, view[2] + ((view[0] - content.width() - 40) * 0.5) - currentOpts.padding)) + }, typeof arguments[0] == 'number' ? arguments[0] : 200); + }; + + $.fancybox.init = function() { + if ($("#fancybox-wrap").length) { + return; + } + + $('body').append( + tmp = $('
'), + loading = $('
'), + overlay = $('
'), + wrap = $('
') + ); + + outer = $('
') + .append('
') + .appendTo( wrap ); + + outer.append( + content = $('
'), + close = $(''), + title = $('
'), + + nav_left = $(''), + nav_right = $('') + ); + + close.click($.fancybox.close); + loading.click($.fancybox.cancel); + + nav_left.click(function(e) { + e.preventDefault(); + $.fancybox.prev(); + }); + + nav_right.click(function(e) { + e.preventDefault(); + $.fancybox.next(); + }); + + if ($.fn.mousewheel) { + wrap.bind('mousewheel.fb', function(e, delta) { + if (busy) { + e.preventDefault(); + + } else if ($(e.target).get(0).clientHeight == 0 || $(e.target).get(0).scrollHeight === $(e.target).get(0).clientHeight) { + e.preventDefault(); + $.fancybox[ delta > 0 ? 'prev' : 'next'](); + } + }); + } + + if (!$.support.opacity) { + wrap.addClass('fancybox-ie'); + } + + if (isIE6) { + loading.addClass('fancybox-ie6'); + wrap.addClass('fancybox-ie6'); + + $('').prependTo(outer); + } + }; + + $.fn.fancybox.defaults = { + padding : 10, + margin : 40, + opacity : false, + modal : false, + cyclic : false, + scrolling : 'auto', // 'auto', 'yes' or 'no' + + width : 560, + height : 340, + + autoScale : true, + autoDimensions : true, + centerOnScroll : false, + + ajax : {}, + swf : { wmode: 'transparent' }, + + hideOnOverlayClick : true, + hideOnContentClick : false, + + overlayShow : true, + overlayOpacity : 0.7, + overlayColor : '#777', + + titleShow : true, + titlePosition : 'float', // 'float', 'outside', 'inside' or 'over' + titleFormat : null, + titleFromAlt : false, + + transitionIn : 'fade', // 'elastic', 'fade' or 'none' + transitionOut : 'fade', // 'elastic', 'fade' or 'none' + + speedIn : 300, + speedOut : 300, + + changeSpeed : 300, + changeFade : 'fast', + + easingIn : 'swing', + easingOut : 'swing', + + showCloseButton : true, + showNavArrows : true, + enableEscapeButton : true, + enableKeyboardNav : true, + + onStart : function(){}, + onCancel : function(){}, + onComplete : function(){}, + onCleanup : function(){}, + onClosed : function(){}, + onError : function(){} + }; + + $(document).ready(function() { + $.fancybox.init(); + }); + +})(jQuery); \ No newline at end of file diff --git a/web/assets/js/libs/jquery/jquery.fancybox-1.3.4/fancybox/jquery.fancybox-1.3.4.pack.js b/web/assets/js/libs/jquery/jquery.fancybox-1.3.4/fancybox/jquery.fancybox-1.3.4.pack.js new file mode 100644 index 0000000..1373ed0 --- /dev/null +++ b/web/assets/js/libs/jquery/jquery.fancybox-1.3.4/fancybox/jquery.fancybox-1.3.4.pack.js @@ -0,0 +1,46 @@ +/* + * FancyBox - jQuery Plugin + * Simple and fancy lightbox alternative + * + * Examples and documentation at: http://fancybox.net + * + * Copyright (c) 2008 - 2010 Janis Skarnelis + * That said, it is hardly a one-person project. Many people have submitted bugs, code, and offered their advice freely. Their support is greatly appreciated. + * + * Version: 1.3.4 (11/11/2010) + * Requires: jQuery v1.3+ + * + * Dual licensed under the MIT and GPL licenses: + * http://www.opensource.org/licenses/mit-license.php + * http://www.gnu.org/licenses/gpl.html + */ + +;(function(b){var m,t,u,f,D,j,E,n,z,A,q=0,e={},o=[],p=0,d={},l=[],G=null,v=new Image,J=/\.(jpg|gif|png|bmp|jpeg)(.*)?$/i,W=/[^\.]\.(swf)\s*$/i,K,L=1,y=0,s="",r,i,h=false,B=b.extend(b("
")[0],{prop:0}),M=b.browser.msie&&b.browser.version<7&&!window.XMLHttpRequest,N=function(){t.hide();v.onerror=v.onload=null;G&&G.abort();m.empty()},O=function(){if(false===e.onError(o,q,e)){t.hide();h=false}else{e.titleShow=false;e.width="auto";e.height="auto";m.html('

The requested content cannot be loaded.
Please try again later.

'); +F()}},I=function(){var a=o[q],c,g,k,C,P,w;N();e=b.extend({},b.fn.fancybox.defaults,typeof b(a).data("fancybox")=="undefined"?e:b(a).data("fancybox"));w=e.onStart(o,q,e);if(w===false)h=false;else{if(typeof w=="object")e=b.extend(e,w);k=e.title||(a.nodeName?b(a).attr("title"):a.title)||"";if(a.nodeName&&!e.orig)e.orig=b(a).children("img:first").length?b(a).children("img:first"):b(a);if(k===""&&e.orig&&e.titleFromAlt)k=e.orig.attr("alt");c=e.href||(a.nodeName?b(a).attr("href"):a.href)||null;if(/^(?:javascript)/i.test(c)|| +c=="#")c=null;if(e.type){g=e.type;if(!c)c=e.content}else if(e.content)g="html";else if(c)g=c.match(J)?"image":c.match(W)?"swf":b(a).hasClass("iframe")?"iframe":c.indexOf("#")===0?"inline":"ajax";if(g){if(g=="inline"){a=c.substr(c.indexOf("#"));g=b(a).length>0?"inline":"ajax"}e.type=g;e.href=c;e.title=k;if(e.autoDimensions)if(e.type=="html"||e.type=="inline"||e.type=="ajax"){e.width="auto";e.height="auto"}else e.autoDimensions=false;if(e.modal){e.overlayShow=true;e.hideOnOverlayClick=false;e.hideOnContentClick= +false;e.enableEscapeButton=false;e.showCloseButton=false}e.padding=parseInt(e.padding,10);e.margin=parseInt(e.margin,10);m.css("padding",e.padding+e.margin);b(".fancybox-inline-tmp").unbind("fancybox-cancel").bind("fancybox-change",function(){b(this).replaceWith(j.children())});switch(g){case "html":m.html(e.content);F();break;case "inline":if(b(a).parent().is("#fancybox-content")===true){h=false;break}b('
').hide().insertBefore(b(a)).bind("fancybox-cleanup",function(){b(this).replaceWith(j.children())}).bind("fancybox-cancel", +function(){b(this).replaceWith(m.children())});b(a).appendTo(m);F();break;case "image":h=false;b.fancybox.showActivity();v=new Image;v.onerror=function(){O()};v.onload=function(){h=true;v.onerror=v.onload=null;e.width=v.width;e.height=v.height;b("").attr({id:"fancybox-img",src:v.src,alt:e.title}).appendTo(m);Q()};v.src=c;break;case "swf":e.scrolling="no";C='';P="";b.each(e.swf,function(x,H){C+='';P+=" "+x+'="'+H+'"'});C+='";m.html(C);F();break;case "ajax":h=false;b.fancybox.showActivity();e.ajax.win=e.ajax.success;G=b.ajax(b.extend({},e.ajax,{url:c,data:e.ajax.data||{},error:function(x){x.status>0&&O()},success:function(x,H,R){if((typeof R=="object"?R:G).status==200){if(typeof e.ajax.win== +"function"){w=e.ajax.win(c,x,H,R);if(w===false){t.hide();return}else if(typeof w=="string"||typeof w=="object")x=w}m.html(x);F()}}}));break;case "iframe":Q()}}else O()}},F=function(){var a=e.width,c=e.height;a=a.toString().indexOf("%")>-1?parseInt((b(window).width()-e.margin*2)*parseFloat(a)/100,10)+"px":a=="auto"?"auto":a+"px";c=c.toString().indexOf("%")>-1?parseInt((b(window).height()-e.margin*2)*parseFloat(c)/100,10)+"px":c=="auto"?"auto":c+"px";m.wrapInner('
');e.width=m.width();e.height=m.height();Q()},Q=function(){var a,c;t.hide();if(f.is(":visible")&&false===d.onCleanup(l,p,d)){b.event.trigger("fancybox-cancel");h=false}else{h=true;b(j.add(u)).unbind();b(window).unbind("resize.fb scroll.fb");b(document).unbind("keydown.fb");f.is(":visible")&&d.titlePosition!=="outside"&&f.css("height",f.height());l=o;p=q;d=e;if(d.overlayShow){u.css({"background-color":d.overlayColor, +opacity:d.overlayOpacity,cursor:d.hideOnOverlayClick?"pointer":"auto",height:b(document).height()});if(!u.is(":visible")){M&&b("select:not(#fancybox-tmp select)").filter(function(){return this.style.visibility!=="hidden"}).css({visibility:"hidden"}).one("fancybox-cleanup",function(){this.style.visibility="inherit"});u.show()}}else u.hide();i=X();s=d.title||"";y=0;n.empty().removeAttr("style").removeClass();if(d.titleShow!==false){if(b.isFunction(d.titleFormat))a=d.titleFormat(s,l,p,d);else a=s&&s.length? +d.titlePosition=="float"?'
'+s+'
':'
'+s+"
":false;s=a;if(!(!s||s==="")){n.addClass("fancybox-title-"+d.titlePosition).html(s).appendTo("body").show();switch(d.titlePosition){case "inside":n.css({width:i.width-d.padding*2,marginLeft:d.padding,marginRight:d.padding}); +y=n.outerHeight(true);n.appendTo(D);i.height+=y;break;case "over":n.css({marginLeft:d.padding,width:i.width-d.padding*2,bottom:d.padding}).appendTo(D);break;case "float":n.css("left",parseInt((n.width()-i.width-40)/2,10)*-1).appendTo(f);break;default:n.css({width:i.width-d.padding*2,paddingLeft:d.padding,paddingRight:d.padding}).appendTo(f)}}}n.hide();if(f.is(":visible")){b(E.add(z).add(A)).hide();a=f.position();r={top:a.top,left:a.left,width:f.width(),height:f.height()};c=r.width==i.width&&r.height== +i.height;j.fadeTo(d.changeFade,0.3,function(){var g=function(){j.html(m.contents()).fadeTo(d.changeFade,1,S)};b.event.trigger("fancybox-change");j.empty().removeAttr("filter").css({"border-width":d.padding,width:i.width-d.padding*2,height:e.autoDimensions?"auto":i.height-y-d.padding*2});if(c)g();else{B.prop=0;b(B).animate({prop:1},{duration:d.changeSpeed,easing:d.easingChange,step:T,complete:g})}})}else{f.removeAttr("style");j.css("border-width",d.padding);if(d.transitionIn=="elastic"){r=V();j.html(m.contents()); +f.show();if(d.opacity)i.opacity=0;B.prop=0;b(B).animate({prop:1},{duration:d.speedIn,easing:d.easingIn,step:T,complete:S})}else{d.titlePosition=="inside"&&y>0&&n.show();j.css({width:i.width-d.padding*2,height:e.autoDimensions?"auto":i.height-y-d.padding*2}).html(m.contents());f.css(i).fadeIn(d.transitionIn=="none"?0:d.speedIn,S)}}}},Y=function(){if(d.enableEscapeButton||d.enableKeyboardNav)b(document).bind("keydown.fb",function(a){if(a.keyCode==27&&d.enableEscapeButton){a.preventDefault();b.fancybox.close()}else if((a.keyCode== +37||a.keyCode==39)&&d.enableKeyboardNav&&a.target.tagName!=="INPUT"&&a.target.tagName!=="TEXTAREA"&&a.target.tagName!=="SELECT"){a.preventDefault();b.fancybox[a.keyCode==37?"prev":"next"]()}});if(d.showNavArrows){if(d.cyclic&&l.length>1||p!==0)z.show();if(d.cyclic&&l.length>1||p!=l.length-1)A.show()}else{z.hide();A.hide()}},S=function(){if(!b.support.opacity){j.get(0).style.removeAttribute("filter");f.get(0).style.removeAttribute("filter")}e.autoDimensions&&j.css("height","auto");f.css("height","auto"); +s&&s.length&&n.show();d.showCloseButton&&E.show();Y();d.hideOnContentClick&&j.bind("click",b.fancybox.close);d.hideOnOverlayClick&&u.bind("click",b.fancybox.close);b(window).bind("resize.fb",b.fancybox.resize);d.centerOnScroll&&b(window).bind("scroll.fb",b.fancybox.center);if(d.type=="iframe")b('').appendTo(j); +f.show();h=false;b.fancybox.center();d.onComplete(l,p,d);var a,c;if(l.length-1>p){a=l[p+1].href;if(typeof a!=="undefined"&&a.match(J)){c=new Image;c.src=a}}if(p>0){a=l[p-1].href;if(typeof a!=="undefined"&&a.match(J)){c=new Image;c.src=a}}},T=function(a){var c={width:parseInt(r.width+(i.width-r.width)*a,10),height:parseInt(r.height+(i.height-r.height)*a,10),top:parseInt(r.top+(i.top-r.top)*a,10),left:parseInt(r.left+(i.left-r.left)*a,10)};if(typeof i.opacity!=="undefined")c.opacity=a<0.5?0.5:a;f.css(c); +j.css({width:c.width-d.padding*2,height:c.height-y*a-d.padding*2})},U=function(){return[b(window).width()-d.margin*2,b(window).height()-d.margin*2,b(document).scrollLeft()+d.margin,b(document).scrollTop()+d.margin]},X=function(){var a=U(),c={},g=d.autoScale,k=d.padding*2;c.width=d.width.toString().indexOf("%")>-1?parseInt(a[0]*parseFloat(d.width)/100,10):d.width+k;c.height=d.height.toString().indexOf("%")>-1?parseInt(a[1]*parseFloat(d.height)/100,10):d.height+k;if(g&&(c.width>a[0]||c.height>a[1]))if(e.type== +"image"||e.type=="swf"){g=d.width/d.height;if(c.width>a[0]){c.width=a[0];c.height=parseInt((c.width-k)/g+k,10)}if(c.height>a[1]){c.height=a[1];c.width=parseInt((c.height-k)*g+k,10)}}else{c.width=Math.min(c.width,a[0]);c.height=Math.min(c.height,a[1])}c.top=parseInt(Math.max(a[3]-20,a[3]+(a[1]-c.height-40)*0.5),10);c.left=parseInt(Math.max(a[2]-20,a[2]+(a[0]-c.width-40)*0.5),10);return c},V=function(){var a=e.orig?b(e.orig):false,c={};if(a&&a.length){c=a.offset();c.top+=parseInt(a.css("paddingTop"), +10)||0;c.left+=parseInt(a.css("paddingLeft"),10)||0;c.top+=parseInt(a.css("border-top-width"),10)||0;c.left+=parseInt(a.css("border-left-width"),10)||0;c.width=a.width();c.height=a.height();c={width:c.width+d.padding*2,height:c.height+d.padding*2,top:c.top-d.padding-20,left:c.left-d.padding-20}}else{a=U();c={width:d.padding*2,height:d.padding*2,top:parseInt(a[3]+a[1]*0.5,10),left:parseInt(a[2]+a[0]*0.5,10)}}return c},Z=function(){if(t.is(":visible")){b("div",t).css("top",L*-40+"px");L=(L+1)%12}else clearInterval(K)}; +b.fn.fancybox=function(a){if(!b(this).length)return this;b(this).data("fancybox",b.extend({},a,b.metadata?b(this).metadata():{})).unbind("click.fb").bind("click.fb",function(c){c.preventDefault();if(!h){h=true;b(this).blur();o=[];q=0;c=b(this).attr("rel")||"";if(!c||c==""||c==="nofollow")o.push(this);else{o=b("a[rel="+c+"], area[rel="+c+"]");q=o.index(this)}I()}});return this};b.fancybox=function(a,c){var g;if(!h){h=true;g=typeof c!=="undefined"?c:{};o=[];q=parseInt(g.index,10)||0;if(b.isArray(a)){for(var k= +0,C=a.length;ko.length||q<0)q=0;I()}};b.fancybox.showActivity=function(){clearInterval(K);t.show();K=setInterval(Z,66)};b.fancybox.hideActivity=function(){t.hide()};b.fancybox.next=function(){return b.fancybox.pos(p+ +1)};b.fancybox.prev=function(){return b.fancybox.pos(p-1)};b.fancybox.pos=function(a){if(!h){a=parseInt(a);o=l;if(a>-1&&a1){q=a>=l.length?0:l.length-1;I()}}};b.fancybox.cancel=function(){if(!h){h=true;b.event.trigger("fancybox-cancel");N();e.onCancel(o,q,e);h=false}};b.fancybox.close=function(){function a(){u.fadeOut("fast");n.empty().hide();f.hide();b.event.trigger("fancybox-cleanup");j.empty();d.onClosed(l,p,d);l=e=[];p=q=0;d=e={};h=false}if(!(h||f.is(":hidden"))){h= +true;if(d&&false===d.onCleanup(l,p,d))h=false;else{N();b(E.add(z).add(A)).hide();b(j.add(u)).unbind();b(window).unbind("resize.fb scroll.fb");b(document).unbind("keydown.fb");j.find("iframe").attr("src",M&&/^https/i.test(window.location.href||"")?"javascript:void(false)":"about:blank");d.titlePosition!=="inside"&&n.empty();f.stop();if(d.transitionOut=="elastic"){r=V();var c=f.position();i={top:c.top,left:c.left,width:f.width(),height:f.height()};if(d.opacity)i.opacity=1;n.empty().hide();B.prop=1; +b(B).animate({prop:0},{duration:d.speedOut,easing:d.easingOut,step:T,complete:a})}else f.fadeOut(d.transitionOut=="none"?0:d.speedOut,a)}}};b.fancybox.resize=function(){u.is(":visible")&&u.css("height",b(document).height());b.fancybox.center(true)};b.fancybox.center=function(a){var c,g;if(!h){g=a===true?1:0;c=U();!g&&(f.width()>c[0]||f.height()>c[1])||f.stop().animate({top:parseInt(Math.max(c[3]-20,c[3]+(c[1]-j.height()-40)*0.5-d.padding)),left:parseInt(Math.max(c[2]-20,c[2]+(c[0]-j.width()-40)*0.5- +d.padding))},typeof a=="number"?a:200)}};b.fancybox.init=function(){if(!b("#fancybox-wrap").length){b("body").append(m=b('
'),t=b('
'),u=b('
'),f=b('
'));D=b('
').append('
').appendTo(f); +D.append(j=b('
'),E=b(''),n=b('
'),z=b(''),A=b(''));E.click(b.fancybox.close);t.click(b.fancybox.cancel);z.click(function(a){a.preventDefault();b.fancybox.prev()});A.click(function(a){a.preventDefault();b.fancybox.next()}); +b.fn.mousewheel&&f.bind("mousewheel.fb",function(a,c){if(h)a.preventDefault();else if(b(a.target).get(0).clientHeight==0||b(a.target).get(0).scrollHeight===b(a.target).get(0).clientHeight){a.preventDefault();b.fancybox[c>0?"prev":"next"]()}});b.support.opacity||f.addClass("fancybox-ie");if(M){t.addClass("fancybox-ie6");f.addClass("fancybox-ie6");b('').prependTo(D)}}}; +b.fn.fancybox.defaults={padding:10,margin:40,opacity:false,modal:false,cyclic:false,scrolling:"auto",width:560,height:340,autoScale:true,autoDimensions:true,centerOnScroll:false,ajax:{},swf:{wmode:"transparent"},hideOnOverlayClick:true,hideOnContentClick:false,overlayShow:true,overlayOpacity:0.7,overlayColor:"#777",titleShow:true,titlePosition:"float",titleFormat:null,titleFromAlt:false,transitionIn:"fade",transitionOut:"fade",speedIn:300,speedOut:300,changeSpeed:300,changeFade:"fast",easingIn:"swing", +easingOut:"swing",showCloseButton:true,showNavArrows:true,enableEscapeButton:true,enableKeyboardNav:true,onStart:function(){},onCancel:function(){},onComplete:function(){},onCleanup:function(){},onClosed:function(){},onError:function(){}};b(document).ready(function(){b.fancybox.init()})})(jQuery); \ No newline at end of file diff --git a/web/assets/js/libs/jquery/jquery.fancybox-1.3.4/fancybox/jquery.mousewheel-3.0.4.pack.js b/web/assets/js/libs/jquery/jquery.fancybox-1.3.4/fancybox/jquery.mousewheel-3.0.4.pack.js new file mode 100644 index 0000000..cb66588 --- /dev/null +++ b/web/assets/js/libs/jquery/jquery.fancybox-1.3.4/fancybox/jquery.mousewheel-3.0.4.pack.js @@ -0,0 +1,14 @@ +/*! Copyright (c) 2010 Brandon Aaron (http://brandonaaron.net) +* Licensed under the MIT License (LICENSE.txt). +* +* Thanks to: http://adomas.org/javascript-mouse-wheel/ for some pointers. +* Thanks to: Mathias Bank(http://www.mathias-bank.de) for a scope bug fix. +* Thanks to: Seamus Leahy for adding deltaX and deltaY +* +* Version: 3.0.4 +* +* Requires: 1.2.2+ +*/ + +(function(d){function g(a){var b=a||window.event,i=[].slice.call(arguments,1),c=0,h=0,e=0;a=d.event.fix(b);a.type="mousewheel";if(a.wheelDelta)c=a.wheelDelta/120;if(a.detail)c=-a.detail/3;e=c;if(b.axis!==undefined&&b.axis===b.HORIZONTAL_AXIS){e=0;h=-1*c}if(b.wheelDeltaY!==undefined)e=b.wheelDeltaY/120;if(b.wheelDeltaX!==undefined)h=-1*b.wheelDeltaX/120;i.unshift(a,c,h,e);return d.event.handle.apply(this,i)}var f=["DOMMouseScroll","mousewheel"];d.event.special.mousewheel={setup:function(){if(this.addEventListener)for(var a= +f.length;a;)this.addEventListener(f[--a],g,false);else this.onmousewheel=g},teardown:function(){if(this.removeEventListener)for(var a=f.length;a;)this.removeEventListener(f[--a],g,false);else this.onmousewheel=null}};d.fn.extend({mousewheel:function(a){return a?this.bind("mousewheel",a):this.trigger("mousewheel")},unmousewheel:function(a){return this.unbind("mousewheel",a)}})})(jQuery); \ No newline at end of file diff --git a/web/assets/js/libs/jquery/jquery.fancybox-1.3.4/index.html b/web/assets/js/libs/jquery/jquery.fancybox-1.3.4/index.html new file mode 100644 index 0000000..b917fdf --- /dev/null +++ b/web/assets/js/libs/jquery/jquery.fancybox-1.3.4/index.html @@ -0,0 +1,165 @@ + + + + + + FancyBox 1.3.4 | Demonstration + + + + + + + + + +
+

fancybox v1.3.4

+ +

This is a demonstration. Home page

+ +
+ +

+ Different animations
+ + example1 + + example2 + + example3 + + example4 +

+ +

+ Different title positions
+ + example4 + + example5 + + example6 + + example7 +

+ +

+ Image gallery (ps, try using mouse scroll wheel)
+ + + + + + + + +

+ +

+ Various examples +

+ + + +
+
+ Lorem ipsum dolor sit amet, consectetur adipiscing elit. Etiam quis mi eu elit tempor facilisis id et neque. Nulla sit amet sem sapien. Vestibulum imperdiet porta ante ac ornare. Nulla et lorem eu nibh adipiscing ultricies nec at lacus. Cras laoreet ultricies sem, at blandit mi eleifend aliquam. Nunc enim ipsum, vehicula non pretium varius, cursus ac tortor. Vivamus fringilla congue laoreet. Quisque ultrices sodales orci, quis rhoncus justo auctor in. Phasellus dui eros, bibendum eu feugiat ornare, faucibus eu mi. Nunc aliquet tempus sem, id aliquam diam varius ac. Maecenas nisl nunc, molestie vitae eleifend vel, iaculis sed magna. Aenean tempus lacus vitae orci posuere porttitor eget non felis. Donec lectus elit, aliquam nec eleifend sit amet, vestibulum sed nunc. +
+
+ +

+ Ajax example will not run from your local computer and requires a server to run. +

+

+ Photo Credit: Katie Harris +

+
+ + \ No newline at end of file diff --git a/web/assets/js/libs/jquery/jquery.fancybox-1.3.4/jquery-1.4.3.min.js b/web/assets/js/libs/jquery/jquery.fancybox-1.3.4/jquery-1.4.3.min.js new file mode 100644 index 0000000..c941a5f --- /dev/null +++ b/web/assets/js/libs/jquery/jquery.fancybox-1.3.4/jquery-1.4.3.min.js @@ -0,0 +1,166 @@ +/*! + * jQuery JavaScript Library v1.4.3 + * http://jquery.com/ + * + * Copyright 2010, John Resig + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * Includes Sizzle.js + * http://sizzlejs.com/ + * Copyright 2010, The Dojo Foundation + * Released under the MIT, BSD, and GPL Licenses. + * + * Date: Thu Oct 14 23:10:06 2010 -0400 + */ +(function(E,A){function U(){return false}function ba(){return true}function ja(a,b,d){d[0].type=a;return c.event.handle.apply(b,d)}function Ga(a){var b,d,e=[],f=[],h,k,l,n,s,v,B,D;k=c.data(this,this.nodeType?"events":"__events__");if(typeof k==="function")k=k.events;if(!(a.liveFired===this||!k||!k.live||a.button&&a.type==="click")){if(a.namespace)D=RegExp("(^|\\.)"+a.namespace.split(".").join("\\.(?:.*\\.)?")+"(\\.|$)");a.liveFired=this;var H=k.live.slice(0);for(n=0;nd)break;a.currentTarget=f.elem;a.data=f.handleObj.data; +a.handleObj=f.handleObj;D=f.handleObj.origHandler.apply(f.elem,arguments);if(D===false||a.isPropagationStopped()){d=f.level;if(D===false)b=false}}return b}}function Y(a,b){return(a&&a!=="*"?a+".":"")+b.replace(Ha,"`").replace(Ia,"&")}function ka(a,b,d){if(c.isFunction(b))return c.grep(a,function(f,h){return!!b.call(f,h,f)===d});else if(b.nodeType)return c.grep(a,function(f){return f===b===d});else if(typeof b==="string"){var e=c.grep(a,function(f){return f.nodeType===1});if(Ja.test(b))return c.filter(b, +e,!d);else b=c.filter(b,e)}return c.grep(a,function(f){return c.inArray(f,b)>=0===d})}function la(a,b){var d=0;b.each(function(){if(this.nodeName===(a[d]&&a[d].nodeName)){var e=c.data(a[d++]),f=c.data(this,e);if(e=e&&e.events){delete f.handle;f.events={};for(var h in e)for(var k in e[h])c.event.add(this,h,e[h][k],e[h][k].data)}}})}function Ka(a,b){b.src?c.ajax({url:b.src,async:false,dataType:"script"}):c.globalEval(b.text||b.textContent||b.innerHTML||"");b.parentNode&&b.parentNode.removeChild(b)} +function ma(a,b,d){var e=b==="width"?a.offsetWidth:a.offsetHeight;if(d==="border")return e;c.each(b==="width"?La:Ma,function(){d||(e-=parseFloat(c.css(a,"padding"+this))||0);if(d==="margin")e+=parseFloat(c.css(a,"margin"+this))||0;else e-=parseFloat(c.css(a,"border"+this+"Width"))||0});return e}function ca(a,b,d,e){if(c.isArray(b)&&b.length)c.each(b,function(f,h){d||Na.test(a)?e(a,h):ca(a+"["+(typeof h==="object"||c.isArray(h)?f:"")+"]",h,d,e)});else if(!d&&b!=null&&typeof b==="object")c.isEmptyObject(b)? +e(a,""):c.each(b,function(f,h){ca(a+"["+f+"]",h,d,e)});else e(a,b)}function S(a,b){var d={};c.each(na.concat.apply([],na.slice(0,b)),function(){d[this]=a});return d}function oa(a){if(!da[a]){var b=c("<"+a+">").appendTo("body"),d=b.css("display");b.remove();if(d==="none"||d==="")d="block";da[a]=d}return da[a]}function ea(a){return c.isWindow(a)?a:a.nodeType===9?a.defaultView||a.parentWindow:false}var u=E.document,c=function(){function a(){if(!b.isReady){try{u.documentElement.doScroll("left")}catch(i){setTimeout(a, +1);return}b.ready()}}var b=function(i,r){return new b.fn.init(i,r)},d=E.jQuery,e=E.$,f,h=/^(?:[^<]*(<[\w\W]+>)[^>]*$|#([\w\-]+)$)/,k=/\S/,l=/^\s+/,n=/\s+$/,s=/\W/,v=/\d/,B=/^<(\w+)\s*\/?>(?:<\/\1>)?$/,D=/^[\],:{}\s]*$/,H=/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g,w=/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,G=/(?:^|:|,)(?:\s*\[)+/g,M=/(webkit)[ \/]([\w.]+)/,g=/(opera)(?:.*version)?[ \/]([\w.]+)/,j=/(msie) ([\w.]+)/,o=/(mozilla)(?:.*? rv:([\w.]+))?/,m=navigator.userAgent,p=false, +q=[],t,x=Object.prototype.toString,C=Object.prototype.hasOwnProperty,P=Array.prototype.push,N=Array.prototype.slice,R=String.prototype.trim,Q=Array.prototype.indexOf,L={};b.fn=b.prototype={init:function(i,r){var y,z,F;if(!i)return this;if(i.nodeType){this.context=this[0]=i;this.length=1;return this}if(i==="body"&&!r&&u.body){this.context=u;this[0]=u.body;this.selector="body";this.length=1;return this}if(typeof i==="string")if((y=h.exec(i))&&(y[1]||!r))if(y[1]){F=r?r.ownerDocument||r:u;if(z=B.exec(i))if(b.isPlainObject(r)){i= +[u.createElement(z[1])];b.fn.attr.call(i,r,true)}else i=[F.createElement(z[1])];else{z=b.buildFragment([y[1]],[F]);i=(z.cacheable?z.fragment.cloneNode(true):z.fragment).childNodes}return b.merge(this,i)}else{if((z=u.getElementById(y[2]))&&z.parentNode){if(z.id!==y[2])return f.find(i);this.length=1;this[0]=z}this.context=u;this.selector=i;return this}else if(!r&&!s.test(i)){this.selector=i;this.context=u;i=u.getElementsByTagName(i);return b.merge(this,i)}else return!r||r.jquery?(r||f).find(i):b(r).find(i); +else if(b.isFunction(i))return f.ready(i);if(i.selector!==A){this.selector=i.selector;this.context=i.context}return b.makeArray(i,this)},selector:"",jquery:"1.4.3",length:0,size:function(){return this.length},toArray:function(){return N.call(this,0)},get:function(i){return i==null?this.toArray():i<0?this.slice(i)[0]:this[i]},pushStack:function(i,r,y){var z=b();b.isArray(i)?P.apply(z,i):b.merge(z,i);z.prevObject=this;z.context=this.context;if(r==="find")z.selector=this.selector+(this.selector?" ": +"")+y;else if(r)z.selector=this.selector+"."+r+"("+y+")";return z},each:function(i,r){return b.each(this,i,r)},ready:function(i){b.bindReady();if(b.isReady)i.call(u,b);else q&&q.push(i);return this},eq:function(i){return i===-1?this.slice(i):this.slice(i,+i+1)},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},slice:function(){return this.pushStack(N.apply(this,arguments),"slice",N.call(arguments).join(","))},map:function(i){return this.pushStack(b.map(this,function(r,y){return i.call(r, +y,r)}))},end:function(){return this.prevObject||b(null)},push:P,sort:[].sort,splice:[].splice};b.fn.init.prototype=b.fn;b.extend=b.fn.extend=function(){var i=arguments[0]||{},r=1,y=arguments.length,z=false,F,I,K,J,fa;if(typeof i==="boolean"){z=i;i=arguments[1]||{};r=2}if(typeof i!=="object"&&!b.isFunction(i))i={};if(y===r){i=this;--r}for(;r0)){if(q){for(var r=0;i=q[r++];)i.call(u,b);q=null}b.fn.triggerHandler&&b(u).triggerHandler("ready")}}},bindReady:function(){if(!p){p=true;if(u.readyState==="complete")return setTimeout(b.ready, +1);if(u.addEventListener){u.addEventListener("DOMContentLoaded",t,false);E.addEventListener("load",b.ready,false)}else if(u.attachEvent){u.attachEvent("onreadystatechange",t);E.attachEvent("onload",b.ready);var i=false;try{i=E.frameElement==null}catch(r){}u.documentElement.doScroll&&i&&a()}}},isFunction:function(i){return b.type(i)==="function"},isArray:Array.isArray||function(i){return b.type(i)==="array"},isWindow:function(i){return i&&typeof i==="object"&&"setInterval"in i},isNaN:function(i){return i== +null||!v.test(i)||isNaN(i)},type:function(i){return i==null?String(i):L[x.call(i)]||"object"},isPlainObject:function(i){if(!i||b.type(i)!=="object"||i.nodeType||b.isWindow(i))return false;if(i.constructor&&!C.call(i,"constructor")&&!C.call(i.constructor.prototype,"isPrototypeOf"))return false;for(var r in i);return r===A||C.call(i,r)},isEmptyObject:function(i){for(var r in i)return false;return true},error:function(i){throw i;},parseJSON:function(i){if(typeof i!=="string"||!i)return null;i=b.trim(i); +if(D.test(i.replace(H,"@").replace(w,"]").replace(G,"")))return E.JSON&&E.JSON.parse?E.JSON.parse(i):(new Function("return "+i))();else b.error("Invalid JSON: "+i)},noop:function(){},globalEval:function(i){if(i&&k.test(i)){var r=u.getElementsByTagName("head")[0]||u.documentElement,y=u.createElement("script");y.type="text/javascript";if(b.support.scriptEval)y.appendChild(u.createTextNode(i));else y.text=i;r.insertBefore(y,r.firstChild);r.removeChild(y)}},nodeName:function(i,r){return i.nodeName&&i.nodeName.toUpperCase()=== +r.toUpperCase()},each:function(i,r,y){var z,F=0,I=i.length,K=I===A||b.isFunction(i);if(y)if(K)for(z in i){if(r.apply(i[z],y)===false)break}else for(;F";a=u.createDocumentFragment();a.appendChild(d.firstChild);c.support.checkClone=a.cloneNode(true).cloneNode(true).lastChild.checked;c(function(){var s=u.createElement("div"); +s.style.width=s.style.paddingLeft="1px";u.body.appendChild(s);c.boxModel=c.support.boxModel=s.offsetWidth===2;if("zoom"in s.style){s.style.display="inline";s.style.zoom=1;c.support.inlineBlockNeedsLayout=s.offsetWidth===2;s.style.display="";s.innerHTML="
";c.support.shrinkWrapBlocks=s.offsetWidth!==2}s.innerHTML="
t
";var v=s.getElementsByTagName("td");c.support.reliableHiddenOffsets=v[0].offsetHeight=== +0;v[0].style.display="";v[1].style.display="none";c.support.reliableHiddenOffsets=c.support.reliableHiddenOffsets&&v[0].offsetHeight===0;s.innerHTML="";u.body.removeChild(s).style.display="none"});a=function(s){var v=u.createElement("div");s="on"+s;var B=s in v;if(!B){v.setAttribute(s,"return;");B=typeof v[s]==="function"}return B};c.support.submitBubbles=a("submit");c.support.changeBubbles=a("change");a=b=d=f=h=null}})();c.props={"for":"htmlFor","class":"className",readonly:"readOnly",maxlength:"maxLength", +cellspacing:"cellSpacing",rowspan:"rowSpan",colspan:"colSpan",tabindex:"tabIndex",usemap:"useMap",frameborder:"frameBorder"};var pa={},Oa=/^(?:\{.*\}|\[.*\])$/;c.extend({cache:{},uuid:0,expando:"jQuery"+c.now(),noData:{embed:true,object:"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000",applet:true},data:function(a,b,d){if(c.acceptData(a)){a=a==E?pa:a;var e=a.nodeType,f=e?a[c.expando]:null,h=c.cache;if(!(e&&!f&&typeof b==="string"&&d===A)){if(e)f||(a[c.expando]=f=++c.uuid);else h=a;if(typeof b==="object")if(e)h[f]= +c.extend(h[f],b);else c.extend(h,b);else if(e&&!h[f])h[f]={};a=e?h[f]:h;if(d!==A)a[b]=d;return typeof b==="string"?a[b]:a}}},removeData:function(a,b){if(c.acceptData(a)){a=a==E?pa:a;var d=a.nodeType,e=d?a[c.expando]:a,f=c.cache,h=d?f[e]:e;if(b){if(h){delete h[b];d&&c.isEmptyObject(h)&&c.removeData(a)}}else if(d&&c.support.deleteExpando)delete a[c.expando];else if(a.removeAttribute)a.removeAttribute(c.expando);else if(d)delete f[e];else for(var k in a)delete a[k]}},acceptData:function(a){if(a.nodeName){var b= +c.noData[a.nodeName.toLowerCase()];if(b)return!(b===true||a.getAttribute("classid")!==b)}return true}});c.fn.extend({data:function(a,b){if(typeof a==="undefined")return this.length?c.data(this[0]):null;else if(typeof a==="object")return this.each(function(){c.data(this,a)});var d=a.split(".");d[1]=d[1]?"."+d[1]:"";if(b===A){var e=this.triggerHandler("getData"+d[1]+"!",[d[0]]);if(e===A&&this.length){e=c.data(this[0],a);if(e===A&&this[0].nodeType===1){e=this[0].getAttribute("data-"+a);if(typeof e=== +"string")try{e=e==="true"?true:e==="false"?false:e==="null"?null:!c.isNaN(e)?parseFloat(e):Oa.test(e)?c.parseJSON(e):e}catch(f){}else e=A}}return e===A&&d[1]?this.data(d[0]):e}else return this.each(function(){var h=c(this),k=[d[0],b];h.triggerHandler("setData"+d[1]+"!",k);c.data(this,a,b);h.triggerHandler("changeData"+d[1]+"!",k)})},removeData:function(a){return this.each(function(){c.removeData(this,a)})}});c.extend({queue:function(a,b,d){if(a){b=(b||"fx")+"queue";var e=c.data(a,b);if(!d)return e|| +[];if(!e||c.isArray(d))e=c.data(a,b,c.makeArray(d));else e.push(d);return e}},dequeue:function(a,b){b=b||"fx";var d=c.queue(a,b),e=d.shift();if(e==="inprogress")e=d.shift();if(e){b==="fx"&&d.unshift("inprogress");e.call(a,function(){c.dequeue(a,b)})}}});c.fn.extend({queue:function(a,b){if(typeof a!=="string"){b=a;a="fx"}if(b===A)return c.queue(this[0],a);return this.each(function(){var d=c.queue(this,a,b);a==="fx"&&d[0]!=="inprogress"&&c.dequeue(this,a)})},dequeue:function(a){return this.each(function(){c.dequeue(this, +a)})},delay:function(a,b){a=c.fx?c.fx.speeds[a]||a:a;b=b||"fx";return this.queue(b,function(){var d=this;setTimeout(function(){c.dequeue(d,b)},a)})},clearQueue:function(a){return this.queue(a||"fx",[])}});var qa=/[\n\t]/g,ga=/\s+/,Pa=/\r/g,Qa=/^(?:href|src|style)$/,Ra=/^(?:button|input)$/i,Sa=/^(?:button|input|object|select|textarea)$/i,Ta=/^a(?:rea)?$/i,ra=/^(?:radio|checkbox)$/i;c.fn.extend({attr:function(a,b){return c.access(this,a,b,true,c.attr)},removeAttr:function(a){return this.each(function(){c.attr(this, +a,"");this.nodeType===1&&this.removeAttribute(a)})},addClass:function(a){if(c.isFunction(a))return this.each(function(s){var v=c(this);v.addClass(a.call(this,s,v.attr("class")))});if(a&&typeof a==="string")for(var b=(a||"").split(ga),d=0,e=this.length;d-1)return true;return false}, +val:function(a){if(!arguments.length){var b=this[0];if(b){if(c.nodeName(b,"option")){var d=b.attributes.value;return!d||d.specified?b.value:b.text}if(c.nodeName(b,"select")){var e=b.selectedIndex;d=[];var f=b.options;b=b.type==="select-one";if(e<0)return null;var h=b?e:0;for(e=b?e+1:f.length;h=0;else if(c.nodeName(this,"select")){var B=c.makeArray(v);c("option",this).each(function(){this.selected= +c.inArray(c(this).val(),B)>=0});if(!B.length)this.selectedIndex=-1}else this.value=v}})}});c.extend({attrFn:{val:true,css:true,html:true,text:true,data:true,width:true,height:true,offset:true},attr:function(a,b,d,e){if(!a||a.nodeType===3||a.nodeType===8)return A;if(e&&b in c.attrFn)return c(a)[b](d);e=a.nodeType!==1||!c.isXMLDoc(a);var f=d!==A;b=e&&c.props[b]||b;if(a.nodeType===1){var h=Qa.test(b);if((b in a||a[b]!==A)&&e&&!h){if(f){b==="type"&&Ra.test(a.nodeName)&&a.parentNode&&c.error("type property can't be changed"); +if(d===null)a.nodeType===1&&a.removeAttribute(b);else a[b]=d}if(c.nodeName(a,"form")&&a.getAttributeNode(b))return a.getAttributeNode(b).nodeValue;if(b==="tabIndex")return(b=a.getAttributeNode("tabIndex"))&&b.specified?b.value:Sa.test(a.nodeName)||Ta.test(a.nodeName)&&a.href?0:A;return a[b]}if(!c.support.style&&e&&b==="style"){if(f)a.style.cssText=""+d;return a.style.cssText}f&&a.setAttribute(b,""+d);if(!a.attributes[b]&&a.hasAttribute&&!a.hasAttribute(b))return A;a=!c.support.hrefNormalized&&e&& +h?a.getAttribute(b,2):a.getAttribute(b);return a===null?A:a}}});var X=/\.(.*)$/,ha=/^(?:textarea|input|select)$/i,Ha=/\./g,Ia=/ /g,Ua=/[^\w\s.|`]/g,Va=function(a){return a.replace(Ua,"\\$&")},sa={focusin:0,focusout:0};c.event={add:function(a,b,d,e){if(!(a.nodeType===3||a.nodeType===8)){if(c.isWindow(a)&&a!==E&&!a.frameElement)a=E;if(d===false)d=U;var f,h;if(d.handler){f=d;d=f.handler}if(!d.guid)d.guid=c.guid++;if(h=c.data(a)){var k=a.nodeType?"events":"__events__",l=h[k],n=h.handle;if(typeof l=== +"function"){n=l.handle;l=l.events}else if(!l){a.nodeType||(h[k]=h=function(){});h.events=l={}}if(!n)h.handle=n=function(){return typeof c!=="undefined"&&!c.event.triggered?c.event.handle.apply(n.elem,arguments):A};n.elem=a;b=b.split(" ");for(var s=0,v;k=b[s++];){h=f?c.extend({},f):{handler:d,data:e};if(k.indexOf(".")>-1){v=k.split(".");k=v.shift();h.namespace=v.slice(0).sort().join(".")}else{v=[];h.namespace=""}h.type=k;if(!h.guid)h.guid=d.guid;var B=l[k],D=c.event.special[k]||{};if(!B){B=l[k]=[]; +if(!D.setup||D.setup.call(a,e,v,n)===false)if(a.addEventListener)a.addEventListener(k,n,false);else a.attachEvent&&a.attachEvent("on"+k,n)}if(D.add){D.add.call(a,h);if(!h.handler.guid)h.handler.guid=d.guid}B.push(h);c.event.global[k]=true}a=null}}},global:{},remove:function(a,b,d,e){if(!(a.nodeType===3||a.nodeType===8)){if(d===false)d=U;var f,h,k=0,l,n,s,v,B,D,H=a.nodeType?"events":"__events__",w=c.data(a),G=w&&w[H];if(w&&G){if(typeof G==="function"){w=G;G=G.events}if(b&&b.type){d=b.handler;b=b.type}if(!b|| +typeof b==="string"&&b.charAt(0)==="."){b=b||"";for(f in G)c.event.remove(a,f+b)}else{for(b=b.split(" ");f=b[k++];){v=f;l=f.indexOf(".")<0;n=[];if(!l){n=f.split(".");f=n.shift();s=RegExp("(^|\\.)"+c.map(n.slice(0).sort(),Va).join("\\.(?:.*\\.)?")+"(\\.|$)")}if(B=G[f])if(d){v=c.event.special[f]||{};for(h=e||0;h=0){a.type= +f=f.slice(0,-1);a.exclusive=true}if(!d){a.stopPropagation();c.event.global[f]&&c.each(c.cache,function(){this.events&&this.events[f]&&c.event.trigger(a,b,this.handle.elem)})}if(!d||d.nodeType===3||d.nodeType===8)return A;a.result=A;a.target=d;b=c.makeArray(b);b.unshift(a)}a.currentTarget=d;(e=d.nodeType?c.data(d,"handle"):(c.data(d,"__events__")||{}).handle)&&e.apply(d,b);e=d.parentNode||d.ownerDocument;try{if(!(d&&d.nodeName&&c.noData[d.nodeName.toLowerCase()]))if(d["on"+f]&&d["on"+f].apply(d,b)=== +false){a.result=false;a.preventDefault()}}catch(h){}if(!a.isPropagationStopped()&&e)c.event.trigger(a,b,e,true);else if(!a.isDefaultPrevented()){e=a.target;var k,l=f.replace(X,""),n=c.nodeName(e,"a")&&l==="click",s=c.event.special[l]||{};if((!s._default||s._default.call(d,a)===false)&&!n&&!(e&&e.nodeName&&c.noData[e.nodeName.toLowerCase()])){try{if(e[l]){if(k=e["on"+l])e["on"+l]=null;c.event.triggered=true;e[l]()}}catch(v){}if(k)e["on"+l]=k;c.event.triggered=false}}},handle:function(a){var b,d,e; +d=[];var f,h=c.makeArray(arguments);a=h[0]=c.event.fix(a||E.event);a.currentTarget=this;b=a.type.indexOf(".")<0&&!a.exclusive;if(!b){e=a.type.split(".");a.type=e.shift();d=e.slice(0).sort();e=RegExp("(^|\\.)"+d.join("\\.(?:.*\\.)?")+"(\\.|$)")}a.namespace=a.namespace||d.join(".");f=c.data(this,this.nodeType?"events":"__events__");if(typeof f==="function")f=f.events;d=(f||{})[a.type];if(f&&d){d=d.slice(0);f=0;for(var k=d.length;f-1?c.map(a.options,function(e){return e.selected}).join("-"):"";else if(a.nodeName.toLowerCase()==="select")d=a.selectedIndex;return d},Z=function(a,b){var d=a.target,e,f;if(!(!ha.test(d.nodeName)||d.readOnly)){e=c.data(d,"_change_data");f=va(d);if(a.type!=="focusout"||d.type!=="radio")c.data(d,"_change_data",f);if(!(e===A||f===e))if(e!=null||f){a.type="change";a.liveFired= +A;return c.event.trigger(a,b,d)}}};c.event.special.change={filters:{focusout:Z,beforedeactivate:Z,click:function(a){var b=a.target,d=b.type;if(d==="radio"||d==="checkbox"||b.nodeName.toLowerCase()==="select")return Z.call(this,a)},keydown:function(a){var b=a.target,d=b.type;if(a.keyCode===13&&b.nodeName.toLowerCase()!=="textarea"||a.keyCode===32&&(d==="checkbox"||d==="radio")||d==="select-multiple")return Z.call(this,a)},beforeactivate:function(a){a=a.target;c.data(a,"_change_data",va(a))}},setup:function(){if(this.type=== +"file")return false;for(var a in V)c.event.add(this,a+".specialChange",V[a]);return ha.test(this.nodeName)},teardown:function(){c.event.remove(this,".specialChange");return ha.test(this.nodeName)}};V=c.event.special.change.filters;V.focus=V.beforeactivate}u.addEventListener&&c.each({focus:"focusin",blur:"focusout"},function(a,b){function d(e){e=c.event.fix(e);e.type=b;return c.event.trigger(e,null,e.target)}c.event.special[b]={setup:function(){sa[b]++===0&&u.addEventListener(a,d,true)},teardown:function(){--sa[b]=== +0&&u.removeEventListener(a,d,true)}}});c.each(["bind","one"],function(a,b){c.fn[b]=function(d,e,f){if(typeof d==="object"){for(var h in d)this[b](h,e,d[h],f);return this}if(c.isFunction(e)||e===false){f=e;e=A}var k=b==="one"?c.proxy(f,function(n){c(this).unbind(n,k);return f.apply(this,arguments)}):f;if(d==="unload"&&b!=="one")this.one(d,e,f);else{h=0;for(var l=this.length;h0?this.bind(b,d,e):this.trigger(b)};if(c.attrFn)c.attrFn[b]=true});E.attachEvent&&!E.addEventListener&&c(E).bind("unload",function(){for(var a in c.cache)if(c.cache[a].handle)try{c.event.remove(c.cache[a].handle.elem)}catch(b){}}); +(function(){function a(g,j,o,m,p,q){p=0;for(var t=m.length;p0){C=x;break}}x=x[g]}m[p]=C}}}var d=/((?:\((?:\([^()]+\)|[^()]+)+\)|\[(?:\[[^\[\]]*\]|['"][^'"]*['"]|[^\[\]'"]+)+\]|\\.|[^ >+~,(\[\\]+)+|[>+~])(\s*,\s*)?((?:.|\r|\n)*)/g,e=0,f=Object.prototype.toString,h=false,k=true;[0,0].sort(function(){k=false;return 0});var l=function(g,j,o,m){o=o||[];var p=j=j||u;if(j.nodeType!==1&&j.nodeType!==9)return[];if(!g||typeof g!=="string")return o;var q=[],t,x,C,P,N=true,R=l.isXML(j),Q=g,L;do{d.exec("");if(t=d.exec(Q)){Q=t[3];q.push(t[1]);if(t[2]){P=t[3]; +break}}}while(t);if(q.length>1&&s.exec(g))if(q.length===2&&n.relative[q[0]])x=M(q[0]+q[1],j);else for(x=n.relative[q[0]]?[j]:l(q.shift(),j);q.length;){g=q.shift();if(n.relative[g])g+=q.shift();x=M(g,x)}else{if(!m&&q.length>1&&j.nodeType===9&&!R&&n.match.ID.test(q[0])&&!n.match.ID.test(q[q.length-1])){t=l.find(q.shift(),j,R);j=t.expr?l.filter(t.expr,t.set)[0]:t.set[0]}if(j){t=m?{expr:q.pop(),set:D(m)}:l.find(q.pop(),q.length===1&&(q[0]==="~"||q[0]==="+")&&j.parentNode?j.parentNode:j,R);x=t.expr?l.filter(t.expr, +t.set):t.set;if(q.length>0)C=D(x);else N=false;for(;q.length;){t=L=q.pop();if(n.relative[L])t=q.pop();else L="";if(t==null)t=j;n.relative[L](C,t,R)}}else C=[]}C||(C=x);C||l.error(L||g);if(f.call(C)==="[object Array]")if(N)if(j&&j.nodeType===1)for(g=0;C[g]!=null;g++){if(C[g]&&(C[g]===true||C[g].nodeType===1&&l.contains(j,C[g])))o.push(x[g])}else for(g=0;C[g]!=null;g++)C[g]&&C[g].nodeType===1&&o.push(x[g]);else o.push.apply(o,C);else D(C,o);if(P){l(P,p,o,m);l.uniqueSort(o)}return o};l.uniqueSort=function(g){if(w){h= +k;g.sort(w);if(h)for(var j=1;j0};l.find=function(g,j,o){var m;if(!g)return[];for(var p=0,q=n.order.length;p":function(g,j){var o=typeof j==="string",m,p=0,q=g.length;if(o&&!/\W/.test(j))for(j=j.toLowerCase();p=0))o||m.push(t);else if(o)j[q]=false;return false},ID:function(g){return g[1].replace(/\\/g,"")},TAG:function(g){return g[1].toLowerCase()},CHILD:function(g){if(g[1]==="nth"){var j=/(-?)(\d*)n((?:\+|-)?\d*)/.exec(g[2]==="even"&&"2n"||g[2]==="odd"&&"2n+1"||!/\D/.test(g[2])&&"0n+"+g[2]||g[2]);g[2]=j[1]+(j[2]||1)-0;g[3]=j[3]-0}g[0]=e++;return g},ATTR:function(g,j,o, +m,p,q){j=g[1].replace(/\\/g,"");if(!q&&n.attrMap[j])g[1]=n.attrMap[j];if(g[2]==="~=")g[4]=" "+g[4]+" ";return g},PSEUDO:function(g,j,o,m,p){if(g[1]==="not")if((d.exec(g[3])||"").length>1||/^\w/.test(g[3]))g[3]=l(g[3],null,null,j);else{g=l.filter(g[3],j,o,true^p);o||m.push.apply(m,g);return false}else if(n.match.POS.test(g[0])||n.match.CHILD.test(g[0]))return true;return g},POS:function(g){g.unshift(true);return g}},filters:{enabled:function(g){return g.disabled===false&&g.type!=="hidden"},disabled:function(g){return g.disabled=== +true},checked:function(g){return g.checked===true},selected:function(g){return g.selected===true},parent:function(g){return!!g.firstChild},empty:function(g){return!g.firstChild},has:function(g,j,o){return!!l(o[3],g).length},header:function(g){return/h\d/i.test(g.nodeName)},text:function(g){return"text"===g.type},radio:function(g){return"radio"===g.type},checkbox:function(g){return"checkbox"===g.type},file:function(g){return"file"===g.type},password:function(g){return"password"===g.type},submit:function(g){return"submit"=== +g.type},image:function(g){return"image"===g.type},reset:function(g){return"reset"===g.type},button:function(g){return"button"===g.type||g.nodeName.toLowerCase()==="button"},input:function(g){return/input|select|textarea|button/i.test(g.nodeName)}},setFilters:{first:function(g,j){return j===0},last:function(g,j,o,m){return j===m.length-1},even:function(g,j){return j%2===0},odd:function(g,j){return j%2===1},lt:function(g,j,o){return jo[3]-0},nth:function(g,j,o){return o[3]- +0===j},eq:function(g,j,o){return o[3]-0===j}},filter:{PSEUDO:function(g,j,o,m){var p=j[1],q=n.filters[p];if(q)return q(g,o,j,m);else if(p==="contains")return(g.textContent||g.innerText||l.getText([g])||"").indexOf(j[3])>=0;else if(p==="not"){j=j[3];o=0;for(m=j.length;o=0}},ID:function(g,j){return g.nodeType===1&&g.getAttribute("id")===j},TAG:function(g,j){return j==="*"&&g.nodeType===1||g.nodeName.toLowerCase()=== +j},CLASS:function(g,j){return(" "+(g.className||g.getAttribute("class"))+" ").indexOf(j)>-1},ATTR:function(g,j){var o=j[1];o=n.attrHandle[o]?n.attrHandle[o](g):g[o]!=null?g[o]:g.getAttribute(o);var m=o+"",p=j[2],q=j[4];return o==null?p==="!=":p==="="?m===q:p==="*="?m.indexOf(q)>=0:p==="~="?(" "+m+" ").indexOf(q)>=0:!q?m&&o!==false:p==="!="?m!==q:p==="^="?m.indexOf(q)===0:p==="$="?m.substr(m.length-q.length)===q:p==="|="?m===q||m.substr(0,q.length+1)===q+"-":false},POS:function(g,j,o,m){var p=n.setFilters[j[2]]; +if(p)return p(g,o,j,m)}}},s=n.match.POS,v=function(g,j){return"\\"+(j-0+1)},B;for(B in n.match){n.match[B]=RegExp(n.match[B].source+/(?![^\[]*\])(?![^\(]*\))/.source);n.leftMatch[B]=RegExp(/(^(?:.|\r|\n)*?)/.source+n.match[B].source.replace(/\\(\d+)/g,v))}var D=function(g,j){g=Array.prototype.slice.call(g,0);if(j){j.push.apply(j,g);return j}return g};try{Array.prototype.slice.call(u.documentElement.childNodes,0)}catch(H){D=function(g,j){var o=j||[],m=0;if(f.call(g)==="[object Array]")Array.prototype.push.apply(o, +g);else if(typeof g.length==="number")for(var p=g.length;m";var o=u.documentElement;o.insertBefore(g,o.firstChild);if(u.getElementById(j)){n.find.ID=function(m,p,q){if(typeof p.getElementById!=="undefined"&&!q)return(p=p.getElementById(m[1]))?p.id===m[1]||typeof p.getAttributeNode!=="undefined"&&p.getAttributeNode("id").nodeValue===m[1]?[p]:A:[]};n.filter.ID=function(m,p){var q=typeof m.getAttributeNode!=="undefined"&&m.getAttributeNode("id");return m.nodeType===1&&q&&q.nodeValue===p}}o.removeChild(g); +o=g=null})();(function(){var g=u.createElement("div");g.appendChild(u.createComment(""));if(g.getElementsByTagName("*").length>0)n.find.TAG=function(j,o){var m=o.getElementsByTagName(j[1]);if(j[1]==="*"){for(var p=[],q=0;m[q];q++)m[q].nodeType===1&&p.push(m[q]);m=p}return m};g.innerHTML="";if(g.firstChild&&typeof g.firstChild.getAttribute!=="undefined"&&g.firstChild.getAttribute("href")!=="#")n.attrHandle.href=function(j){return j.getAttribute("href",2)};g=null})();u.querySelectorAll&& +function(){var g=l,j=u.createElement("div");j.innerHTML="

";if(!(j.querySelectorAll&&j.querySelectorAll(".TEST").length===0)){l=function(m,p,q,t){p=p||u;if(!t&&!l.isXML(p))if(p.nodeType===9)try{return D(p.querySelectorAll(m),q)}catch(x){}else if(p.nodeType===1&&p.nodeName.toLowerCase()!=="object"){var C=p.id,P=p.id="__sizzle__";try{return D(p.querySelectorAll("#"+P+" "+m),q)}catch(N){}finally{if(C)p.id=C;else p.removeAttribute("id")}}return g(m,p,q,t)};for(var o in g)l[o]=g[o]; +j=null}}();(function(){var g=u.documentElement,j=g.matchesSelector||g.mozMatchesSelector||g.webkitMatchesSelector||g.msMatchesSelector,o=false;try{j.call(u.documentElement,":sizzle")}catch(m){o=true}if(j)l.matchesSelector=function(p,q){try{if(o||!n.match.PSEUDO.test(q))return j.call(p,q)}catch(t){}return l(q,null,null,[p]).length>0}})();(function(){var g=u.createElement("div");g.innerHTML="
";if(!(!g.getElementsByClassName||g.getElementsByClassName("e").length=== +0)){g.lastChild.className="e";if(g.getElementsByClassName("e").length!==1){n.order.splice(1,0,"CLASS");n.find.CLASS=function(j,o,m){if(typeof o.getElementsByClassName!=="undefined"&&!m)return o.getElementsByClassName(j[1])};g=null}}})();l.contains=u.documentElement.contains?function(g,j){return g!==j&&(g.contains?g.contains(j):true)}:function(g,j){return!!(g.compareDocumentPosition(j)&16)};l.isXML=function(g){return(g=(g?g.ownerDocument||g:0).documentElement)?g.nodeName!=="HTML":false};var M=function(g, +j){for(var o=[],m="",p,q=j.nodeType?[j]:j;p=n.match.PSEUDO.exec(g);){m+=p[0];g=g.replace(n.match.PSEUDO,"")}g=n.relative[g]?g+"*":g;p=0;for(var t=q.length;p0)for(var h=d;h0},closest:function(a, +b){var d=[],e,f,h=this[0];if(c.isArray(a)){var k={},l,n=1;if(h&&a.length){e=0;for(f=a.length;e-1:c(h).is(e))d.push({selector:l,elem:h,level:n})}h=h.parentNode;n++}}return d}k=$a.test(a)?c(a,b||this.context):null;e=0;for(f=this.length;e-1:c.find.matchesSelector(h,a)){d.push(h);break}else{h=h.parentNode;if(!h|| +!h.ownerDocument||h===b)break}d=d.length>1?c.unique(d):d;return this.pushStack(d,"closest",a)},index:function(a){if(!a||typeof a==="string")return c.inArray(this[0],a?c(a):this.parent().children());return c.inArray(a.jquery?a[0]:a,this)},add:function(a,b){var d=typeof a==="string"?c(a,b||this.context):c.makeArray(a),e=c.merge(this.get(),d);return this.pushStack(!d[0]||!d[0].parentNode||d[0].parentNode.nodeType===11||!e[0]||!e[0].parentNode||e[0].parentNode.nodeType===11?e:c.unique(e))},andSelf:function(){return this.add(this.prevObject)}}); +c.each({parent:function(a){return(a=a.parentNode)&&a.nodeType!==11?a:null},parents:function(a){return c.dir(a,"parentNode")},parentsUntil:function(a,b,d){return c.dir(a,"parentNode",d)},next:function(a){return c.nth(a,2,"nextSibling")},prev:function(a){return c.nth(a,2,"previousSibling")},nextAll:function(a){return c.dir(a,"nextSibling")},prevAll:function(a){return c.dir(a,"previousSibling")},nextUntil:function(a,b,d){return c.dir(a,"nextSibling",d)},prevUntil:function(a,b,d){return c.dir(a,"previousSibling", +d)},siblings:function(a){return c.sibling(a.parentNode.firstChild,a)},children:function(a){return c.sibling(a.firstChild)},contents:function(a){return c.nodeName(a,"iframe")?a.contentDocument||a.contentWindow.document:c.makeArray(a.childNodes)}},function(a,b){c.fn[a]=function(d,e){var f=c.map(this,b,d);Wa.test(a)||(e=d);if(e&&typeof e==="string")f=c.filter(e,f);f=this.length>1?c.unique(f):f;if((this.length>1||Ya.test(e))&&Xa.test(a))f=f.reverse();return this.pushStack(f,a,Za.call(arguments).join(","))}}); +c.extend({filter:function(a,b,d){if(d)a=":not("+a+")";return b.length===1?c.find.matchesSelector(b[0],a)?[b[0]]:[]:c.find.matches(a,b)},dir:function(a,b,d){var e=[];for(a=a[b];a&&a.nodeType!==9&&(d===A||a.nodeType!==1||!c(a).is(d));){a.nodeType===1&&e.push(a);a=a[b]}return e},nth:function(a,b,d){b=b||1;for(var e=0;a;a=a[d])if(a.nodeType===1&&++e===b)break;return a},sibling:function(a,b){for(var d=[];a;a=a.nextSibling)a.nodeType===1&&a!==b&&d.push(a);return d}});var xa=/ jQuery\d+="(?:\d+|null)"/g, +$=/^\s+/,ya=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/ig,za=/<([\w:]+)/,ab=/\s]+\/)>/g,O={option:[1,""],legend:[1,"
","
"],thead:[1,"","
"],tr:[2,"","
"],td:[3,"","
"],col:[2,"","
"], +area:[1,"",""],_default:[0,"",""]};O.optgroup=O.option;O.tbody=O.tfoot=O.colgroup=O.caption=O.thead;O.th=O.td;if(!c.support.htmlSerialize)O._default=[1,"div
","
"];c.fn.extend({text:function(a){if(c.isFunction(a))return this.each(function(b){var d=c(this);d.text(a.call(this,b,d.text()))});if(typeof a!=="object"&&a!==A)return this.empty().append((this[0]&&this[0].ownerDocument||u).createTextNode(a));return c.text(this)},wrapAll:function(a){if(c.isFunction(a))return this.each(function(d){c(this).wrapAll(a.call(this, +d))});if(this[0]){var b=c(a,this[0].ownerDocument).eq(0).clone(true);this[0].parentNode&&b.insertBefore(this[0]);b.map(function(){for(var d=this;d.firstChild&&d.firstChild.nodeType===1;)d=d.firstChild;return d}).append(this)}return this},wrapInner:function(a){if(c.isFunction(a))return this.each(function(b){c(this).wrapInner(a.call(this,b))});return this.each(function(){var b=c(this),d=b.contents();d.length?d.wrapAll(a):b.append(a)})},wrap:function(a){return this.each(function(){c(this).wrapAll(a)})}, +unwrap:function(){return this.parent().each(function(){c.nodeName(this,"body")||c(this).replaceWith(this.childNodes)}).end()},append:function(){return this.domManip(arguments,true,function(a){this.nodeType===1&&this.appendChild(a)})},prepend:function(){return this.domManip(arguments,true,function(a){this.nodeType===1&&this.insertBefore(a,this.firstChild)})},before:function(){if(this[0]&&this[0].parentNode)return this.domManip(arguments,false,function(b){this.parentNode.insertBefore(b,this)});else if(arguments.length){var a= +c(arguments[0]);a.push.apply(a,this.toArray());return this.pushStack(a,"before",arguments)}},after:function(){if(this[0]&&this[0].parentNode)return this.domManip(arguments,false,function(b){this.parentNode.insertBefore(b,this.nextSibling)});else if(arguments.length){var a=this.pushStack(this,"after",arguments);a.push.apply(a,c(arguments[0]).toArray());return a}},remove:function(a,b){for(var d=0,e;(e=this[d])!=null;d++)if(!a||c.filter(a,[e]).length){if(!b&&e.nodeType===1){c.cleanData(e.getElementsByTagName("*")); +c.cleanData([e])}e.parentNode&&e.parentNode.removeChild(e)}return this},empty:function(){for(var a=0,b;(b=this[a])!=null;a++)for(b.nodeType===1&&c.cleanData(b.getElementsByTagName("*"));b.firstChild;)b.removeChild(b.firstChild);return this},clone:function(a){var b=this.map(function(){if(!c.support.noCloneEvent&&!c.isXMLDoc(this)){var d=this.outerHTML,e=this.ownerDocument;if(!d){d=e.createElement("div");d.appendChild(this.cloneNode(true));d=d.innerHTML}return c.clean([d.replace(xa,"").replace(cb,'="$1">').replace($, +"")],e)[0]}else return this.cloneNode(true)});if(a===true){la(this,b);la(this.find("*"),b.find("*"))}return b},html:function(a){if(a===A)return this[0]&&this[0].nodeType===1?this[0].innerHTML.replace(xa,""):null;else if(typeof a==="string"&&!Aa.test(a)&&(c.support.leadingWhitespace||!$.test(a))&&!O[(za.exec(a)||["",""])[1].toLowerCase()]){a=a.replace(ya,"<$1>");try{for(var b=0,d=this.length;b0||e.cacheable||this.length>1?l.cloneNode(true):l)}k.length&&c.each(k,Ka)}return this}});c.buildFragment=function(a,b,d){var e,f,h;b=b&&b[0]?b[0].ownerDocument||b[0]:u;if(a.length===1&&typeof a[0]==="string"&&a[0].length<512&&b===u&&!Aa.test(a[0])&&(c.support.checkClone|| +!Ba.test(a[0]))){f=true;if(h=c.fragments[a[0]])if(h!==1)e=h}if(!e){e=b.createDocumentFragment();c.clean(a,b,e,d)}if(f)c.fragments[a[0]]=h?e:1;return{fragment:e,cacheable:f}};c.fragments={};c.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(a,b){c.fn[a]=function(d){var e=[];d=c(d);var f=this.length===1&&this[0].parentNode;if(f&&f.nodeType===11&&f.childNodes.length===1&&d.length===1){d[b](this[0]);return this}else{f=0;for(var h= +d.length;f0?this.clone(true):this).get();c(d[f])[b](k);e=e.concat(k)}return this.pushStack(e,a,d.selector)}}});c.extend({clean:function(a,b,d,e){b=b||u;if(typeof b.createElement==="undefined")b=b.ownerDocument||b[0]&&b[0].ownerDocument||u;for(var f=[],h=0,k;(k=a[h])!=null;h++){if(typeof k==="number")k+="";if(k){if(typeof k==="string"&&!bb.test(k))k=b.createTextNode(k);else if(typeof k==="string"){k=k.replace(ya,"<$1>");var l=(za.exec(k)||["",""])[1].toLowerCase(),n=O[l]||O._default, +s=n[0],v=b.createElement("div");for(v.innerHTML=n[1]+k+n[2];s--;)v=v.lastChild;if(!c.support.tbody){s=ab.test(k);l=l==="table"&&!s?v.firstChild&&v.firstChild.childNodes:n[1]===""&&!s?v.childNodes:[];for(n=l.length-1;n>=0;--n)c.nodeName(l[n],"tbody")&&!l[n].childNodes.length&&l[n].parentNode.removeChild(l[n])}!c.support.leadingWhitespace&&$.test(k)&&v.insertBefore(b.createTextNode($.exec(k)[0]),v.firstChild);k=v.childNodes}if(k.nodeType)f.push(k);else f=c.merge(f,k)}}if(d)for(h=0;f[h];h++)if(e&& +c.nodeName(f[h],"script")&&(!f[h].type||f[h].type.toLowerCase()==="text/javascript"))e.push(f[h].parentNode?f[h].parentNode.removeChild(f[h]):f[h]);else{f[h].nodeType===1&&f.splice.apply(f,[h+1,0].concat(c.makeArray(f[h].getElementsByTagName("script"))));d.appendChild(f[h])}return f},cleanData:function(a){for(var b,d,e=c.cache,f=c.event.special,h=c.support.deleteExpando,k=0,l;(l=a[k])!=null;k++)if(!(l.nodeName&&c.noData[l.nodeName.toLowerCase()]))if(d=l[c.expando]){if((b=e[d])&&b.events)for(var n in b.events)f[n]? +c.event.remove(l,n):c.removeEvent(l,n,b.handle);if(h)delete l[c.expando];else l.removeAttribute&&l.removeAttribute(c.expando);delete e[d]}}});var Ca=/alpha\([^)]*\)/i,db=/opacity=([^)]*)/,eb=/-([a-z])/ig,fb=/([A-Z])/g,Da=/^-?\d+(?:px)?$/i,gb=/^-?\d/,hb={position:"absolute",visibility:"hidden",display:"block"},La=["Left","Right"],Ma=["Top","Bottom"],W,ib=u.defaultView&&u.defaultView.getComputedStyle,jb=function(a,b){return b.toUpperCase()};c.fn.css=function(a,b){if(arguments.length===2&&b===A)return this; +return c.access(this,a,b,true,function(d,e,f){return f!==A?c.style(d,e,f):c.css(d,e)})};c.extend({cssHooks:{opacity:{get:function(a,b){if(b){var d=W(a,"opacity","opacity");return d===""?"1":d}else return a.style.opacity}}},cssNumber:{zIndex:true,fontWeight:true,opacity:true,zoom:true,lineHeight:true},cssProps:{"float":c.support.cssFloat?"cssFloat":"styleFloat"},style:function(a,b,d,e){if(!(!a||a.nodeType===3||a.nodeType===8||!a.style)){var f,h=c.camelCase(b),k=a.style,l=c.cssHooks[h];b=c.cssProps[h]|| +h;if(d!==A){if(!(typeof d==="number"&&isNaN(d)||d==null)){if(typeof d==="number"&&!c.cssNumber[h])d+="px";if(!l||!("set"in l)||(d=l.set(a,d))!==A)try{k[b]=d}catch(n){}}}else{if(l&&"get"in l&&(f=l.get(a,false,e))!==A)return f;return k[b]}}},css:function(a,b,d){var e,f=c.camelCase(b),h=c.cssHooks[f];b=c.cssProps[f]||f;if(h&&"get"in h&&(e=h.get(a,true,d))!==A)return e;else if(W)return W(a,b,f)},swap:function(a,b,d){var e={},f;for(f in b){e[f]=a.style[f];a.style[f]=b[f]}d.call(a);for(f in b)a.style[f]= +e[f]},camelCase:function(a){return a.replace(eb,jb)}});c.curCSS=c.css;c.each(["height","width"],function(a,b){c.cssHooks[b]={get:function(d,e,f){var h;if(e){if(d.offsetWidth!==0)h=ma(d,b,f);else c.swap(d,hb,function(){h=ma(d,b,f)});return h+"px"}},set:function(d,e){if(Da.test(e)){e=parseFloat(e);if(e>=0)return e+"px"}else return e}}});if(!c.support.opacity)c.cssHooks.opacity={get:function(a,b){return db.test((b&&a.currentStyle?a.currentStyle.filter:a.style.filter)||"")?parseFloat(RegExp.$1)/100+"": +b?"1":""},set:function(a,b){var d=a.style;d.zoom=1;var e=c.isNaN(b)?"":"alpha(opacity="+b*100+")",f=d.filter||"";d.filter=Ca.test(f)?f.replace(Ca,e):d.filter+" "+e}};if(ib)W=function(a,b,d){var e;d=d.replace(fb,"-$1").toLowerCase();if(!(b=a.ownerDocument.defaultView))return A;if(b=b.getComputedStyle(a,null)){e=b.getPropertyValue(d);if(e===""&&!c.contains(a.ownerDocument.documentElement,a))e=c.style(a,d)}return e};else if(u.documentElement.currentStyle)W=function(a,b){var d,e,f=a.currentStyle&&a.currentStyle[b], +h=a.style;if(!Da.test(f)&&gb.test(f)){d=h.left;e=a.runtimeStyle.left;a.runtimeStyle.left=a.currentStyle.left;h.left=b==="fontSize"?"1em":f||0;f=h.pixelLeft+"px";h.left=d;a.runtimeStyle.left=e}return f};if(c.expr&&c.expr.filters){c.expr.filters.hidden=function(a){var b=a.offsetHeight;return a.offsetWidth===0&&b===0||!c.support.reliableHiddenOffsets&&(a.style.display||c.css(a,"display"))==="none"};c.expr.filters.visible=function(a){return!c.expr.filters.hidden(a)}}var kb=c.now(),lb=/)<[^<]*)*<\/script>/gi, +mb=/^(?:select|textarea)/i,nb=/^(?:color|date|datetime|email|hidden|month|number|password|range|search|tel|text|time|url|week)$/i,ob=/^(?:GET|HEAD|DELETE)$/,Na=/\[\]$/,T=/\=\?(&|$)/,ia=/\?/,pb=/([?&])_=[^&]*/,qb=/^(\w+:)?\/\/([^\/?#]+)/,rb=/%20/g,sb=/#.*$/,Ea=c.fn.load;c.fn.extend({load:function(a,b,d){if(typeof a!=="string"&&Ea)return Ea.apply(this,arguments);else if(!this.length)return this;var e=a.indexOf(" ");if(e>=0){var f=a.slice(e,a.length);a=a.slice(0,e)}e="GET";if(b)if(c.isFunction(b)){d= +b;b=null}else if(typeof b==="object"){b=c.param(b,c.ajaxSettings.traditional);e="POST"}var h=this;c.ajax({url:a,type:e,dataType:"html",data:b,complete:function(k,l){if(l==="success"||l==="notmodified")h.html(f?c("
").append(k.responseText.replace(lb,"")).find(f):k.responseText);d&&h.each(d,[k.responseText,l,k])}});return this},serialize:function(){return c.param(this.serializeArray())},serializeArray:function(){return this.map(function(){return this.elements?c.makeArray(this.elements):this}).filter(function(){return this.name&& +!this.disabled&&(this.checked||mb.test(this.nodeName)||nb.test(this.type))}).map(function(a,b){var d=c(this).val();return d==null?null:c.isArray(d)?c.map(d,function(e){return{name:b.name,value:e}}):{name:b.name,value:d}}).get()}});c.each("ajaxStart ajaxStop ajaxComplete ajaxError ajaxSuccess ajaxSend".split(" "),function(a,b){c.fn[b]=function(d){return this.bind(b,d)}});c.extend({get:function(a,b,d,e){if(c.isFunction(b)){e=e||d;d=b;b=null}return c.ajax({type:"GET",url:a,data:b,success:d,dataType:e})}, +getScript:function(a,b){return c.get(a,null,b,"script")},getJSON:function(a,b,d){return c.get(a,b,d,"json")},post:function(a,b,d,e){if(c.isFunction(b)){e=e||d;d=b;b={}}return c.ajax({type:"POST",url:a,data:b,success:d,dataType:e})},ajaxSetup:function(a){c.extend(c.ajaxSettings,a)},ajaxSettings:{url:location.href,global:true,type:"GET",contentType:"application/x-www-form-urlencoded",processData:true,async:true,xhr:function(){return new E.XMLHttpRequest},accepts:{xml:"application/xml, text/xml",html:"text/html", +script:"text/javascript, application/javascript",json:"application/json, text/javascript",text:"text/plain",_default:"*/*"}},ajax:function(a){var b=c.extend(true,{},c.ajaxSettings,a),d,e,f,h=b.type.toUpperCase(),k=ob.test(h);b.url=b.url.replace(sb,"");b.context=a&&a.context!=null?a.context:b;if(b.data&&b.processData&&typeof b.data!=="string")b.data=c.param(b.data,b.traditional);if(b.dataType==="jsonp"){if(h==="GET")T.test(b.url)||(b.url+=(ia.test(b.url)?"&":"?")+(b.jsonp||"callback")+"=?");else if(!b.data|| +!T.test(b.data))b.data=(b.data?b.data+"&":"")+(b.jsonp||"callback")+"=?";b.dataType="json"}if(b.dataType==="json"&&(b.data&&T.test(b.data)||T.test(b.url))){d=b.jsonpCallback||"jsonp"+kb++;if(b.data)b.data=(b.data+"").replace(T,"="+d+"$1");b.url=b.url.replace(T,"="+d+"$1");b.dataType="script";var l=E[d];E[d]=function(m){f=m;c.handleSuccess(b,w,e,f);c.handleComplete(b,w,e,f);if(c.isFunction(l))l(m);else{E[d]=A;try{delete E[d]}catch(p){}}v&&v.removeChild(B)}}if(b.dataType==="script"&&b.cache===null)b.cache= +false;if(b.cache===false&&h==="GET"){var n=c.now(),s=b.url.replace(pb,"$1_="+n);b.url=s+(s===b.url?(ia.test(b.url)?"&":"?")+"_="+n:"")}if(b.data&&h==="GET")b.url+=(ia.test(b.url)?"&":"?")+b.data;b.global&&c.active++===0&&c.event.trigger("ajaxStart");n=(n=qb.exec(b.url))&&(n[1]&&n[1]!==location.protocol||n[2]!==location.host);if(b.dataType==="script"&&h==="GET"&&n){var v=u.getElementsByTagName("head")[0]||u.documentElement,B=u.createElement("script");if(b.scriptCharset)B.charset=b.scriptCharset;B.src= +b.url;if(!d){var D=false;B.onload=B.onreadystatechange=function(){if(!D&&(!this.readyState||this.readyState==="loaded"||this.readyState==="complete")){D=true;c.handleSuccess(b,w,e,f);c.handleComplete(b,w,e,f);B.onload=B.onreadystatechange=null;v&&B.parentNode&&v.removeChild(B)}}}v.insertBefore(B,v.firstChild);return A}var H=false,w=b.xhr();if(w){b.username?w.open(h,b.url,b.async,b.username,b.password):w.open(h,b.url,b.async);try{if(b.data!=null&&!k||a&&a.contentType)w.setRequestHeader("Content-Type", +b.contentType);if(b.ifModified){c.lastModified[b.url]&&w.setRequestHeader("If-Modified-Since",c.lastModified[b.url]);c.etag[b.url]&&w.setRequestHeader("If-None-Match",c.etag[b.url])}n||w.setRequestHeader("X-Requested-With","XMLHttpRequest");w.setRequestHeader("Accept",b.dataType&&b.accepts[b.dataType]?b.accepts[b.dataType]+", */*; q=0.01":b.accepts._default)}catch(G){}if(b.beforeSend&&b.beforeSend.call(b.context,w,b)===false){b.global&&c.active--===1&&c.event.trigger("ajaxStop");w.abort();return false}b.global&& +c.triggerGlobal(b,"ajaxSend",[w,b]);var M=w.onreadystatechange=function(m){if(!w||w.readyState===0||m==="abort"){H||c.handleComplete(b,w,e,f);H=true;if(w)w.onreadystatechange=c.noop}else if(!H&&w&&(w.readyState===4||m==="timeout")){H=true;w.onreadystatechange=c.noop;e=m==="timeout"?"timeout":!c.httpSuccess(w)?"error":b.ifModified&&c.httpNotModified(w,b.url)?"notmodified":"success";var p;if(e==="success")try{f=c.httpData(w,b.dataType,b)}catch(q){e="parsererror";p=q}if(e==="success"||e==="notmodified")d|| +c.handleSuccess(b,w,e,f);else c.handleError(b,w,e,p);d||c.handleComplete(b,w,e,f);m==="timeout"&&w.abort();if(b.async)w=null}};try{var g=w.abort;w.abort=function(){w&&g.call&&g.call(w);M("abort")}}catch(j){}b.async&&b.timeout>0&&setTimeout(function(){w&&!H&&M("timeout")},b.timeout);try{w.send(k||b.data==null?null:b.data)}catch(o){c.handleError(b,w,null,o);c.handleComplete(b,w,e,f)}b.async||M();return w}},param:function(a,b){var d=[],e=function(h,k){k=c.isFunction(k)?k():k;d[d.length]=encodeURIComponent(h)+ +"="+encodeURIComponent(k)};if(b===A)b=c.ajaxSettings.traditional;if(c.isArray(a)||a.jquery)c.each(a,function(){e(this.name,this.value)});else for(var f in a)ca(f,a[f],b,e);return d.join("&").replace(rb,"+")}});c.extend({active:0,lastModified:{},etag:{},handleError:function(a,b,d,e){a.error&&a.error.call(a.context,b,d,e);a.global&&c.triggerGlobal(a,"ajaxError",[b,a,e])},handleSuccess:function(a,b,d,e){a.success&&a.success.call(a.context,e,d,b);a.global&&c.triggerGlobal(a,"ajaxSuccess",[b,a])},handleComplete:function(a, +b,d){a.complete&&a.complete.call(a.context,b,d);a.global&&c.triggerGlobal(a,"ajaxComplete",[b,a]);a.global&&c.active--===1&&c.event.trigger("ajaxStop")},triggerGlobal:function(a,b,d){(a.context&&a.context.url==null?c(a.context):c.event).trigger(b,d)},httpSuccess:function(a){try{return!a.status&&location.protocol==="file:"||a.status>=200&&a.status<300||a.status===304||a.status===1223}catch(b){}return false},httpNotModified:function(a,b){var d=a.getResponseHeader("Last-Modified"),e=a.getResponseHeader("Etag"); +if(d)c.lastModified[b]=d;if(e)c.etag[b]=e;return a.status===304},httpData:function(a,b,d){var e=a.getResponseHeader("content-type")||"",f=b==="xml"||!b&&e.indexOf("xml")>=0;a=f?a.responseXML:a.responseText;f&&a.documentElement.nodeName==="parsererror"&&c.error("parsererror");if(d&&d.dataFilter)a=d.dataFilter(a,b);if(typeof a==="string")if(b==="json"||!b&&e.indexOf("json")>=0)a=c.parseJSON(a);else if(b==="script"||!b&&e.indexOf("javascript")>=0)c.globalEval(a);return a}});if(E.ActiveXObject)c.ajaxSettings.xhr= +function(){if(E.location.protocol!=="file:")try{return new E.XMLHttpRequest}catch(a){}try{return new E.ActiveXObject("Microsoft.XMLHTTP")}catch(b){}};c.support.ajax=!!c.ajaxSettings.xhr();var da={},tb=/^(?:toggle|show|hide)$/,ub=/^([+\-]=)?([\d+.\-]+)(.*)$/,aa,na=[["height","marginTop","marginBottom","paddingTop","paddingBottom"],["width","marginLeft","marginRight","paddingLeft","paddingRight"],["opacity"]];c.fn.extend({show:function(a,b,d){if(a||a===0)return this.animate(S("show",3),a,b,d);else{a= +0;for(b=this.length;a=0;e--)if(d[e].elem===this){b&&d[e](true);d.splice(e,1)}});b||this.dequeue();return this}});c.each({slideDown:S("show",1),slideUp:S("hide",1),slideToggle:S("toggle",1),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"}},function(a,b){c.fn[a]=function(d,e,f){return this.animate(b, +d,e,f)}});c.extend({speed:function(a,b,d){var e=a&&typeof a==="object"?c.extend({},a):{complete:d||!d&&b||c.isFunction(a)&&a,duration:a,easing:d&&b||b&&!c.isFunction(b)&&b};e.duration=c.fx.off?0:typeof e.duration==="number"?e.duration:e.duration in c.fx.speeds?c.fx.speeds[e.duration]:c.fx.speeds._default;e.old=e.complete;e.complete=function(){e.queue!==false&&c(this).dequeue();c.isFunction(e.old)&&e.old.call(this)};return e},easing:{linear:function(a,b,d,e){return d+e*a},swing:function(a,b,d,e){return(-Math.cos(a* +Math.PI)/2+0.5)*e+d}},timers:[],fx:function(a,b,d){this.options=b;this.elem=a;this.prop=d;if(!b.orig)b.orig={}}});c.fx.prototype={update:function(){this.options.step&&this.options.step.call(this.elem,this.now,this);(c.fx.step[this.prop]||c.fx.step._default)(this)},cur:function(){if(this.elem[this.prop]!=null&&(!this.elem.style||this.elem.style[this.prop]==null))return this.elem[this.prop];var a=parseFloat(c.css(this.elem,this.prop));return a&&a>-1E4?a:0},custom:function(a,b,d){function e(h){return f.step(h)} +this.startTime=c.now();this.start=a;this.end=b;this.unit=d||this.unit||"px";this.now=this.start;this.pos=this.state=0;var f=this;a=c.fx;e.elem=this.elem;if(e()&&c.timers.push(e)&&!aa)aa=setInterval(a.tick,a.interval)},show:function(){this.options.orig[this.prop]=c.style(this.elem,this.prop);this.options.show=true;this.custom(this.prop==="width"||this.prop==="height"?1:0,this.cur());c(this.elem).show()},hide:function(){this.options.orig[this.prop]=c.style(this.elem,this.prop);this.options.hide=true; +this.custom(this.cur(),0)},step:function(a){var b=c.now(),d=true;if(a||b>=this.options.duration+this.startTime){this.now=this.end;this.pos=this.state=1;this.update();this.options.curAnim[this.prop]=true;for(var e in this.options.curAnim)if(this.options.curAnim[e]!==true)d=false;if(d){if(this.options.overflow!=null&&!c.support.shrinkWrapBlocks){var f=this.elem,h=this.options;c.each(["","X","Y"],function(l,n){f.style["overflow"+n]=h.overflow[l]})}this.options.hide&&c(this.elem).hide();if(this.options.hide|| +this.options.show)for(var k in this.options.curAnim)c.style(this.elem,k,this.options.orig[k]);this.options.complete.call(this.elem)}return false}else{a=b-this.startTime;this.state=a/this.options.duration;b=this.options.easing||(c.easing.swing?"swing":"linear");this.pos=c.easing[this.options.specialEasing&&this.options.specialEasing[this.prop]||b](this.state,a,0,1,this.options.duration);this.now=this.start+(this.end-this.start)*this.pos;this.update()}return true}};c.extend(c.fx,{tick:function(){for(var a= +c.timers,b=0;b-1;e={};var s={};if(n)s=f.position();k=n?s.top:parseInt(k,10)||0;l=n?s.left:parseInt(l,10)||0;if(c.isFunction(b))b=b.call(a,d,h);if(b.top!=null)e.top=b.top-h.top+k;if(b.left!=null)e.left=b.left-h.left+l;"using"in b?b.using.call(a, +e):f.css(e)}};c.fn.extend({position:function(){if(!this[0])return null;var a=this[0],b=this.offsetParent(),d=this.offset(),e=Fa.test(b[0].nodeName)?{top:0,left:0}:b.offset();d.top-=parseFloat(c.css(a,"marginTop"))||0;d.left-=parseFloat(c.css(a,"marginLeft"))||0;e.top+=parseFloat(c.css(b[0],"borderTopWidth"))||0;e.left+=parseFloat(c.css(b[0],"borderLeftWidth"))||0;return{top:d.top-e.top,left:d.left-e.left}},offsetParent:function(){return this.map(function(){for(var a=this.offsetParent||u.body;a&&!Fa.test(a.nodeName)&& +c.css(a,"position")==="static";)a=a.offsetParent;return a})}});c.each(["Left","Top"],function(a,b){var d="scroll"+b;c.fn[d]=function(e){var f=this[0],h;if(!f)return null;if(e!==A)return this.each(function(){if(h=ea(this))h.scrollTo(!a?e:c(h).scrollLeft(),a?e:c(h).scrollTop());else this[d]=e});else return(h=ea(f))?"pageXOffset"in h?h[a?"pageYOffset":"pageXOffset"]:c.support.boxModel&&h.document.documentElement[d]||h.document.body[d]:f[d]}});c.each(["Height","Width"],function(a,b){var d=b.toLowerCase(); +c.fn["inner"+b]=function(){return this[0]?parseFloat(c.css(this[0],d,"padding")):null};c.fn["outer"+b]=function(e){return this[0]?parseFloat(c.css(this[0],d,e?"margin":"border")):null};c.fn[d]=function(e){var f=this[0];if(!f)return e==null?null:this;if(c.isFunction(e))return this.each(function(h){var k=c(this);k[d](e.call(this,h,k[d]()))});return c.isWindow(f)?f.document.compatMode==="CSS1Compat"&&f.document.documentElement["client"+b]||f.document.body["client"+b]:f.nodeType===9?Math.max(f.documentElement["client"+ +b],f.body["scroll"+b],f.documentElement["scroll"+b],f.body["offset"+b],f.documentElement["offset"+b]):e===A?parseFloat(c.css(f,d)):this.css(d,typeof e==="string"?e:e+"px")}})})(window); diff --git a/web/assets/js/libs/jquery/jquery.fancybox-1.3.4/style.css b/web/assets/js/libs/jquery/jquery.fancybox-1.3.4/style.css new file mode 100644 index 0000000..bff0aef --- /dev/null +++ b/web/assets/js/libs/jquery/jquery.fancybox-1.3.4/style.css @@ -0,0 +1,65 @@ +html, body, div, ul { + margin: 0; + padding: 0; +} + +body { + color: #262626; + background: #f4f4f4; + font: normal 12px/18px Verdana, sans-serif; +} + +#content { + width: 400px; + margin: 40px auto 0 auto; + padding: 0 60px 30px 60px; + border: solid 1px #cbcbcb; + background: #fafafa; + -moz-box-shadow: 0px 0px 10px #cbcbcb; + -webkit-box-shadow: 0px 0px 10px #cbcbcb; +} + +h1 { + margin: 30px 0 15px 0; + font-size: 30px; + font-weight: bold; + font-family: Arial; +} + +h1 span { + font-size: 50%; + letter-spacing: -0.05em; +} + +hr { + border: none; + height: 1px; line-height: 1px; + background: #E5E5E5; + margin-bottom: 20px; + padding: 0; +} + +p { + margin: 0; + padding: 7px 0; +} + +a { + outline: none; +} + +a img { + border: 1px solid #BBB; + padding: 2px; + margin: 10px 20px 10px 0; + vertical-align: top; +} + +a img.last { + margin-right: 0; +} + +ul { + margin-bottom: 24px; + padding-left: 30px; +} diff --git a/web/assets/js/libs/jquery/jquery.form.js b/web/assets/js/libs/jquery/jquery.form.js new file mode 100644 index 0000000..89d5430 --- /dev/null +++ b/web/assets/js/libs/jquery/jquery.form.js @@ -0,0 +1,1127 @@ +/*! + * jQuery Form Plugin + * version: 3.27.0-2013.02.06 + * @requires jQuery v1.5 or later + * + * Examples and documentation at: http://malsup.com/jquery/form/ + * Project repository: https://github.com/malsup/form + * Dual licensed under the MIT and GPL licenses: + * http://malsup.github.com/mit-license.txt + * http://malsup.github.com/gpl-license-v2.txt + */ +/*global ActiveXObject alert */ +;(function($) { +"use strict"; + +/* + Usage Note: + ----------- + Do not use both ajaxSubmit and ajaxForm on the same form. These + functions are mutually exclusive. Use ajaxSubmit if you want + to bind your own submit handler to the form. For example, + + $(document).ready(function() { + $('#myForm').on('submit', function(e) { + e.preventDefault(); // <-- important + $(this).ajaxSubmit({ + target: '#output' + }); + }); + }); + + Use ajaxForm when you want the plugin to manage all the event binding + for you. For example, + + $(document).ready(function() { + $('#myForm').ajaxForm({ + target: '#output' + }); + }); + + You can also use ajaxForm with delegation (requires jQuery v1.7+), so the + form does not have to exist when you invoke ajaxForm: + + $('#myForm').ajaxForm({ + delegation: true, + target: '#output' + }); + + When using ajaxForm, the ajaxSubmit function will be invoked for you + at the appropriate time. +*/ + +/** + * Feature detection + */ +var feature = {}; +feature.fileapi = $("").get(0).files !== undefined; +feature.formdata = window.FormData !== undefined; + +/** + * ajaxSubmit() provides a mechanism for immediately submitting + * an HTML form using AJAX. + */ +$.fn.ajaxSubmit = function(options) { + /*jshint scripturl:true */ + + // fast fail if nothing selected (http://dev.jquery.com/ticket/2752) + if (!this.length) { + log('ajaxSubmit: skipping submit process - no element selected'); + return this; + } + + var method, action, url, $form = this; + + if (typeof options == 'function') { + options = { success: options }; + } + + method = this.attr('method'); + action = this.attr('action'); + url = (typeof action === 'string') ? $.trim(action) : ''; + url = url || window.location.href || ''; + if (url) { + // clean url (don't include hash vaue) + url = (url.match(/^([^#]+)/)||[])[1]; + } + + options = $.extend(true, { + url: url, + success: $.ajaxSettings.success, + type: method || 'GET', + iframeSrc: /^https/i.test(window.location.href || '') ? 'javascript:false' : 'about:blank' + }, options); + + // hook for manipulating the form data before it is extracted; + // convenient for use with rich editors like tinyMCE or FCKEditor + var veto = {}; + this.trigger('form-pre-serialize', [this, options, veto]); + if (veto.veto) { + log('ajaxSubmit: submit vetoed via form-pre-serialize trigger'); + return this; + } + + // provide opportunity to alter form data before it is serialized + if (options.beforeSerialize && options.beforeSerialize(this, options) === false) { + log('ajaxSubmit: submit aborted via beforeSerialize callback'); + return this; + } + + var traditional = options.traditional; + if ( traditional === undefined ) { + traditional = $.ajaxSettings.traditional; + } + + var elements = []; + var qx, a = this.formToArray(options.semantic, elements); + if (options.data) { + options.extraData = options.data; + qx = $.param(options.data, traditional); + } + + // give pre-submit callback an opportunity to abort the submit + if (options.beforeSubmit && options.beforeSubmit(a, this, options) === false) { + log('ajaxSubmit: submit aborted via beforeSubmit callback'); + return this; + } + + // fire vetoable 'validate' event + this.trigger('form-submit-validate', [a, this, options, veto]); + if (veto.veto) { + log('ajaxSubmit: submit vetoed via form-submit-validate trigger'); + return this; + } + + var q = $.param(a, traditional); + if (qx) { + q = ( q ? (q + '&' + qx) : qx ); + } + if (options.type.toUpperCase() == 'GET') { + options.url += (options.url.indexOf('?') >= 0 ? '&' : '?') + q; + options.data = null; // data is null for 'get' + } + else { + options.data = q; // data is the query string for 'post' + } + + var callbacks = []; + if (options.resetForm) { + callbacks.push(function() { $form.resetForm(); }); + } + if (options.clearForm) { + callbacks.push(function() { $form.clearForm(options.includeHidden); }); + } + + // perform a load on the target only if dataType is not provided + if (!options.dataType && options.target) { + var oldSuccess = options.success || function(){}; + callbacks.push(function(data) { + var fn = options.replaceTarget ? 'replaceWith' : 'html'; + $(options.target)[fn](data).each(oldSuccess, arguments); + }); + } + else if (options.success) { + callbacks.push(options.success); + } + + options.success = function(data, status, xhr) { // jQuery 1.4+ passes xhr as 3rd arg + var context = options.context || this ; // jQuery 1.4+ supports scope context + for (var i=0, max=callbacks.length; i < max; i++) { + callbacks[i].apply(context, [data, status, xhr || $form, $form]); + } + }; + + // are there files to upload? + + // [value] (issue #113), also see comment: + // https://github.com/malsup/form/commit/588306aedba1de01388032d5f42a60159eea9228#commitcomment-2180219 + var fileInputs = $('input[type=file]:enabled[value!=""]', this); + + var hasFileInputs = fileInputs.length > 0; + var mp = 'multipart/form-data'; + var multipart = ($form.attr('enctype') == mp || $form.attr('encoding') == mp); + + var fileAPI = feature.fileapi && feature.formdata; + log("fileAPI :" + fileAPI); + var shouldUseFrame = (hasFileInputs || multipart) && !fileAPI; + + var jqxhr; + + // options.iframe allows user to force iframe mode + // 06-NOV-09: now defaulting to iframe mode if file input is detected + if (options.iframe !== false && (options.iframe || shouldUseFrame)) { + // hack to fix Safari hang (thanks to Tim Molendijk for this) + // see: http://groups.google.com/group/jquery-dev/browse_thread/thread/36395b7ab510dd5d + if (options.closeKeepAlive) { + $.get(options.closeKeepAlive, function() { + jqxhr = fileUploadIframe(a); + }); + } + else { + jqxhr = fileUploadIframe(a); + } + } + else if ((hasFileInputs || multipart) && fileAPI) { + jqxhr = fileUploadXhr(a); + } + else { + jqxhr = $.ajax(options); + } + + $form.removeData('jqxhr').data('jqxhr', jqxhr); + + // clear element array + for (var k=0; k < elements.length; k++) + elements[k] = null; + + // fire 'notify' event + this.trigger('form-submit-notify', [this, options]); + return this; + + // utility fn for deep serialization + function deepSerialize(extraData){ + var serialized = $.param(extraData).split('&'); + var len = serialized.length; + var result = []; + var i, part; + for (i=0; i < len; i++) { + // #252; undo param space replacement + serialized[i] = serialized[i].replace(/\+/g,' '); + part = serialized[i].split('='); + // #278; use array instead of object storage, favoring array serializations + result.push([decodeURIComponent(part[0]), decodeURIComponent(part[1])]); + } + return result; + } + + // XMLHttpRequest Level 2 file uploads (big hat tip to francois2metz) + function fileUploadXhr(a) { + var formdata = new FormData(); + + for (var i=0; i < a.length; i++) { + formdata.append(a[i].name, a[i].value); + } + + if (options.extraData) { + var serializedData = deepSerialize(options.extraData); + for (i=0; i < serializedData.length; i++) + if (serializedData[i]) + formdata.append(serializedData[i][0], serializedData[i][1]); + } + + options.data = null; + + var s = $.extend(true, {}, $.ajaxSettings, options, { + contentType: false, + processData: false, + cache: false, + type: method || 'POST' + }); + + if (options.uploadProgress) { + // workaround because jqXHR does not expose upload property + s.xhr = function() { + var xhr = jQuery.ajaxSettings.xhr(); + if (xhr.upload) { + xhr.upload.addEventListener('progress', function(event) { + var percent = 0; + var position = event.loaded || event.position; /*event.position is deprecated*/ + var total = event.total; + if (event.lengthComputable) { + percent = Math.ceil(position / total * 100); + } + options.uploadProgress(event, position, total, percent); + }, false); + } + return xhr; + }; + } + + s.data = null; + var beforeSend = s.beforeSend; + s.beforeSend = function(xhr, o) { + o.data = formdata; + if(beforeSend) + beforeSend.call(this, xhr, o); + }; + return $.ajax(s); + } + + // private function for handling file uploads (hat tip to YAHOO!) + function fileUploadIframe(a) { + var form = $form[0], el, i, s, g, id, $io, io, xhr, sub, n, timedOut, timeoutHandle; + var useProp = !!$.fn.prop; + var deferred = $.Deferred(); + + if (a) { + // ensure that every serialized input is still enabled + for (i=0; i < elements.length; i++) { + el = $(elements[i]); + if ( useProp ) + el.prop('disabled', false); + else + el.removeAttr('disabled'); + } + } + + s = $.extend(true, {}, $.ajaxSettings, options); + s.context = s.context || s; + id = 'jqFormIO' + (new Date().getTime()); + if (s.iframeTarget) { + $io = $(s.iframeTarget); + n = $io.attr('name'); + if (!n) + $io.attr('name', id); + else + id = n; + } + else { + $io = $(''); + else + lyr1 = $(''); + + if (opts.theme) + lyr2 = $(''); + else + lyr2 = $(''); + + if (opts.theme && full) { + s = ''; + } + else if (opts.theme) { + s = ''; + } + else if (full) { + s = ''; + } + else { + s = ''; + } + lyr3 = $(s); + + // if we have a message, style it + if (msg) { + if (opts.theme) { + lyr3.css(themedCSS); + lyr3.addClass('ui-widget-content'); + } + else + lyr3.css(css); + } + + // style the overlay + if (!opts.theme /*&& (!opts.applyPlatformOpacityRules)*/) + lyr2.css(opts.overlayCSS); + lyr2.css('position', full ? 'fixed' : 'absolute'); + + // make iframe layer transparent in IE + if (msie || opts.forceIframe) + lyr1.css('opacity',0.0); + + //$([lyr1[0],lyr2[0],lyr3[0]]).appendTo(full ? 'body' : el); + var layers = [lyr1,lyr2,lyr3], $par = full ? $('body') : $(el); + $.each(layers, function() { + this.appendTo($par); + }); + + if (opts.theme && opts.draggable && $.fn.draggable) { + lyr3.draggable({ + handle: '.ui-dialog-titlebar', + cancel: 'li' + }); + } + + // ie7 must use absolute positioning in quirks mode and to account for activex issues (when scrolling) + var expr = setExpr && (!$.support.boxModel || $('object,embed', full ? null : el).length > 0); + if (ie6 || expr) { + // give body 100% height + if (full && opts.allowBodyStretch && $.support.boxModel) + $('html,body').css('height','100%'); + + // fix ie6 issue when blocked element has a border width + if ((ie6 || !$.support.boxModel) && !full) { + var t = sz(el,'borderTopWidth'), l = sz(el,'borderLeftWidth'); + var fixT = t ? '(0 - '+t+')' : 0; + var fixL = l ? '(0 - '+l+')' : 0; + } + + // simulate fixed position + $.each(layers, function(i,o) { + var s = o[0].style; + s.position = 'absolute'; + if (i < 2) { + if (full) + s.setExpression('height','Math.max(document.body.scrollHeight, document.body.offsetHeight) - (jQuery.support.boxModel?0:'+opts.quirksmodeOffsetHack+') + "px"'); + else + s.setExpression('height','this.parentNode.offsetHeight + "px"'); + if (full) + s.setExpression('width','jQuery.support.boxModel && document.documentElement.clientWidth || document.body.clientWidth + "px"'); + else + s.setExpression('width','this.parentNode.offsetWidth + "px"'); + if (fixL) s.setExpression('left', fixL); + if (fixT) s.setExpression('top', fixT); + } + else if (opts.centerY) { + if (full) s.setExpression('top','(document.documentElement.clientHeight || document.body.clientHeight) / 2 - (this.offsetHeight / 2) + (blah = document.documentElement.scrollTop ? document.documentElement.scrollTop : document.body.scrollTop) + "px"'); + s.marginTop = 0; + } + else if (!opts.centerY && full) { + var top = (opts.css && opts.css.top) ? parseInt(opts.css.top, 10) : 0; + var expression = '((document.documentElement.scrollTop ? document.documentElement.scrollTop : document.body.scrollTop) + '+top+') + "px"'; + s.setExpression('top',expression); + } + }); + } + + // show the message + if (msg) { + if (opts.theme) + lyr3.find('.ui-widget-content').append(msg); + else + lyr3.append(msg); + if (msg.jquery || msg.nodeType) + $(msg).show(); + } + + if ((msie || opts.forceIframe) && opts.showOverlay) + lyr1.show(); // opacity is zero + if (opts.fadeIn) { + var cb = opts.onBlock ? opts.onBlock : noOp; + var cb1 = (opts.showOverlay && !msg) ? cb : noOp; + var cb2 = msg ? cb : noOp; + if (opts.showOverlay) + lyr2._fadeIn(opts.fadeIn, cb1); + if (msg) + lyr3._fadeIn(opts.fadeIn, cb2); + } + else { + if (opts.showOverlay) + lyr2.show(); + if (msg) + lyr3.show(); + if (opts.onBlock) + opts.onBlock.bind(lyr3)(); + } + + // bind key and mouse events + bind(1, el, opts); + + if (full) { + pageBlock = lyr3[0]; + pageBlockEls = $(opts.focusableElements,pageBlock); + if (opts.focusInput) + setTimeout(focus, 20); + } + else + center(lyr3[0], opts.centerX, opts.centerY); + + if (opts.timeout) { + // auto-unblock + var to = setTimeout(function() { + if (full) + $.unblockUI(opts); + else + $(el).unblock(opts); + }, opts.timeout); + $(el).data('blockUI.timeout', to); + } + } + + // remove the block + function remove(el, opts) { + var count; + var full = (el == window); + var $el = $(el); + var data = $el.data('blockUI.history'); + var to = $el.data('blockUI.timeout'); + if (to) { + clearTimeout(to); + $el.removeData('blockUI.timeout'); + } + opts = $.extend({}, $.blockUI.defaults, opts || {}); + bind(0, el, opts); // unbind events + + if (opts.onUnblock === null) { + opts.onUnblock = $el.data('blockUI.onUnblock'); + $el.removeData('blockUI.onUnblock'); + } + + var els; + if (full) // crazy selector to handle odd field errors in ie6/7 + els = $('body').children().filter('.blockUI').add('body > .blockUI'); + else + els = $el.find('>.blockUI'); + + // fix cursor issue + if ( opts.cursorReset ) { + if ( els.length > 1 ) + els[1].style.cursor = opts.cursorReset; + if ( els.length > 2 ) + els[2].style.cursor = opts.cursorReset; + } + + if (full) + pageBlock = pageBlockEls = null; + + if (opts.fadeOut) { + count = els.length; + els.stop().fadeOut(opts.fadeOut, function() { + if ( --count === 0) + reset(els,data,opts,el); + }); + } + else + reset(els, data, opts, el); + } + + // move blocking element back into the DOM where it started + function reset(els,data,opts,el) { + var $el = $(el); + if ( $el.data('blockUI.isBlocked') ) + return; + + els.each(function(i,o) { + // remove via DOM calls so we don't lose event handlers + if (this.parentNode) + this.parentNode.removeChild(this); + }); + + if (data && data.el) { + data.el.style.display = data.display; + data.el.style.position = data.position; + data.el.style.cursor = 'default'; // #59 + if (data.parent) + data.parent.appendChild(data.el); + $el.removeData('blockUI.history'); + } + + if ($el.data('blockUI.static')) { + $el.css('position', 'static'); // #22 + } + + if (typeof opts.onUnblock == 'function') + opts.onUnblock(el,opts); + + // fix issue in Safari 6 where block artifacts remain until reflow + var body = $(document.body), w = body.width(), cssW = body[0].style.width; + body.width(w-1).width(w); + body[0].style.width = cssW; + } + + // bind/unbind the handler + function bind(b, el, opts) { + var full = el == window, $el = $(el); + + // don't bother unbinding if there is nothing to unbind + if (!b && (full && !pageBlock || !full && !$el.data('blockUI.isBlocked'))) + return; + + $el.data('blockUI.isBlocked', b); + + // don't bind events when overlay is not in use or if bindEvents is false + if (!full || !opts.bindEvents || (b && !opts.showOverlay)) + return; + + // bind anchors and inputs for mouse and key events + var events = 'mousedown mouseup keydown keypress keyup touchstart touchend touchmove'; + if (b) + $(document).bind(events, opts, handler); + else + $(document).unbind(events, handler); + + // former impl... + // var $e = $('a,:input'); + // b ? $e.bind(events, opts, handler) : $e.unbind(events, handler); + } + + // event handler to suppress keyboard/mouse events when blocking + function handler(e) { + // allow tab navigation (conditionally) + if (e.type === 'keydown' && e.keyCode && e.keyCode == 9) { + if (pageBlock && e.data.constrainTabKey) { + var els = pageBlockEls; + var fwd = !e.shiftKey && e.target === els[els.length-1]; + var back = e.shiftKey && e.target === els[0]; + if (fwd || back) { + setTimeout(function(){focus(back);},10); + return false; + } + } + } + var opts = e.data; + var target = $(e.target); + if (target.hasClass('blockOverlay') && opts.onOverlayClick) + opts.onOverlayClick(e); + + // allow events within the message content + if (target.parents('div.' + opts.blockMsgClass).length > 0) + return true; + + // allow events for content that is not being blocked + return target.parents().children().filter('div.blockUI').length === 0; + } + + function focus(back) { + if (!pageBlockEls) + return; + var e = pageBlockEls[back===true ? pageBlockEls.length-1 : 0]; + if (e) + e.focus(); + } + + function center(el, x, y) { + var p = el.parentNode, s = el.style; + var l = ((p.offsetWidth - el.offsetWidth)/2) - sz(p,'borderLeftWidth'); + var t = ((p.offsetHeight - el.offsetHeight)/2) - sz(p,'borderTopWidth'); + if (x) s.left = l > 0 ? (l+'px') : '0'; + if (y) s.top = t > 0 ? (t+'px') : '0'; + } + + function sz(el, p) { + return parseInt($.css(el,p),10)||0; + } + + } + + + /*global define:true */ + if (typeof define === 'function' && define.amd && define.amd.jQuery) { + define(['jquery'], setup); + } else { + setup(jQuery); + } + +})(); diff --git a/web/public/js/libs/jquery/jquery.fancybox-1.3.4/ajax.txt b/web/public/js/libs/jquery/jquery.fancybox-1.3.4/ajax.txt new file mode 100644 index 0000000..7e7cb5c --- /dev/null +++ b/web/public/js/libs/jquery/jquery.fancybox-1.3.4/ajax.txt @@ -0,0 +1,6 @@ +
+

This comes from ajax request

+

+ Lorem ipsum dolor sit amet, consectetur adipiscing elit. Aenean non velit. Donec pharetra, felis ut tristique adipiscing, diam magna rhoncus neque, sit amet convallis nibh nibh vel libero. Nulla facilisi. In eleifend nisl quis lorem. Duis semper fringilla justo. Proin imperdiet sapien sed lectus. Integer quis nisl et est elementum tempor. Morbi quis tellus nec turpis suscipit molestie. Praesent sed pede. Pellentesque ac orci. Sed sit amet urna eget tellus hendrerit aliquet. Nulla consectetur, pede aliquam ornare placerat, nunc augue commodo leo, sit amet elementum dolor est eleifend magna. +

+
\ No newline at end of file diff --git a/web/public/js/libs/jquery/jquery.fancybox-1.3.4/example/10_b.jpg b/web/public/js/libs/jquery/jquery.fancybox-1.3.4/example/10_b.jpg new file mode 100644 index 0000000..9a070dd Binary files /dev/null and b/web/public/js/libs/jquery/jquery.fancybox-1.3.4/example/10_b.jpg differ diff --git a/web/public/js/libs/jquery/jquery.fancybox-1.3.4/example/10_s.jpg b/web/public/js/libs/jquery/jquery.fancybox-1.3.4/example/10_s.jpg new file mode 100644 index 0000000..8a1c644 Binary files /dev/null and b/web/public/js/libs/jquery/jquery.fancybox-1.3.4/example/10_s.jpg differ diff --git a/web/public/js/libs/jquery/jquery.fancybox-1.3.4/example/11_b.jpg b/web/public/js/libs/jquery/jquery.fancybox-1.3.4/example/11_b.jpg new file mode 100644 index 0000000..ea3eb0d Binary files /dev/null and b/web/public/js/libs/jquery/jquery.fancybox-1.3.4/example/11_b.jpg differ diff --git a/web/public/js/libs/jquery/jquery.fancybox-1.3.4/example/11_s.jpg b/web/public/js/libs/jquery/jquery.fancybox-1.3.4/example/11_s.jpg new file mode 100644 index 0000000..0d071ef Binary files /dev/null and b/web/public/js/libs/jquery/jquery.fancybox-1.3.4/example/11_s.jpg differ diff --git a/web/public/js/libs/jquery/jquery.fancybox-1.3.4/example/12_b.jpg b/web/public/js/libs/jquery/jquery.fancybox-1.3.4/example/12_b.jpg new file mode 100644 index 0000000..3e620e0 Binary files /dev/null and b/web/public/js/libs/jquery/jquery.fancybox-1.3.4/example/12_b.jpg differ diff --git a/web/public/js/libs/jquery/jquery.fancybox-1.3.4/example/12_s.jpg b/web/public/js/libs/jquery/jquery.fancybox-1.3.4/example/12_s.jpg new file mode 100644 index 0000000..3d47f7c Binary files /dev/null and b/web/public/js/libs/jquery/jquery.fancybox-1.3.4/example/12_s.jpg differ diff --git a/web/public/js/libs/jquery/jquery.fancybox-1.3.4/example/1_b.jpg b/web/public/js/libs/jquery/jquery.fancybox-1.3.4/example/1_b.jpg new file mode 100644 index 0000000..93ae239 Binary files /dev/null and b/web/public/js/libs/jquery/jquery.fancybox-1.3.4/example/1_b.jpg differ diff --git a/web/public/js/libs/jquery/jquery.fancybox-1.3.4/example/1_s.jpg b/web/public/js/libs/jquery/jquery.fancybox-1.3.4/example/1_s.jpg new file mode 100644 index 0000000..97fdad2 Binary files /dev/null and b/web/public/js/libs/jquery/jquery.fancybox-1.3.4/example/1_s.jpg differ diff --git a/web/public/js/libs/jquery/jquery.fancybox-1.3.4/example/2_b.jpg b/web/public/js/libs/jquery/jquery.fancybox-1.3.4/example/2_b.jpg new file mode 100644 index 0000000..6975516 Binary files /dev/null and b/web/public/js/libs/jquery/jquery.fancybox-1.3.4/example/2_b.jpg differ diff --git a/web/public/js/libs/jquery/jquery.fancybox-1.3.4/example/2_s.jpg b/web/public/js/libs/jquery/jquery.fancybox-1.3.4/example/2_s.jpg new file mode 100644 index 0000000..b293db4 Binary files /dev/null and b/web/public/js/libs/jquery/jquery.fancybox-1.3.4/example/2_s.jpg differ diff --git a/web/public/js/libs/jquery/jquery.fancybox-1.3.4/example/3_b.jpg b/web/public/js/libs/jquery/jquery.fancybox-1.3.4/example/3_b.jpg new file mode 100644 index 0000000..5e16847 Binary files /dev/null and b/web/public/js/libs/jquery/jquery.fancybox-1.3.4/example/3_b.jpg differ diff --git a/web/public/js/libs/jquery/jquery.fancybox-1.3.4/example/3_s.jpg b/web/public/js/libs/jquery/jquery.fancybox-1.3.4/example/3_s.jpg new file mode 100644 index 0000000..0459e35 Binary files /dev/null and b/web/public/js/libs/jquery/jquery.fancybox-1.3.4/example/3_s.jpg differ diff --git a/web/public/js/libs/jquery/jquery.fancybox-1.3.4/example/4_b.jpg b/web/public/js/libs/jquery/jquery.fancybox-1.3.4/example/4_b.jpg new file mode 100644 index 0000000..5a26b6b Binary files /dev/null and b/web/public/js/libs/jquery/jquery.fancybox-1.3.4/example/4_b.jpg differ diff --git a/web/public/js/libs/jquery/jquery.fancybox-1.3.4/example/4_s.jpg b/web/public/js/libs/jquery/jquery.fancybox-1.3.4/example/4_s.jpg new file mode 100644 index 0000000..e52d803 Binary files /dev/null and b/web/public/js/libs/jquery/jquery.fancybox-1.3.4/example/4_s.jpg differ diff --git a/web/public/js/libs/jquery/jquery.fancybox-1.3.4/example/5_b.jpg b/web/public/js/libs/jquery/jquery.fancybox-1.3.4/example/5_b.jpg new file mode 100644 index 0000000..82662e3 Binary files /dev/null and b/web/public/js/libs/jquery/jquery.fancybox-1.3.4/example/5_b.jpg differ diff --git a/web/public/js/libs/jquery/jquery.fancybox-1.3.4/example/5_s.jpg b/web/public/js/libs/jquery/jquery.fancybox-1.3.4/example/5_s.jpg new file mode 100644 index 0000000..c4ae36a Binary files /dev/null and b/web/public/js/libs/jquery/jquery.fancybox-1.3.4/example/5_s.jpg differ diff --git a/web/public/js/libs/jquery/jquery.fancybox-1.3.4/example/6_b.jpg b/web/public/js/libs/jquery/jquery.fancybox-1.3.4/example/6_b.jpg new file mode 100644 index 0000000..6fcc1e7 Binary files /dev/null and b/web/public/js/libs/jquery/jquery.fancybox-1.3.4/example/6_b.jpg differ diff --git a/web/public/js/libs/jquery/jquery.fancybox-1.3.4/example/6_s.jpg b/web/public/js/libs/jquery/jquery.fancybox-1.3.4/example/6_s.jpg new file mode 100644 index 0000000..729dadd Binary files /dev/null and b/web/public/js/libs/jquery/jquery.fancybox-1.3.4/example/6_s.jpg differ diff --git a/web/public/js/libs/jquery/jquery.fancybox-1.3.4/example/7_b.jpg b/web/public/js/libs/jquery/jquery.fancybox-1.3.4/example/7_b.jpg new file mode 100644 index 0000000..fab6b7f Binary files /dev/null and b/web/public/js/libs/jquery/jquery.fancybox-1.3.4/example/7_b.jpg differ diff --git a/web/public/js/libs/jquery/jquery.fancybox-1.3.4/example/7_s.jpg b/web/public/js/libs/jquery/jquery.fancybox-1.3.4/example/7_s.jpg new file mode 100644 index 0000000..4fa27b1 Binary files /dev/null and b/web/public/js/libs/jquery/jquery.fancybox-1.3.4/example/7_s.jpg differ diff --git a/web/public/js/libs/jquery/jquery.fancybox-1.3.4/example/8_b.jpg b/web/public/js/libs/jquery/jquery.fancybox-1.3.4/example/8_b.jpg new file mode 100644 index 0000000..6d83287 Binary files /dev/null and b/web/public/js/libs/jquery/jquery.fancybox-1.3.4/example/8_b.jpg differ diff --git a/web/public/js/libs/jquery/jquery.fancybox-1.3.4/example/8_s.jpg b/web/public/js/libs/jquery/jquery.fancybox-1.3.4/example/8_s.jpg new file mode 100644 index 0000000..4014046 Binary files /dev/null and b/web/public/js/libs/jquery/jquery.fancybox-1.3.4/example/8_s.jpg differ diff --git a/web/public/js/libs/jquery/jquery.fancybox-1.3.4/example/9_b.jpg b/web/public/js/libs/jquery/jquery.fancybox-1.3.4/example/9_b.jpg new file mode 100644 index 0000000..84d4281 Binary files /dev/null and b/web/public/js/libs/jquery/jquery.fancybox-1.3.4/example/9_b.jpg differ diff --git a/web/public/js/libs/jquery/jquery.fancybox-1.3.4/example/9_s.jpg b/web/public/js/libs/jquery/jquery.fancybox-1.3.4/example/9_s.jpg new file mode 100644 index 0000000..146e0df Binary files /dev/null and b/web/public/js/libs/jquery/jquery.fancybox-1.3.4/example/9_s.jpg differ diff --git a/web/public/js/libs/jquery/jquery.fancybox-1.3.4/fancybox/blank.gif b/web/public/js/libs/jquery/jquery.fancybox-1.3.4/fancybox/blank.gif new file mode 100644 index 0000000..35d42e8 Binary files /dev/null and b/web/public/js/libs/jquery/jquery.fancybox-1.3.4/fancybox/blank.gif differ diff --git a/web/public/js/libs/jquery/jquery.fancybox-1.3.4/fancybox/fancy_close.png b/web/public/js/libs/jquery/jquery.fancybox-1.3.4/fancybox/fancy_close.png new file mode 100644 index 0000000..0703530 Binary files /dev/null and b/web/public/js/libs/jquery/jquery.fancybox-1.3.4/fancybox/fancy_close.png differ diff --git a/web/public/js/libs/jquery/jquery.fancybox-1.3.4/fancybox/fancy_loading.png b/web/public/js/libs/jquery/jquery.fancybox-1.3.4/fancybox/fancy_loading.png new file mode 100644 index 0000000..2503017 Binary files /dev/null and b/web/public/js/libs/jquery/jquery.fancybox-1.3.4/fancybox/fancy_loading.png differ diff --git a/web/public/js/libs/jquery/jquery.fancybox-1.3.4/fancybox/fancy_nav_left.png b/web/public/js/libs/jquery/jquery.fancybox-1.3.4/fancybox/fancy_nav_left.png new file mode 100644 index 0000000..ebaa6a4 Binary files /dev/null and b/web/public/js/libs/jquery/jquery.fancybox-1.3.4/fancybox/fancy_nav_left.png differ diff --git a/web/public/js/libs/jquery/jquery.fancybox-1.3.4/fancybox/fancy_nav_right.png b/web/public/js/libs/jquery/jquery.fancybox-1.3.4/fancybox/fancy_nav_right.png new file mode 100644 index 0000000..873294e Binary files /dev/null and b/web/public/js/libs/jquery/jquery.fancybox-1.3.4/fancybox/fancy_nav_right.png differ diff --git a/web/public/js/libs/jquery/jquery.fancybox-1.3.4/fancybox/fancy_shadow_e.png b/web/public/js/libs/jquery/jquery.fancybox-1.3.4/fancybox/fancy_shadow_e.png new file mode 100644 index 0000000..2eda089 Binary files /dev/null and b/web/public/js/libs/jquery/jquery.fancybox-1.3.4/fancybox/fancy_shadow_e.png differ diff --git a/web/public/js/libs/jquery/jquery.fancybox-1.3.4/fancybox/fancy_shadow_n.png b/web/public/js/libs/jquery/jquery.fancybox-1.3.4/fancybox/fancy_shadow_n.png new file mode 100644 index 0000000..69aa10e Binary files /dev/null and b/web/public/js/libs/jquery/jquery.fancybox-1.3.4/fancybox/fancy_shadow_n.png differ diff --git a/web/public/js/libs/jquery/jquery.fancybox-1.3.4/fancybox/fancy_shadow_ne.png b/web/public/js/libs/jquery/jquery.fancybox-1.3.4/fancybox/fancy_shadow_ne.png new file mode 100644 index 0000000..79f6980 Binary files /dev/null and b/web/public/js/libs/jquery/jquery.fancybox-1.3.4/fancybox/fancy_shadow_ne.png differ diff --git a/web/public/js/libs/jquery/jquery.fancybox-1.3.4/fancybox/fancy_shadow_nw.png b/web/public/js/libs/jquery/jquery.fancybox-1.3.4/fancybox/fancy_shadow_nw.png new file mode 100644 index 0000000..7182cd9 Binary files /dev/null and b/web/public/js/libs/jquery/jquery.fancybox-1.3.4/fancybox/fancy_shadow_nw.png differ diff --git a/web/public/js/libs/jquery/jquery.fancybox-1.3.4/fancybox/fancy_shadow_s.png b/web/public/js/libs/jquery/jquery.fancybox-1.3.4/fancybox/fancy_shadow_s.png new file mode 100644 index 0000000..d8858bf Binary files /dev/null and b/web/public/js/libs/jquery/jquery.fancybox-1.3.4/fancybox/fancy_shadow_s.png differ diff --git a/web/public/js/libs/jquery/jquery.fancybox-1.3.4/fancybox/fancy_shadow_se.png b/web/public/js/libs/jquery/jquery.fancybox-1.3.4/fancybox/fancy_shadow_se.png new file mode 100644 index 0000000..541e3ff Binary files /dev/null and b/web/public/js/libs/jquery/jquery.fancybox-1.3.4/fancybox/fancy_shadow_se.png differ diff --git a/web/public/js/libs/jquery/jquery.fancybox-1.3.4/fancybox/fancy_shadow_sw.png b/web/public/js/libs/jquery/jquery.fancybox-1.3.4/fancybox/fancy_shadow_sw.png new file mode 100644 index 0000000..b451689 Binary files /dev/null and b/web/public/js/libs/jquery/jquery.fancybox-1.3.4/fancybox/fancy_shadow_sw.png differ diff --git a/web/public/js/libs/jquery/jquery.fancybox-1.3.4/fancybox/fancy_shadow_w.png b/web/public/js/libs/jquery/jquery.fancybox-1.3.4/fancybox/fancy_shadow_w.png new file mode 100644 index 0000000..8a4e4a8 Binary files /dev/null and b/web/public/js/libs/jquery/jquery.fancybox-1.3.4/fancybox/fancy_shadow_w.png differ diff --git a/web/public/js/libs/jquery/jquery.fancybox-1.3.4/fancybox/fancy_title_left.png b/web/public/js/libs/jquery/jquery.fancybox-1.3.4/fancybox/fancy_title_left.png new file mode 100644 index 0000000..6049223 Binary files /dev/null and b/web/public/js/libs/jquery/jquery.fancybox-1.3.4/fancybox/fancy_title_left.png differ diff --git a/web/public/js/libs/jquery/jquery.fancybox-1.3.4/fancybox/fancy_title_main.png b/web/public/js/libs/jquery/jquery.fancybox-1.3.4/fancybox/fancy_title_main.png new file mode 100644 index 0000000..8044271 Binary files /dev/null and b/web/public/js/libs/jquery/jquery.fancybox-1.3.4/fancybox/fancy_title_main.png differ diff --git a/web/public/js/libs/jquery/jquery.fancybox-1.3.4/fancybox/fancy_title_over.png b/web/public/js/libs/jquery/jquery.fancybox-1.3.4/fancybox/fancy_title_over.png new file mode 100644 index 0000000..d9f458f Binary files /dev/null and b/web/public/js/libs/jquery/jquery.fancybox-1.3.4/fancybox/fancy_title_over.png differ diff --git a/web/public/js/libs/jquery/jquery.fancybox-1.3.4/fancybox/fancy_title_right.png b/web/public/js/libs/jquery/jquery.fancybox-1.3.4/fancybox/fancy_title_right.png new file mode 100644 index 0000000..e36d9db Binary files /dev/null and b/web/public/js/libs/jquery/jquery.fancybox-1.3.4/fancybox/fancy_title_right.png differ diff --git a/web/public/js/libs/jquery/jquery.fancybox-1.3.4/fancybox/fancybox-x.png b/web/public/js/libs/jquery/jquery.fancybox-1.3.4/fancybox/fancybox-x.png new file mode 100644 index 0000000..c2130f8 Binary files /dev/null and b/web/public/js/libs/jquery/jquery.fancybox-1.3.4/fancybox/fancybox-x.png differ diff --git a/web/public/js/libs/jquery/jquery.fancybox-1.3.4/fancybox/fancybox-y.png b/web/public/js/libs/jquery/jquery.fancybox-1.3.4/fancybox/fancybox-y.png new file mode 100644 index 0000000..7ef399b Binary files /dev/null and b/web/public/js/libs/jquery/jquery.fancybox-1.3.4/fancybox/fancybox-y.png differ diff --git a/web/public/js/libs/jquery/jquery.fancybox-1.3.4/fancybox/fancybox.png b/web/public/js/libs/jquery/jquery.fancybox-1.3.4/fancybox/fancybox.png new file mode 100644 index 0000000..65e14f6 Binary files /dev/null and b/web/public/js/libs/jquery/jquery.fancybox-1.3.4/fancybox/fancybox.png differ diff --git a/web/public/js/libs/jquery/jquery.fancybox-1.3.4/fancybox/jquery.easing-1.3.pack.js b/web/public/js/libs/jquery/jquery.fancybox-1.3.4/fancybox/jquery.easing-1.3.pack.js new file mode 100644 index 0000000..9028179 --- /dev/null +++ b/web/public/js/libs/jquery/jquery.fancybox-1.3.4/fancybox/jquery.easing-1.3.pack.js @@ -0,0 +1,72 @@ +/* + * jQuery Easing v1.3 - http://gsgd.co.uk/sandbox/jquery/easing/ + * + * Uses the built in easing capabilities added In jQuery 1.1 + * to offer multiple easing options + * + * TERMS OF USE - jQuery Easing + * + * Open source under the BSD License. + * + * Copyright © 2008 George McGinley Smith + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * Neither the name of the author nor the names of contributors may be used to endorse + * or promote products derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY + * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE + * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE + * GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED + * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED + * OF THE POSSIBILITY OF SUCH DAMAGE. + * +*/ + +// t: current time, b: begInnIng value, c: change In value, d: duration +eval(function(p,a,c,k,e,r){e=function(c){return(c35?String.fromCharCode(c+29):c.toString(36))};if(!''.replace(/^/,String)){while(c--)r[e(c)]=k[c]||e(c);k=[function(e){return r[e]}];e=function(){return'\\w+'};c=1};while(c--)if(k[c])p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c]);return p}('h.i[\'1a\']=h.i[\'z\'];h.O(h.i,{y:\'D\',z:9(x,t,b,c,d){6 h.i[h.i.y](x,t,b,c,d)},17:9(x,t,b,c,d){6 c*(t/=d)*t+b},D:9(x,t,b,c,d){6-c*(t/=d)*(t-2)+b},13:9(x,t,b,c,d){e((t/=d/2)<1)6 c/2*t*t+b;6-c/2*((--t)*(t-2)-1)+b},X:9(x,t,b,c,d){6 c*(t/=d)*t*t+b},U:9(x,t,b,c,d){6 c*((t=t/d-1)*t*t+1)+b},R:9(x,t,b,c,d){e((t/=d/2)<1)6 c/2*t*t*t+b;6 c/2*((t-=2)*t*t+2)+b},N:9(x,t,b,c,d){6 c*(t/=d)*t*t*t+b},M:9(x,t,b,c,d){6-c*((t=t/d-1)*t*t*t-1)+b},L:9(x,t,b,c,d){e((t/=d/2)<1)6 c/2*t*t*t*t+b;6-c/2*((t-=2)*t*t*t-2)+b},K:9(x,t,b,c,d){6 c*(t/=d)*t*t*t*t+b},J:9(x,t,b,c,d){6 c*((t=t/d-1)*t*t*t*t+1)+b},I:9(x,t,b,c,d){e((t/=d/2)<1)6 c/2*t*t*t*t*t+b;6 c/2*((t-=2)*t*t*t*t+2)+b},G:9(x,t,b,c,d){6-c*8.C(t/d*(8.g/2))+c+b},15:9(x,t,b,c,d){6 c*8.n(t/d*(8.g/2))+b},12:9(x,t,b,c,d){6-c/2*(8.C(8.g*t/d)-1)+b},Z:9(x,t,b,c,d){6(t==0)?b:c*8.j(2,10*(t/d-1))+b},Y:9(x,t,b,c,d){6(t==d)?b+c:c*(-8.j(2,-10*t/d)+1)+b},W:9(x,t,b,c,d){e(t==0)6 b;e(t==d)6 b+c;e((t/=d/2)<1)6 c/2*8.j(2,10*(t-1))+b;6 c/2*(-8.j(2,-10*--t)+2)+b},V:9(x,t,b,c,d){6-c*(8.o(1-(t/=d)*t)-1)+b},S:9(x,t,b,c,d){6 c*8.o(1-(t=t/d-1)*t)+b},Q:9(x,t,b,c,d){e((t/=d/2)<1)6-c/2*(8.o(1-t*t)-1)+b;6 c/2*(8.o(1-(t-=2)*t)+1)+b},P:9(x,t,b,c,d){f s=1.l;f p=0;f a=c;e(t==0)6 b;e((t/=d)==1)6 b+c;e(!p)p=d*.3;e(a<8.w(c)){a=c;f s=p/4}m f s=p/(2*8.g)*8.r(c/a);6-(a*8.j(2,10*(t-=1))*8.n((t*d-s)*(2*8.g)/p))+b},H:9(x,t,b,c,d){f s=1.l;f p=0;f a=c;e(t==0)6 b;e((t/=d)==1)6 b+c;e(!p)p=d*.3;e(a<8.w(c)){a=c;f s=p/4}m f s=p/(2*8.g)*8.r(c/a);6 a*8.j(2,-10*t)*8.n((t*d-s)*(2*8.g)/p)+c+b},T:9(x,t,b,c,d){f s=1.l;f p=0;f a=c;e(t==0)6 b;e((t/=d/2)==2)6 b+c;e(!p)p=d*(.3*1.5);e(a<8.w(c)){a=c;f s=p/4}m f s=p/(2*8.g)*8.r(c/a);e(t<1)6-.5*(a*8.j(2,10*(t-=1))*8.n((t*d-s)*(2*8.g)/p))+b;6 a*8.j(2,-10*(t-=1))*8.n((t*d-s)*(2*8.g)/p)*.5+c+b},F:9(x,t,b,c,d,s){e(s==u)s=1.l;6 c*(t/=d)*t*((s+1)*t-s)+b},E:9(x,t,b,c,d,s){e(s==u)s=1.l;6 c*((t=t/d-1)*t*((s+1)*t+s)+1)+b},16:9(x,t,b,c,d,s){e(s==u)s=1.l;e((t/=d/2)<1)6 c/2*(t*t*(((s*=(1.B))+1)*t-s))+b;6 c/2*((t-=2)*t*(((s*=(1.B))+1)*t+s)+2)+b},A:9(x,t,b,c,d){6 c-h.i.v(x,d-t,0,c,d)+b},v:9(x,t,b,c,d){e((t/=d)<(1/2.k)){6 c*(7.q*t*t)+b}m e(t<(2/2.k)){6 c*(7.q*(t-=(1.5/2.k))*t+.k)+b}m e(t<(2.5/2.k)){6 c*(7.q*(t-=(2.14/2.k))*t+.11)+b}m{6 c*(7.q*(t-=(2.18/2.k))*t+.19)+b}},1b:9(x,t,b,c,d){e(t')[0], { prop: 0 }), + + isIE6 = $.browser.msie && $.browser.version < 7 && !window.XMLHttpRequest, + + /* + * Private methods + */ + + _abort = function() { + loading.hide(); + + imgPreloader.onerror = imgPreloader.onload = null; + + if (ajaxLoader) { + ajaxLoader.abort(); + } + + tmp.empty(); + }, + + _error = function() { + if (false === selectedOpts.onError(selectedArray, selectedIndex, selectedOpts)) { + loading.hide(); + busy = false; + return; + } + + selectedOpts.titleShow = false; + + selectedOpts.width = 'auto'; + selectedOpts.height = 'auto'; + + tmp.html( '

The requested content cannot be loaded.
Please try again later.

' ); + + _process_inline(); + }, + + _start = function() { + var obj = selectedArray[ selectedIndex ], + href, + type, + title, + str, + emb, + ret; + + _abort(); + + selectedOpts = $.extend({}, $.fn.fancybox.defaults, (typeof $(obj).data('fancybox') == 'undefined' ? selectedOpts : $(obj).data('fancybox'))); + + ret = selectedOpts.onStart(selectedArray, selectedIndex, selectedOpts); + + if (ret === false) { + busy = false; + return; + } else if (typeof ret == 'object') { + selectedOpts = $.extend(selectedOpts, ret); + } + + title = selectedOpts.title || (obj.nodeName ? $(obj).attr('title') : obj.title) || ''; + + if (obj.nodeName && !selectedOpts.orig) { + selectedOpts.orig = $(obj).children("img:first").length ? $(obj).children("img:first") : $(obj); + } + + if (title === '' && selectedOpts.orig && selectedOpts.titleFromAlt) { + title = selectedOpts.orig.attr('alt'); + } + + href = selectedOpts.href || (obj.nodeName ? $(obj).attr('href') : obj.href) || null; + + if ((/^(?:javascript)/i).test(href) || href == '#') { + href = null; + } + + if (selectedOpts.type) { + type = selectedOpts.type; + + if (!href) { + href = selectedOpts.content; + } + + } else if (selectedOpts.content) { + type = 'html'; + + } else if (href) { + if (href.match(imgRegExp)) { + type = 'image'; + + } else if (href.match(swfRegExp)) { + type = 'swf'; + + } else if ($(obj).hasClass("iframe")) { + type = 'iframe'; + + } else if (href.indexOf("#") === 0) { + type = 'inline'; + + } else { + type = 'ajax'; + } + } + + if (!type) { + _error(); + return; + } + + if (type == 'inline') { + obj = href.substr(href.indexOf("#")); + type = $(obj).length > 0 ? 'inline' : 'ajax'; + } + + selectedOpts.type = type; + selectedOpts.href = href; + selectedOpts.title = title; + + if (selectedOpts.autoDimensions) { + if (selectedOpts.type == 'html' || selectedOpts.type == 'inline' || selectedOpts.type == 'ajax') { + selectedOpts.width = 'auto'; + selectedOpts.height = 'auto'; + } else { + selectedOpts.autoDimensions = false; + } + } + + if (selectedOpts.modal) { + selectedOpts.overlayShow = true; + selectedOpts.hideOnOverlayClick = false; + selectedOpts.hideOnContentClick = false; + selectedOpts.enableEscapeButton = false; + selectedOpts.showCloseButton = false; + } + + selectedOpts.padding = parseInt(selectedOpts.padding, 10); + selectedOpts.margin = parseInt(selectedOpts.margin, 10); + + tmp.css('padding', (selectedOpts.padding + selectedOpts.margin)); + + $('.fancybox-inline-tmp').unbind('fancybox-cancel').bind('fancybox-change', function() { + $(this).replaceWith(content.children()); + }); + + switch (type) { + case 'html' : + tmp.html( selectedOpts.content ); + _process_inline(); + break; + + case 'inline' : + if ( $(obj).parent().is('#fancybox-content') === true) { + busy = false; + return; + } + + $('
') + .hide() + .insertBefore( $(obj) ) + .bind('fancybox-cleanup', function() { + $(this).replaceWith(content.children()); + }).bind('fancybox-cancel', function() { + $(this).replaceWith(tmp.children()); + }); + + $(obj).appendTo(tmp); + + _process_inline(); + break; + + case 'image': + busy = false; + + $.fancybox.showActivity(); + + imgPreloader = new Image(); + + imgPreloader.onerror = function() { + _error(); + }; + + imgPreloader.onload = function() { + busy = true; + + imgPreloader.onerror = imgPreloader.onload = null; + + _process_image(); + }; + + imgPreloader.src = href; + break; + + case 'swf': + selectedOpts.scrolling = 'no'; + + str = ''; + emb = ''; + + $.each(selectedOpts.swf, function(name, val) { + str += ''; + emb += ' ' + name + '="' + val + '"'; + }); + + str += ''; + + tmp.html(str); + + _process_inline(); + break; + + case 'ajax': + busy = false; + + $.fancybox.showActivity(); + + selectedOpts.ajax.win = selectedOpts.ajax.success; + + ajaxLoader = $.ajax($.extend({}, selectedOpts.ajax, { + url : href, + data : selectedOpts.ajax.data || {}, + error : function(XMLHttpRequest, textStatus, errorThrown) { + if ( XMLHttpRequest.status > 0 ) { + _error(); + } + }, + success : function(data, textStatus, XMLHttpRequest) { + var o = typeof XMLHttpRequest == 'object' ? XMLHttpRequest : ajaxLoader; + if (o.status == 200) { + if ( typeof selectedOpts.ajax.win == 'function' ) { + ret = selectedOpts.ajax.win(href, data, textStatus, XMLHttpRequest); + + if (ret === false) { + loading.hide(); + return; + } else if (typeof ret == 'string' || typeof ret == 'object') { + data = ret; + } + } + + tmp.html( data ); + _process_inline(); + } + } + })); + + break; + + case 'iframe': + _show(); + break; + } + }, + + _process_inline = function() { + var + w = selectedOpts.width, + h = selectedOpts.height; + + if (w.toString().indexOf('%') > -1) { + w = parseInt( ($(window).width() - (selectedOpts.margin * 2)) * parseFloat(w) / 100, 10) + 'px'; + + } else { + w = w == 'auto' ? 'auto' : w + 'px'; + } + + if (h.toString().indexOf('%') > -1) { + h = parseInt( ($(window).height() - (selectedOpts.margin * 2)) * parseFloat(h) / 100, 10) + 'px'; + + } else { + h = h == 'auto' ? 'auto' : h + 'px'; + } + + tmp.wrapInner('
'); + + selectedOpts.width = tmp.width(); + selectedOpts.height = tmp.height(); + + _show(); + }, + + _process_image = function() { + selectedOpts.width = imgPreloader.width; + selectedOpts.height = imgPreloader.height; + + $("").attr({ + 'id' : 'fancybox-img', + 'src' : imgPreloader.src, + 'alt' : selectedOpts.title + }).appendTo( tmp ); + + _show(); + }, + + _show = function() { + var pos, equal; + + loading.hide(); + + if (wrap.is(":visible") && false === currentOpts.onCleanup(currentArray, currentIndex, currentOpts)) { + $.event.trigger('fancybox-cancel'); + + busy = false; + return; + } + + busy = true; + + $(content.add( overlay )).unbind(); + + $(window).unbind("resize.fb scroll.fb"); + $(document).unbind('keydown.fb'); + + if (wrap.is(":visible") && currentOpts.titlePosition !== 'outside') { + wrap.css('height', wrap.height()); + } + + currentArray = selectedArray; + currentIndex = selectedIndex; + currentOpts = selectedOpts; + + if (currentOpts.overlayShow) { + overlay.css({ + 'background-color' : currentOpts.overlayColor, + 'opacity' : currentOpts.overlayOpacity, + 'cursor' : currentOpts.hideOnOverlayClick ? 'pointer' : 'auto', + 'height' : $(document).height() + }); + + if (!overlay.is(':visible')) { + if (isIE6) { + $('select:not(#fancybox-tmp select)').filter(function() { + return this.style.visibility !== 'hidden'; + }).css({'visibility' : 'hidden'}).one('fancybox-cleanup', function() { + this.style.visibility = 'inherit'; + }); + } + + overlay.show(); + } + } else { + overlay.hide(); + } + + final_pos = _get_zoom_to(); + + _process_title(); + + if (wrap.is(":visible")) { + $( close.add( nav_left ).add( nav_right ) ).hide(); + + pos = wrap.position(), + + start_pos = { + top : pos.top, + left : pos.left, + width : wrap.width(), + height : wrap.height() + }; + + equal = (start_pos.width == final_pos.width && start_pos.height == final_pos.height); + + content.fadeTo(currentOpts.changeFade, 0.3, function() { + var finish_resizing = function() { + content.html( tmp.contents() ).fadeTo(currentOpts.changeFade, 1, _finish); + }; + + $.event.trigger('fancybox-change'); + + content + .empty() + .removeAttr('filter') + .css({ + 'border-width' : currentOpts.padding, + 'width' : final_pos.width - currentOpts.padding * 2, + 'height' : selectedOpts.autoDimensions ? 'auto' : final_pos.height - titleHeight - currentOpts.padding * 2 + }); + + if (equal) { + finish_resizing(); + + } else { + fx.prop = 0; + + $(fx).animate({prop: 1}, { + duration : currentOpts.changeSpeed, + easing : currentOpts.easingChange, + step : _draw, + complete : finish_resizing + }); + } + }); + + return; + } + + wrap.removeAttr("style"); + + content.css('border-width', currentOpts.padding); + + if (currentOpts.transitionIn == 'elastic') { + start_pos = _get_zoom_from(); + + content.html( tmp.contents() ); + + wrap.show(); + + if (currentOpts.opacity) { + final_pos.opacity = 0; + } + + fx.prop = 0; + + $(fx).animate({prop: 1}, { + duration : currentOpts.speedIn, + easing : currentOpts.easingIn, + step : _draw, + complete : _finish + }); + + return; + } + + if (currentOpts.titlePosition == 'inside' && titleHeight > 0) { + title.show(); + } + + content + .css({ + 'width' : final_pos.width - currentOpts.padding * 2, + 'height' : selectedOpts.autoDimensions ? 'auto' : final_pos.height - titleHeight - currentOpts.padding * 2 + }) + .html( tmp.contents() ); + + wrap + .css(final_pos) + .fadeIn( currentOpts.transitionIn == 'none' ? 0 : currentOpts.speedIn, _finish ); + }, + + _format_title = function(title) { + if (title && title.length) { + if (currentOpts.titlePosition == 'float') { + return '
' + title + '
'; + } + + return '
' + title + '
'; + } + + return false; + }, + + _process_title = function() { + titleStr = currentOpts.title || ''; + titleHeight = 0; + + title + .empty() + .removeAttr('style') + .removeClass(); + + if (currentOpts.titleShow === false) { + title.hide(); + return; + } + + titleStr = $.isFunction(currentOpts.titleFormat) ? currentOpts.titleFormat(titleStr, currentArray, currentIndex, currentOpts) : _format_title(titleStr); + + if (!titleStr || titleStr === '') { + title.hide(); + return; + } + + title + .addClass('fancybox-title-' + currentOpts.titlePosition) + .html( titleStr ) + .appendTo( 'body' ) + .show(); + + switch (currentOpts.titlePosition) { + case 'inside': + title + .css({ + 'width' : final_pos.width - (currentOpts.padding * 2), + 'marginLeft' : currentOpts.padding, + 'marginRight' : currentOpts.padding + }); + + titleHeight = title.outerHeight(true); + + title.appendTo( outer ); + + final_pos.height += titleHeight; + break; + + case 'over': + title + .css({ + 'marginLeft' : currentOpts.padding, + 'width' : final_pos.width - (currentOpts.padding * 2), + 'bottom' : currentOpts.padding + }) + .appendTo( outer ); + break; + + case 'float': + title + .css('left', parseInt((title.width() - final_pos.width - 40)/ 2, 10) * -1) + .appendTo( wrap ); + break; + + default: + title + .css({ + 'width' : final_pos.width - (currentOpts.padding * 2), + 'paddingLeft' : currentOpts.padding, + 'paddingRight' : currentOpts.padding + }) + .appendTo( wrap ); + break; + } + + title.hide(); + }, + + _set_navigation = function() { + if (currentOpts.enableEscapeButton || currentOpts.enableKeyboardNav) { + $(document).bind('keydown.fb', function(e) { + if (e.keyCode == 27 && currentOpts.enableEscapeButton) { + e.preventDefault(); + $.fancybox.close(); + + } else if ((e.keyCode == 37 || e.keyCode == 39) && currentOpts.enableKeyboardNav && e.target.tagName !== 'INPUT' && e.target.tagName !== 'TEXTAREA' && e.target.tagName !== 'SELECT') { + e.preventDefault(); + $.fancybox[ e.keyCode == 37 ? 'prev' : 'next'](); + } + }); + } + + if (!currentOpts.showNavArrows) { + nav_left.hide(); + nav_right.hide(); + return; + } + + if ((currentOpts.cyclic && currentArray.length > 1) || currentIndex !== 0) { + nav_left.show(); + } + + if ((currentOpts.cyclic && currentArray.length > 1) || currentIndex != (currentArray.length -1)) { + nav_right.show(); + } + }, + + _finish = function () { + if (!$.support.opacity) { + content.get(0).style.removeAttribute('filter'); + wrap.get(0).style.removeAttribute('filter'); + } + + if (selectedOpts.autoDimensions) { + content.css('height', 'auto'); + } + + wrap.css('height', 'auto'); + + if (titleStr && titleStr.length) { + title.show(); + } + + if (currentOpts.showCloseButton) { + close.show(); + } + + _set_navigation(); + + if (currentOpts.hideOnContentClick) { + content.bind('click', $.fancybox.close); + } + + if (currentOpts.hideOnOverlayClick) { + overlay.bind('click', $.fancybox.close); + } + + $(window).bind("resize.fb", $.fancybox.resize); + + if (currentOpts.centerOnScroll) { + $(window).bind("scroll.fb", $.fancybox.center); + } + + if (currentOpts.type == 'iframe') { + $('').appendTo(content); + } + + wrap.show(); + + busy = false; + + $.fancybox.center(); + + currentOpts.onComplete(currentArray, currentIndex, currentOpts); + + _preload_images(); + }, + + _preload_images = function() { + var href, + objNext; + + if ((currentArray.length -1) > currentIndex) { + href = currentArray[ currentIndex + 1 ].href; + + if (typeof href !== 'undefined' && href.match(imgRegExp)) { + objNext = new Image(); + objNext.src = href; + } + } + + if (currentIndex > 0) { + href = currentArray[ currentIndex - 1 ].href; + + if (typeof href !== 'undefined' && href.match(imgRegExp)) { + objNext = new Image(); + objNext.src = href; + } + } + }, + + _draw = function(pos) { + var dim = { + width : parseInt(start_pos.width + (final_pos.width - start_pos.width) * pos, 10), + height : parseInt(start_pos.height + (final_pos.height - start_pos.height) * pos, 10), + + top : parseInt(start_pos.top + (final_pos.top - start_pos.top) * pos, 10), + left : parseInt(start_pos.left + (final_pos.left - start_pos.left) * pos, 10) + }; + + if (typeof final_pos.opacity !== 'undefined') { + dim.opacity = pos < 0.5 ? 0.5 : pos; + } + + wrap.css(dim); + + content.css({ + 'width' : dim.width - currentOpts.padding * 2, + 'height' : dim.height - (titleHeight * pos) - currentOpts.padding * 2 + }); + }, + + _get_viewport = function() { + return [ + $(window).width() - (currentOpts.margin * 2), + $(window).height() - (currentOpts.margin * 2), + $(document).scrollLeft() + currentOpts.margin, + $(document).scrollTop() + currentOpts.margin + ]; + }, + + _get_zoom_to = function () { + var view = _get_viewport(), + to = {}, + resize = currentOpts.autoScale, + double_padding = currentOpts.padding * 2, + ratio; + + if (currentOpts.width.toString().indexOf('%') > -1) { + to.width = parseInt((view[0] * parseFloat(currentOpts.width)) / 100, 10); + } else { + to.width = currentOpts.width + double_padding; + } + + if (currentOpts.height.toString().indexOf('%') > -1) { + to.height = parseInt((view[1] * parseFloat(currentOpts.height)) / 100, 10); + } else { + to.height = currentOpts.height + double_padding; + } + + if (resize && (to.width > view[0] || to.height > view[1])) { + if (selectedOpts.type == 'image' || selectedOpts.type == 'swf') { + ratio = (currentOpts.width ) / (currentOpts.height ); + + if ((to.width ) > view[0]) { + to.width = view[0]; + to.height = parseInt(((to.width - double_padding) / ratio) + double_padding, 10); + } + + if ((to.height) > view[1]) { + to.height = view[1]; + to.width = parseInt(((to.height - double_padding) * ratio) + double_padding, 10); + } + + } else { + to.width = Math.min(to.width, view[0]); + to.height = Math.min(to.height, view[1]); + } + } + + to.top = parseInt(Math.max(view[3] - 20, view[3] + ((view[1] - to.height - 40) * 0.5)), 10); + to.left = parseInt(Math.max(view[2] - 20, view[2] + ((view[0] - to.width - 40) * 0.5)), 10); + + return to; + }, + + _get_obj_pos = function(obj) { + var pos = obj.offset(); + + pos.top += parseInt( obj.css('paddingTop'), 10 ) || 0; + pos.left += parseInt( obj.css('paddingLeft'), 10 ) || 0; + + pos.top += parseInt( obj.css('border-top-width'), 10 ) || 0; + pos.left += parseInt( obj.css('border-left-width'), 10 ) || 0; + + pos.width = obj.width(); + pos.height = obj.height(); + + return pos; + }, + + _get_zoom_from = function() { + var orig = selectedOpts.orig ? $(selectedOpts.orig) : false, + from = {}, + pos, + view; + + if (orig && orig.length) { + pos = _get_obj_pos(orig); + + from = { + width : pos.width + (currentOpts.padding * 2), + height : pos.height + (currentOpts.padding * 2), + top : pos.top - currentOpts.padding - 20, + left : pos.left - currentOpts.padding - 20 + }; + + } else { + view = _get_viewport(); + + from = { + width : currentOpts.padding * 2, + height : currentOpts.padding * 2, + top : parseInt(view[3] + view[1] * 0.5, 10), + left : parseInt(view[2] + view[0] * 0.5, 10) + }; + } + + return from; + }, + + _animate_loading = function() { + if (!loading.is(':visible')){ + clearInterval(loadingTimer); + return; + } + + $('div', loading).css('top', (loadingFrame * -40) + 'px'); + + loadingFrame = (loadingFrame + 1) % 12; + }; + + /* + * Public methods + */ + + $.fn.fancybox = function(options) { + if (!$(this).length) { + return this; + } + + $(this) + .data('fancybox', $.extend({}, options, ($.metadata ? $(this).metadata() : {}))) + .unbind('click.fb') + .bind('click.fb', function(e) { + e.preventDefault(); + + if (busy) { + return; + } + + busy = true; + + $(this).blur(); + + selectedArray = []; + selectedIndex = 0; + + var rel = $(this).attr('rel') || ''; + + if (!rel || rel == '' || rel === 'nofollow') { + selectedArray.push(this); + + } else { + selectedArray = $("a[rel=" + rel + "], area[rel=" + rel + "]"); + selectedIndex = selectedArray.index( this ); + } + + _start(); + + return; + }); + + return this; + }; + + $.fancybox = function(obj) { + var opts; + + if (busy) { + return; + } + + busy = true; + opts = typeof arguments[1] !== 'undefined' ? arguments[1] : {}; + + selectedArray = []; + selectedIndex = parseInt(opts.index, 10) || 0; + + if ($.isArray(obj)) { + for (var i = 0, j = obj.length; i < j; i++) { + if (typeof obj[i] == 'object') { + $(obj[i]).data('fancybox', $.extend({}, opts, obj[i])); + } else { + obj[i] = $({}).data('fancybox', $.extend({content : obj[i]}, opts)); + } + } + + selectedArray = jQuery.merge(selectedArray, obj); + + } else { + if (typeof obj == 'object') { + $(obj).data('fancybox', $.extend({}, opts, obj)); + } else { + obj = $({}).data('fancybox', $.extend({content : obj}, opts)); + } + + selectedArray.push(obj); + } + + if (selectedIndex > selectedArray.length || selectedIndex < 0) { + selectedIndex = 0; + } + + _start(); + }; + + $.fancybox.showActivity = function() { + clearInterval(loadingTimer); + + loading.show(); + loadingTimer = setInterval(_animate_loading, 66); + }; + + $.fancybox.hideActivity = function() { + loading.hide(); + }; + + $.fancybox.next = function() { + return $.fancybox.pos( currentIndex + 1); + }; + + $.fancybox.prev = function() { + return $.fancybox.pos( currentIndex - 1); + }; + + $.fancybox.pos = function(pos) { + if (busy) { + return; + } + + pos = parseInt(pos); + + selectedArray = currentArray; + + if (pos > -1 && pos < currentArray.length) { + selectedIndex = pos; + _start(); + + } else if (currentOpts.cyclic && currentArray.length > 1) { + selectedIndex = pos >= currentArray.length ? 0 : currentArray.length - 1; + _start(); + } + + return; + }; + + $.fancybox.cancel = function() { + if (busy) { + return; + } + + busy = true; + + $.event.trigger('fancybox-cancel'); + + _abort(); + + selectedOpts.onCancel(selectedArray, selectedIndex, selectedOpts); + + busy = false; + }; + + // Note: within an iframe use - parent.$.fancybox.close(); + $.fancybox.close = function() { + if (busy || wrap.is(':hidden')) { + return; + } + + busy = true; + + if (currentOpts && false === currentOpts.onCleanup(currentArray, currentIndex, currentOpts)) { + busy = false; + return; + } + + _abort(); + + $(close.add( nav_left ).add( nav_right )).hide(); + + $(content.add( overlay )).unbind(); + + $(window).unbind("resize.fb scroll.fb"); + $(document).unbind('keydown.fb'); + + content.find('iframe').attr('src', isIE6 && /^https/i.test(window.location.href || '') ? 'javascript:void(false)' : 'about:blank'); + + if (currentOpts.titlePosition !== 'inside') { + title.empty(); + } + + wrap.stop(); + + function _cleanup() { + overlay.fadeOut('fast'); + + title.empty().hide(); + wrap.hide(); + + $.event.trigger('fancybox-cleanup'); + + content.empty(); + + currentOpts.onClosed(currentArray, currentIndex, currentOpts); + + currentArray = selectedOpts = []; + currentIndex = selectedIndex = 0; + currentOpts = selectedOpts = {}; + + busy = false; + } + + if (currentOpts.transitionOut == 'elastic') { + start_pos = _get_zoom_from(); + + var pos = wrap.position(); + + final_pos = { + top : pos.top , + left : pos.left, + width : wrap.width(), + height : wrap.height() + }; + + if (currentOpts.opacity) { + final_pos.opacity = 1; + } + + title.empty().hide(); + + fx.prop = 1; + + $(fx).animate({ prop: 0 }, { + duration : currentOpts.speedOut, + easing : currentOpts.easingOut, + step : _draw, + complete : _cleanup + }); + + } else { + wrap.fadeOut( currentOpts.transitionOut == 'none' ? 0 : currentOpts.speedOut, _cleanup); + } + }; + + $.fancybox.resize = function() { + if (overlay.is(':visible')) { + overlay.css('height', $(document).height()); + } + + $.fancybox.center(true); + }; + + $.fancybox.center = function() { + var view, align; + + if (busy) { + return; + } + + align = arguments[0] === true ? 1 : 0; + view = _get_viewport(); + + if (!align && (wrap.width() > view[0] || wrap.height() > view[1])) { + return; + } + + wrap + .stop() + .animate({ + 'top' : parseInt(Math.max(view[3] - 20, view[3] + ((view[1] - content.height() - 40) * 0.5) - currentOpts.padding)), + 'left' : parseInt(Math.max(view[2] - 20, view[2] + ((view[0] - content.width() - 40) * 0.5) - currentOpts.padding)) + }, typeof arguments[0] == 'number' ? arguments[0] : 200); + }; + + $.fancybox.init = function() { + if ($("#fancybox-wrap").length) { + return; + } + + $('body').append( + tmp = $('
'), + loading = $('
'), + overlay = $('
'), + wrap = $('
') + ); + + outer = $('
') + .append('
') + .appendTo( wrap ); + + outer.append( + content = $('
'), + close = $(''), + title = $('
'), + + nav_left = $(''), + nav_right = $('') + ); + + close.click($.fancybox.close); + loading.click($.fancybox.cancel); + + nav_left.click(function(e) { + e.preventDefault(); + $.fancybox.prev(); + }); + + nav_right.click(function(e) { + e.preventDefault(); + $.fancybox.next(); + }); + + if ($.fn.mousewheel) { + wrap.bind('mousewheel.fb', function(e, delta) { + if (busy) { + e.preventDefault(); + + } else if ($(e.target).get(0).clientHeight == 0 || $(e.target).get(0).scrollHeight === $(e.target).get(0).clientHeight) { + e.preventDefault(); + $.fancybox[ delta > 0 ? 'prev' : 'next'](); + } + }); + } + + if (!$.support.opacity) { + wrap.addClass('fancybox-ie'); + } + + if (isIE6) { + loading.addClass('fancybox-ie6'); + wrap.addClass('fancybox-ie6'); + + $('').prependTo(outer); + } + }; + + $.fn.fancybox.defaults = { + padding : 10, + margin : 40, + opacity : false, + modal : false, + cyclic : false, + scrolling : 'auto', // 'auto', 'yes' or 'no' + + width : 560, + height : 340, + + autoScale : true, + autoDimensions : true, + centerOnScroll : false, + + ajax : {}, + swf : { wmode: 'transparent' }, + + hideOnOverlayClick : true, + hideOnContentClick : false, + + overlayShow : true, + overlayOpacity : 0.7, + overlayColor : '#777', + + titleShow : true, + titlePosition : 'float', // 'float', 'outside', 'inside' or 'over' + titleFormat : null, + titleFromAlt : false, + + transitionIn : 'fade', // 'elastic', 'fade' or 'none' + transitionOut : 'fade', // 'elastic', 'fade' or 'none' + + speedIn : 300, + speedOut : 300, + + changeSpeed : 300, + changeFade : 'fast', + + easingIn : 'swing', + easingOut : 'swing', + + showCloseButton : true, + showNavArrows : true, + enableEscapeButton : true, + enableKeyboardNav : true, + + onStart : function(){}, + onCancel : function(){}, + onComplete : function(){}, + onCleanup : function(){}, + onClosed : function(){}, + onError : function(){} + }; + + $(document).ready(function() { + $.fancybox.init(); + }); + +})(jQuery); \ No newline at end of file diff --git a/web/public/js/libs/jquery/jquery.fancybox-1.3.4/fancybox/jquery.fancybox-1.3.4.pack.js b/web/public/js/libs/jquery/jquery.fancybox-1.3.4/fancybox/jquery.fancybox-1.3.4.pack.js new file mode 100644 index 0000000..1373ed0 --- /dev/null +++ b/web/public/js/libs/jquery/jquery.fancybox-1.3.4/fancybox/jquery.fancybox-1.3.4.pack.js @@ -0,0 +1,46 @@ +/* + * FancyBox - jQuery Plugin + * Simple and fancy lightbox alternative + * + * Examples and documentation at: http://fancybox.net + * + * Copyright (c) 2008 - 2010 Janis Skarnelis + * That said, it is hardly a one-person project. Many people have submitted bugs, code, and offered their advice freely. Their support is greatly appreciated. + * + * Version: 1.3.4 (11/11/2010) + * Requires: jQuery v1.3+ + * + * Dual licensed under the MIT and GPL licenses: + * http://www.opensource.org/licenses/mit-license.php + * http://www.gnu.org/licenses/gpl.html + */ + +;(function(b){var m,t,u,f,D,j,E,n,z,A,q=0,e={},o=[],p=0,d={},l=[],G=null,v=new Image,J=/\.(jpg|gif|png|bmp|jpeg)(.*)?$/i,W=/[^\.]\.(swf)\s*$/i,K,L=1,y=0,s="",r,i,h=false,B=b.extend(b("
")[0],{prop:0}),M=b.browser.msie&&b.browser.version<7&&!window.XMLHttpRequest,N=function(){t.hide();v.onerror=v.onload=null;G&&G.abort();m.empty()},O=function(){if(false===e.onError(o,q,e)){t.hide();h=false}else{e.titleShow=false;e.width="auto";e.height="auto";m.html('

The requested content cannot be loaded.
Please try again later.

'); +F()}},I=function(){var a=o[q],c,g,k,C,P,w;N();e=b.extend({},b.fn.fancybox.defaults,typeof b(a).data("fancybox")=="undefined"?e:b(a).data("fancybox"));w=e.onStart(o,q,e);if(w===false)h=false;else{if(typeof w=="object")e=b.extend(e,w);k=e.title||(a.nodeName?b(a).attr("title"):a.title)||"";if(a.nodeName&&!e.orig)e.orig=b(a).children("img:first").length?b(a).children("img:first"):b(a);if(k===""&&e.orig&&e.titleFromAlt)k=e.orig.attr("alt");c=e.href||(a.nodeName?b(a).attr("href"):a.href)||null;if(/^(?:javascript)/i.test(c)|| +c=="#")c=null;if(e.type){g=e.type;if(!c)c=e.content}else if(e.content)g="html";else if(c)g=c.match(J)?"image":c.match(W)?"swf":b(a).hasClass("iframe")?"iframe":c.indexOf("#")===0?"inline":"ajax";if(g){if(g=="inline"){a=c.substr(c.indexOf("#"));g=b(a).length>0?"inline":"ajax"}e.type=g;e.href=c;e.title=k;if(e.autoDimensions)if(e.type=="html"||e.type=="inline"||e.type=="ajax"){e.width="auto";e.height="auto"}else e.autoDimensions=false;if(e.modal){e.overlayShow=true;e.hideOnOverlayClick=false;e.hideOnContentClick= +false;e.enableEscapeButton=false;e.showCloseButton=false}e.padding=parseInt(e.padding,10);e.margin=parseInt(e.margin,10);m.css("padding",e.padding+e.margin);b(".fancybox-inline-tmp").unbind("fancybox-cancel").bind("fancybox-change",function(){b(this).replaceWith(j.children())});switch(g){case "html":m.html(e.content);F();break;case "inline":if(b(a).parent().is("#fancybox-content")===true){h=false;break}b('
').hide().insertBefore(b(a)).bind("fancybox-cleanup",function(){b(this).replaceWith(j.children())}).bind("fancybox-cancel", +function(){b(this).replaceWith(m.children())});b(a).appendTo(m);F();break;case "image":h=false;b.fancybox.showActivity();v=new Image;v.onerror=function(){O()};v.onload=function(){h=true;v.onerror=v.onload=null;e.width=v.width;e.height=v.height;b("").attr({id:"fancybox-img",src:v.src,alt:e.title}).appendTo(m);Q()};v.src=c;break;case "swf":e.scrolling="no";C='';P="";b.each(e.swf,function(x,H){C+='';P+=" "+x+'="'+H+'"'});C+='";m.html(C);F();break;case "ajax":h=false;b.fancybox.showActivity();e.ajax.win=e.ajax.success;G=b.ajax(b.extend({},e.ajax,{url:c,data:e.ajax.data||{},error:function(x){x.status>0&&O()},success:function(x,H,R){if((typeof R=="object"?R:G).status==200){if(typeof e.ajax.win== +"function"){w=e.ajax.win(c,x,H,R);if(w===false){t.hide();return}else if(typeof w=="string"||typeof w=="object")x=w}m.html(x);F()}}}));break;case "iframe":Q()}}else O()}},F=function(){var a=e.width,c=e.height;a=a.toString().indexOf("%")>-1?parseInt((b(window).width()-e.margin*2)*parseFloat(a)/100,10)+"px":a=="auto"?"auto":a+"px";c=c.toString().indexOf("%")>-1?parseInt((b(window).height()-e.margin*2)*parseFloat(c)/100,10)+"px":c=="auto"?"auto":c+"px";m.wrapInner('
');e.width=m.width();e.height=m.height();Q()},Q=function(){var a,c;t.hide();if(f.is(":visible")&&false===d.onCleanup(l,p,d)){b.event.trigger("fancybox-cancel");h=false}else{h=true;b(j.add(u)).unbind();b(window).unbind("resize.fb scroll.fb");b(document).unbind("keydown.fb");f.is(":visible")&&d.titlePosition!=="outside"&&f.css("height",f.height());l=o;p=q;d=e;if(d.overlayShow){u.css({"background-color":d.overlayColor, +opacity:d.overlayOpacity,cursor:d.hideOnOverlayClick?"pointer":"auto",height:b(document).height()});if(!u.is(":visible")){M&&b("select:not(#fancybox-tmp select)").filter(function(){return this.style.visibility!=="hidden"}).css({visibility:"hidden"}).one("fancybox-cleanup",function(){this.style.visibility="inherit"});u.show()}}else u.hide();i=X();s=d.title||"";y=0;n.empty().removeAttr("style").removeClass();if(d.titleShow!==false){if(b.isFunction(d.titleFormat))a=d.titleFormat(s,l,p,d);else a=s&&s.length? +d.titlePosition=="float"?'
'+s+'
':'
'+s+"
":false;s=a;if(!(!s||s==="")){n.addClass("fancybox-title-"+d.titlePosition).html(s).appendTo("body").show();switch(d.titlePosition){case "inside":n.css({width:i.width-d.padding*2,marginLeft:d.padding,marginRight:d.padding}); +y=n.outerHeight(true);n.appendTo(D);i.height+=y;break;case "over":n.css({marginLeft:d.padding,width:i.width-d.padding*2,bottom:d.padding}).appendTo(D);break;case "float":n.css("left",parseInt((n.width()-i.width-40)/2,10)*-1).appendTo(f);break;default:n.css({width:i.width-d.padding*2,paddingLeft:d.padding,paddingRight:d.padding}).appendTo(f)}}}n.hide();if(f.is(":visible")){b(E.add(z).add(A)).hide();a=f.position();r={top:a.top,left:a.left,width:f.width(),height:f.height()};c=r.width==i.width&&r.height== +i.height;j.fadeTo(d.changeFade,0.3,function(){var g=function(){j.html(m.contents()).fadeTo(d.changeFade,1,S)};b.event.trigger("fancybox-change");j.empty().removeAttr("filter").css({"border-width":d.padding,width:i.width-d.padding*2,height:e.autoDimensions?"auto":i.height-y-d.padding*2});if(c)g();else{B.prop=0;b(B).animate({prop:1},{duration:d.changeSpeed,easing:d.easingChange,step:T,complete:g})}})}else{f.removeAttr("style");j.css("border-width",d.padding);if(d.transitionIn=="elastic"){r=V();j.html(m.contents()); +f.show();if(d.opacity)i.opacity=0;B.prop=0;b(B).animate({prop:1},{duration:d.speedIn,easing:d.easingIn,step:T,complete:S})}else{d.titlePosition=="inside"&&y>0&&n.show();j.css({width:i.width-d.padding*2,height:e.autoDimensions?"auto":i.height-y-d.padding*2}).html(m.contents());f.css(i).fadeIn(d.transitionIn=="none"?0:d.speedIn,S)}}}},Y=function(){if(d.enableEscapeButton||d.enableKeyboardNav)b(document).bind("keydown.fb",function(a){if(a.keyCode==27&&d.enableEscapeButton){a.preventDefault();b.fancybox.close()}else if((a.keyCode== +37||a.keyCode==39)&&d.enableKeyboardNav&&a.target.tagName!=="INPUT"&&a.target.tagName!=="TEXTAREA"&&a.target.tagName!=="SELECT"){a.preventDefault();b.fancybox[a.keyCode==37?"prev":"next"]()}});if(d.showNavArrows){if(d.cyclic&&l.length>1||p!==0)z.show();if(d.cyclic&&l.length>1||p!=l.length-1)A.show()}else{z.hide();A.hide()}},S=function(){if(!b.support.opacity){j.get(0).style.removeAttribute("filter");f.get(0).style.removeAttribute("filter")}e.autoDimensions&&j.css("height","auto");f.css("height","auto"); +s&&s.length&&n.show();d.showCloseButton&&E.show();Y();d.hideOnContentClick&&j.bind("click",b.fancybox.close);d.hideOnOverlayClick&&u.bind("click",b.fancybox.close);b(window).bind("resize.fb",b.fancybox.resize);d.centerOnScroll&&b(window).bind("scroll.fb",b.fancybox.center);if(d.type=="iframe")b('').appendTo(j); +f.show();h=false;b.fancybox.center();d.onComplete(l,p,d);var a,c;if(l.length-1>p){a=l[p+1].href;if(typeof a!=="undefined"&&a.match(J)){c=new Image;c.src=a}}if(p>0){a=l[p-1].href;if(typeof a!=="undefined"&&a.match(J)){c=new Image;c.src=a}}},T=function(a){var c={width:parseInt(r.width+(i.width-r.width)*a,10),height:parseInt(r.height+(i.height-r.height)*a,10),top:parseInt(r.top+(i.top-r.top)*a,10),left:parseInt(r.left+(i.left-r.left)*a,10)};if(typeof i.opacity!=="undefined")c.opacity=a<0.5?0.5:a;f.css(c); +j.css({width:c.width-d.padding*2,height:c.height-y*a-d.padding*2})},U=function(){return[b(window).width()-d.margin*2,b(window).height()-d.margin*2,b(document).scrollLeft()+d.margin,b(document).scrollTop()+d.margin]},X=function(){var a=U(),c={},g=d.autoScale,k=d.padding*2;c.width=d.width.toString().indexOf("%")>-1?parseInt(a[0]*parseFloat(d.width)/100,10):d.width+k;c.height=d.height.toString().indexOf("%")>-1?parseInt(a[1]*parseFloat(d.height)/100,10):d.height+k;if(g&&(c.width>a[0]||c.height>a[1]))if(e.type== +"image"||e.type=="swf"){g=d.width/d.height;if(c.width>a[0]){c.width=a[0];c.height=parseInt((c.width-k)/g+k,10)}if(c.height>a[1]){c.height=a[1];c.width=parseInt((c.height-k)*g+k,10)}}else{c.width=Math.min(c.width,a[0]);c.height=Math.min(c.height,a[1])}c.top=parseInt(Math.max(a[3]-20,a[3]+(a[1]-c.height-40)*0.5),10);c.left=parseInt(Math.max(a[2]-20,a[2]+(a[0]-c.width-40)*0.5),10);return c},V=function(){var a=e.orig?b(e.orig):false,c={};if(a&&a.length){c=a.offset();c.top+=parseInt(a.css("paddingTop"), +10)||0;c.left+=parseInt(a.css("paddingLeft"),10)||0;c.top+=parseInt(a.css("border-top-width"),10)||0;c.left+=parseInt(a.css("border-left-width"),10)||0;c.width=a.width();c.height=a.height();c={width:c.width+d.padding*2,height:c.height+d.padding*2,top:c.top-d.padding-20,left:c.left-d.padding-20}}else{a=U();c={width:d.padding*2,height:d.padding*2,top:parseInt(a[3]+a[1]*0.5,10),left:parseInt(a[2]+a[0]*0.5,10)}}return c},Z=function(){if(t.is(":visible")){b("div",t).css("top",L*-40+"px");L=(L+1)%12}else clearInterval(K)}; +b.fn.fancybox=function(a){if(!b(this).length)return this;b(this).data("fancybox",b.extend({},a,b.metadata?b(this).metadata():{})).unbind("click.fb").bind("click.fb",function(c){c.preventDefault();if(!h){h=true;b(this).blur();o=[];q=0;c=b(this).attr("rel")||"";if(!c||c==""||c==="nofollow")o.push(this);else{o=b("a[rel="+c+"], area[rel="+c+"]");q=o.index(this)}I()}});return this};b.fancybox=function(a,c){var g;if(!h){h=true;g=typeof c!=="undefined"?c:{};o=[];q=parseInt(g.index,10)||0;if(b.isArray(a)){for(var k= +0,C=a.length;ko.length||q<0)q=0;I()}};b.fancybox.showActivity=function(){clearInterval(K);t.show();K=setInterval(Z,66)};b.fancybox.hideActivity=function(){t.hide()};b.fancybox.next=function(){return b.fancybox.pos(p+ +1)};b.fancybox.prev=function(){return b.fancybox.pos(p-1)};b.fancybox.pos=function(a){if(!h){a=parseInt(a);o=l;if(a>-1&&a1){q=a>=l.length?0:l.length-1;I()}}};b.fancybox.cancel=function(){if(!h){h=true;b.event.trigger("fancybox-cancel");N();e.onCancel(o,q,e);h=false}};b.fancybox.close=function(){function a(){u.fadeOut("fast");n.empty().hide();f.hide();b.event.trigger("fancybox-cleanup");j.empty();d.onClosed(l,p,d);l=e=[];p=q=0;d=e={};h=false}if(!(h||f.is(":hidden"))){h= +true;if(d&&false===d.onCleanup(l,p,d))h=false;else{N();b(E.add(z).add(A)).hide();b(j.add(u)).unbind();b(window).unbind("resize.fb scroll.fb");b(document).unbind("keydown.fb");j.find("iframe").attr("src",M&&/^https/i.test(window.location.href||"")?"javascript:void(false)":"about:blank");d.titlePosition!=="inside"&&n.empty();f.stop();if(d.transitionOut=="elastic"){r=V();var c=f.position();i={top:c.top,left:c.left,width:f.width(),height:f.height()};if(d.opacity)i.opacity=1;n.empty().hide();B.prop=1; +b(B).animate({prop:0},{duration:d.speedOut,easing:d.easingOut,step:T,complete:a})}else f.fadeOut(d.transitionOut=="none"?0:d.speedOut,a)}}};b.fancybox.resize=function(){u.is(":visible")&&u.css("height",b(document).height());b.fancybox.center(true)};b.fancybox.center=function(a){var c,g;if(!h){g=a===true?1:0;c=U();!g&&(f.width()>c[0]||f.height()>c[1])||f.stop().animate({top:parseInt(Math.max(c[3]-20,c[3]+(c[1]-j.height()-40)*0.5-d.padding)),left:parseInt(Math.max(c[2]-20,c[2]+(c[0]-j.width()-40)*0.5- +d.padding))},typeof a=="number"?a:200)}};b.fancybox.init=function(){if(!b("#fancybox-wrap").length){b("body").append(m=b('
'),t=b('
'),u=b('
'),f=b('
'));D=b('
').append('
').appendTo(f); +D.append(j=b('
'),E=b(''),n=b('
'),z=b(''),A=b(''));E.click(b.fancybox.close);t.click(b.fancybox.cancel);z.click(function(a){a.preventDefault();b.fancybox.prev()});A.click(function(a){a.preventDefault();b.fancybox.next()}); +b.fn.mousewheel&&f.bind("mousewheel.fb",function(a,c){if(h)a.preventDefault();else if(b(a.target).get(0).clientHeight==0||b(a.target).get(0).scrollHeight===b(a.target).get(0).clientHeight){a.preventDefault();b.fancybox[c>0?"prev":"next"]()}});b.support.opacity||f.addClass("fancybox-ie");if(M){t.addClass("fancybox-ie6");f.addClass("fancybox-ie6");b('').prependTo(D)}}}; +b.fn.fancybox.defaults={padding:10,margin:40,opacity:false,modal:false,cyclic:false,scrolling:"auto",width:560,height:340,autoScale:true,autoDimensions:true,centerOnScroll:false,ajax:{},swf:{wmode:"transparent"},hideOnOverlayClick:true,hideOnContentClick:false,overlayShow:true,overlayOpacity:0.7,overlayColor:"#777",titleShow:true,titlePosition:"float",titleFormat:null,titleFromAlt:false,transitionIn:"fade",transitionOut:"fade",speedIn:300,speedOut:300,changeSpeed:300,changeFade:"fast",easingIn:"swing", +easingOut:"swing",showCloseButton:true,showNavArrows:true,enableEscapeButton:true,enableKeyboardNav:true,onStart:function(){},onCancel:function(){},onComplete:function(){},onCleanup:function(){},onClosed:function(){},onError:function(){}};b(document).ready(function(){b.fancybox.init()})})(jQuery); \ No newline at end of file diff --git a/web/public/js/libs/jquery/jquery.fancybox-1.3.4/fancybox/jquery.mousewheel-3.0.4.pack.js b/web/public/js/libs/jquery/jquery.fancybox-1.3.4/fancybox/jquery.mousewheel-3.0.4.pack.js new file mode 100644 index 0000000..cb66588 --- /dev/null +++ b/web/public/js/libs/jquery/jquery.fancybox-1.3.4/fancybox/jquery.mousewheel-3.0.4.pack.js @@ -0,0 +1,14 @@ +/*! Copyright (c) 2010 Brandon Aaron (http://brandonaaron.net) +* Licensed under the MIT License (LICENSE.txt). +* +* Thanks to: http://adomas.org/javascript-mouse-wheel/ for some pointers. +* Thanks to: Mathias Bank(http://www.mathias-bank.de) for a scope bug fix. +* Thanks to: Seamus Leahy for adding deltaX and deltaY +* +* Version: 3.0.4 +* +* Requires: 1.2.2+ +*/ + +(function(d){function g(a){var b=a||window.event,i=[].slice.call(arguments,1),c=0,h=0,e=0;a=d.event.fix(b);a.type="mousewheel";if(a.wheelDelta)c=a.wheelDelta/120;if(a.detail)c=-a.detail/3;e=c;if(b.axis!==undefined&&b.axis===b.HORIZONTAL_AXIS){e=0;h=-1*c}if(b.wheelDeltaY!==undefined)e=b.wheelDeltaY/120;if(b.wheelDeltaX!==undefined)h=-1*b.wheelDeltaX/120;i.unshift(a,c,h,e);return d.event.handle.apply(this,i)}var f=["DOMMouseScroll","mousewheel"];d.event.special.mousewheel={setup:function(){if(this.addEventListener)for(var a= +f.length;a;)this.addEventListener(f[--a],g,false);else this.onmousewheel=g},teardown:function(){if(this.removeEventListener)for(var a=f.length;a;)this.removeEventListener(f[--a],g,false);else this.onmousewheel=null}};d.fn.extend({mousewheel:function(a){return a?this.bind("mousewheel",a):this.trigger("mousewheel")},unmousewheel:function(a){return this.unbind("mousewheel",a)}})})(jQuery); \ No newline at end of file diff --git a/web/public/js/libs/jquery/jquery.fancybox-1.3.4/index.html b/web/public/js/libs/jquery/jquery.fancybox-1.3.4/index.html new file mode 100644 index 0000000..b917fdf --- /dev/null +++ b/web/public/js/libs/jquery/jquery.fancybox-1.3.4/index.html @@ -0,0 +1,165 @@ + + + + + + FancyBox 1.3.4 | Demonstration + + + + + + + + + +
+

fancybox v1.3.4

+ +

This is a demonstration. Home page

+ +
+ +

+ Different animations
+ + example1 + + example2 + + example3 + + example4 +

+ +

+ Different title positions
+ + example4 + + example5 + + example6 + + example7 +

+ +

+ Image gallery (ps, try using mouse scroll wheel)
+ + + + + + + + +

+ +

+ Various examples +

+ + + +
+
+ Lorem ipsum dolor sit amet, consectetur adipiscing elit. Etiam quis mi eu elit tempor facilisis id et neque. Nulla sit amet sem sapien. Vestibulum imperdiet porta ante ac ornare. Nulla et lorem eu nibh adipiscing ultricies nec at lacus. Cras laoreet ultricies sem, at blandit mi eleifend aliquam. Nunc enim ipsum, vehicula non pretium varius, cursus ac tortor. Vivamus fringilla congue laoreet. Quisque ultrices sodales orci, quis rhoncus justo auctor in. Phasellus dui eros, bibendum eu feugiat ornare, faucibus eu mi. Nunc aliquet tempus sem, id aliquam diam varius ac. Maecenas nisl nunc, molestie vitae eleifend vel, iaculis sed magna. Aenean tempus lacus vitae orci posuere porttitor eget non felis. Donec lectus elit, aliquam nec eleifend sit amet, vestibulum sed nunc. +
+
+ +

+ Ajax example will not run from your local computer and requires a server to run. +

+

+ Photo Credit: Katie Harris +

+
+ + \ No newline at end of file diff --git a/web/public/js/libs/jquery/jquery.fancybox-1.3.4/jquery-1.4.3.min.js b/web/public/js/libs/jquery/jquery.fancybox-1.3.4/jquery-1.4.3.min.js new file mode 100644 index 0000000..c941a5f --- /dev/null +++ b/web/public/js/libs/jquery/jquery.fancybox-1.3.4/jquery-1.4.3.min.js @@ -0,0 +1,166 @@ +/*! + * jQuery JavaScript Library v1.4.3 + * http://jquery.com/ + * + * Copyright 2010, John Resig + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * Includes Sizzle.js + * http://sizzlejs.com/ + * Copyright 2010, The Dojo Foundation + * Released under the MIT, BSD, and GPL Licenses. + * + * Date: Thu Oct 14 23:10:06 2010 -0400 + */ +(function(E,A){function U(){return false}function ba(){return true}function ja(a,b,d){d[0].type=a;return c.event.handle.apply(b,d)}function Ga(a){var b,d,e=[],f=[],h,k,l,n,s,v,B,D;k=c.data(this,this.nodeType?"events":"__events__");if(typeof k==="function")k=k.events;if(!(a.liveFired===this||!k||!k.live||a.button&&a.type==="click")){if(a.namespace)D=RegExp("(^|\\.)"+a.namespace.split(".").join("\\.(?:.*\\.)?")+"(\\.|$)");a.liveFired=this;var H=k.live.slice(0);for(n=0;nd)break;a.currentTarget=f.elem;a.data=f.handleObj.data; +a.handleObj=f.handleObj;D=f.handleObj.origHandler.apply(f.elem,arguments);if(D===false||a.isPropagationStopped()){d=f.level;if(D===false)b=false}}return b}}function Y(a,b){return(a&&a!=="*"?a+".":"")+b.replace(Ha,"`").replace(Ia,"&")}function ka(a,b,d){if(c.isFunction(b))return c.grep(a,function(f,h){return!!b.call(f,h,f)===d});else if(b.nodeType)return c.grep(a,function(f){return f===b===d});else if(typeof b==="string"){var e=c.grep(a,function(f){return f.nodeType===1});if(Ja.test(b))return c.filter(b, +e,!d);else b=c.filter(b,e)}return c.grep(a,function(f){return c.inArray(f,b)>=0===d})}function la(a,b){var d=0;b.each(function(){if(this.nodeName===(a[d]&&a[d].nodeName)){var e=c.data(a[d++]),f=c.data(this,e);if(e=e&&e.events){delete f.handle;f.events={};for(var h in e)for(var k in e[h])c.event.add(this,h,e[h][k],e[h][k].data)}}})}function Ka(a,b){b.src?c.ajax({url:b.src,async:false,dataType:"script"}):c.globalEval(b.text||b.textContent||b.innerHTML||"");b.parentNode&&b.parentNode.removeChild(b)} +function ma(a,b,d){var e=b==="width"?a.offsetWidth:a.offsetHeight;if(d==="border")return e;c.each(b==="width"?La:Ma,function(){d||(e-=parseFloat(c.css(a,"padding"+this))||0);if(d==="margin")e+=parseFloat(c.css(a,"margin"+this))||0;else e-=parseFloat(c.css(a,"border"+this+"Width"))||0});return e}function ca(a,b,d,e){if(c.isArray(b)&&b.length)c.each(b,function(f,h){d||Na.test(a)?e(a,h):ca(a+"["+(typeof h==="object"||c.isArray(h)?f:"")+"]",h,d,e)});else if(!d&&b!=null&&typeof b==="object")c.isEmptyObject(b)? +e(a,""):c.each(b,function(f,h){ca(a+"["+f+"]",h,d,e)});else e(a,b)}function S(a,b){var d={};c.each(na.concat.apply([],na.slice(0,b)),function(){d[this]=a});return d}function oa(a){if(!da[a]){var b=c("<"+a+">").appendTo("body"),d=b.css("display");b.remove();if(d==="none"||d==="")d="block";da[a]=d}return da[a]}function ea(a){return c.isWindow(a)?a:a.nodeType===9?a.defaultView||a.parentWindow:false}var u=E.document,c=function(){function a(){if(!b.isReady){try{u.documentElement.doScroll("left")}catch(i){setTimeout(a, +1);return}b.ready()}}var b=function(i,r){return new b.fn.init(i,r)},d=E.jQuery,e=E.$,f,h=/^(?:[^<]*(<[\w\W]+>)[^>]*$|#([\w\-]+)$)/,k=/\S/,l=/^\s+/,n=/\s+$/,s=/\W/,v=/\d/,B=/^<(\w+)\s*\/?>(?:<\/\1>)?$/,D=/^[\],:{}\s]*$/,H=/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g,w=/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,G=/(?:^|:|,)(?:\s*\[)+/g,M=/(webkit)[ \/]([\w.]+)/,g=/(opera)(?:.*version)?[ \/]([\w.]+)/,j=/(msie) ([\w.]+)/,o=/(mozilla)(?:.*? rv:([\w.]+))?/,m=navigator.userAgent,p=false, +q=[],t,x=Object.prototype.toString,C=Object.prototype.hasOwnProperty,P=Array.prototype.push,N=Array.prototype.slice,R=String.prototype.trim,Q=Array.prototype.indexOf,L={};b.fn=b.prototype={init:function(i,r){var y,z,F;if(!i)return this;if(i.nodeType){this.context=this[0]=i;this.length=1;return this}if(i==="body"&&!r&&u.body){this.context=u;this[0]=u.body;this.selector="body";this.length=1;return this}if(typeof i==="string")if((y=h.exec(i))&&(y[1]||!r))if(y[1]){F=r?r.ownerDocument||r:u;if(z=B.exec(i))if(b.isPlainObject(r)){i= +[u.createElement(z[1])];b.fn.attr.call(i,r,true)}else i=[F.createElement(z[1])];else{z=b.buildFragment([y[1]],[F]);i=(z.cacheable?z.fragment.cloneNode(true):z.fragment).childNodes}return b.merge(this,i)}else{if((z=u.getElementById(y[2]))&&z.parentNode){if(z.id!==y[2])return f.find(i);this.length=1;this[0]=z}this.context=u;this.selector=i;return this}else if(!r&&!s.test(i)){this.selector=i;this.context=u;i=u.getElementsByTagName(i);return b.merge(this,i)}else return!r||r.jquery?(r||f).find(i):b(r).find(i); +else if(b.isFunction(i))return f.ready(i);if(i.selector!==A){this.selector=i.selector;this.context=i.context}return b.makeArray(i,this)},selector:"",jquery:"1.4.3",length:0,size:function(){return this.length},toArray:function(){return N.call(this,0)},get:function(i){return i==null?this.toArray():i<0?this.slice(i)[0]:this[i]},pushStack:function(i,r,y){var z=b();b.isArray(i)?P.apply(z,i):b.merge(z,i);z.prevObject=this;z.context=this.context;if(r==="find")z.selector=this.selector+(this.selector?" ": +"")+y;else if(r)z.selector=this.selector+"."+r+"("+y+")";return z},each:function(i,r){return b.each(this,i,r)},ready:function(i){b.bindReady();if(b.isReady)i.call(u,b);else q&&q.push(i);return this},eq:function(i){return i===-1?this.slice(i):this.slice(i,+i+1)},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},slice:function(){return this.pushStack(N.apply(this,arguments),"slice",N.call(arguments).join(","))},map:function(i){return this.pushStack(b.map(this,function(r,y){return i.call(r, +y,r)}))},end:function(){return this.prevObject||b(null)},push:P,sort:[].sort,splice:[].splice};b.fn.init.prototype=b.fn;b.extend=b.fn.extend=function(){var i=arguments[0]||{},r=1,y=arguments.length,z=false,F,I,K,J,fa;if(typeof i==="boolean"){z=i;i=arguments[1]||{};r=2}if(typeof i!=="object"&&!b.isFunction(i))i={};if(y===r){i=this;--r}for(;r0)){if(q){for(var r=0;i=q[r++];)i.call(u,b);q=null}b.fn.triggerHandler&&b(u).triggerHandler("ready")}}},bindReady:function(){if(!p){p=true;if(u.readyState==="complete")return setTimeout(b.ready, +1);if(u.addEventListener){u.addEventListener("DOMContentLoaded",t,false);E.addEventListener("load",b.ready,false)}else if(u.attachEvent){u.attachEvent("onreadystatechange",t);E.attachEvent("onload",b.ready);var i=false;try{i=E.frameElement==null}catch(r){}u.documentElement.doScroll&&i&&a()}}},isFunction:function(i){return b.type(i)==="function"},isArray:Array.isArray||function(i){return b.type(i)==="array"},isWindow:function(i){return i&&typeof i==="object"&&"setInterval"in i},isNaN:function(i){return i== +null||!v.test(i)||isNaN(i)},type:function(i){return i==null?String(i):L[x.call(i)]||"object"},isPlainObject:function(i){if(!i||b.type(i)!=="object"||i.nodeType||b.isWindow(i))return false;if(i.constructor&&!C.call(i,"constructor")&&!C.call(i.constructor.prototype,"isPrototypeOf"))return false;for(var r in i);return r===A||C.call(i,r)},isEmptyObject:function(i){for(var r in i)return false;return true},error:function(i){throw i;},parseJSON:function(i){if(typeof i!=="string"||!i)return null;i=b.trim(i); +if(D.test(i.replace(H,"@").replace(w,"]").replace(G,"")))return E.JSON&&E.JSON.parse?E.JSON.parse(i):(new Function("return "+i))();else b.error("Invalid JSON: "+i)},noop:function(){},globalEval:function(i){if(i&&k.test(i)){var r=u.getElementsByTagName("head")[0]||u.documentElement,y=u.createElement("script");y.type="text/javascript";if(b.support.scriptEval)y.appendChild(u.createTextNode(i));else y.text=i;r.insertBefore(y,r.firstChild);r.removeChild(y)}},nodeName:function(i,r){return i.nodeName&&i.nodeName.toUpperCase()=== +r.toUpperCase()},each:function(i,r,y){var z,F=0,I=i.length,K=I===A||b.isFunction(i);if(y)if(K)for(z in i){if(r.apply(i[z],y)===false)break}else for(;F";a=u.createDocumentFragment();a.appendChild(d.firstChild);c.support.checkClone=a.cloneNode(true).cloneNode(true).lastChild.checked;c(function(){var s=u.createElement("div"); +s.style.width=s.style.paddingLeft="1px";u.body.appendChild(s);c.boxModel=c.support.boxModel=s.offsetWidth===2;if("zoom"in s.style){s.style.display="inline";s.style.zoom=1;c.support.inlineBlockNeedsLayout=s.offsetWidth===2;s.style.display="";s.innerHTML="
";c.support.shrinkWrapBlocks=s.offsetWidth!==2}s.innerHTML="
t
";var v=s.getElementsByTagName("td");c.support.reliableHiddenOffsets=v[0].offsetHeight=== +0;v[0].style.display="";v[1].style.display="none";c.support.reliableHiddenOffsets=c.support.reliableHiddenOffsets&&v[0].offsetHeight===0;s.innerHTML="";u.body.removeChild(s).style.display="none"});a=function(s){var v=u.createElement("div");s="on"+s;var B=s in v;if(!B){v.setAttribute(s,"return;");B=typeof v[s]==="function"}return B};c.support.submitBubbles=a("submit");c.support.changeBubbles=a("change");a=b=d=f=h=null}})();c.props={"for":"htmlFor","class":"className",readonly:"readOnly",maxlength:"maxLength", +cellspacing:"cellSpacing",rowspan:"rowSpan",colspan:"colSpan",tabindex:"tabIndex",usemap:"useMap",frameborder:"frameBorder"};var pa={},Oa=/^(?:\{.*\}|\[.*\])$/;c.extend({cache:{},uuid:0,expando:"jQuery"+c.now(),noData:{embed:true,object:"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000",applet:true},data:function(a,b,d){if(c.acceptData(a)){a=a==E?pa:a;var e=a.nodeType,f=e?a[c.expando]:null,h=c.cache;if(!(e&&!f&&typeof b==="string"&&d===A)){if(e)f||(a[c.expando]=f=++c.uuid);else h=a;if(typeof b==="object")if(e)h[f]= +c.extend(h[f],b);else c.extend(h,b);else if(e&&!h[f])h[f]={};a=e?h[f]:h;if(d!==A)a[b]=d;return typeof b==="string"?a[b]:a}}},removeData:function(a,b){if(c.acceptData(a)){a=a==E?pa:a;var d=a.nodeType,e=d?a[c.expando]:a,f=c.cache,h=d?f[e]:e;if(b){if(h){delete h[b];d&&c.isEmptyObject(h)&&c.removeData(a)}}else if(d&&c.support.deleteExpando)delete a[c.expando];else if(a.removeAttribute)a.removeAttribute(c.expando);else if(d)delete f[e];else for(var k in a)delete a[k]}},acceptData:function(a){if(a.nodeName){var b= +c.noData[a.nodeName.toLowerCase()];if(b)return!(b===true||a.getAttribute("classid")!==b)}return true}});c.fn.extend({data:function(a,b){if(typeof a==="undefined")return this.length?c.data(this[0]):null;else if(typeof a==="object")return this.each(function(){c.data(this,a)});var d=a.split(".");d[1]=d[1]?"."+d[1]:"";if(b===A){var e=this.triggerHandler("getData"+d[1]+"!",[d[0]]);if(e===A&&this.length){e=c.data(this[0],a);if(e===A&&this[0].nodeType===1){e=this[0].getAttribute("data-"+a);if(typeof e=== +"string")try{e=e==="true"?true:e==="false"?false:e==="null"?null:!c.isNaN(e)?parseFloat(e):Oa.test(e)?c.parseJSON(e):e}catch(f){}else e=A}}return e===A&&d[1]?this.data(d[0]):e}else return this.each(function(){var h=c(this),k=[d[0],b];h.triggerHandler("setData"+d[1]+"!",k);c.data(this,a,b);h.triggerHandler("changeData"+d[1]+"!",k)})},removeData:function(a){return this.each(function(){c.removeData(this,a)})}});c.extend({queue:function(a,b,d){if(a){b=(b||"fx")+"queue";var e=c.data(a,b);if(!d)return e|| +[];if(!e||c.isArray(d))e=c.data(a,b,c.makeArray(d));else e.push(d);return e}},dequeue:function(a,b){b=b||"fx";var d=c.queue(a,b),e=d.shift();if(e==="inprogress")e=d.shift();if(e){b==="fx"&&d.unshift("inprogress");e.call(a,function(){c.dequeue(a,b)})}}});c.fn.extend({queue:function(a,b){if(typeof a!=="string"){b=a;a="fx"}if(b===A)return c.queue(this[0],a);return this.each(function(){var d=c.queue(this,a,b);a==="fx"&&d[0]!=="inprogress"&&c.dequeue(this,a)})},dequeue:function(a){return this.each(function(){c.dequeue(this, +a)})},delay:function(a,b){a=c.fx?c.fx.speeds[a]||a:a;b=b||"fx";return this.queue(b,function(){var d=this;setTimeout(function(){c.dequeue(d,b)},a)})},clearQueue:function(a){return this.queue(a||"fx",[])}});var qa=/[\n\t]/g,ga=/\s+/,Pa=/\r/g,Qa=/^(?:href|src|style)$/,Ra=/^(?:button|input)$/i,Sa=/^(?:button|input|object|select|textarea)$/i,Ta=/^a(?:rea)?$/i,ra=/^(?:radio|checkbox)$/i;c.fn.extend({attr:function(a,b){return c.access(this,a,b,true,c.attr)},removeAttr:function(a){return this.each(function(){c.attr(this, +a,"");this.nodeType===1&&this.removeAttribute(a)})},addClass:function(a){if(c.isFunction(a))return this.each(function(s){var v=c(this);v.addClass(a.call(this,s,v.attr("class")))});if(a&&typeof a==="string")for(var b=(a||"").split(ga),d=0,e=this.length;d-1)return true;return false}, +val:function(a){if(!arguments.length){var b=this[0];if(b){if(c.nodeName(b,"option")){var d=b.attributes.value;return!d||d.specified?b.value:b.text}if(c.nodeName(b,"select")){var e=b.selectedIndex;d=[];var f=b.options;b=b.type==="select-one";if(e<0)return null;var h=b?e:0;for(e=b?e+1:f.length;h=0;else if(c.nodeName(this,"select")){var B=c.makeArray(v);c("option",this).each(function(){this.selected= +c.inArray(c(this).val(),B)>=0});if(!B.length)this.selectedIndex=-1}else this.value=v}})}});c.extend({attrFn:{val:true,css:true,html:true,text:true,data:true,width:true,height:true,offset:true},attr:function(a,b,d,e){if(!a||a.nodeType===3||a.nodeType===8)return A;if(e&&b in c.attrFn)return c(a)[b](d);e=a.nodeType!==1||!c.isXMLDoc(a);var f=d!==A;b=e&&c.props[b]||b;if(a.nodeType===1){var h=Qa.test(b);if((b in a||a[b]!==A)&&e&&!h){if(f){b==="type"&&Ra.test(a.nodeName)&&a.parentNode&&c.error("type property can't be changed"); +if(d===null)a.nodeType===1&&a.removeAttribute(b);else a[b]=d}if(c.nodeName(a,"form")&&a.getAttributeNode(b))return a.getAttributeNode(b).nodeValue;if(b==="tabIndex")return(b=a.getAttributeNode("tabIndex"))&&b.specified?b.value:Sa.test(a.nodeName)||Ta.test(a.nodeName)&&a.href?0:A;return a[b]}if(!c.support.style&&e&&b==="style"){if(f)a.style.cssText=""+d;return a.style.cssText}f&&a.setAttribute(b,""+d);if(!a.attributes[b]&&a.hasAttribute&&!a.hasAttribute(b))return A;a=!c.support.hrefNormalized&&e&& +h?a.getAttribute(b,2):a.getAttribute(b);return a===null?A:a}}});var X=/\.(.*)$/,ha=/^(?:textarea|input|select)$/i,Ha=/\./g,Ia=/ /g,Ua=/[^\w\s.|`]/g,Va=function(a){return a.replace(Ua,"\\$&")},sa={focusin:0,focusout:0};c.event={add:function(a,b,d,e){if(!(a.nodeType===3||a.nodeType===8)){if(c.isWindow(a)&&a!==E&&!a.frameElement)a=E;if(d===false)d=U;var f,h;if(d.handler){f=d;d=f.handler}if(!d.guid)d.guid=c.guid++;if(h=c.data(a)){var k=a.nodeType?"events":"__events__",l=h[k],n=h.handle;if(typeof l=== +"function"){n=l.handle;l=l.events}else if(!l){a.nodeType||(h[k]=h=function(){});h.events=l={}}if(!n)h.handle=n=function(){return typeof c!=="undefined"&&!c.event.triggered?c.event.handle.apply(n.elem,arguments):A};n.elem=a;b=b.split(" ");for(var s=0,v;k=b[s++];){h=f?c.extend({},f):{handler:d,data:e};if(k.indexOf(".")>-1){v=k.split(".");k=v.shift();h.namespace=v.slice(0).sort().join(".")}else{v=[];h.namespace=""}h.type=k;if(!h.guid)h.guid=d.guid;var B=l[k],D=c.event.special[k]||{};if(!B){B=l[k]=[]; +if(!D.setup||D.setup.call(a,e,v,n)===false)if(a.addEventListener)a.addEventListener(k,n,false);else a.attachEvent&&a.attachEvent("on"+k,n)}if(D.add){D.add.call(a,h);if(!h.handler.guid)h.handler.guid=d.guid}B.push(h);c.event.global[k]=true}a=null}}},global:{},remove:function(a,b,d,e){if(!(a.nodeType===3||a.nodeType===8)){if(d===false)d=U;var f,h,k=0,l,n,s,v,B,D,H=a.nodeType?"events":"__events__",w=c.data(a),G=w&&w[H];if(w&&G){if(typeof G==="function"){w=G;G=G.events}if(b&&b.type){d=b.handler;b=b.type}if(!b|| +typeof b==="string"&&b.charAt(0)==="."){b=b||"";for(f in G)c.event.remove(a,f+b)}else{for(b=b.split(" ");f=b[k++];){v=f;l=f.indexOf(".")<0;n=[];if(!l){n=f.split(".");f=n.shift();s=RegExp("(^|\\.)"+c.map(n.slice(0).sort(),Va).join("\\.(?:.*\\.)?")+"(\\.|$)")}if(B=G[f])if(d){v=c.event.special[f]||{};for(h=e||0;h=0){a.type= +f=f.slice(0,-1);a.exclusive=true}if(!d){a.stopPropagation();c.event.global[f]&&c.each(c.cache,function(){this.events&&this.events[f]&&c.event.trigger(a,b,this.handle.elem)})}if(!d||d.nodeType===3||d.nodeType===8)return A;a.result=A;a.target=d;b=c.makeArray(b);b.unshift(a)}a.currentTarget=d;(e=d.nodeType?c.data(d,"handle"):(c.data(d,"__events__")||{}).handle)&&e.apply(d,b);e=d.parentNode||d.ownerDocument;try{if(!(d&&d.nodeName&&c.noData[d.nodeName.toLowerCase()]))if(d["on"+f]&&d["on"+f].apply(d,b)=== +false){a.result=false;a.preventDefault()}}catch(h){}if(!a.isPropagationStopped()&&e)c.event.trigger(a,b,e,true);else if(!a.isDefaultPrevented()){e=a.target;var k,l=f.replace(X,""),n=c.nodeName(e,"a")&&l==="click",s=c.event.special[l]||{};if((!s._default||s._default.call(d,a)===false)&&!n&&!(e&&e.nodeName&&c.noData[e.nodeName.toLowerCase()])){try{if(e[l]){if(k=e["on"+l])e["on"+l]=null;c.event.triggered=true;e[l]()}}catch(v){}if(k)e["on"+l]=k;c.event.triggered=false}}},handle:function(a){var b,d,e; +d=[];var f,h=c.makeArray(arguments);a=h[0]=c.event.fix(a||E.event);a.currentTarget=this;b=a.type.indexOf(".")<0&&!a.exclusive;if(!b){e=a.type.split(".");a.type=e.shift();d=e.slice(0).sort();e=RegExp("(^|\\.)"+d.join("\\.(?:.*\\.)?")+"(\\.|$)")}a.namespace=a.namespace||d.join(".");f=c.data(this,this.nodeType?"events":"__events__");if(typeof f==="function")f=f.events;d=(f||{})[a.type];if(f&&d){d=d.slice(0);f=0;for(var k=d.length;f-1?c.map(a.options,function(e){return e.selected}).join("-"):"";else if(a.nodeName.toLowerCase()==="select")d=a.selectedIndex;return d},Z=function(a,b){var d=a.target,e,f;if(!(!ha.test(d.nodeName)||d.readOnly)){e=c.data(d,"_change_data");f=va(d);if(a.type!=="focusout"||d.type!=="radio")c.data(d,"_change_data",f);if(!(e===A||f===e))if(e!=null||f){a.type="change";a.liveFired= +A;return c.event.trigger(a,b,d)}}};c.event.special.change={filters:{focusout:Z,beforedeactivate:Z,click:function(a){var b=a.target,d=b.type;if(d==="radio"||d==="checkbox"||b.nodeName.toLowerCase()==="select")return Z.call(this,a)},keydown:function(a){var b=a.target,d=b.type;if(a.keyCode===13&&b.nodeName.toLowerCase()!=="textarea"||a.keyCode===32&&(d==="checkbox"||d==="radio")||d==="select-multiple")return Z.call(this,a)},beforeactivate:function(a){a=a.target;c.data(a,"_change_data",va(a))}},setup:function(){if(this.type=== +"file")return false;for(var a in V)c.event.add(this,a+".specialChange",V[a]);return ha.test(this.nodeName)},teardown:function(){c.event.remove(this,".specialChange");return ha.test(this.nodeName)}};V=c.event.special.change.filters;V.focus=V.beforeactivate}u.addEventListener&&c.each({focus:"focusin",blur:"focusout"},function(a,b){function d(e){e=c.event.fix(e);e.type=b;return c.event.trigger(e,null,e.target)}c.event.special[b]={setup:function(){sa[b]++===0&&u.addEventListener(a,d,true)},teardown:function(){--sa[b]=== +0&&u.removeEventListener(a,d,true)}}});c.each(["bind","one"],function(a,b){c.fn[b]=function(d,e,f){if(typeof d==="object"){for(var h in d)this[b](h,e,d[h],f);return this}if(c.isFunction(e)||e===false){f=e;e=A}var k=b==="one"?c.proxy(f,function(n){c(this).unbind(n,k);return f.apply(this,arguments)}):f;if(d==="unload"&&b!=="one")this.one(d,e,f);else{h=0;for(var l=this.length;h0?this.bind(b,d,e):this.trigger(b)};if(c.attrFn)c.attrFn[b]=true});E.attachEvent&&!E.addEventListener&&c(E).bind("unload",function(){for(var a in c.cache)if(c.cache[a].handle)try{c.event.remove(c.cache[a].handle.elem)}catch(b){}}); +(function(){function a(g,j,o,m,p,q){p=0;for(var t=m.length;p0){C=x;break}}x=x[g]}m[p]=C}}}var d=/((?:\((?:\([^()]+\)|[^()]+)+\)|\[(?:\[[^\[\]]*\]|['"][^'"]*['"]|[^\[\]'"]+)+\]|\\.|[^ >+~,(\[\\]+)+|[>+~])(\s*,\s*)?((?:.|\r|\n)*)/g,e=0,f=Object.prototype.toString,h=false,k=true;[0,0].sort(function(){k=false;return 0});var l=function(g,j,o,m){o=o||[];var p=j=j||u;if(j.nodeType!==1&&j.nodeType!==9)return[];if(!g||typeof g!=="string")return o;var q=[],t,x,C,P,N=true,R=l.isXML(j),Q=g,L;do{d.exec("");if(t=d.exec(Q)){Q=t[3];q.push(t[1]);if(t[2]){P=t[3]; +break}}}while(t);if(q.length>1&&s.exec(g))if(q.length===2&&n.relative[q[0]])x=M(q[0]+q[1],j);else for(x=n.relative[q[0]]?[j]:l(q.shift(),j);q.length;){g=q.shift();if(n.relative[g])g+=q.shift();x=M(g,x)}else{if(!m&&q.length>1&&j.nodeType===9&&!R&&n.match.ID.test(q[0])&&!n.match.ID.test(q[q.length-1])){t=l.find(q.shift(),j,R);j=t.expr?l.filter(t.expr,t.set)[0]:t.set[0]}if(j){t=m?{expr:q.pop(),set:D(m)}:l.find(q.pop(),q.length===1&&(q[0]==="~"||q[0]==="+")&&j.parentNode?j.parentNode:j,R);x=t.expr?l.filter(t.expr, +t.set):t.set;if(q.length>0)C=D(x);else N=false;for(;q.length;){t=L=q.pop();if(n.relative[L])t=q.pop();else L="";if(t==null)t=j;n.relative[L](C,t,R)}}else C=[]}C||(C=x);C||l.error(L||g);if(f.call(C)==="[object Array]")if(N)if(j&&j.nodeType===1)for(g=0;C[g]!=null;g++){if(C[g]&&(C[g]===true||C[g].nodeType===1&&l.contains(j,C[g])))o.push(x[g])}else for(g=0;C[g]!=null;g++)C[g]&&C[g].nodeType===1&&o.push(x[g]);else o.push.apply(o,C);else D(C,o);if(P){l(P,p,o,m);l.uniqueSort(o)}return o};l.uniqueSort=function(g){if(w){h= +k;g.sort(w);if(h)for(var j=1;j0};l.find=function(g,j,o){var m;if(!g)return[];for(var p=0,q=n.order.length;p":function(g,j){var o=typeof j==="string",m,p=0,q=g.length;if(o&&!/\W/.test(j))for(j=j.toLowerCase();p=0))o||m.push(t);else if(o)j[q]=false;return false},ID:function(g){return g[1].replace(/\\/g,"")},TAG:function(g){return g[1].toLowerCase()},CHILD:function(g){if(g[1]==="nth"){var j=/(-?)(\d*)n((?:\+|-)?\d*)/.exec(g[2]==="even"&&"2n"||g[2]==="odd"&&"2n+1"||!/\D/.test(g[2])&&"0n+"+g[2]||g[2]);g[2]=j[1]+(j[2]||1)-0;g[3]=j[3]-0}g[0]=e++;return g},ATTR:function(g,j,o, +m,p,q){j=g[1].replace(/\\/g,"");if(!q&&n.attrMap[j])g[1]=n.attrMap[j];if(g[2]==="~=")g[4]=" "+g[4]+" ";return g},PSEUDO:function(g,j,o,m,p){if(g[1]==="not")if((d.exec(g[3])||"").length>1||/^\w/.test(g[3]))g[3]=l(g[3],null,null,j);else{g=l.filter(g[3],j,o,true^p);o||m.push.apply(m,g);return false}else if(n.match.POS.test(g[0])||n.match.CHILD.test(g[0]))return true;return g},POS:function(g){g.unshift(true);return g}},filters:{enabled:function(g){return g.disabled===false&&g.type!=="hidden"},disabled:function(g){return g.disabled=== +true},checked:function(g){return g.checked===true},selected:function(g){return g.selected===true},parent:function(g){return!!g.firstChild},empty:function(g){return!g.firstChild},has:function(g,j,o){return!!l(o[3],g).length},header:function(g){return/h\d/i.test(g.nodeName)},text:function(g){return"text"===g.type},radio:function(g){return"radio"===g.type},checkbox:function(g){return"checkbox"===g.type},file:function(g){return"file"===g.type},password:function(g){return"password"===g.type},submit:function(g){return"submit"=== +g.type},image:function(g){return"image"===g.type},reset:function(g){return"reset"===g.type},button:function(g){return"button"===g.type||g.nodeName.toLowerCase()==="button"},input:function(g){return/input|select|textarea|button/i.test(g.nodeName)}},setFilters:{first:function(g,j){return j===0},last:function(g,j,o,m){return j===m.length-1},even:function(g,j){return j%2===0},odd:function(g,j){return j%2===1},lt:function(g,j,o){return jo[3]-0},nth:function(g,j,o){return o[3]- +0===j},eq:function(g,j,o){return o[3]-0===j}},filter:{PSEUDO:function(g,j,o,m){var p=j[1],q=n.filters[p];if(q)return q(g,o,j,m);else if(p==="contains")return(g.textContent||g.innerText||l.getText([g])||"").indexOf(j[3])>=0;else if(p==="not"){j=j[3];o=0;for(m=j.length;o=0}},ID:function(g,j){return g.nodeType===1&&g.getAttribute("id")===j},TAG:function(g,j){return j==="*"&&g.nodeType===1||g.nodeName.toLowerCase()=== +j},CLASS:function(g,j){return(" "+(g.className||g.getAttribute("class"))+" ").indexOf(j)>-1},ATTR:function(g,j){var o=j[1];o=n.attrHandle[o]?n.attrHandle[o](g):g[o]!=null?g[o]:g.getAttribute(o);var m=o+"",p=j[2],q=j[4];return o==null?p==="!=":p==="="?m===q:p==="*="?m.indexOf(q)>=0:p==="~="?(" "+m+" ").indexOf(q)>=0:!q?m&&o!==false:p==="!="?m!==q:p==="^="?m.indexOf(q)===0:p==="$="?m.substr(m.length-q.length)===q:p==="|="?m===q||m.substr(0,q.length+1)===q+"-":false},POS:function(g,j,o,m){var p=n.setFilters[j[2]]; +if(p)return p(g,o,j,m)}}},s=n.match.POS,v=function(g,j){return"\\"+(j-0+1)},B;for(B in n.match){n.match[B]=RegExp(n.match[B].source+/(?![^\[]*\])(?![^\(]*\))/.source);n.leftMatch[B]=RegExp(/(^(?:.|\r|\n)*?)/.source+n.match[B].source.replace(/\\(\d+)/g,v))}var D=function(g,j){g=Array.prototype.slice.call(g,0);if(j){j.push.apply(j,g);return j}return g};try{Array.prototype.slice.call(u.documentElement.childNodes,0)}catch(H){D=function(g,j){var o=j||[],m=0;if(f.call(g)==="[object Array]")Array.prototype.push.apply(o, +g);else if(typeof g.length==="number")for(var p=g.length;m";var o=u.documentElement;o.insertBefore(g,o.firstChild);if(u.getElementById(j)){n.find.ID=function(m,p,q){if(typeof p.getElementById!=="undefined"&&!q)return(p=p.getElementById(m[1]))?p.id===m[1]||typeof p.getAttributeNode!=="undefined"&&p.getAttributeNode("id").nodeValue===m[1]?[p]:A:[]};n.filter.ID=function(m,p){var q=typeof m.getAttributeNode!=="undefined"&&m.getAttributeNode("id");return m.nodeType===1&&q&&q.nodeValue===p}}o.removeChild(g); +o=g=null})();(function(){var g=u.createElement("div");g.appendChild(u.createComment(""));if(g.getElementsByTagName("*").length>0)n.find.TAG=function(j,o){var m=o.getElementsByTagName(j[1]);if(j[1]==="*"){for(var p=[],q=0;m[q];q++)m[q].nodeType===1&&p.push(m[q]);m=p}return m};g.innerHTML="";if(g.firstChild&&typeof g.firstChild.getAttribute!=="undefined"&&g.firstChild.getAttribute("href")!=="#")n.attrHandle.href=function(j){return j.getAttribute("href",2)};g=null})();u.querySelectorAll&& +function(){var g=l,j=u.createElement("div");j.innerHTML="

";if(!(j.querySelectorAll&&j.querySelectorAll(".TEST").length===0)){l=function(m,p,q,t){p=p||u;if(!t&&!l.isXML(p))if(p.nodeType===9)try{return D(p.querySelectorAll(m),q)}catch(x){}else if(p.nodeType===1&&p.nodeName.toLowerCase()!=="object"){var C=p.id,P=p.id="__sizzle__";try{return D(p.querySelectorAll("#"+P+" "+m),q)}catch(N){}finally{if(C)p.id=C;else p.removeAttribute("id")}}return g(m,p,q,t)};for(var o in g)l[o]=g[o]; +j=null}}();(function(){var g=u.documentElement,j=g.matchesSelector||g.mozMatchesSelector||g.webkitMatchesSelector||g.msMatchesSelector,o=false;try{j.call(u.documentElement,":sizzle")}catch(m){o=true}if(j)l.matchesSelector=function(p,q){try{if(o||!n.match.PSEUDO.test(q))return j.call(p,q)}catch(t){}return l(q,null,null,[p]).length>0}})();(function(){var g=u.createElement("div");g.innerHTML="
";if(!(!g.getElementsByClassName||g.getElementsByClassName("e").length=== +0)){g.lastChild.className="e";if(g.getElementsByClassName("e").length!==1){n.order.splice(1,0,"CLASS");n.find.CLASS=function(j,o,m){if(typeof o.getElementsByClassName!=="undefined"&&!m)return o.getElementsByClassName(j[1])};g=null}}})();l.contains=u.documentElement.contains?function(g,j){return g!==j&&(g.contains?g.contains(j):true)}:function(g,j){return!!(g.compareDocumentPosition(j)&16)};l.isXML=function(g){return(g=(g?g.ownerDocument||g:0).documentElement)?g.nodeName!=="HTML":false};var M=function(g, +j){for(var o=[],m="",p,q=j.nodeType?[j]:j;p=n.match.PSEUDO.exec(g);){m+=p[0];g=g.replace(n.match.PSEUDO,"")}g=n.relative[g]?g+"*":g;p=0;for(var t=q.length;p0)for(var h=d;h0},closest:function(a, +b){var d=[],e,f,h=this[0];if(c.isArray(a)){var k={},l,n=1;if(h&&a.length){e=0;for(f=a.length;e-1:c(h).is(e))d.push({selector:l,elem:h,level:n})}h=h.parentNode;n++}}return d}k=$a.test(a)?c(a,b||this.context):null;e=0;for(f=this.length;e-1:c.find.matchesSelector(h,a)){d.push(h);break}else{h=h.parentNode;if(!h|| +!h.ownerDocument||h===b)break}d=d.length>1?c.unique(d):d;return this.pushStack(d,"closest",a)},index:function(a){if(!a||typeof a==="string")return c.inArray(this[0],a?c(a):this.parent().children());return c.inArray(a.jquery?a[0]:a,this)},add:function(a,b){var d=typeof a==="string"?c(a,b||this.context):c.makeArray(a),e=c.merge(this.get(),d);return this.pushStack(!d[0]||!d[0].parentNode||d[0].parentNode.nodeType===11||!e[0]||!e[0].parentNode||e[0].parentNode.nodeType===11?e:c.unique(e))},andSelf:function(){return this.add(this.prevObject)}}); +c.each({parent:function(a){return(a=a.parentNode)&&a.nodeType!==11?a:null},parents:function(a){return c.dir(a,"parentNode")},parentsUntil:function(a,b,d){return c.dir(a,"parentNode",d)},next:function(a){return c.nth(a,2,"nextSibling")},prev:function(a){return c.nth(a,2,"previousSibling")},nextAll:function(a){return c.dir(a,"nextSibling")},prevAll:function(a){return c.dir(a,"previousSibling")},nextUntil:function(a,b,d){return c.dir(a,"nextSibling",d)},prevUntil:function(a,b,d){return c.dir(a,"previousSibling", +d)},siblings:function(a){return c.sibling(a.parentNode.firstChild,a)},children:function(a){return c.sibling(a.firstChild)},contents:function(a){return c.nodeName(a,"iframe")?a.contentDocument||a.contentWindow.document:c.makeArray(a.childNodes)}},function(a,b){c.fn[a]=function(d,e){var f=c.map(this,b,d);Wa.test(a)||(e=d);if(e&&typeof e==="string")f=c.filter(e,f);f=this.length>1?c.unique(f):f;if((this.length>1||Ya.test(e))&&Xa.test(a))f=f.reverse();return this.pushStack(f,a,Za.call(arguments).join(","))}}); +c.extend({filter:function(a,b,d){if(d)a=":not("+a+")";return b.length===1?c.find.matchesSelector(b[0],a)?[b[0]]:[]:c.find.matches(a,b)},dir:function(a,b,d){var e=[];for(a=a[b];a&&a.nodeType!==9&&(d===A||a.nodeType!==1||!c(a).is(d));){a.nodeType===1&&e.push(a);a=a[b]}return e},nth:function(a,b,d){b=b||1;for(var e=0;a;a=a[d])if(a.nodeType===1&&++e===b)break;return a},sibling:function(a,b){for(var d=[];a;a=a.nextSibling)a.nodeType===1&&a!==b&&d.push(a);return d}});var xa=/ jQuery\d+="(?:\d+|null)"/g, +$=/^\s+/,ya=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/ig,za=/<([\w:]+)/,ab=/\s]+\/)>/g,O={option:[1,""],legend:[1,"
","
"],thead:[1,"","
"],tr:[2,"","
"],td:[3,"","
"],col:[2,"","
"], +area:[1,"",""],_default:[0,"",""]};O.optgroup=O.option;O.tbody=O.tfoot=O.colgroup=O.caption=O.thead;O.th=O.td;if(!c.support.htmlSerialize)O._default=[1,"div
","
"];c.fn.extend({text:function(a){if(c.isFunction(a))return this.each(function(b){var d=c(this);d.text(a.call(this,b,d.text()))});if(typeof a!=="object"&&a!==A)return this.empty().append((this[0]&&this[0].ownerDocument||u).createTextNode(a));return c.text(this)},wrapAll:function(a){if(c.isFunction(a))return this.each(function(d){c(this).wrapAll(a.call(this, +d))});if(this[0]){var b=c(a,this[0].ownerDocument).eq(0).clone(true);this[0].parentNode&&b.insertBefore(this[0]);b.map(function(){for(var d=this;d.firstChild&&d.firstChild.nodeType===1;)d=d.firstChild;return d}).append(this)}return this},wrapInner:function(a){if(c.isFunction(a))return this.each(function(b){c(this).wrapInner(a.call(this,b))});return this.each(function(){var b=c(this),d=b.contents();d.length?d.wrapAll(a):b.append(a)})},wrap:function(a){return this.each(function(){c(this).wrapAll(a)})}, +unwrap:function(){return this.parent().each(function(){c.nodeName(this,"body")||c(this).replaceWith(this.childNodes)}).end()},append:function(){return this.domManip(arguments,true,function(a){this.nodeType===1&&this.appendChild(a)})},prepend:function(){return this.domManip(arguments,true,function(a){this.nodeType===1&&this.insertBefore(a,this.firstChild)})},before:function(){if(this[0]&&this[0].parentNode)return this.domManip(arguments,false,function(b){this.parentNode.insertBefore(b,this)});else if(arguments.length){var a= +c(arguments[0]);a.push.apply(a,this.toArray());return this.pushStack(a,"before",arguments)}},after:function(){if(this[0]&&this[0].parentNode)return this.domManip(arguments,false,function(b){this.parentNode.insertBefore(b,this.nextSibling)});else if(arguments.length){var a=this.pushStack(this,"after",arguments);a.push.apply(a,c(arguments[0]).toArray());return a}},remove:function(a,b){for(var d=0,e;(e=this[d])!=null;d++)if(!a||c.filter(a,[e]).length){if(!b&&e.nodeType===1){c.cleanData(e.getElementsByTagName("*")); +c.cleanData([e])}e.parentNode&&e.parentNode.removeChild(e)}return this},empty:function(){for(var a=0,b;(b=this[a])!=null;a++)for(b.nodeType===1&&c.cleanData(b.getElementsByTagName("*"));b.firstChild;)b.removeChild(b.firstChild);return this},clone:function(a){var b=this.map(function(){if(!c.support.noCloneEvent&&!c.isXMLDoc(this)){var d=this.outerHTML,e=this.ownerDocument;if(!d){d=e.createElement("div");d.appendChild(this.cloneNode(true));d=d.innerHTML}return c.clean([d.replace(xa,"").replace(cb,'="$1">').replace($, +"")],e)[0]}else return this.cloneNode(true)});if(a===true){la(this,b);la(this.find("*"),b.find("*"))}return b},html:function(a){if(a===A)return this[0]&&this[0].nodeType===1?this[0].innerHTML.replace(xa,""):null;else if(typeof a==="string"&&!Aa.test(a)&&(c.support.leadingWhitespace||!$.test(a))&&!O[(za.exec(a)||["",""])[1].toLowerCase()]){a=a.replace(ya,"<$1>");try{for(var b=0,d=this.length;b0||e.cacheable||this.length>1?l.cloneNode(true):l)}k.length&&c.each(k,Ka)}return this}});c.buildFragment=function(a,b,d){var e,f,h;b=b&&b[0]?b[0].ownerDocument||b[0]:u;if(a.length===1&&typeof a[0]==="string"&&a[0].length<512&&b===u&&!Aa.test(a[0])&&(c.support.checkClone|| +!Ba.test(a[0]))){f=true;if(h=c.fragments[a[0]])if(h!==1)e=h}if(!e){e=b.createDocumentFragment();c.clean(a,b,e,d)}if(f)c.fragments[a[0]]=h?e:1;return{fragment:e,cacheable:f}};c.fragments={};c.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(a,b){c.fn[a]=function(d){var e=[];d=c(d);var f=this.length===1&&this[0].parentNode;if(f&&f.nodeType===11&&f.childNodes.length===1&&d.length===1){d[b](this[0]);return this}else{f=0;for(var h= +d.length;f0?this.clone(true):this).get();c(d[f])[b](k);e=e.concat(k)}return this.pushStack(e,a,d.selector)}}});c.extend({clean:function(a,b,d,e){b=b||u;if(typeof b.createElement==="undefined")b=b.ownerDocument||b[0]&&b[0].ownerDocument||u;for(var f=[],h=0,k;(k=a[h])!=null;h++){if(typeof k==="number")k+="";if(k){if(typeof k==="string"&&!bb.test(k))k=b.createTextNode(k);else if(typeof k==="string"){k=k.replace(ya,"<$1>");var l=(za.exec(k)||["",""])[1].toLowerCase(),n=O[l]||O._default, +s=n[0],v=b.createElement("div");for(v.innerHTML=n[1]+k+n[2];s--;)v=v.lastChild;if(!c.support.tbody){s=ab.test(k);l=l==="table"&&!s?v.firstChild&&v.firstChild.childNodes:n[1]===""&&!s?v.childNodes:[];for(n=l.length-1;n>=0;--n)c.nodeName(l[n],"tbody")&&!l[n].childNodes.length&&l[n].parentNode.removeChild(l[n])}!c.support.leadingWhitespace&&$.test(k)&&v.insertBefore(b.createTextNode($.exec(k)[0]),v.firstChild);k=v.childNodes}if(k.nodeType)f.push(k);else f=c.merge(f,k)}}if(d)for(h=0;f[h];h++)if(e&& +c.nodeName(f[h],"script")&&(!f[h].type||f[h].type.toLowerCase()==="text/javascript"))e.push(f[h].parentNode?f[h].parentNode.removeChild(f[h]):f[h]);else{f[h].nodeType===1&&f.splice.apply(f,[h+1,0].concat(c.makeArray(f[h].getElementsByTagName("script"))));d.appendChild(f[h])}return f},cleanData:function(a){for(var b,d,e=c.cache,f=c.event.special,h=c.support.deleteExpando,k=0,l;(l=a[k])!=null;k++)if(!(l.nodeName&&c.noData[l.nodeName.toLowerCase()]))if(d=l[c.expando]){if((b=e[d])&&b.events)for(var n in b.events)f[n]? +c.event.remove(l,n):c.removeEvent(l,n,b.handle);if(h)delete l[c.expando];else l.removeAttribute&&l.removeAttribute(c.expando);delete e[d]}}});var Ca=/alpha\([^)]*\)/i,db=/opacity=([^)]*)/,eb=/-([a-z])/ig,fb=/([A-Z])/g,Da=/^-?\d+(?:px)?$/i,gb=/^-?\d/,hb={position:"absolute",visibility:"hidden",display:"block"},La=["Left","Right"],Ma=["Top","Bottom"],W,ib=u.defaultView&&u.defaultView.getComputedStyle,jb=function(a,b){return b.toUpperCase()};c.fn.css=function(a,b){if(arguments.length===2&&b===A)return this; +return c.access(this,a,b,true,function(d,e,f){return f!==A?c.style(d,e,f):c.css(d,e)})};c.extend({cssHooks:{opacity:{get:function(a,b){if(b){var d=W(a,"opacity","opacity");return d===""?"1":d}else return a.style.opacity}}},cssNumber:{zIndex:true,fontWeight:true,opacity:true,zoom:true,lineHeight:true},cssProps:{"float":c.support.cssFloat?"cssFloat":"styleFloat"},style:function(a,b,d,e){if(!(!a||a.nodeType===3||a.nodeType===8||!a.style)){var f,h=c.camelCase(b),k=a.style,l=c.cssHooks[h];b=c.cssProps[h]|| +h;if(d!==A){if(!(typeof d==="number"&&isNaN(d)||d==null)){if(typeof d==="number"&&!c.cssNumber[h])d+="px";if(!l||!("set"in l)||(d=l.set(a,d))!==A)try{k[b]=d}catch(n){}}}else{if(l&&"get"in l&&(f=l.get(a,false,e))!==A)return f;return k[b]}}},css:function(a,b,d){var e,f=c.camelCase(b),h=c.cssHooks[f];b=c.cssProps[f]||f;if(h&&"get"in h&&(e=h.get(a,true,d))!==A)return e;else if(W)return W(a,b,f)},swap:function(a,b,d){var e={},f;for(f in b){e[f]=a.style[f];a.style[f]=b[f]}d.call(a);for(f in b)a.style[f]= +e[f]},camelCase:function(a){return a.replace(eb,jb)}});c.curCSS=c.css;c.each(["height","width"],function(a,b){c.cssHooks[b]={get:function(d,e,f){var h;if(e){if(d.offsetWidth!==0)h=ma(d,b,f);else c.swap(d,hb,function(){h=ma(d,b,f)});return h+"px"}},set:function(d,e){if(Da.test(e)){e=parseFloat(e);if(e>=0)return e+"px"}else return e}}});if(!c.support.opacity)c.cssHooks.opacity={get:function(a,b){return db.test((b&&a.currentStyle?a.currentStyle.filter:a.style.filter)||"")?parseFloat(RegExp.$1)/100+"": +b?"1":""},set:function(a,b){var d=a.style;d.zoom=1;var e=c.isNaN(b)?"":"alpha(opacity="+b*100+")",f=d.filter||"";d.filter=Ca.test(f)?f.replace(Ca,e):d.filter+" "+e}};if(ib)W=function(a,b,d){var e;d=d.replace(fb,"-$1").toLowerCase();if(!(b=a.ownerDocument.defaultView))return A;if(b=b.getComputedStyle(a,null)){e=b.getPropertyValue(d);if(e===""&&!c.contains(a.ownerDocument.documentElement,a))e=c.style(a,d)}return e};else if(u.documentElement.currentStyle)W=function(a,b){var d,e,f=a.currentStyle&&a.currentStyle[b], +h=a.style;if(!Da.test(f)&&gb.test(f)){d=h.left;e=a.runtimeStyle.left;a.runtimeStyle.left=a.currentStyle.left;h.left=b==="fontSize"?"1em":f||0;f=h.pixelLeft+"px";h.left=d;a.runtimeStyle.left=e}return f};if(c.expr&&c.expr.filters){c.expr.filters.hidden=function(a){var b=a.offsetHeight;return a.offsetWidth===0&&b===0||!c.support.reliableHiddenOffsets&&(a.style.display||c.css(a,"display"))==="none"};c.expr.filters.visible=function(a){return!c.expr.filters.hidden(a)}}var kb=c.now(),lb=/)<[^<]*)*<\/script>/gi, +mb=/^(?:select|textarea)/i,nb=/^(?:color|date|datetime|email|hidden|month|number|password|range|search|tel|text|time|url|week)$/i,ob=/^(?:GET|HEAD|DELETE)$/,Na=/\[\]$/,T=/\=\?(&|$)/,ia=/\?/,pb=/([?&])_=[^&]*/,qb=/^(\w+:)?\/\/([^\/?#]+)/,rb=/%20/g,sb=/#.*$/,Ea=c.fn.load;c.fn.extend({load:function(a,b,d){if(typeof a!=="string"&&Ea)return Ea.apply(this,arguments);else if(!this.length)return this;var e=a.indexOf(" ");if(e>=0){var f=a.slice(e,a.length);a=a.slice(0,e)}e="GET";if(b)if(c.isFunction(b)){d= +b;b=null}else if(typeof b==="object"){b=c.param(b,c.ajaxSettings.traditional);e="POST"}var h=this;c.ajax({url:a,type:e,dataType:"html",data:b,complete:function(k,l){if(l==="success"||l==="notmodified")h.html(f?c("
").append(k.responseText.replace(lb,"")).find(f):k.responseText);d&&h.each(d,[k.responseText,l,k])}});return this},serialize:function(){return c.param(this.serializeArray())},serializeArray:function(){return this.map(function(){return this.elements?c.makeArray(this.elements):this}).filter(function(){return this.name&& +!this.disabled&&(this.checked||mb.test(this.nodeName)||nb.test(this.type))}).map(function(a,b){var d=c(this).val();return d==null?null:c.isArray(d)?c.map(d,function(e){return{name:b.name,value:e}}):{name:b.name,value:d}}).get()}});c.each("ajaxStart ajaxStop ajaxComplete ajaxError ajaxSuccess ajaxSend".split(" "),function(a,b){c.fn[b]=function(d){return this.bind(b,d)}});c.extend({get:function(a,b,d,e){if(c.isFunction(b)){e=e||d;d=b;b=null}return c.ajax({type:"GET",url:a,data:b,success:d,dataType:e})}, +getScript:function(a,b){return c.get(a,null,b,"script")},getJSON:function(a,b,d){return c.get(a,b,d,"json")},post:function(a,b,d,e){if(c.isFunction(b)){e=e||d;d=b;b={}}return c.ajax({type:"POST",url:a,data:b,success:d,dataType:e})},ajaxSetup:function(a){c.extend(c.ajaxSettings,a)},ajaxSettings:{url:location.href,global:true,type:"GET",contentType:"application/x-www-form-urlencoded",processData:true,async:true,xhr:function(){return new E.XMLHttpRequest},accepts:{xml:"application/xml, text/xml",html:"text/html", +script:"text/javascript, application/javascript",json:"application/json, text/javascript",text:"text/plain",_default:"*/*"}},ajax:function(a){var b=c.extend(true,{},c.ajaxSettings,a),d,e,f,h=b.type.toUpperCase(),k=ob.test(h);b.url=b.url.replace(sb,"");b.context=a&&a.context!=null?a.context:b;if(b.data&&b.processData&&typeof b.data!=="string")b.data=c.param(b.data,b.traditional);if(b.dataType==="jsonp"){if(h==="GET")T.test(b.url)||(b.url+=(ia.test(b.url)?"&":"?")+(b.jsonp||"callback")+"=?");else if(!b.data|| +!T.test(b.data))b.data=(b.data?b.data+"&":"")+(b.jsonp||"callback")+"=?";b.dataType="json"}if(b.dataType==="json"&&(b.data&&T.test(b.data)||T.test(b.url))){d=b.jsonpCallback||"jsonp"+kb++;if(b.data)b.data=(b.data+"").replace(T,"="+d+"$1");b.url=b.url.replace(T,"="+d+"$1");b.dataType="script";var l=E[d];E[d]=function(m){f=m;c.handleSuccess(b,w,e,f);c.handleComplete(b,w,e,f);if(c.isFunction(l))l(m);else{E[d]=A;try{delete E[d]}catch(p){}}v&&v.removeChild(B)}}if(b.dataType==="script"&&b.cache===null)b.cache= +false;if(b.cache===false&&h==="GET"){var n=c.now(),s=b.url.replace(pb,"$1_="+n);b.url=s+(s===b.url?(ia.test(b.url)?"&":"?")+"_="+n:"")}if(b.data&&h==="GET")b.url+=(ia.test(b.url)?"&":"?")+b.data;b.global&&c.active++===0&&c.event.trigger("ajaxStart");n=(n=qb.exec(b.url))&&(n[1]&&n[1]!==location.protocol||n[2]!==location.host);if(b.dataType==="script"&&h==="GET"&&n){var v=u.getElementsByTagName("head")[0]||u.documentElement,B=u.createElement("script");if(b.scriptCharset)B.charset=b.scriptCharset;B.src= +b.url;if(!d){var D=false;B.onload=B.onreadystatechange=function(){if(!D&&(!this.readyState||this.readyState==="loaded"||this.readyState==="complete")){D=true;c.handleSuccess(b,w,e,f);c.handleComplete(b,w,e,f);B.onload=B.onreadystatechange=null;v&&B.parentNode&&v.removeChild(B)}}}v.insertBefore(B,v.firstChild);return A}var H=false,w=b.xhr();if(w){b.username?w.open(h,b.url,b.async,b.username,b.password):w.open(h,b.url,b.async);try{if(b.data!=null&&!k||a&&a.contentType)w.setRequestHeader("Content-Type", +b.contentType);if(b.ifModified){c.lastModified[b.url]&&w.setRequestHeader("If-Modified-Since",c.lastModified[b.url]);c.etag[b.url]&&w.setRequestHeader("If-None-Match",c.etag[b.url])}n||w.setRequestHeader("X-Requested-With","XMLHttpRequest");w.setRequestHeader("Accept",b.dataType&&b.accepts[b.dataType]?b.accepts[b.dataType]+", */*; q=0.01":b.accepts._default)}catch(G){}if(b.beforeSend&&b.beforeSend.call(b.context,w,b)===false){b.global&&c.active--===1&&c.event.trigger("ajaxStop");w.abort();return false}b.global&& +c.triggerGlobal(b,"ajaxSend",[w,b]);var M=w.onreadystatechange=function(m){if(!w||w.readyState===0||m==="abort"){H||c.handleComplete(b,w,e,f);H=true;if(w)w.onreadystatechange=c.noop}else if(!H&&w&&(w.readyState===4||m==="timeout")){H=true;w.onreadystatechange=c.noop;e=m==="timeout"?"timeout":!c.httpSuccess(w)?"error":b.ifModified&&c.httpNotModified(w,b.url)?"notmodified":"success";var p;if(e==="success")try{f=c.httpData(w,b.dataType,b)}catch(q){e="parsererror";p=q}if(e==="success"||e==="notmodified")d|| +c.handleSuccess(b,w,e,f);else c.handleError(b,w,e,p);d||c.handleComplete(b,w,e,f);m==="timeout"&&w.abort();if(b.async)w=null}};try{var g=w.abort;w.abort=function(){w&&g.call&&g.call(w);M("abort")}}catch(j){}b.async&&b.timeout>0&&setTimeout(function(){w&&!H&&M("timeout")},b.timeout);try{w.send(k||b.data==null?null:b.data)}catch(o){c.handleError(b,w,null,o);c.handleComplete(b,w,e,f)}b.async||M();return w}},param:function(a,b){var d=[],e=function(h,k){k=c.isFunction(k)?k():k;d[d.length]=encodeURIComponent(h)+ +"="+encodeURIComponent(k)};if(b===A)b=c.ajaxSettings.traditional;if(c.isArray(a)||a.jquery)c.each(a,function(){e(this.name,this.value)});else for(var f in a)ca(f,a[f],b,e);return d.join("&").replace(rb,"+")}});c.extend({active:0,lastModified:{},etag:{},handleError:function(a,b,d,e){a.error&&a.error.call(a.context,b,d,e);a.global&&c.triggerGlobal(a,"ajaxError",[b,a,e])},handleSuccess:function(a,b,d,e){a.success&&a.success.call(a.context,e,d,b);a.global&&c.triggerGlobal(a,"ajaxSuccess",[b,a])},handleComplete:function(a, +b,d){a.complete&&a.complete.call(a.context,b,d);a.global&&c.triggerGlobal(a,"ajaxComplete",[b,a]);a.global&&c.active--===1&&c.event.trigger("ajaxStop")},triggerGlobal:function(a,b,d){(a.context&&a.context.url==null?c(a.context):c.event).trigger(b,d)},httpSuccess:function(a){try{return!a.status&&location.protocol==="file:"||a.status>=200&&a.status<300||a.status===304||a.status===1223}catch(b){}return false},httpNotModified:function(a,b){var d=a.getResponseHeader("Last-Modified"),e=a.getResponseHeader("Etag"); +if(d)c.lastModified[b]=d;if(e)c.etag[b]=e;return a.status===304},httpData:function(a,b,d){var e=a.getResponseHeader("content-type")||"",f=b==="xml"||!b&&e.indexOf("xml")>=0;a=f?a.responseXML:a.responseText;f&&a.documentElement.nodeName==="parsererror"&&c.error("parsererror");if(d&&d.dataFilter)a=d.dataFilter(a,b);if(typeof a==="string")if(b==="json"||!b&&e.indexOf("json")>=0)a=c.parseJSON(a);else if(b==="script"||!b&&e.indexOf("javascript")>=0)c.globalEval(a);return a}});if(E.ActiveXObject)c.ajaxSettings.xhr= +function(){if(E.location.protocol!=="file:")try{return new E.XMLHttpRequest}catch(a){}try{return new E.ActiveXObject("Microsoft.XMLHTTP")}catch(b){}};c.support.ajax=!!c.ajaxSettings.xhr();var da={},tb=/^(?:toggle|show|hide)$/,ub=/^([+\-]=)?([\d+.\-]+)(.*)$/,aa,na=[["height","marginTop","marginBottom","paddingTop","paddingBottom"],["width","marginLeft","marginRight","paddingLeft","paddingRight"],["opacity"]];c.fn.extend({show:function(a,b,d){if(a||a===0)return this.animate(S("show",3),a,b,d);else{a= +0;for(b=this.length;a=0;e--)if(d[e].elem===this){b&&d[e](true);d.splice(e,1)}});b||this.dequeue();return this}});c.each({slideDown:S("show",1),slideUp:S("hide",1),slideToggle:S("toggle",1),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"}},function(a,b){c.fn[a]=function(d,e,f){return this.animate(b, +d,e,f)}});c.extend({speed:function(a,b,d){var e=a&&typeof a==="object"?c.extend({},a):{complete:d||!d&&b||c.isFunction(a)&&a,duration:a,easing:d&&b||b&&!c.isFunction(b)&&b};e.duration=c.fx.off?0:typeof e.duration==="number"?e.duration:e.duration in c.fx.speeds?c.fx.speeds[e.duration]:c.fx.speeds._default;e.old=e.complete;e.complete=function(){e.queue!==false&&c(this).dequeue();c.isFunction(e.old)&&e.old.call(this)};return e},easing:{linear:function(a,b,d,e){return d+e*a},swing:function(a,b,d,e){return(-Math.cos(a* +Math.PI)/2+0.5)*e+d}},timers:[],fx:function(a,b,d){this.options=b;this.elem=a;this.prop=d;if(!b.orig)b.orig={}}});c.fx.prototype={update:function(){this.options.step&&this.options.step.call(this.elem,this.now,this);(c.fx.step[this.prop]||c.fx.step._default)(this)},cur:function(){if(this.elem[this.prop]!=null&&(!this.elem.style||this.elem.style[this.prop]==null))return this.elem[this.prop];var a=parseFloat(c.css(this.elem,this.prop));return a&&a>-1E4?a:0},custom:function(a,b,d){function e(h){return f.step(h)} +this.startTime=c.now();this.start=a;this.end=b;this.unit=d||this.unit||"px";this.now=this.start;this.pos=this.state=0;var f=this;a=c.fx;e.elem=this.elem;if(e()&&c.timers.push(e)&&!aa)aa=setInterval(a.tick,a.interval)},show:function(){this.options.orig[this.prop]=c.style(this.elem,this.prop);this.options.show=true;this.custom(this.prop==="width"||this.prop==="height"?1:0,this.cur());c(this.elem).show()},hide:function(){this.options.orig[this.prop]=c.style(this.elem,this.prop);this.options.hide=true; +this.custom(this.cur(),0)},step:function(a){var b=c.now(),d=true;if(a||b>=this.options.duration+this.startTime){this.now=this.end;this.pos=this.state=1;this.update();this.options.curAnim[this.prop]=true;for(var e in this.options.curAnim)if(this.options.curAnim[e]!==true)d=false;if(d){if(this.options.overflow!=null&&!c.support.shrinkWrapBlocks){var f=this.elem,h=this.options;c.each(["","X","Y"],function(l,n){f.style["overflow"+n]=h.overflow[l]})}this.options.hide&&c(this.elem).hide();if(this.options.hide|| +this.options.show)for(var k in this.options.curAnim)c.style(this.elem,k,this.options.orig[k]);this.options.complete.call(this.elem)}return false}else{a=b-this.startTime;this.state=a/this.options.duration;b=this.options.easing||(c.easing.swing?"swing":"linear");this.pos=c.easing[this.options.specialEasing&&this.options.specialEasing[this.prop]||b](this.state,a,0,1,this.options.duration);this.now=this.start+(this.end-this.start)*this.pos;this.update()}return true}};c.extend(c.fx,{tick:function(){for(var a= +c.timers,b=0;b-1;e={};var s={};if(n)s=f.position();k=n?s.top:parseInt(k,10)||0;l=n?s.left:parseInt(l,10)||0;if(c.isFunction(b))b=b.call(a,d,h);if(b.top!=null)e.top=b.top-h.top+k;if(b.left!=null)e.left=b.left-h.left+l;"using"in b?b.using.call(a, +e):f.css(e)}};c.fn.extend({position:function(){if(!this[0])return null;var a=this[0],b=this.offsetParent(),d=this.offset(),e=Fa.test(b[0].nodeName)?{top:0,left:0}:b.offset();d.top-=parseFloat(c.css(a,"marginTop"))||0;d.left-=parseFloat(c.css(a,"marginLeft"))||0;e.top+=parseFloat(c.css(b[0],"borderTopWidth"))||0;e.left+=parseFloat(c.css(b[0],"borderLeftWidth"))||0;return{top:d.top-e.top,left:d.left-e.left}},offsetParent:function(){return this.map(function(){for(var a=this.offsetParent||u.body;a&&!Fa.test(a.nodeName)&& +c.css(a,"position")==="static";)a=a.offsetParent;return a})}});c.each(["Left","Top"],function(a,b){var d="scroll"+b;c.fn[d]=function(e){var f=this[0],h;if(!f)return null;if(e!==A)return this.each(function(){if(h=ea(this))h.scrollTo(!a?e:c(h).scrollLeft(),a?e:c(h).scrollTop());else this[d]=e});else return(h=ea(f))?"pageXOffset"in h?h[a?"pageYOffset":"pageXOffset"]:c.support.boxModel&&h.document.documentElement[d]||h.document.body[d]:f[d]}});c.each(["Height","Width"],function(a,b){var d=b.toLowerCase(); +c.fn["inner"+b]=function(){return this[0]?parseFloat(c.css(this[0],d,"padding")):null};c.fn["outer"+b]=function(e){return this[0]?parseFloat(c.css(this[0],d,e?"margin":"border")):null};c.fn[d]=function(e){var f=this[0];if(!f)return e==null?null:this;if(c.isFunction(e))return this.each(function(h){var k=c(this);k[d](e.call(this,h,k[d]()))});return c.isWindow(f)?f.document.compatMode==="CSS1Compat"&&f.document.documentElement["client"+b]||f.document.body["client"+b]:f.nodeType===9?Math.max(f.documentElement["client"+ +b],f.body["scroll"+b],f.documentElement["scroll"+b],f.body["offset"+b],f.documentElement["offset"+b]):e===A?parseFloat(c.css(f,d)):this.css(d,typeof e==="string"?e:e+"px")}})})(window); diff --git a/web/public/js/libs/jquery/jquery.fancybox-1.3.4/style.css b/web/public/js/libs/jquery/jquery.fancybox-1.3.4/style.css new file mode 100644 index 0000000..bff0aef --- /dev/null +++ b/web/public/js/libs/jquery/jquery.fancybox-1.3.4/style.css @@ -0,0 +1,65 @@ +html, body, div, ul { + margin: 0; + padding: 0; +} + +body { + color: #262626; + background: #f4f4f4; + font: normal 12px/18px Verdana, sans-serif; +} + +#content { + width: 400px; + margin: 40px auto 0 auto; + padding: 0 60px 30px 60px; + border: solid 1px #cbcbcb; + background: #fafafa; + -moz-box-shadow: 0px 0px 10px #cbcbcb; + -webkit-box-shadow: 0px 0px 10px #cbcbcb; +} + +h1 { + margin: 30px 0 15px 0; + font-size: 30px; + font-weight: bold; + font-family: Arial; +} + +h1 span { + font-size: 50%; + letter-spacing: -0.05em; +} + +hr { + border: none; + height: 1px; line-height: 1px; + background: #E5E5E5; + margin-bottom: 20px; + padding: 0; +} + +p { + margin: 0; + padding: 7px 0; +} + +a { + outline: none; +} + +a img { + border: 1px solid #BBB; + padding: 2px; + margin: 10px 20px 10px 0; + vertical-align: top; +} + +a img.last { + margin-right: 0; +} + +ul { + margin-bottom: 24px; + padding-left: 30px; +} diff --git a/web/public/js/libs/jquery/jquery.form.js b/web/public/js/libs/jquery/jquery.form.js new file mode 100644 index 0000000..89d5430 --- /dev/null +++ b/web/public/js/libs/jquery/jquery.form.js @@ -0,0 +1,1127 @@ +/*! + * jQuery Form Plugin + * version: 3.27.0-2013.02.06 + * @requires jQuery v1.5 or later + * + * Examples and documentation at: http://malsup.com/jquery/form/ + * Project repository: https://github.com/malsup/form + * Dual licensed under the MIT and GPL licenses: + * http://malsup.github.com/mit-license.txt + * http://malsup.github.com/gpl-license-v2.txt + */ +/*global ActiveXObject alert */ +;(function($) { +"use strict"; + +/* + Usage Note: + ----------- + Do not use both ajaxSubmit and ajaxForm on the same form. These + functions are mutually exclusive. Use ajaxSubmit if you want + to bind your own submit handler to the form. For example, + + $(document).ready(function() { + $('#myForm').on('submit', function(e) { + e.preventDefault(); // <-- important + $(this).ajaxSubmit({ + target: '#output' + }); + }); + }); + + Use ajaxForm when you want the plugin to manage all the event binding + for you. For example, + + $(document).ready(function() { + $('#myForm').ajaxForm({ + target: '#output' + }); + }); + + You can also use ajaxForm with delegation (requires jQuery v1.7+), so the + form does not have to exist when you invoke ajaxForm: + + $('#myForm').ajaxForm({ + delegation: true, + target: '#output' + }); + + When using ajaxForm, the ajaxSubmit function will be invoked for you + at the appropriate time. +*/ + +/** + * Feature detection + */ +var feature = {}; +feature.fileapi = $("").get(0).files !== undefined; +feature.formdata = window.FormData !== undefined; + +/** + * ajaxSubmit() provides a mechanism for immediately submitting + * an HTML form using AJAX. + */ +$.fn.ajaxSubmit = function(options) { + /*jshint scripturl:true */ + + // fast fail if nothing selected (http://dev.jquery.com/ticket/2752) + if (!this.length) { + log('ajaxSubmit: skipping submit process - no element selected'); + return this; + } + + var method, action, url, $form = this; + + if (typeof options == 'function') { + options = { success: options }; + } + + method = this.attr('method'); + action = this.attr('action'); + url = (typeof action === 'string') ? $.trim(action) : ''; + url = url || window.location.href || ''; + if (url) { + // clean url (don't include hash vaue) + url = (url.match(/^([^#]+)/)||[])[1]; + } + + options = $.extend(true, { + url: url, + success: $.ajaxSettings.success, + type: method || 'GET', + iframeSrc: /^https/i.test(window.location.href || '') ? 'javascript:false' : 'about:blank' + }, options); + + // hook for manipulating the form data before it is extracted; + // convenient for use with rich editors like tinyMCE or FCKEditor + var veto = {}; + this.trigger('form-pre-serialize', [this, options, veto]); + if (veto.veto) { + log('ajaxSubmit: submit vetoed via form-pre-serialize trigger'); + return this; + } + + // provide opportunity to alter form data before it is serialized + if (options.beforeSerialize && options.beforeSerialize(this, options) === false) { + log('ajaxSubmit: submit aborted via beforeSerialize callback'); + return this; + } + + var traditional = options.traditional; + if ( traditional === undefined ) { + traditional = $.ajaxSettings.traditional; + } + + var elements = []; + var qx, a = this.formToArray(options.semantic, elements); + if (options.data) { + options.extraData = options.data; + qx = $.param(options.data, traditional); + } + + // give pre-submit callback an opportunity to abort the submit + if (options.beforeSubmit && options.beforeSubmit(a, this, options) === false) { + log('ajaxSubmit: submit aborted via beforeSubmit callback'); + return this; + } + + // fire vetoable 'validate' event + this.trigger('form-submit-validate', [a, this, options, veto]); + if (veto.veto) { + log('ajaxSubmit: submit vetoed via form-submit-validate trigger'); + return this; + } + + var q = $.param(a, traditional); + if (qx) { + q = ( q ? (q + '&' + qx) : qx ); + } + if (options.type.toUpperCase() == 'GET') { + options.url += (options.url.indexOf('?') >= 0 ? '&' : '?') + q; + options.data = null; // data is null for 'get' + } + else { + options.data = q; // data is the query string for 'post' + } + + var callbacks = []; + if (options.resetForm) { + callbacks.push(function() { $form.resetForm(); }); + } + if (options.clearForm) { + callbacks.push(function() { $form.clearForm(options.includeHidden); }); + } + + // perform a load on the target only if dataType is not provided + if (!options.dataType && options.target) { + var oldSuccess = options.success || function(){}; + callbacks.push(function(data) { + var fn = options.replaceTarget ? 'replaceWith' : 'html'; + $(options.target)[fn](data).each(oldSuccess, arguments); + }); + } + else if (options.success) { + callbacks.push(options.success); + } + + options.success = function(data, status, xhr) { // jQuery 1.4+ passes xhr as 3rd arg + var context = options.context || this ; // jQuery 1.4+ supports scope context + for (var i=0, max=callbacks.length; i < max; i++) { + callbacks[i].apply(context, [data, status, xhr || $form, $form]); + } + }; + + // are there files to upload? + + // [value] (issue #113), also see comment: + // https://github.com/malsup/form/commit/588306aedba1de01388032d5f42a60159eea9228#commitcomment-2180219 + var fileInputs = $('input[type=file]:enabled[value!=""]', this); + + var hasFileInputs = fileInputs.length > 0; + var mp = 'multipart/form-data'; + var multipart = ($form.attr('enctype') == mp || $form.attr('encoding') == mp); + + var fileAPI = feature.fileapi && feature.formdata; + log("fileAPI :" + fileAPI); + var shouldUseFrame = (hasFileInputs || multipart) && !fileAPI; + + var jqxhr; + + // options.iframe allows user to force iframe mode + // 06-NOV-09: now defaulting to iframe mode if file input is detected + if (options.iframe !== false && (options.iframe || shouldUseFrame)) { + // hack to fix Safari hang (thanks to Tim Molendijk for this) + // see: http://groups.google.com/group/jquery-dev/browse_thread/thread/36395b7ab510dd5d + if (options.closeKeepAlive) { + $.get(options.closeKeepAlive, function() { + jqxhr = fileUploadIframe(a); + }); + } + else { + jqxhr = fileUploadIframe(a); + } + } + else if ((hasFileInputs || multipart) && fileAPI) { + jqxhr = fileUploadXhr(a); + } + else { + jqxhr = $.ajax(options); + } + + $form.removeData('jqxhr').data('jqxhr', jqxhr); + + // clear element array + for (var k=0; k < elements.length; k++) + elements[k] = null; + + // fire 'notify' event + this.trigger('form-submit-notify', [this, options]); + return this; + + // utility fn for deep serialization + function deepSerialize(extraData){ + var serialized = $.param(extraData).split('&'); + var len = serialized.length; + var result = []; + var i, part; + for (i=0; i < len; i++) { + // #252; undo param space replacement + serialized[i] = serialized[i].replace(/\+/g,' '); + part = serialized[i].split('='); + // #278; use array instead of object storage, favoring array serializations + result.push([decodeURIComponent(part[0]), decodeURIComponent(part[1])]); + } + return result; + } + + // XMLHttpRequest Level 2 file uploads (big hat tip to francois2metz) + function fileUploadXhr(a) { + var formdata = new FormData(); + + for (var i=0; i < a.length; i++) { + formdata.append(a[i].name, a[i].value); + } + + if (options.extraData) { + var serializedData = deepSerialize(options.extraData); + for (i=0; i < serializedData.length; i++) + if (serializedData[i]) + formdata.append(serializedData[i][0], serializedData[i][1]); + } + + options.data = null; + + var s = $.extend(true, {}, $.ajaxSettings, options, { + contentType: false, + processData: false, + cache: false, + type: method || 'POST' + }); + + if (options.uploadProgress) { + // workaround because jqXHR does not expose upload property + s.xhr = function() { + var xhr = jQuery.ajaxSettings.xhr(); + if (xhr.upload) { + xhr.upload.addEventListener('progress', function(event) { + var percent = 0; + var position = event.loaded || event.position; /*event.position is deprecated*/ + var total = event.total; + if (event.lengthComputable) { + percent = Math.ceil(position / total * 100); + } + options.uploadProgress(event, position, total, percent); + }, false); + } + return xhr; + }; + } + + s.data = null; + var beforeSend = s.beforeSend; + s.beforeSend = function(xhr, o) { + o.data = formdata; + if(beforeSend) + beforeSend.call(this, xhr, o); + }; + return $.ajax(s); + } + + // private function for handling file uploads (hat tip to YAHOO!) + function fileUploadIframe(a) { + var form = $form[0], el, i, s, g, id, $io, io, xhr, sub, n, timedOut, timeoutHandle; + var useProp = !!$.fn.prop; + var deferred = $.Deferred(); + + if (a) { + // ensure that every serialized input is still enabled + for (i=0; i < elements.length; i++) { + el = $(elements[i]); + if ( useProp ) + el.prop('disabled', false); + else + el.removeAttr('disabled'); + } + } + + s = $.extend(true, {}, $.ajaxSettings, options); + s.context = s.context || s; + id = 'jqFormIO' + (new Date().getTime()); + if (s.iframeTarget) { + $io = $(s.iframeTarget); + n = $io.attr('name'); + if (!n) + $io.attr('name', id); + else + id = n; + } + else { + $io = $('