@ckeditor/ckeditor5-format-painter 41.3.1 → 41.4.0-alpha.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/format-painter.js +1 -1
- package/build/format-painter.js.map +1 -0
- package/dist/index-content.css +4 -0
- package/dist/index-editor.css +7 -0
- package/dist/index.css +32 -0
- package/dist/index.js +23 -0
- package/dist/translations/ar.d.ts +8 -0
- package/dist/translations/ar.js +23 -0
- package/dist/translations/bg.d.ts +8 -0
- package/dist/translations/bg.js +23 -0
- package/dist/translations/bn.d.ts +8 -0
- package/dist/translations/bn.js +23 -0
- package/dist/translations/ca.d.ts +8 -0
- package/dist/translations/ca.js +23 -0
- package/dist/translations/cs.d.ts +8 -0
- package/dist/translations/cs.js +23 -0
- package/dist/translations/da.d.ts +8 -0
- package/dist/translations/da.js +23 -0
- package/dist/translations/de.d.ts +8 -0
- package/dist/translations/de.js +23 -0
- package/dist/translations/el.d.ts +8 -0
- package/dist/translations/el.js +23 -0
- package/dist/translations/en-au.d.ts +8 -0
- package/dist/translations/en-au.js +23 -0
- package/dist/translations/en.d.ts +8 -0
- package/dist/translations/en.js +23 -0
- package/dist/translations/es.d.ts +8 -0
- package/dist/translations/es.js +23 -0
- package/dist/translations/et.d.ts +8 -0
- package/dist/translations/et.js +23 -0
- package/dist/translations/fi.d.ts +8 -0
- package/dist/translations/fi.js +23 -0
- package/dist/translations/fr.d.ts +8 -0
- package/dist/translations/fr.js +23 -0
- package/dist/translations/gl.d.ts +8 -0
- package/dist/translations/gl.js +23 -0
- package/dist/translations/he.d.ts +8 -0
- package/dist/translations/he.js +23 -0
- package/dist/translations/hi.d.ts +8 -0
- package/dist/translations/hi.js +23 -0
- package/dist/translations/hr.d.ts +8 -0
- package/dist/translations/hr.js +23 -0
- package/dist/translations/hu.d.ts +8 -0
- package/dist/translations/hu.js +23 -0
- package/dist/translations/id.d.ts +8 -0
- package/dist/translations/id.js +23 -0
- package/dist/translations/it.d.ts +8 -0
- package/dist/translations/it.js +23 -0
- package/dist/translations/ja.d.ts +8 -0
- package/dist/translations/ja.js +23 -0
- package/dist/translations/ko.d.ts +8 -0
- package/dist/translations/ko.js +23 -0
- package/dist/translations/lt.d.ts +8 -0
- package/dist/translations/lt.js +23 -0
- package/dist/translations/lv.d.ts +8 -0
- package/dist/translations/lv.js +23 -0
- package/dist/translations/ms.d.ts +8 -0
- package/dist/translations/ms.js +23 -0
- package/dist/translations/nl.d.ts +8 -0
- package/dist/translations/nl.js +23 -0
- package/dist/translations/no.d.ts +8 -0
- package/dist/translations/no.js +23 -0
- package/dist/translations/pl.d.ts +8 -0
- package/dist/translations/pl.js +23 -0
- package/dist/translations/pt-br.d.ts +8 -0
- package/dist/translations/pt-br.js +23 -0
- package/dist/translations/pt.d.ts +8 -0
- package/dist/translations/pt.js +23 -0
- package/dist/translations/ro.d.ts +8 -0
- package/dist/translations/ro.js +23 -0
- package/dist/translations/ru.d.ts +8 -0
- package/dist/translations/ru.js +23 -0
- package/dist/translations/sk.d.ts +8 -0
- package/dist/translations/sk.js +23 -0
- package/dist/translations/sr-latn.d.ts +8 -0
- package/dist/translations/sr-latn.js +23 -0
- package/dist/translations/sr.d.ts +8 -0
- package/dist/translations/sr.js +23 -0
- package/dist/translations/sv.d.ts +8 -0
- package/dist/translations/sv.js +23 -0
- package/dist/translations/th.d.ts +8 -0
- package/dist/translations/th.js +23 -0
- package/dist/translations/tr.d.ts +8 -0
- package/dist/translations/tr.js +23 -0
- package/dist/translations/ug.d.ts +8 -0
- package/dist/translations/ug.js +23 -0
- package/dist/translations/uk.d.ts +8 -0
- package/dist/translations/uk.js +23 -0
- package/dist/translations/vi.d.ts +8 -0
- package/dist/translations/vi.js +23 -0
- package/dist/translations/zh-cn.d.ts +8 -0
- package/dist/translations/zh-cn.js +23 -0
- package/dist/translations/zh.d.ts +8 -0
- package/dist/translations/zh.js +23 -0
- package/dist/types/augmentation.d.ts +20 -0
- package/dist/types/copyformatcommand.d.ts +41 -0
- package/dist/types/formatpainter.d.ts +32 -0
- package/dist/types/formatpainterediting.d.ts +40 -0
- package/dist/types/formatpainterui.d.ts +36 -0
- package/dist/types/index.d.ts +18 -0
- package/dist/types/pasteformatcommand.d.ts +27 -0
- package/dist/types/utils.d.ts +29 -0
- package/lang/contexts.json +2 -0
- package/package.json +4 -3
- package/src/copyformatcommand.js +1 -1
- package/src/formatpainter.js +1 -1
- package/src/formatpainterediting.js +1 -1
- package/src/formatpainterui.js +1 -1
- package/src/index.js +1 -1
- package/src/pasteformatcommand.js +1 -1
- package/src/utils.js +1 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["webpack://CKEditor5.formatPainter/../ckeditor5-collaboration-core/theme/integrations/codeblock.css","webpack://CKEditor5.formatPainter/../ckeditor5-collaboration-core/theme/integrations/horizontalline.css","webpack://CKEditor5.formatPainter/../ckeditor5-collaboration-core/theme/integrations/image.css","webpack://CKEditor5.formatPainter/../ckeditor5-collaboration-core/theme/integrations/mediaembed.css","webpack://CKEditor5.formatPainter/../ckeditor5-collaboration-core/theme/integrations/pagebreak.css","webpack://CKEditor5.formatPainter/../ckeditor5-collaboration-core/theme/integrations/table.css","webpack://CKEditor5.formatPainter/../ckeditor5-collaboration-core/theme/suggestion.css","webpack://CKEditor5.formatPainter/../ckeditor5-collaboration-core/theme/suggestionmarker.css","webpack://CKEditor5.formatPainter/../ckeditor5-collaboration-core/theme/usercolors.css","webpack://CKEditor5.formatPainter/../ckeditor5-collaboration-core/theme/users.css","webpack://CKEditor5.formatPainter/./theme/formatpainter.css","webpack://CKEditor5.formatPainter/../node_modules/css-loader/dist/runtime/api.js","webpack://CKEditor5.formatPainter/../node_modules/css-loader/dist/runtime/cssWithMappingToString.js","webpack://CKEditor5.formatPainter/../node_modules/date-fns/_lib/addLeadingZeros/index.js","webpack://CKEditor5.formatPainter/../node_modules/date-fns/_lib/defaultLocale/index.js","webpack://CKEditor5.formatPainter/../node_modules/date-fns/_lib/defaultOptions/index.js","webpack://CKEditor5.formatPainter/../node_modules/date-fns/_lib/format/formatters/index.js","webpack://CKEditor5.formatPainter/../node_modules/date-fns/_lib/format/lightFormatters/index.js","webpack://CKEditor5.formatPainter/../node_modules/date-fns/_lib/format/longFormatters/index.js","webpack://CKEditor5.formatPainter/../node_modules/date-fns/_lib/getTimezoneOffsetInMilliseconds/index.js","webpack://CKEditor5.formatPainter/../node_modules/date-fns/_lib/getUTCDayOfYear/index.js","webpack://CKEditor5.formatPainter/../node_modules/date-fns/_lib/getUTCISOWeek/index.js","webpack://CKEditor5.formatPainter/../node_modules/date-fns/_lib/getUTCISOWeekYear/index.js","webpack://CKEditor5.formatPainter/../node_modules/date-fns/_lib/getUTCWeek/index.js","webpack://CKEditor5.formatPainter/../node_modules/date-fns/_lib/getUTCWeekYear/index.js","webpack://CKEditor5.formatPainter/../node_modules/date-fns/_lib/protectedTokens/index.js","webpack://CKEditor5.formatPainter/../node_modules/date-fns/_lib/requiredArgs/index.js","webpack://CKEditor5.formatPainter/../node_modules/date-fns/_lib/startOfUTCISOWeek/index.js","webpack://CKEditor5.formatPainter/../node_modules/date-fns/_lib/startOfUTCISOWeekYear/index.js","webpack://CKEditor5.formatPainter/../node_modules/date-fns/_lib/startOfUTCWeek/index.js","webpack://CKEditor5.formatPainter/../node_modules/date-fns/_lib/startOfUTCWeekYear/index.js","webpack://CKEditor5.formatPainter/../node_modules/date-fns/_lib/toInteger/index.js","webpack://CKEditor5.formatPainter/../node_modules/date-fns/addMilliseconds/index.js","webpack://CKEditor5.formatPainter/../node_modules/date-fns/constants/index.js","webpack://CKEditor5.formatPainter/../node_modules/date-fns/differenceInCalendarDays/index.js","webpack://CKEditor5.formatPainter/../node_modules/date-fns/format/index.js","webpack://CKEditor5.formatPainter/../node_modules/date-fns/isDate/index.js","webpack://CKEditor5.formatPainter/../node_modules/date-fns/isValid/index.js","webpack://CKEditor5.formatPainter/../node_modules/date-fns/locale/_lib/buildFormatLongFn/index.js","webpack://CKEditor5.formatPainter/../node_modules/date-fns/locale/_lib/buildLocalizeFn/index.js","webpack://CKEditor5.formatPainter/../node_modules/date-fns/locale/_lib/buildMatchFn/index.js","webpack://CKEditor5.formatPainter/../node_modules/date-fns/locale/_lib/buildMatchPatternFn/index.js","webpack://CKEditor5.formatPainter/../node_modules/date-fns/locale/en-US/_lib/formatDistance/index.js","webpack://CKEditor5.formatPainter/../node_modules/date-fns/locale/en-US/_lib/formatLong/index.js","webpack://CKEditor5.formatPainter/../node_modules/date-fns/locale/en-US/_lib/formatRelative/index.js","webpack://CKEditor5.formatPainter/../node_modules/date-fns/locale/en-US/_lib/localize/index.js","webpack://CKEditor5.formatPainter/../node_modules/date-fns/locale/en-US/_lib/match/index.js","webpack://CKEditor5.formatPainter/../node_modules/date-fns/locale/en-US/index.js","webpack://CKEditor5.formatPainter/../node_modules/date-fns/parseISO/index.js","webpack://CKEditor5.formatPainter/../node_modules/date-fns/startOfDay/index.js","webpack://CKEditor5.formatPainter/../node_modules/date-fns/subMilliseconds/index.js","webpack://CKEditor5.formatPainter/../node_modules/date-fns/toDate/index.js","webpack://CKEditor5.formatPainter/../ckeditor5-collaboration-core/src/augmentation.ts","webpack://CKEditor5.formatPainter/../ckeditor5-collaboration-core/src/collaborationhistory.ts","webpack://CKEditor5.formatPainter/../ckeditor5-collaboration-core/src/collaborationoperation.ts","webpack://CKEditor5.formatPainter/../ckeditor5-collaboration-core/src/index.ts","webpack://CKEditor5.formatPainter/../ckeditor5-collaboration-core/src/permissions.ts","webpack://CKEditor5.formatPainter/../ckeditor5-collaboration-core/src/suggestionstyles.ts","webpack://CKEditor5.formatPainter/../ckeditor5-collaboration-core/src/users.ts","webpack://CKEditor5.formatPainter/../ckeditor5-collaboration-core/src/users/view/userview.ts","webpack://CKEditor5.formatPainter/../ckeditor5-collaboration-core/src/utils/common-translations.ts","webpack://CKEditor5.formatPainter/../ckeditor5-collaboration-core/src/utils/confirmmixin.ts","webpack://CKEditor5.formatPainter/../ckeditor5-collaboration-core/src/utils/confirmview.ts","webpack://CKEditor5.formatPainter/../ckeditor5-collaboration-core/src/utils/getdatetimeformatter.ts","webpack://CKEditor5.formatPainter/../ckeditor5-collaboration-core/src/utils/getmarkerdomelement.ts","webpack://CKEditor5.formatPainter/../ckeditor5-collaboration-core/src/utils/hashobject.ts","webpack://CKEditor5.formatPainter/../ckeditor5-collaboration-core/src/utils/sanitizeEditorConfig.ts","webpack://CKEditor5.formatPainter/../ckeditor5-collaboration-core/src/utils/surroundingmarkersdetector.ts","webpack://CKEditor5.formatPainter/../ckeditor5-collaboration-core/src/utils/trim-html.ts","webpack://CKEditor5.formatPainter/../ckeditor5-collaboration/src/collaboration-core.ts","webpack://CKEditor5.formatPainter/./src/augmentation.ts","webpack://CKEditor5.formatPainter/./src/copyformatcommand.ts","webpack://CKEditor5.formatPainter/./src/formatpainter.ts","webpack://CKEditor5.formatPainter/./src/formatpainterediting.ts","webpack://CKEditor5.formatPainter/./src/formatpainterui.ts","webpack://CKEditor5.formatPainter/./src/pasteformatcommand.ts","webpack://CKEditor5.formatPainter/./src/utils.ts","webpack://CKEditor5.formatPainter/../ckeditor5-collaboration-core/theme/icons/notification.svg","webpack://CKEditor5.formatPainter/../ckeditor5-collaboration/theme/icons/case-change.svg","webpack://CKEditor5.formatPainter/../ckeditor5-collaboration/theme/icons/paint-roller.svg","webpack://CKEditor5.formatPainter/../ckeditor5-collaboration/theme/icons/robot-pencil.svg","webpack://CKEditor5.formatPainter/../ckeditor5-collaboration/theme/icons/table-of-contents.svg","webpack://CKEditor5.formatPainter/../ckeditor5-collaboration/theme/icons/template.svg","webpack://CKEditor5.formatPainter/../ckeditor5-collaboration-core/theme/integrations/codeblock.css?fc0e","webpack://CKEditor5.formatPainter/../ckeditor5-collaboration-core/theme/integrations/horizontalline.css?584d","webpack://CKEditor5.formatPainter/../ckeditor5-collaboration-core/theme/integrations/image.css?851e","webpack://CKEditor5.formatPainter/../ckeditor5-collaboration-core/theme/integrations/mediaembed.css?8aa1","webpack://CKEditor5.formatPainter/../ckeditor5-collaboration-core/theme/integrations/pagebreak.css?9947","webpack://CKEditor5.formatPainter/../ckeditor5-collaboration-core/theme/integrations/table.css?2cdc","webpack://CKEditor5.formatPainter/../ckeditor5-collaboration-core/theme/suggestion.css?dcb9","webpack://CKEditor5.formatPainter/../ckeditor5-collaboration-core/theme/suggestionmarker.css?ddd6","webpack://CKEditor5.formatPainter/../ckeditor5-collaboration-core/theme/usercolors.css?22c1","webpack://CKEditor5.formatPainter/../ckeditor5-collaboration-core/theme/users.css?d117","webpack://CKEditor5.formatPainter/./theme/formatpainter.css?f793","webpack://CKEditor5.formatPainter/../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js","webpack://CKEditor5.formatPainter/delegated \"./src/core.js\" from dll-reference CKEditor5.dll","webpack://CKEditor5.formatPainter/delegated \"./src/engine.js\" from dll-reference CKEditor5.dll","webpack://CKEditor5.formatPainter/delegated \"./src/ui.js\" from dll-reference CKEditor5.dll","webpack://CKEditor5.formatPainter/delegated \"./src/utils.js\" from dll-reference CKEditor5.dll","webpack://CKEditor5.formatPainter/external var \"CKEditor5.dll\"","webpack://CKEditor5.formatPainter/javascript/node_modules/@babel/runtime/helpers/interopRequireDefault.js","webpack://CKEditor5.formatPainter/javascript/node_modules/@babel/runtime/helpers/typeof.js","webpack://CKEditor5.formatPainter/webpack/bootstrap","webpack://CKEditor5.formatPainter/webpack/runtime/compat get default export","webpack://CKEditor5.formatPainter/webpack/runtime/define property getters","webpack://CKEditor5.formatPainter/webpack/runtime/hasOwnProperty shorthand","webpack://CKEditor5.formatPainter/webpack/runtime/make namespace object","webpack://CKEditor5.formatPainter/webpack/runtime/nonce","webpack://CKEditor5.formatPainter/./src/index.ts"],"names":["pluginInstance","config","licenseKey","pluginConfig","decodedLicense","disableEditor","editorOrContext","pluginName","counter","i"],"mappings":"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AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,OAAO;AACP;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,qCAAqC;AACrC;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,qCAAqC;AACrC;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA,MAAM;AACN;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kBAAe;AACf;;;;;;;;;;;AC5wBa;;AAEb,6BAA6B,gKAA+D;AAC5F,8CAA6C;AAC7C;AACA,CAAC,EAAC;AACF,kBAAe;AACf,oCAAoC,mBAAO,CAAC,uGAAgC;AAC5E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kBAAe;AACf;;;;;;;;;;;ACzFa;;AAEb,8CAA6C;AAC7C;AACA,CAAC,EAAC;AACF,kBAAe;AACf;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,mCAAmC,MAAM,0DAA0D,MAAM;AACzG;AACA;AACA;AACA;AACA;AACA;AACA,kBAAe;AACf;;;;;;;;;;;ACvFa;;AAEb,8CAA6C;AAC7C;AACA,CAAC,EAAC;AACF,kBAAe;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;ACtBa;;AAEb,6BAA6B,gKAA+D;AAC5F,8CAA6C;AAC7C;AACA,CAAC,EAAC;AACF,kBAAe;AACf,oCAAoC,mBAAO,CAAC,gFAAuB;AACnE,qCAAqC,mBAAO,CAAC,8FAA0B;AACvE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;ACpBa;;AAEb,6BAA6B,gKAA+D;AAC5F,8CAA6C;AAC7C;AACA,CAAC,EAAC;AACF,kBAAe;AACf,oCAAoC,mBAAO,CAAC,gFAAuB;AACnE,qCAAqC,mBAAO,CAAC,wGAA+B;AAC5E,qCAAqC,mBAAO,CAAC,gHAAmC;AAChF,qCAAqC,mBAAO,CAAC,8FAA0B;AACvE;AACA;AACA;AACA;AACA;;A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;AACA;AACA;;;;;;;;;;;AChBa;;AAEb,6BAA6B,gKAA+D;AAC5F,8CAA6C;AAC7C;AACA,CAAC,EAAC;AACF,kBAAe;AACf,oCAAoC,mBAAO,CAAC,6FAA4B;AACxE,qCAAqC,mBAAO,CAAC,6EAAoB;AACjE,qCAAqC,mBAAO,CAAC,mGAA+B;AAC5E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,aAAa;AACxB,WAAW,QAAQ;AACnB,aAAa,MAAM;AACnB,YAAY,WAAW;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;AClCa;;AAEb,8CAA6C;AAC7C;AACA,CAAC,EAAC;AACF,qBAAqB,GAAG,qBAAqB,GAAG,wBAAwB,GAAG,sBAAsB,GAAG,uBAAuB,GAAG,qBAAqB,GAAG,oBAAoB,GAAG,sBAAsB,GAAG,oBAAoB,GAAG,uBAAuB,GAAG,qBAAqB,GAAG,eAAe,GAAG,4BAA4B,GAAG,4BAA4B,GAAG,0BAA0B,GAAG,eAAe,GAAG,kBAAkB,GAAG,kBAAkB;AACrb;AACA;AACA;AACA;AACA;AACA,UAAU;AACV;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU;AACV;AACA;AACA,kBAAkB;AAClB;;AAEA;AACA;AACA;AACA;AACA;AACA,UAAU;AACV;AACA;AACA,kBAAkB;AAClB;;AAEA;AACA;AACA;AACA;AACA;AACA,UAAU;AACV;AACA;AACA,eAAe;AACf;;AAEA;AACA;AACA;AACA;AACA;AACA,UAAU;AACV;AACA;AACA,4BAA4B;AAC5B;;AAEA;AACA;AACA;AACA;AACA;AACA,UAAU;AACV;AACA;AACA,0BAA0B;AAC1B;;AAEA;AACA;AACA;AACA;AACA;AACA,UAAU;AACV;AACA;AACA,4BAA4B;AAC5B;;AAEA;AACA;AACA;AACA;AACA;AACA,UAAU;AACV;AACA;AACA,eAAe;AACf;;AAEA;AACA;AACA;AACA;AACA;AACA,UAAU;AACV;AACA;AACA,qBAAqB;AACrB;;AAEA;AACA;AACA;AACA;AACA;AACA,UAAU;AACV;AACA;AACA,uBAAuB;AACvB;;AAEA;AACA;AACA;AACA;AACA;AACA,UAAU;AACV;AACA;AACA,oBAAoB;AACpB;;AAEA;AACA;AACA;AACA;AACA;AACA,UAAU;AACV;AACA;AACA,sBAAsB;AACtB;;AAEA;AACA;AACA;AACA;AACA;AACA,UAAU;AACV;AACA;AACA,qBAAqB;AACrB;;AAEA;AACA;AACA;AACA;AACA;AACA,UAAU;AACV;AACA;AACA,uBAAuB;AACvB;;AAEA;AACA;AACA;AACA;AACA;AACA,UAAU;AACV;AACA;AACA,oBAAoB;AACpB;;AAEA;AACA;AACA;AACA;AACA;AACA,UAAU;AACV;AACA;AACA,qBAAqB;AACrB;;AAEA;AACA;AACA;AACA;AACA;AACA,UAAU;AACV;AACA;AACA,qBAAqB;AACrB;;AAEA;AACA;AACA;AACA;AACA;AACA,UAAU;AACV;AACA;AACA,sBAAsB;AACtB;AACA,wBAAwB;;;;;;;;;;;AC9MX;;AAEb,6BAA6B,gKAA+D;AAC5F,8CAA6C;AAC7C;AACA,CAAC,EAAC;AACF,kBAAe;AACf,oCAAoC,mBAAO,CAAC,yIAAkD;AAC9F,qCAAqC,mBAAO,CAAC,qFAAwB;AACrE,qCAAqC,mBAAO,CAAC,mGAA+B;AAC5E;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,aAAa;AACxB,WAAW,aAAa;AACxB,aAAa,QAAQ;AACrB,YAAY,WAAW;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;ACtDa;;AAEb,6BAA6B,gKAA+D;AAC5F,8CAA6C;AAC7C;AACA,CAAC,EAAC;AACF,kBAAe;AACf,oCAAoC,mBAAO,CAAC,+EAAqB;AACjE,qCAAqC,mBAAO,CAAC,+FAA6B;AAC1E,qCAAqC,mBAAO,CAAC,6EAAoB;AACjE,qCAAqC,mBAAO,CAAC,6GAAoC;AACjF,qCAAqC,mBAAO,CAAC,qHAAwC;AACrF,qCAAqC,mBAAO,CAAC,yIAAkD;AAC/F,cAAc,mBAAO,CAAC,yGAAkC;AACxD,qCAAqC,mBAAO,CAAC,6FAA4B;AACzE,qCAAqC,mBAAO,CAAC,mGAA+B;AAC5E,eAAe,mBAAO,CAAC,uGAAiC;AACxD,sCAAsC,mBAAO,CAAC,qGAAgC;AAC9E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iDAAiD,WAAW;AAC5D;AACA,iDAAiD,WAAW;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oEAAoE;AACpE,wBAAwB,4CAA4C;AACpE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,aAAa;AACxB,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB,WAAW,QAAQ,iEAAiE;AACpF,WAAW,eAAe;AAC1B,WAAW,QAAQ;AACnB,WAAW,SAAS;AACpB;AACA,WAAW,SAAS;AACpB;AACA,aAAa,QAAQ;AACrB,YAAY,WAAW;AACvB,YAAY,YAAY;AACxB,YAAY,YAAY;AACxB,YAAY,YAAY;AACxB,YAAY,YAAY;AACxB,YAAY,YAAY;AACxB,YAAY,YAAY,yGAAyG;AACjI,YAAY,YAAY,qGAAqG;AAC7H,YAAY,YAAY,+GAA+G;AACvI,YAAY,YAAY,iHAAiH;AACzI,YAAY,YAAY;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,WAAW;AACvB;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;AC1Za;;AAEb,6BAA6B,gKAA+D;AAC5F,8CAA6C;AAC7C;AACA,CAAC,EAAC;AACF,kBAAe;AACf,sCAAsC,mBAAO,CAAC,gGAA+B;AAC7E,oCAAoC,mBAAO,CAAC,mGAA+B;AAC3E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,GAAG;AACd,aAAa,SAAS;AACtB,YAAY,WAAW;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;AC7Ca;;AAEb,6BAA6B,gKAA+D;AAC5F,8CAA6C;AAC7C;AACA,CAAC,EAAC;AACF,kBAAe;AACf,oCAAoC,mBAAO,CAAC,6EAAoB;AAChE,qCAAqC,mBAAO,CAAC,6EAAoB;AACjE,qCAAqC,mBAAO,CAAC,mGAA+B;AAC5E;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8DAA8D;AAC9D;AACA;AACA;AACA;AACA,WAAW,GAAG;AACd,aAAa,SAAS;AACtB,YAAY,WAAW;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;ACjDa;;AAEb,8CAA6C;AAC7C;AACA,CAAC,EAAC;AACF,kBAAe;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;ACfa;;AAEb,8CAA6C;AAC7C;AACA,CAAC,EAAC;AACF,kBAAe;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;ACxBa;;AAEb,8CAA6C;AAC7C;AACA,CAAC,EAAC;AACF,kBAAe;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB,oBAAoB;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;AChDa;;AAEb,8CAA6C;AAC7C;AACA,CAAC,EAAC;AACF,kBAAe;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;ACvBa;;AAEb,8CAA6C;AAC7C;AACA,CAAC,EAAC;AACF,kBAAe;AACf;AACA;AACA;AACA,wBAAwB,QAAQ;AAChC,GAAG;AACH;AACA;AACA,cAAc,QAAQ;AACtB,GAAG;AACH;AACA;AACA;AACA,wBAAwB,QAAQ;AAChC,GAAG;AACH;AACA;AACA,cAAc,QAAQ;AACtB,GAAG;AACH;AACA;AACA,oBAAoB,QAAQ;AAC5B,GAAG;AACH;AACA;AACA,cAAc,QAAQ;AACtB,GAAG;AACH;AACA;AACA,cAAc,QAAQ;AACtB,GAAG;AACH;AACA;AACA,oBAAoB,QAAQ;AAC5B,GAAG;AACH;AACA;AACA,cAAc,QAAQ;AACtB,GAAG;AACH;AACA;AACA,oBAAoB,QAAQ;AAC5B,GAAG;AACH;AACA;AACA,cAAc,QAAQ;AACtB,GAAG;AACH;AACA;AACA,oBAAoB,QAAQ;AAC5B,GAAG;AACH;AACA;AACA,cAAc,QAAQ;AACtB,GAAG;AACH;AACA;AACA,mBAAmB,QAAQ;AAC3B,GAAG;AACH;AACA;AACA,qBAAqB,QAAQ;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA,IAAI;AACJ,yCAAyC,OAAO;AAChD;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA,kBAAe;AACf;;;;;;;;;;;AC1Fa;;AAEb,6BAA6B,gKAA+D;AAC5F,8CAA6C;AAC7C;AACA,CAAC,EAAC;AACF,kBAAe;AACf,oCAAoC,mBAAO,CAAC,0HAA0C;AACtF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO,OAAO,MAAM;AAC/B,WAAW,OAAO,OAAO,MAAM;AAC/B,aAAa,MAAM,IAAI,MAAM;AAC7B,YAAY,MAAM,IAAI,MAAM;AAC5B;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,kBAAe;AACf;;;;;;;;;;;AC1Ca;;AAEb,8CAA6C;AAC7C;AACA,CAAC,EAAC;AACF,kBAAe;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kBAAe;AACf;;;;;;;;;;;ACnBa;;AAEb,6BAA6B,gKAA+D;AAC5F,8CAA6C;AAC7C;AACA,CAAC,EAAC;AACF,kBAAe;AACf,oCAAoC,mBAAO,CAAC,sHAAwC;AACpF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,kBAAe;AACf;;;;;;;;;;;ACvJa;;AAEb,6BAA6B,gKAA+D;AAC5F,8CAA6C;AAC7C;AACA,CAAC,EAAC;AACF,kBAAe;AACf,oCAAoC,mBAAO,CAAC,gHAAqC;AACjF,qCAAqC,mBAAO,CAAC,8HAA4C;AACzF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,kBAAe;AACf;;;;;;;;;;;AC1Ga;;AAEb,6BAA6B,gKAA+D;AAC5F,8CAA6C;AAC7C;AACA,CAAC,EAAC;AACF,kBAAe;AACf,oCAAoC,mBAAO,CAAC,mHAAgC;AAC5E,qCAAqC,mBAAO,CAAC,2GAA4B;AACzE,qCAAqC,mBAAO,CAAC,mHAAgC;AAC7E,qCAAqC,mBAAO,CAAC,uGAA0B;AACvE,qCAAqC,mBAAO,CAAC,iGAAuB;AACpE;AACA,UAAU;AACV;AACA;AACA;AACA;AACA,oCAAoC;AACpC,mCAAmC;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kBAAe;AACf;;;;;;;;;;;ACnCa;;AAEb,6BAA6B,gKAA+D;AAC5F,8CAA6C;AAC7C;AACA,CAAC,EAAC;AACF,kBAAe;AACf,aAAa,mBAAO,CAAC,mFAAuB;AAC5C,qCAAqC,mBAAO,CAAC,mGAA+B;AAC5E,qCAAqC,mBAAO,CAAC,6FAA4B;AACzE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB,WAAW,OAAO;AAClB,aAAa,MAAM;AACnB,YAAY,WAAW;AACvB,YAAY,YAAY;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0CAA0C,qBAAqB;AAC/D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B,EAAE,MAAM,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE;AACxE,sBAAsB,EAAE,sBAAsB,EAAE,wBAAwB,EAAE;AAC1E,gCAAgC,EAAE,UAAU,EAAE;AAC9C;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA,mCAAmC,EAAE,SAAS,+BAA+B,OAAO,EAAE,SAAS,+BAA+B;AAC9H;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B;;AAE7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;AC3Oa;;AAEb,6BAA6B,gKAA+D;AAC5F,8CAA6C;AAC7C;AACA,CAAC,EAAC;AACF,kBAAe;AACf,oCAAoC,mBAAO,CAAC,6EAAoB;AAChE,qCAAqC,mBAAO,CAAC,mGAA+B;AAC5E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,aAAa;AACxB,aAAa,MAAM;AACnB,YAAY,WAAW;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;ACjCa;;AAEb,6BAA6B,gKAA+D;AAC5F,8CAA6C;AAC7C;AACA,CAAC,EAAC;AACF,kBAAe;AACf,oCAAoC,mBAAO,CAAC,+FAA6B;AACzE,qCAAqC,mBAAO,CAAC,mGAA+B;AAC5E,qCAAqC,mBAAO,CAAC,6FAA4B;AACzE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,aAAa;AACxB,WAAW,QAAQ;AACnB,aAAa,MAAM;AACnB,YAAY,WAAW;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;ACjCa;;AAEb,6BAA6B,gKAA+D;AAC5F,8CAA6C;AAC7C;AACA,CAAC,EAAC;AACF,kBAAe;AACf,sCAAsC,mBAAO,CAAC,gGAA+B;AAC7E,oCAAoC,mBAAO,CAAC,mGAA+B;AAC3E;AACA;AACA;AACA;AACA;AACA;AACA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AY,YAAY,YAAY,YAAY,YAAY,YAAY,WAAY,UAAY,YAAY,WAAY,YAAY,YAAY,YAAY,YAAY,YAAY,YAAY,YAAY,YAAY,YAAY,YAAY,YAAY,YAAY,YAAY,YAAY,YAAY,YAAY,YAAY,YAAY,YAAY,YAAY,YAAY,YAAY,YAAY,WAAY,WAAY,YAAY,YAAY,YAAY,WAAY,YAAY,YAAY,YAAY,YAAY,YAAY,WAAY,WAAY,UAAY,YAAY,WAAY,YAAY,WAAY,YAAY,UAAY,YAAY,WAAY,WAAY,YAAY,YAAY,YAAY,WAAY,YAAY,YAAY,WAAY,YAAY,WAAY,WAAY,WAAY,YAAY,YAAY,YAAY,YAAY,WAAY,YAAY,YAAY,WAAY,YAAY,WAAY,YAAY,YAAY,YAAY,GAAY,YAAY,WAAY,YAAY,YAAY,YAAY,YAAY,YAAY,YAAY,WAAY,YAAY,YAAY,YAAY,YAAY,YAAY,YAAY,YAAY,YAAY,YAAY,YAAY,WAAY,YAAY,YAAY,YAAY,UAAY,YAAY,YAAY,YAAY,YAAY,YAAY,YAAY,YAAY,YAAY,YAAY,YAAY,YAAY,WAAY,YAAY,YAAY,YAAY,YAAY,WAAY,WAAY,YAAY,YAAY,YAAY,YAAY,WAAY,WAAY,YAAY,YAAY,YAAY,YAAY,WAAY,YAAY,YAAY,YAAY,YAAY,YAAY,YAAY,WAAY,YAAY,YAAY,YAAY,YAAY,YAAY,WAAY,WAAY,YAAY,YAAY,YAAY,YAAY,YAAY,WAAY,YAAY,YAAY,WAAY,YAAY,YAAY,WAAY,WAAY,WAAY,YAAY,WAAY,WAAY,YAAY,YAAY,YAAY,YAAY,YAAY,YAAY,YAAY,YAAY,YAAY,YAAY,YAAY,WAAY,YAAY,YAAY,YAAY,YAAY,YAAY,YAAY,YAAY,YAAY,YAAY,YAAY,YAAY,YAAY,WAAY,YAAY,YAAY,WAAY,WAAY,WAAY,YAAY,YAAY,YAAY,YAAY,YAAY,YAAY,WAAY,YAAY,YAAY,YAAY,YAAY,YAAY,YAAY,YAAY,YAAY,YAAY,UAAY,YAAY,WAAY,YAAY,WAAY,YAAY,YAAY,YAAY,YAAY,WAAY,YAAY,YAAY,YAAY,YAAY,WAAY,YAAY,YAAY,YAAY,YAAY,YAAY,WAAY,YAAY,YAAY,YAAY,YAAY,WAAY,YAAY,YAAY,YAAY,YA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CA;AACA;AACA;;AAEA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA,OAAO;AACP;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,gBAAgB,KAAwC,GAAG,sBAAiB,GAAG,CAAI;;AAEnF;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;;AAEH;AACA;AACA,IAAI;AACJ;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA,qEAAqE,qBAAqB,cAAc;;AAExG;;AAEA;AACA;AACA,IAAI;AACJ;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,IAAI;AACJ;AACA;;AAEA;AACA,yDAAyD;AACzD,IAAI;;AAEJ;;;AAGA;AACA;AACA,IAAI;AACJ;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,MAAM;AACN;AACA;AACA;AACA;;AAEA;AACA,2BAA2B;AAC3B;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,oBAAoB,4BAA4B;AAChD;AACA;AACA;AACA;;AAEA;;AAEA,qBAAqB,6BAA6B;AAClD;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;;;;;;;;;AC5QA;;;;;;;;;;ACAA;;;;;;;;;;ACAA;;;;;;;;;;ACAA;;;;;;;;;;;ACAA;;;;;;;;;;ACAA;AACA;AACA;AACA;AACA;AACA,yCAAyC,yBAAyB,SAAS,yBAAyB;;;;;;;;;;ACLpG;AACA;;AAEA;AACA;AACA,IAAI;AACJ;AACA,GAAG,EAAE,yBAAyB,SAAS,yBAAyB;AAChE;AACA,0BAA0B,yBAAyB,SAAS,yBAAyB;;;;;;UCTrF;UACA;;UAEA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;;UAEA;UACA;;UAEA;UACA;UACA;;;;;WCtBA;WACA;WACA;WACA;WACA;WACA,iCAAiC,WAAW;WAC5C;WACA;;;;;WCPA;WACA;WACA;WACA;WACA,yCAAyC,wCAAwC;WACjF;WACA;WACA;;;;;WCPA;;;;;WCAA;WACA;WACA;WACA,uDAAuD,iBAAiB;WACxE;WACA,gDAAgD,aAAa;WAC7D;;;;;WCNA;;;;;;;;;;;;;;;;;;;;;;;;;;;ACAA;AAAA;AAAA;AAAA;AAS8E;AACrC;AACwC;AACtC;AACG;AACD;AAEtC","file":"format-painter.js","sourcesContent":["// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../../../node_modules/css-loader/dist/runtime/cssWithMappingToString.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".ck-content pre>code.ck-suggestion-marker-formatBlock{box-shadow:-7px 0 0 0 #ededed,-10px 0 0 0 var(--ck-color-suggestion-marker-format-border);display:block}.ck-content pre>code.ck-suggestion-marker-formatBlock.ck-suggestion-marker--active{box-shadow:-5px 0 0 0 #ededed,-8px 0 0 0 var(--ck-color-suggestion-marker-format-border-active)}\", \"\",{\"version\":3,\"sources\":[\"webpack://./../ckeditor5-collaboration-core/theme/integrations/codeblock.css\"],\"names\":[],\"mappings\":\"AASA,sDAEC,yFAAoG,CADpG,aAMD,CAHC,mFACC,+FACD\",\"sourcesContent\":[\"/*\\n * What you're currently looking at is the source code of a legally protected, proprietary software.\\n * CKEditor 5 Collaboration is licensed under a commercial license and protected by copyright law. Where not otherwise indicated,\\n * all CKEditor 5 Collaboration content is authored by CKSource engineers and consists of CKSource-owned intellectual property.\\n *\\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n.ck-content pre > code.ck-suggestion-marker-formatBlock {\\n\\tdisplay: block;\\n\\tbox-shadow: -7px 0 0 0 hsl(0deg 0% 93%), -10px 0 0 0 var(--ck-color-suggestion-marker-format-border);\\n\\n\\t&.ck-suggestion-marker--active {\\n\\t\\tbox-shadow: -5px 0 0 0 hsl(0deg 0% 93%), -8px 0 0 0 var(--ck-color-suggestion-marker-format-border-active);\\n\\t}\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../../../node_modules/css-loader/dist/runtime/cssWithMappingToString.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".ck-content .ck-suggestion-marker-deletion.ck-widget.ck-horizontal-line{background-color:var(--ck-color-suggestion-widget-deletion-background)}.ck-content .ck-suggestion-marker-deletion.ck-widget.ck-horizontal-line.ck-suggestion-marker--active{background-color:var(--ck-color-suggestion-widget-deletion-background-active)}.ck-content .ck-suggestion-marker-insertion.ck-widget.ck-horizontal-line{background-color:var(--ck-color-suggestion-widget-insertion-background)}.ck-content .ck-suggestion-marker-insertion.ck-widget.ck-horizontal-line.ck-suggestion-marker--active{background-color:var(--ck-color-suggestion-widget-insertion-background-active)}\", \"\",{\"version\":3,\"sources\":[\"webpack://./../ckeditor5-collaboration-core/theme/integrations/horizontalline.css\"],\"names\":[],\"mappings\":\"AASA,wEACC,sEAKD,CAHC,qGACC,6EACD,CAGD,yEACC,uEAKD,CAHC,sGACC,8EACD\",\"sourcesContent\":[\"/*\\n * What you're currently looking at is the source code of a legally protected, proprietary software.\\n * CKEditor 5 Collaboration is licensed under a commercial license and protected by copyright law. Where not otherwise indicated,\\n * all CKEditor 5 Collaboration content is authored by CKSource engineers and consists of CKSource-owned intellectual property.\\n *\\n * Copyright (c) 2003-2024, 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 .ck-suggestion-marker-deletion.ck-widget.ck-horizontal-line {\\n\\tbackground-color: var(--ck-color-suggestion-widget-deletion-background);\\n\\n\\t&.ck-suggestion-marker--active {\\n\\t\\tbackground-color: var(--ck-color-suggestion-widget-deletion-background-active);\\n\\t}\\n}\\n\\n.ck-content .ck-suggestion-marker-insertion.ck-widget.ck-horizontal-line {\\n\\tbackground-color: var(--ck-color-suggestion-widget-insertion-background);\\n\\n\\t&.ck-suggestion-marker--active {\\n\\t\\tbackground-color: var(--ck-color-suggestion-widget-insertion-background-active);\\n\\t}\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../../../node_modules/css-loader/dist/runtime/cssWithMappingToString.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".ck-content .ck-widget.image>figcaption.ck-suggestion-marker-deletion{background-color:var(--ck-color-suggestion-widget-deletion-background);border:none}.ck-content .ck-widget.image>figcaption.ck-suggestion-marker-deletion.ck-suggestion-marker--active{background-color:var(--ck-color-suggestion-widget-deletion-background-active)}.ck-content .ck-widget.image>figcaption.ck-suggestion-marker-insertion{background-color:var(--ck-color-suggestion-widget-insertion-background);border:none}.ck-content .ck-widget.image>figcaption.ck-suggestion-marker-insertion.ck-suggestion-marker--active{background-color:var(--ck-color-suggestion-widget-insertion-background-active)}.ck-content .ck-suggestion-marker-deletion.ck-widget.image{background-color:var(--ck-color-suggestion-widget-deletion-background)}.ck-content .ck-suggestion-marker-deletion.ck-widget.image img{opacity:.6}.ck-content .ck-suggestion-marker-deletion.ck-widget.image figcaption{background-color:var(--ck-color-suggestion-widget-deletion-background)}.ck-content .ck-suggestion-marker-deletion.ck-widget.image.ck-suggestion-marker--active,.ck-content .ck-suggestion-marker-deletion.ck-widget.image.ck-suggestion-marker--active figcaption{background-color:var(--ck-color-suggestion-widget-deletion-background-active)}.ck-content .ck-suggestion-marker-insertion.ck-widget.image,.ck-content .ck-suggestion-marker-insertion.ck-widget.image figcaption{background-color:var(--ck-color-suggestion-widget-insertion-background)}.ck-content .ck-suggestion-marker-insertion.ck-widget.image.ck-suggestion-marker--active,.ck-content .ck-suggestion-marker-insertion.ck-widget.image.ck-suggestion-marker--active figcaption{background-color:var(--ck-color-suggestion-widget-insertion-background-active)}\", \"\",{\"version\":3,\"sources\":[\"webpack://./../ckeditor5-collaboration-core/theme/integrations/image.css\"],\"names\":[],\"mappings\":\"AAUC,sEACC,sEAAuE,CACvE,WAKD,CAHC,mGACC,6EACD,CAGD,uEACC,uEAAwE,CACxE,WAKD,CAHC,oGACC,8EACD,CAIF,2DACC,sEAiBD,CAfC,+DACC,UACD,CAEA,sEACC,sEACD,CAKC,2LACC,6EACD,CAQD,mIACC,uEACD,CAMC,6LACC,8EACD\",\"sourcesContent\":[\"/*\\n * What you're currently looking at is the source code of a legally protected, proprietary software.\\n * CKEditor 5 Collaboration is licensed under a commercial license and protected by copyright law. Where not otherwise indicated,\\n * all CKEditor 5 Collaboration content is authored by CKSource engineers and consists of CKSource-owned intellectual property.\\n *\\n * Copyright (c) 2003-2024, 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 .ck-widget.image > figcaption {\\n\\t&.ck-suggestion-marker-deletion {\\n\\t\\tbackground-color: var(--ck-color-suggestion-widget-deletion-background);\\n\\t\\tborder: none;\\n\\n\\t\\t&.ck-suggestion-marker--active {\\n\\t\\t\\tbackground-color: var(--ck-color-suggestion-widget-deletion-background-active);\\n\\t\\t}\\n\\t}\\n\\n\\t&.ck-suggestion-marker-insertion {\\n\\t\\tbackground-color: var(--ck-color-suggestion-widget-insertion-background);\\n\\t\\tborder: none;\\n\\n\\t\\t&.ck-suggestion-marker--active {\\n\\t\\t\\tbackground-color: var(--ck-color-suggestion-widget-insertion-background-active);\\n\\t\\t}\\n\\t}\\n}\\n\\n.ck-content .ck-suggestion-marker-deletion.ck-widget.image {\\n\\tbackground-color: var(--ck-color-suggestion-widget-deletion-background);\\n\\n\\t& img {\\n\\t\\topacity: 0.6;\\n\\t}\\n\\n\\t& figcaption {\\n\\t\\tbackground-color: var(--ck-color-suggestion-widget-deletion-background);\\n\\t}\\n\\n\\t&.ck-suggestion-marker--active {\\n\\t\\tbackground-color: var(--ck-color-suggestion-widget-deletion-background-active);\\n\\n\\t\\t& figcaption {\\n\\t\\t\\tbackground-color: var(--ck-color-suggestion-widget-deletion-background-active);\\n\\t\\t}\\n\\t}\\n}\\n\\n.ck-content .ck-suggestion-marker-insertion.ck-widget.image {\\n\\tbackground-color: var(--ck-color-suggestion-widget-insertion-background);\\n\\n\\t/* stylelint-disable no-descending-specificity */\\n\\t& figcaption {\\n\\t\\tbackground-color: var(--ck-color-suggestion-widget-insertion-background);\\n\\t}\\n\\t/* stylelint-enable no-descending-specificity */\\n\\n\\t&.ck-suggestion-marker--active {\\n\\t\\tbackground-color: var(--ck-color-suggestion-widget-insertion-background-active);\\n\\n\\t\\t& figcaption {\\n\\t\\t\\tbackground-color: var(--ck-color-suggestion-widget-insertion-background-active);\\n\\t\\t}\\n\\t}\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../../../node_modules/css-loader/dist/runtime/cssWithMappingToString.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".ck-content .ck-suggestion-marker-deletion.ck-widget.media{background-color:var(--ck-color-suggestion-widget-deletion-background)}.ck-content .ck-suggestion-marker-deletion.ck-widget.media .ck-media__wrapper{opacity:.6}.ck-content .ck-suggestion-marker-deletion.ck-widget.media.ck-suggestion-marker--active{background-color:var(--ck-color-suggestion-widget-deletion-background-active)}.ck-content .ck-suggestion-marker-insertion.ck-widget.media{background-color:var(--ck-color-suggestion-widget-insertion-background)}.ck-content .ck-suggestion-marker-insertion.ck-widget.media.ck-suggestion-marker--active{background-color:var(--ck-color-suggestion-widget-insertion-background-active)}\", \"\",{\"version\":3,\"sources\":[\"webpack://./../ckeditor5-collaboration-core/theme/integrations/mediaembed.css\"],\"names\":[],\"mappings\":\"AASA,2DACC,sEASD,CAPC,8EACC,UACD,CAEA,wFACC,6EACD,CAGD,4DACC,uEAKD,CAHC,yFACC,8EACD\",\"sourcesContent\":[\"/*\\n * What you're currently looking at is the source code of a legally protected, proprietary software.\\n * CKEditor 5 Collaboration is licensed under a commercial license and protected by copyright law. Where not otherwise indicated,\\n * all CKEditor 5 Collaboration content is authored by CKSource engineers and consists of CKSource-owned intellectual property.\\n *\\n * Copyright (c) 2003-2024, 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 .ck-suggestion-marker-deletion.ck-widget.media {\\n\\tbackground-color: var(--ck-color-suggestion-widget-deletion-background);\\n\\n\\t& .ck-media__wrapper {\\n\\t\\topacity: 0.6;\\n\\t}\\n\\n\\t&.ck-suggestion-marker--active {\\n\\t\\tbackground-color: var(--ck-color-suggestion-widget-deletion-background-active);\\n\\t}\\n}\\n\\n.ck-content .ck-suggestion-marker-insertion.ck-widget.media {\\n\\tbackground-color: var(--ck-color-suggestion-widget-insertion-background);\\n\\n\\t&.ck-suggestion-marker--active {\\n\\t\\tbackground-color: var(--ck-color-suggestion-widget-insertion-background-active);\\n\\t}\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../../../node_modules/css-loader/dist/runtime/cssWithMappingToString.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".ck-content .ck-suggestion-marker-deletion.ck-widget.page-break{background-color:var(--ck-color-suggestion-widget-deletion-background)}.ck-content .ck-suggestion-marker-deletion.ck-widget.page-break.ck-suggestion-marker--active{background-color:var(--ck-color-suggestion-widget-deletion-background-active)}.ck-content .ck-suggestion-marker-insertion.ck-widget.page-break{background-color:var(--ck-color-suggestion-widget-insertion-background)}.ck-content .ck-suggestion-marker-insertion.ck-widget.page-break.ck-suggestion-marker--active{background-color:var(--ck-color-suggestion-widget-insertion-background-active)}\", \"\",{\"version\":3,\"sources\":[\"webpack://./../ckeditor5-collaboration-core/theme/integrations/pagebreak.css\"],\"names\":[],\"mappings\":\"AASA,gEACC,sEAKD,CAHC,6FACC,6EACD,CAGD,iEACC,uEAKD,CAHC,8FACC,8EACD\",\"sourcesContent\":[\"/*\\n * What you're currently looking at is the source code of a legally protected, proprietary software.\\n * CKEditor 5 Collaboration is licensed under a commercial license and protected by copyright law. Where not otherwise indicated,\\n * all CKEditor 5 Collaboration content is authored by CKSource engineers and consists of CKSource-owned intellectual property.\\n *\\n * Copyright (c) 2003-2024, 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 .ck-suggestion-marker-deletion.ck-widget.page-break {\\n\\tbackground-color: var(--ck-color-suggestion-widget-deletion-background);\\n\\n\\t&.ck-suggestion-marker--active {\\n\\t\\tbackground-color: var(--ck-color-suggestion-widget-deletion-background-active);\\n\\t}\\n}\\n\\n.ck-content .ck-suggestion-marker-insertion.ck-widget.page-break {\\n\\tbackground-color: var(--ck-color-suggestion-widget-insertion-background);\\n\\n\\t&.ck-suggestion-marker--active {\\n\\t\\tbackground-color: var(--ck-color-suggestion-widget-insertion-background-active);\\n\\t}\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../../../node_modules/css-loader/dist/runtime/cssWithMappingToString.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \":root{--ck-color-suggestion-widget-th-insertion-background:rgba(102,229,119,.12);--ck-color-suggestion-widget-th-insertion-background-active:rgba(37,218,61,.14);--ck-color-suggestion-widget-th-deletion-background:rgba(229,102,134,.14);--ck-color-suggestion-widget-th-deletion-background-active:rgba(196,33,74,.16)}.ck-content figure.table .ck-suggestion-marker-formatBlock{box-shadow:-3px 0 0 0 var(--ck-color-suggestion-marker-format-border)}.ck-content figure.table .ck-suggestion-marker-formatBlock.ck-suggestion-marker--active{box-shadow:-3px 0 0 0 var(--ck-color-suggestion-marker-format-border-active)}.ck-content .ck-widget.table>figcaption.ck-suggestion-marker-deletion{background-color:var(--ck-color-suggestion-widget-deletion-background);border:none}.ck-content .ck-widget.table>figcaption.ck-suggestion-marker-deletion.ck-suggestion-marker--active{background-color:var(--ck-color-suggestion-widget-deletion-background-active)}.ck-content .ck-widget.table>figcaption.ck-suggestion-marker-insertion{background-color:var(--ck-color-suggestion-widget-insertion-background);border:none}.ck-content .ck-widget.table>figcaption.ck-suggestion-marker-insertion.ck-suggestion-marker--active{background-color:var(--ck-color-suggestion-widget-insertion-background-active)}.ck-content .ck-suggestion-marker-insertion.table{border-color:var(--ck-color-suggestion-marker-insertion-border)}.ck-content .ck-suggestion-marker-insertion.table>figcaption{background-color:var(--ck-color-suggestion-widget-insertion-background)}.ck-content .ck-suggestion-marker-insertion.table>table>tbody>tr>th,.ck-content .ck-suggestion-marker-insertion.table>table>thead>tr>th{background-color:var(--ck-color-suggestion-widget-th-insertion-background);border-color:var(--ck-color-suggestion-marker-insertion-border)}.ck-content .ck-suggestion-marker-insertion.table>table>tbody>tr>td{background-color:var(--ck-color-suggestion-widget-insertion-background);border-color:var(--ck-color-suggestion-marker-insertion-border)}.ck-content .ck-suggestion-marker-insertion.ck-suggestion-marker--active.table{border-color:var(--ck-color-suggestion-marker-insertion-border-active)}.ck-content .ck-suggestion-marker-insertion.ck-suggestion-marker--active.table>figcaption{background-color:var(--ck-color-suggestion-widget-insertion-background-active)}.ck-content .ck-suggestion-marker-insertion.ck-suggestion-marker--active.table>table>tbody>tr>th,.ck-content .ck-suggestion-marker-insertion.ck-suggestion-marker--active.table>table>thead>tr>th{background-color:var(--ck-color-suggestion-widget-th-insertion-background-active);border-color:var(--ck-color-suggestion-marker-insertion-border-active)}.ck-content .ck-suggestion-marker-insertion.ck-suggestion-marker--active.table>table>tbody>tr>td{background-color:var(--ck-color-suggestion-widget-insertion-background-active);border-color:var(--ck-color-suggestion-marker-insertion-border-active)}.ck-content .ck-suggestion-marker-deletion.ck-widget.table{border-color:var(--ck-color-suggestion-marker-deletion-border)}.ck-content .ck-suggestion-marker-deletion.ck-widget.table>figcaption{background-color:var(--ck-color-suggestion-widget-deletion-background)}.ck-content .ck-suggestion-marker-deletion.ck-widget.table>table>tbody>tr>th,.ck-content .ck-suggestion-marker-deletion.ck-widget.table>table>thead>tr>th{background-color:var(--ck-color-suggestion-widget-th-deletion-background);border-color:var(--ck-color-suggestion-marker-deletion-border);text-decoration:none}.ck-content .ck-suggestion-marker-deletion.ck-widget.table>table>tbody>tr>td{background-color:var(--ck-color-suggestion-widget-deletion-background);border-color:var(--ck-color-suggestion-marker-deletion-border);text-decoration:none}.ck-content .ck-suggestion-marker-deletion.ck-suggestion-marker--active.table{border-color:var(--ck-color-suggestion-marker-deletion-border-active)}.ck-content .ck-suggestion-marker-deletion.ck-suggestion-marker--active.table>figcaption{background-color:var(--ck-color-suggestion-widget-deletion-background-active)}.ck-content .ck-suggestion-marker-deletion.ck-suggestion-marker--active.table>table>tbody>tr>th,.ck-content .ck-suggestion-marker-deletion.ck-suggestion-marker--active.table>table>thead>tr>th{background-color:var(--ck-color-suggestion-widget-th-deletion-background-active);border-color:var(--ck-color-suggestion-marker-deletion-border-active)}.ck-content .ck-suggestion-marker-deletion.ck-suggestion-marker--active.table>table>tbody>tr>td{background-color:var(--ck-color-suggestion-widget-deletion-background-active);border-color:var(--ck-color-suggestion-marker-deletion-border-active)}.ck-content .table th.ck-suggestion-marker-insertion{background-color:var(--ck-color-suggestion-widget-th-insertion-background)}.ck-content .table th.ck-suggestion-marker-insertion.ck-suggestion-marker--active{background-color:var(--ck-color-suggestion-widget-th-insertion-background-active)}.ck-content .table th.ck-suggestion-marker-deletion{background-color:var(--ck-color-suggestion-widget-th-deletion-background);text-decoration:none}.ck-content .table th.ck-suggestion-marker-deletion.ck-suggestion-marker--active{background-color:var(--ck-color-suggestion-widget-th-deletion-background-active)}.ck-content .table td.ck-suggestion-marker-insertion{background-color:var(--ck-color-suggestion-widget-insertion-background)}.ck-content .table td.ck-suggestion-marker-insertion.ck-suggestion-marker--active{background-color:var(--ck-color-suggestion-widget-insertion-background-active)}.ck-content .table td.ck-suggestion-marker-deletion{background-color:var(--ck-color-suggestion-widget-deletion-background);text-decoration:none}.ck-content .table td.ck-suggestion-marker-deletion.ck-suggestion-marker--active{background-color:var(--ck-color-suggestion-widget-deletion-background-active)}.ck-content .table td.ck-suggestion-marker-formatBlock,.ck-content .table td.ck-suggestion-marker-formatInline,.ck-content .table th.ck-suggestion-marker-formatBlock,.ck-content .table th.ck-suggestion-marker-formatInline{background-color:var(--ck-color-suggestion-widget-format-background);box-shadow:none}.ck-content .table td.ck-suggestion-marker-formatBlock.ck-suggestion-marker--active,.ck-content .table td.ck-suggestion-marker-formatInline.ck-suggestion-marker--active,.ck-content .table th.ck-suggestion-marker-formatBlock.ck-suggestion-marker--active,.ck-content .table th.ck-suggestion-marker-formatInline.ck-suggestion-marker--active{background-color:var(--ck-color-suggestion-widget-format-background-active);box-shadow:none}\", \"\",{\"version\":3,\"sources\":[\"webpack://./../ckeditor5-collaboration-core/theme/integrations/table.css\"],\"names\":[],\"mappings\":\"AASA,MACC,0EAA8E,CAC9E,+EAAqF,CAErF,yEAA6E,CAC7E,8EACD,CAEA,2DACC,qEAKD,CAHC,wFACC,4EACD,CAIA,sEACC,sEAAuE,CACvE,WAKD,CAHC,mGACC,6EACD,CAGD,uEACC,uEAAwE,CACxE,WAKD,CAHC,oGACC,8EACD,CAIF,kDACC,+DAsBD,CApBC,6DACC,uEACD,CAQC,wIACC,0EAA2E,CAC3E,+DACD,CAEA,oEACC,uEAAwE,CACxE,+DACD,CAIF,+EACC,sEAsBD,CApBC,0FACC,8EACD,CAQC,kMACC,iFAAkF,CAClF,sEACD,CAEA,iGACC,8EAA+E,CAC/E,sEACD,CAIF,2DACC,8DAyBD,CAvBC,sEACC,sEACD,CASC,0JACC,yEAA0E,CAC1E,8DAA+D,CAC/D,oBACD,CAEA,6EACC,sEAAuE,CACvE,8DAA+D,CAC/D,oBACD,CAIF,8EACC,qEAsBD,CApBC,yFACC,6EACD,CAQC,gMACC,gFAAiF,CACjF,qEACD,CAEA,gGACC,6EAA8E,CAC9E,qEACD,CASD,qDACC,0EAKD,CAHC,kFACC,iFACD,CAGD,oDACC,yEAA0E,CAC1E,oBAKD,CAHC,iFACC,gFACD,CAGD,qDACC,uEAKD,CAHC,kFACC,8EACD,CAGD,oDACC,sEAAuE,CACvE,oBAKD,CAHC,iFACC,6EACD,CAGD,8NAIC,oEAAqE,CACrE,eAMD,CAJC,kVACC,2EAA4E,CAC5E,eACD\",\"sourcesContent\":[\"/*\\n * What you're currently looking at is the source code of a legally protected, proprietary software.\\n * CKEditor 5 Collaboration is licensed under a commercial license and protected by copyright law. Where not otherwise indicated,\\n * all CKEditor 5 Collaboration content is authored by CKSource engineers and consists of CKSource-owned intellectual property.\\n *\\n * Copyright (c) 2003-2024, 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-suggestion-widget-th-insertion-background: hsla(128, 71%, 65%, .12);\\n\\t--ck-color-suggestion-widget-th-insertion-background-active: hsla(128, 71%, 50%, .14);\\n\\n\\t--ck-color-suggestion-widget-th-deletion-background: hsla(345, 71%, 65%, .14);\\n\\t--ck-color-suggestion-widget-th-deletion-background-active: hsla(345, 71%, 45%, .16);\\n}\\n\\n.ck-content figure.table .ck-suggestion-marker-formatBlock {\\n\\tbox-shadow: -3px 0 0 0 var(--ck-color-suggestion-marker-format-border);\\n\\n\\t&.ck-suggestion-marker--active {\\n\\t\\tbox-shadow: -3px 0 0 0 var(--ck-color-suggestion-marker-format-border-active);\\n\\t}\\n}\\n\\n.ck-content .ck-widget.table > figcaption {\\n\\t&.ck-suggestion-marker-deletion {\\n\\t\\tbackground-color: var(--ck-color-suggestion-widget-deletion-background);\\n\\t\\tborder: none;\\n\\n\\t\\t&.ck-suggestion-marker--active {\\n\\t\\t\\tbackground-color: var(--ck-color-suggestion-widget-deletion-background-active);\\n\\t\\t}\\n\\t}\\n\\n\\t&.ck-suggestion-marker-insertion {\\n\\t\\tbackground-color: var(--ck-color-suggestion-widget-insertion-background);\\n\\t\\tborder: none;\\n\\n\\t\\t&.ck-suggestion-marker--active {\\n\\t\\t\\tbackground-color: var(--ck-color-suggestion-widget-insertion-background-active);\\n\\t\\t}\\n\\t}\\n}\\n\\n.ck-content .ck-suggestion-marker-insertion.table {\\n\\tborder-color: var(--ck-color-suggestion-marker-insertion-border);\\n\\n\\t& > figcaption {\\n\\t\\tbackground-color: var(--ck-color-suggestion-widget-insertion-background);\\n\\t}\\n\\n\\t& > table {\\n\\t\\t& > tbody > tr > th {\\n\\t\\t\\tbackground-color: var(--ck-color-suggestion-widget-th-insertion-background);\\n\\t\\t\\tborder-color: var(--ck-color-suggestion-marker-insertion-border);\\n\\t\\t}\\n\\n\\t\\t& > thead > tr > th {\\n\\t\\t\\tbackground-color: var(--ck-color-suggestion-widget-th-insertion-background);\\n\\t\\t\\tborder-color: var(--ck-color-suggestion-marker-insertion-border);\\n\\t\\t}\\n\\n\\t\\t& > tbody > tr > td {\\n\\t\\t\\tbackground-color: var(--ck-color-suggestion-widget-insertion-background);\\n\\t\\t\\tborder-color: var(--ck-color-suggestion-marker-insertion-border);\\n\\t\\t}\\n\\t}\\n}\\n\\n.ck-content .ck-suggestion-marker-insertion.ck-suggestion-marker--active.table {\\n\\tborder-color: var(--ck-color-suggestion-marker-insertion-border-active);\\n\\n\\t& > figcaption {\\n\\t\\tbackground-color: var(--ck-color-suggestion-widget-insertion-background-active);\\n\\t}\\n\\n\\t& > table {\\n\\t\\t& > tbody > tr > th {\\n\\t\\t\\tbackground-color: var(--ck-color-suggestion-widget-th-insertion-background-active);\\n\\t\\t\\tborder-color: var(--ck-color-suggestion-marker-insertion-border-active);\\n\\t\\t}\\n\\n\\t\\t& > thead > tr > th {\\n\\t\\t\\tbackground-color: var(--ck-color-suggestion-widget-th-insertion-background-active);\\n\\t\\t\\tborder-color: var(--ck-color-suggestion-marker-insertion-border-active);\\n\\t\\t}\\n\\n\\t\\t& > tbody > tr > td {\\n\\t\\t\\tbackground-color: var(--ck-color-suggestion-widget-insertion-background-active);\\n\\t\\t\\tborder-color: var(--ck-color-suggestion-marker-insertion-border-active);\\n\\t\\t}\\n\\t}\\n}\\n\\n.ck-content .ck-suggestion-marker-deletion.ck-widget.table {\\n\\tborder-color: var(--ck-color-suggestion-marker-deletion-border);\\n\\n\\t& > figcaption {\\n\\t\\tbackground-color: var(--ck-color-suggestion-widget-deletion-background);\\n\\t}\\n\\n\\t& > table {\\n\\t\\t& > tbody > tr > th {\\n\\t\\t\\tbackground-color: var(--ck-color-suggestion-widget-th-deletion-background);\\n\\t\\t\\tborder-color: var(--ck-color-suggestion-marker-deletion-border);\\n\\t\\t\\ttext-decoration: none;\\n\\t\\t}\\n\\n\\t\\t& > thead > tr > th {\\n\\t\\t\\tbackground-color: var(--ck-color-suggestion-widget-th-deletion-background);\\n\\t\\t\\tborder-color: var(--ck-color-suggestion-marker-deletion-border);\\n\\t\\t\\ttext-decoration: none;\\n\\t\\t}\\n\\n\\t\\t& > tbody > tr > td {\\n\\t\\t\\tbackground-color: var(--ck-color-suggestion-widget-deletion-background);\\n\\t\\t\\tborder-color: var(--ck-color-suggestion-marker-deletion-border);\\n\\t\\t\\ttext-decoration: none;\\n\\t\\t}\\n\\t}\\n}\\n\\n.ck-content .ck-suggestion-marker-deletion.ck-suggestion-marker--active.table {\\n\\tborder-color: var(--ck-color-suggestion-marker-deletion-border-active);\\n\\n\\t& > figcaption {\\n\\t\\tbackground-color: var(--ck-color-suggestion-widget-deletion-background-active);\\n\\t}\\n\\n\\t& > table {\\n\\t\\t& > tbody > tr > th {\\n\\t\\t\\tbackground-color: var(--ck-color-suggestion-widget-th-deletion-background-active);\\n\\t\\t\\tborder-color: var(--ck-color-suggestion-marker-deletion-border-active);\\n\\t\\t}\\n\\n\\t\\t& > thead > tr > th {\\n\\t\\t\\tbackground-color: var(--ck-color-suggestion-widget-th-deletion-background-active);\\n\\t\\t\\tborder-color: var(--ck-color-suggestion-marker-deletion-border-active);\\n\\t\\t}\\n\\n\\t\\t& > tbody > tr > td {\\n\\t\\t\\tbackground-color: var(--ck-color-suggestion-widget-deletion-background-active);\\n\\t\\t\\tborder-color: var(--ck-color-suggestion-marker-deletion-border-active);\\n\\t\\t}\\n\\t}\\n}\\n\\n/*\\n * We need here at least 022 CSS Specificity because of table styles like `.ck-content .table table th { background: ... }\\n * See: https://github.com/ckeditor/ckeditor5-table/blob/master/theme/table.css#L29\\n */\\n.ck-content .table {\\n\\t& th.ck-suggestion-marker-insertion {\\n\\t\\tbackground-color: var(--ck-color-suggestion-widget-th-insertion-background);\\n\\n\\t\\t&.ck-suggestion-marker--active {\\n\\t\\t\\tbackground-color: var(--ck-color-suggestion-widget-th-insertion-background-active);\\n\\t\\t}\\n\\t}\\n\\n\\t& th.ck-suggestion-marker-deletion {\\n\\t\\tbackground-color: var(--ck-color-suggestion-widget-th-deletion-background);\\n\\t\\ttext-decoration: none;\\n\\n\\t\\t&.ck-suggestion-marker--active {\\n\\t\\t\\tbackground-color: var(--ck-color-suggestion-widget-th-deletion-background-active);\\n\\t\\t}\\n\\t}\\n\\n\\t& td.ck-suggestion-marker-insertion {\\n\\t\\tbackground-color: var(--ck-color-suggestion-widget-insertion-background);\\n\\n\\t\\t&.ck-suggestion-marker--active {\\n\\t\\t\\tbackground-color: var(--ck-color-suggestion-widget-insertion-background-active);\\n\\t\\t}\\n\\t}\\n\\n\\t& td.ck-suggestion-marker-deletion {\\n\\t\\tbackground-color: var(--ck-color-suggestion-widget-deletion-background);\\n\\t\\ttext-decoration: none;\\n\\n\\t\\t&.ck-suggestion-marker--active {\\n\\t\\t\\tbackground-color: var(--ck-color-suggestion-widget-deletion-background-active);\\n\\t\\t}\\n\\t}\\n\\n\\t& th.ck-suggestion-marker-formatInline,\\n\\t& td.ck-suggestion-marker-formatInline,\\n\\t& th.ck-suggestion-marker-formatBlock,\\n\\t& td.ck-suggestion-marker-formatBlock {\\n\\t\\tbackground-color: var(--ck-color-suggestion-widget-format-background);\\n\\t\\tbox-shadow: none;\\n\\n\\t\\t&.ck-suggestion-marker--active {\\n\\t\\t\\tbackground-color: var(--ck-color-suggestion-widget-format-background-active);\\n\\t\\t\\tbox-shadow: none;\\n\\t\\t}\\n\\t}\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/cssWithMappingToString.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \":root{--ck-color-comment-box-border:#f2de02;--ck-color-suggestion-box-deletion-border:#d85a79;--ck-color-suggestion-box-insertion-border:#5ad86b;--ck-color-suggestion-box-format-border:#5ac1d8}.ck .ck-suggestion{border-top-left-radius:var(--ck-border-radius)}.ck .ck-annotation{border-left:3px solid transparent}.ck .ck-suggestion--disabled-comments .ck-annotation{min-height:80px}.ck .ck-comment,.ck .ck-comment__input-container,.ck .ck-thread__comment-count,.ck .ck-thread__header{border-left:3px solid var(--ck-color-comment-box-border)}.ck .ck-suggestion-insertion .ck-suggestion{border-left-color:var(--ck-color-suggestion-box-insertion-border)}.ck .ck-suggestion-deletion .ck-suggestion{border-left-color:var(--ck-color-suggestion-box-deletion-border)}.ck .ck-suggestion-replace .ck-suggestion{border-left-color:var(--ck-color-suggestion-box-insertion-border)}.ck .ck-suggestion-format .ck-suggestion{border-left-color:var(--ck-color-suggestion-box-format-border)}.ck .ck-suggestion-wrapper{outline:0;overflow:hidden}.ck .ck-suggestion-type{font-weight:700}.ck .ck-suggestion-color{border-radius:14px;box-shadow:0 0 0 1px #454545;display:inline-block;height:14px;margin:0 5px;vertical-align:text-bottom;width:14px}.ck .ck-suggestion-insertion .ck-comment,.ck .ck-suggestion-insertion .ck-comment__input-container,.ck .ck-suggestion-insertion .ck-thread__comment-count,.ck .ck-suggestion-replace .ck-comment,.ck .ck-suggestion-replace .ck-comment__input-container,.ck .ck-suggestion-replace .ck-thread__comment-count{border-left-color:var(--ck-color-suggestion-box-insertion-border)}.ck .ck-suggestion-deletion .ck-comment,.ck .ck-suggestion-deletion .ck-comment__input-container,.ck .ck-suggestion-deletion .ck-thread__comment-count{border-left-color:var(--ck-color-suggestion-box-deletion-border)}.ck .ck-suggestion-format .ck-comment,.ck .ck-suggestion-format .ck-comment__input-container,.ck .ck-suggestion-format .ck-thread__comment-count{border-left-color:var(--ck-color-suggestion-box-format-border)}\", \"\",{\"version\":3,\"sources\":[\"webpack://./../ckeditor5-collaboration-core/theme/suggestion.css\"],\"names\":[],\"mappings\":\"AASA,MACC,qCAAgD,CAChD,iDAA6D,CAC7D,kDAA8D,CAC9D,+CACD,CAEA,mBACC,8CACD,CAEA,mBACC,iCACD,CAKA,qDACC,eACD,CAIA,sGAIC,wDACD,CAEA,4CACC,iEACD,CAEA,2CACC,gEACD,CAEA,0CACC,iEACD,CAEA,yCACC,8DACD,CAEA,2BACC,SAAU,CACV,eACD,CAEA,wBACC,eACD,CAEA,yBAIC,kBAAmB,CAGnB,4BAAqC,CANrC,oBAAqB,CAErB,WAAY,CAGZ,YAAa,CADb,0BAA2B,CAH3B,UAMD,CAKA,8SAMC,iEACD,CAEA,uJAGC,gEACD,CAEA,iJAGC,8DACD\",\"sourcesContent\":[\"/*\\n * What you're currently looking at is the source code of a legally protected, proprietary software.\\n * CKEditor 5 Collaboration is licensed under a commercial license and protected by copyright law. Where not otherwise indicated,\\n * all CKEditor 5 Collaboration content is authored by CKSource engineers and consists of CKSource-owned intellectual property.\\n *\\n * Copyright (c) 2003-2024, 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-comment-box-border: hsl(55, 98%, 48%);\\n\\t--ck-color-suggestion-box-deletion-border: hsl(345, 62%, 60%);\\n\\t--ck-color-suggestion-box-insertion-border: hsl(128, 62%, 60%);\\n\\t--ck-color-suggestion-box-format-border: hsl(191, 62%, 60%);\\n}\\n\\n.ck .ck-suggestion {\\n\\tborder-top-left-radius: var(--ck-border-radius);\\n}\\n\\n.ck .ck-annotation {\\n\\tborder-left: 3px solid transparent;\\n}\\n\\n\\n/* See: #3683.\\n * Inline Suggestion annotations that can't be commented on contains a scrollbar by default */\\n.ck .ck-suggestion--disabled-comments .ck-annotation {\\n\\tmin-height: 80px;\\n}\\n\\n/* See: #2459.\\nWith track-changes feature enabled, we need to distinguish various types of annotations (comments and suggestions). */\\n.ck .ck-comment,\\n.ck .ck-thread__comment-count,\\n.ck .ck-comment__input-container,\\n.ck .ck-thread__header {\\n\\tborder-left: 3px solid var(--ck-color-comment-box-border);\\n}\\n\\n.ck .ck-suggestion-insertion .ck-suggestion {\\n\\tborder-left-color: var(--ck-color-suggestion-box-insertion-border);\\n}\\n\\n.ck .ck-suggestion-deletion .ck-suggestion {\\n\\tborder-left-color: var(--ck-color-suggestion-box-deletion-border);\\n}\\n\\n.ck .ck-suggestion-replace .ck-suggestion {\\n\\tborder-left-color: var(--ck-color-suggestion-box-insertion-border);\\n}\\n\\n.ck .ck-suggestion-format .ck-suggestion {\\n\\tborder-left-color: var(--ck-color-suggestion-box-format-border);\\n}\\n\\n.ck .ck-suggestion-wrapper {\\n\\toutline: 0;\\n\\toverflow: hidden;\\n}\\n\\n.ck .ck-suggestion-type {\\n\\tfont-weight: bold;\\n}\\n\\n.ck .ck-suggestion-color {\\n\\tdisplay: inline-block;\\n\\twidth: 14px;\\n\\theight: 14px;\\n\\tborder-radius: 14px;\\n\\tvertical-align: text-bottom;\\n\\tmargin: 0 5px;\\n\\tbox-shadow: 0 0 0 1px hsl(0, 0%, 27%);\\n}\\n\\n/* Comments inside suggestion. */\\n\\n/* Handle comments inside suggestion keep same border-color. */\\n.ck .ck-suggestion-insertion .ck-comment,\\n.ck .ck-suggestion-insertion .ck-thread__comment-count,\\n.ck .ck-suggestion-insertion .ck-comment__input-container,\\n.ck .ck-suggestion-replace .ck-comment,\\n.ck .ck-suggestion-replace .ck-thread__comment-count,\\n.ck .ck-suggestion-replace .ck-comment__input-container {\\n\\tborder-left-color: var(--ck-color-suggestion-box-insertion-border);\\n}\\n\\n.ck .ck-suggestion-deletion .ck-comment,\\n.ck .ck-suggestion-deletion .ck-thread__comment-count,\\n.ck .ck-suggestion-deletion .ck-comment__input-container {\\n\\tborder-left-color: var(--ck-color-suggestion-box-deletion-border);\\n}\\n\\n.ck .ck-suggestion-format .ck-comment,\\n.ck .ck-suggestion-format .ck-thread__comment-count,\\n.ck .ck-suggestion-format .ck-comment__input-container {\\n\\tborder-left-color: var(--ck-color-suggestion-box-format-border);\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/cssWithMappingToString.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \":root{--ck-color-suggestion-marker-insertion-border:rgba(30,174,49,.35);--ck-color-suggestion-marker-insertion-border-active:rgba(18,109,31,.5);--ck-color-suggestion-marker-insertion-background:rgba(102,229,119,.35);--ck-color-suggestion-marker-insertion-background-active:rgba(37,218,61,.5);--ck-color-suggestion-marker-deletion-border:rgba(174,30,66,.35);--ck-color-suggestion-marker-deletion-border-active:rgba(109,18,41,.5);--ck-color-suggestion-marker-deletion-background:rgba(229,102,134,.35);--ck-color-suggestion-marker-deletion-background-active:rgba(218,37,82,.5);--ck-color-suggestion-marker-deletion-stroke:rgba(87,15,33,.5);--ck-color-suggestion-marker-format-border:#99d7e6;--ck-color-suggestion-marker-format-border-active:#5cc0d6;--ck-color-suggestion-widget-insertion-background:rgba(102,229,119,.05);--ck-color-suggestion-widget-insertion-background-active:rgba(37,218,61,.07);--ck-color-suggestion-widget-deletion-background:rgba(229,102,134,.05);--ck-color-suggestion-widget-deletion-background-active:rgba(196,33,74,.07);--ck-color-suggestion-widget-format-background:rgba(10,160,194,.09);--ck-color-suggestion-widget-format-background-active:rgba(10,160,194,.16)}.ck-content .ck-suggestion-marker-insertion{background:var(--ck-color-suggestion-marker-insertion-background);border-bottom:3px solid var(--ck-color-suggestion-marker-insertion-border);border-top:3px solid var(--ck-color-suggestion-marker-insertion-border)}.ck-content .ck-suggestion-marker-insertion.ck-suggestion-marker--active{background:var(--ck-color-suggestion-marker-insertion-background-active);border-color:var(--ck-color-suggestion-marker-insertion-border-active)}.ck-content .ck-suggestion-marker-insertion.ck-widget{background:none;border:3px solid var(--ck-color-suggestion-marker-insertion-border);text-decoration:none}.ck-content .ck-suggestion-marker-insertion.ck-widget.ck-suggestion-marker--active{border-color:var(--ck-color-suggestion-marker-insertion-border-active)}.ck-content .ck-suggestion-marker-deletion{background:var(--ck-color-suggestion-marker-deletion-background);border-bottom:3px solid var(--ck-color-suggestion-marker-deletion-border);border-top:3px solid var(--ck-color-suggestion-marker-deletion-border);text-decoration:line-through;text-decoration-color:var(--ck-color-suggestion-marker-deletion-stroke);text-decoration-thickness:3px}.ck-content .ck-suggestion-marker-deletion.ck-suggestion-marker--active{background:var(--ck-color-suggestion-marker-deletion-background-active);border-color:var(--ck-color-suggestion-marker-deletion-border-active)}.ck-content .ck-suggestion-marker-deletion.ck-widget{background:none;border:3px solid var(--ck-color-suggestion-marker-deletion-border);text-decoration:none}.ck-content .ck-suggestion-marker-deletion.ck-widget.ck-suggestion-marker--active{border-color:var(--ck-color-suggestion-marker-deletion-border-active)}.ck-content .ck-suggestion-marker-merge:after{background:var(--ck-color-suggestion-marker-deletion-background);border-bottom:3px solid var(--ck-color-suggestion-marker-deletion-border);border-top:3px solid var(--ck-color-suggestion-marker-deletion-border);color:var(--ck-color-suggestion-marker-deletion-stroke);content:\\\"¶\\\";text-decoration:line-through;text-decoration-color:var(--ck-color-suggestion-marker-deletion-stroke)}.ck-content .ck-suggestion-marker-merge.ck-suggestion-marker--active:after{background:var(--ck-color-suggestion-marker-deletion-background-active);border-color:var(--ck-color-suggestion-marker-deletion-border-active)}.ck-content .ck-suggestion-marker-split:after{background:var(--ck-color-suggestion-marker-insertion-background);border-bottom:3px solid var(--ck-color-suggestion-marker-insertion-border);border-top:3px solid var(--ck-color-suggestion-marker-insertion-border);color:var(--ck-color-suggestion-marker-insertion-border);content:\\\"¶\\\"}.ck-content .ck-suggestion-marker-split.ck-suggestion-marker--active:after{background:var(--ck-color-suggestion-marker-insertion-background-active);border-color:var(--ck-color-suggestion-marker-insertion-border-active)}.ck-content .ck-suggestion-marker-formatInline{border-bottom:3px solid var(--ck-color-suggestion-marker-format-border);border-top:3px solid var(--ck-color-suggestion-marker-format-border)}.ck-content .ck-suggestion-marker-formatInline.ck-suggestion-marker--active{border-color:var(--ck-color-suggestion-marker-format-border-active)}.ck-content .ck-suggestion-marker-formatInline.ck-widget{background:none;border:3px solid var(--ck-color-suggestion-marker-format-border)}.ck-content .ck-suggestion-marker-formatInline.ck-widget.ck-suggestion-marker--active{border-color:var(--ck-color-suggestion-marker-format-border-active)}.ck-content .ck-suggestion-marker-formatBlock{background:none;border:0;box-shadow:-7px 0 0 0 var(--ck-color-base-background),-10px 0 0 0 var(--ck-color-suggestion-marker-format-border)}.ck-content .ck-suggestion-marker-formatBlock.ck-suggestion-marker--active{box-shadow:-5px 0 0 0 var(--ck-color-base-background),-8px 0 0 0 var(--ck-color-suggestion-marker-format-border-active)}.ck-content ol .ck-suggestion-marker-formatBlock,.ck-content ul .ck-suggestion-marker-formatBlock{box-shadow:-2px 0 0 0 var(--ck-color-base-background),-5px 0 0 0 var(--ck-color-suggestion-marker-format-border)}.ck-content ol .ck-suggestion-marker-formatBlock.ck-suggestion-marker--active,.ck-content ul .ck-suggestion-marker-formatBlock.ck-suggestion-marker--active{box-shadow:-2px 0 0 0 var(--ck-color-base-background),-5px 0 0 0 var(--ck-color-suggestion-marker-format-border-active)}\", \"\",{\"version\":3,\"sources\":[\"webpack://./../ckeditor5-collaboration-core/theme/suggestionmarker.css\"],\"names\":[],\"mappings\":\"AASA,MACC,iEAAuE,CACvE,uEAA6E,CAC7E,uEAA2E,CAC3E,2EAAiF,CAEjF,gEAAsE,CACtE,sEAA4E,CAC5E,sEAA0E,CAC1E,0EAAgF,CAChF,8DAAqE,CAErE,kDAAkE,CAClE,yDAAyE,CAEzE,uEAA2E,CAC3E,4EAAkF,CAElF,sEAA0E,CAC1E,2EAAiF,CAEjF,mEAAwE,CACxE,0EACD,CAEA,4CAGC,iEAAkE,CADlE,0EAA2E,CAD3E,uEAmBD,CAfC,yEAEC,wEAAyE,CADzE,sEAED,CAGA,sDACC,eAAgB,CAEhB,mEAAoE,CADpE,oBAMD,CAHC,mFACC,sEACD,CAIF,2CASC,gEAAiE,CAPjE,yEAA0E,CAD1E,sEAAuE,CAIvE,4BAA6B,CAC7B,uEAAwE,CACxE,6BAmBD,CAfC,wEAEC,uEAAwE,CADxE,qEAED,CAGA,qDACC,eAAgB,CAEhB,kEAAmE,CADnE,oBAMD,CAHC,kFACC,qEACD,CAKD,8CAQC,gEAAiE,CANjE,yEAA0E,CAD1E,sEAAuE,CAQvE,uDAAwD,CACxD,WAAY,CALZ,4BAA6B,CAC7B,uEAKD,CAEA,2EAEC,uEAAwE,CADxE,qEAED,CAIA,8CAGC,iEAAkE,CADlE,0EAA2E,CAD3E,uEAAwE,CAGxE,wDAAyD,CACzD,WACD,CAEA,2EAEC,wEAAyE,CADzE,sEAED,CAGD,+CAEC,uEAAwE,CADxE,oEAeD,CAZC,4EACC,mEACD,CAEA,yDACC,eAAgB,CAChB,gEAKD,CAHC,sFACC,mEACD,CAWF,8CAEC,eAAgB,CADhB,QAAS,CAET,iHAKD,CAHC,2EACC,uHACD,CAGD,kGAEC,gHAKD,CAHC,4JACC,uHACD\",\"sourcesContent\":[\"/*\\n * What you're currently looking at is the source code of a legally protected, proprietary software.\\n * CKEditor 5 Collaboration is licensed under a commercial license and protected by copyright law. Where not otherwise indicated,\\n * all CKEditor 5 Collaboration content is authored by CKSource engineers and consists of CKSource-owned intellectual property.\\n *\\n * Copyright (c) 2003-2024, 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-suggestion-marker-insertion-border: hsla(128, 71%, 40%, .35);\\n\\t--ck-color-suggestion-marker-insertion-border-active: hsla(128, 71%, 25%, .5);\\n\\t--ck-color-suggestion-marker-insertion-background: hsla(128, 71%, 65%, .35);\\n\\t--ck-color-suggestion-marker-insertion-background-active: hsla(128, 71%, 50%, .5);\\n\\n\\t--ck-color-suggestion-marker-deletion-border: hsla(345, 71%, 40%, .35);\\n\\t--ck-color-suggestion-marker-deletion-border-active: hsla(345, 71%, 25%, .5);\\n\\t--ck-color-suggestion-marker-deletion-background: hsla(345, 71%, 65%, .35);\\n\\t--ck-color-suggestion-marker-deletion-background-active: hsla(345, 71%, 50%, .5);\\n\\t--ck-color-suggestion-marker-deletion-stroke: hsla(345, 71%, 20%, .5);\\n\\n\\t--ck-color-suggestion-marker-format-border: hsla(191, 60%, 75%, 1);\\n\\t--ck-color-suggestion-marker-format-border-active: hsla(191, 60%, 60%, 1);\\n\\n\\t--ck-color-suggestion-widget-insertion-background: hsla(128, 71%, 65%, .05);\\n\\t--ck-color-suggestion-widget-insertion-background-active: hsla(128, 71%, 50%, .07);\\n\\n\\t--ck-color-suggestion-widget-deletion-background: hsla(345, 71%, 65%, .05);\\n\\t--ck-color-suggestion-widget-deletion-background-active: hsla(345, 71%, 45%, .07);\\n\\n\\t--ck-color-suggestion-widget-format-background: hsla(191, 90%, 40%, .09);\\n\\t--ck-color-suggestion-widget-format-background-active: hsla(191, 90%, 40%, .16);\\n}\\n\\n.ck-content .ck-suggestion-marker-insertion {\\n\\tborder-top: 3px solid var(--ck-color-suggestion-marker-insertion-border);\\n\\tborder-bottom: 3px solid var(--ck-color-suggestion-marker-insertion-border);\\n\\tbackground: var(--ck-color-suggestion-marker-insertion-background);\\n\\n\\t&.ck-suggestion-marker--active {\\n\\t\\tborder-color: var(--ck-color-suggestion-marker-insertion-border-active);\\n\\t\\tbackground: var(--ck-color-suggestion-marker-insertion-background-active);\\n\\t}\\n\\n\\t/* Disable background of marker inside widget. */\\n\\t&.ck-widget {\\n\\t\\tbackground: none;\\n\\t\\ttext-decoration: none;\\n\\t\\tborder: 3px solid var(--ck-color-suggestion-marker-insertion-border);\\n\\n\\t\\t&.ck-suggestion-marker--active {\\n\\t\\t\\tborder-color: var(--ck-color-suggestion-marker-insertion-border-active);\\n\\t\\t}\\n\\t}\\n}\\n\\n.ck-content .ck-suggestion-marker-deletion {\\n\\tborder-top: 3px solid var(--ck-color-suggestion-marker-deletion-border);\\n\\tborder-bottom: 3px solid var(--ck-color-suggestion-marker-deletion-border);\\n\\n\\t/* #2810. Safari doesn't support combined text-decoration values. */\\n\\ttext-decoration: line-through;\\n\\ttext-decoration-color: var(--ck-color-suggestion-marker-deletion-stroke);\\n\\ttext-decoration-thickness: 3px;\\n\\n\\tbackground: var(--ck-color-suggestion-marker-deletion-background);\\n\\n\\t&.ck-suggestion-marker--active {\\n\\t\\tborder-color: var(--ck-color-suggestion-marker-deletion-border-active);\\n\\t\\tbackground: var(--ck-color-suggestion-marker-deletion-background-active);\\n\\t}\\n\\n\\t/* Disable background of marker inside widget. */\\n\\t&.ck-widget {\\n\\t\\tbackground: none;\\n\\t\\ttext-decoration: none;\\n\\t\\tborder: 3px solid var(--ck-color-suggestion-marker-deletion-border);\\n\\n\\t\\t&.ck-suggestion-marker--active {\\n\\t\\t\\tborder-color: var(--ck-color-suggestion-marker-deletion-border-active);\\n\\t\\t}\\n\\t}\\n}\\n\\n.ck-content .ck-suggestion-marker-merge {\\n\\t&::after {\\n\\t\\tborder-top: 3px solid var(--ck-color-suggestion-marker-deletion-border);\\n\\t\\tborder-bottom: 3px solid var(--ck-color-suggestion-marker-deletion-border);\\n\\n\\t\\t/* #2810. Safari doesn't support combined text-decoration values. */\\n\\t\\ttext-decoration: line-through;\\n\\t\\ttext-decoration-color: var(--ck-color-suggestion-marker-deletion-stroke);\\n\\n\\t\\tbackground: var(--ck-color-suggestion-marker-deletion-background);\\n\\t\\tcolor: var(--ck-color-suggestion-marker-deletion-stroke);\\n\\t\\tcontent: '¶';\\n\\t}\\n\\n\\t&.ck-suggestion-marker--active::after {\\n\\t\\tborder-color: var(--ck-color-suggestion-marker-deletion-border-active);\\n\\t\\tbackground: var(--ck-color-suggestion-marker-deletion-background-active);\\n\\t}\\n}\\n\\n.ck-content .ck-suggestion-marker-split {\\n\\t&::after {\\n\\t\\tborder-top: 3px solid var(--ck-color-suggestion-marker-insertion-border);\\n\\t\\tborder-bottom: 3px solid var(--ck-color-suggestion-marker-insertion-border);\\n\\t\\tbackground: var(--ck-color-suggestion-marker-insertion-background);\\n\\t\\tcolor: var(--ck-color-suggestion-marker-insertion-border);\\n\\t\\tcontent: '¶';\\n\\t}\\n\\n\\t&.ck-suggestion-marker--active::after {\\n\\t\\tborder-color: var(--ck-color-suggestion-marker-insertion-border-active);\\n\\t\\tbackground: var(--ck-color-suggestion-marker-insertion-background-active);\\n\\t}\\n}\\n\\n.ck-content .ck-suggestion-marker-formatInline {\\n\\tborder-top: 3px solid var(--ck-color-suggestion-marker-format-border);\\n\\tborder-bottom: 3px solid var(--ck-color-suggestion-marker-format-border);\\n\\n\\t&.ck-suggestion-marker--active {\\n\\t\\tborder-color: var(--ck-color-suggestion-marker-format-border-active);\\n\\t}\\n\\n\\t&.ck-widget {\\n\\t\\tbackground: none;\\n\\t\\tborder: 3px solid var(--ck-color-suggestion-marker-format-border);\\n\\n\\t\\t&.ck-suggestion-marker--active {\\n\\t\\t\\tborder-color: var(--ck-color-suggestion-marker-format-border-active);\\n\\t\\t}\\n\\t}\\n}\\n\\n/* This is a tricky case.\\n * We can't use `border-left` because sticky marker to the element looks kinda ugly.\\n * We can't use `::before` pseudoelement because it requires `position: relative` of parent, which breaks side-image.\\n * We can't use `outline` because it's impossible to display only left side of outline.\\n * So... we need to use power of CSS hacks <3 and use doubled box-shadow.\\n */\\n\\n.ck-content .ck-suggestion-marker-formatBlock {\\n\\tborder: 0;\\n\\tbackground: none;\\n\\tbox-shadow: -7px 0 0 0 var(--ck-color-base-background), -10px 0 0 0 var(--ck-color-suggestion-marker-format-border);\\n\\n\\t&.ck-suggestion-marker--active {\\n\\t\\tbox-shadow: -5px 0 0 0 var(--ck-color-base-background), -8px 0 0 0 var(--ck-color-suggestion-marker-format-border-active);\\n\\t}\\n}\\n\\n.ck-content ul .ck-suggestion-marker-formatBlock,\\n.ck-content ol .ck-suggestion-marker-formatBlock {\\n\\tbox-shadow: -2px 0 0 0 var(--ck-color-base-background), -5px 0 0 0 var(--ck-color-suggestion-marker-format-border);\\n\\n\\t&.ck-suggestion-marker--active {\\n\\t\\tbox-shadow: -2px 0 0 0 var(--ck-color-base-background), -5px 0 0 0 var(--ck-color-suggestion-marker-format-border-active);\\n\\t}\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/cssWithMappingToString.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \":root{--ck-user-colors--0:#6d78e8;--ck-user-colors--0-alpha:rgba(109,120,232,.15);--ck-user-colors--1:#007a6c;--ck-user-colors--1-alpha:rgba(0,122,108,.15);--ck-user-colors--2:#ba4545;--ck-user-colors--2-alpha:rgba(186,69,69,.15);--ck-user-colors--3:#5635b1;--ck-user-colors--3-alpha:rgba(86,53,177,.15);--ck-user-colors--4:#548a2e;--ck-user-colors--4-alpha:rgba(84,138,46,.15);--ck-user-colors--5:#c3185d;--ck-user-colors--5-alpha:rgba(195,24,93,.15);--ck-user-colors--6:#ea4343;--ck-user-colors--6-alpha:rgba(234,67,67,.15);--ck-user-colors--7:#0bc3d0;--ck-user-colors--7-alpha:rgba(11,195,208,.15);--ck-user-dot-size:6px}.ck .ck-user__color--0{color:var(--ck-user-colors--0)}.ck .ck-user__bg-color--0{background-color:var(--ck-user-colors--0)}.ck .ck-user__selection--0{background-color:var(--ck-user-colors--0-alpha)}.ck .ck-user__selection--0.ck-widget{background-color:transparent;border:3px solid var(--ck-user-colors--0)}.ck .ck-user__marker--0,.ck .ck-user__marker--0 .ck-user__marker-dot,.ck .ck-user__marker--0:after{background-color:var(--ck-user-colors--0)}.ck .ck-user__marker--0 .ck-user__marker-line{border:1px solid var(--ck-user-colors--0)}.ck .ck-user__color--1{color:var(--ck-user-colors--1)}.ck .ck-user__bg-color--1{background-color:var(--ck-user-colors--1)}.ck .ck-user__selection--1{background-color:var(--ck-user-colors--1-alpha)}.ck .ck-user__selection--1.ck-widget{background-color:transparent;border:3px solid var(--ck-user-colors--1)}.ck .ck-user__marker--1,.ck .ck-user__marker--1 .ck-user__marker-dot,.ck .ck-user__marker--1:after{background-color:var(--ck-user-colors--1)}.ck .ck-user__marker--1 .ck-user__marker-line{border:1px solid var(--ck-user-colors--1)}.ck .ck-user__color--2{color:var(--ck-user-colors--2)}.ck .ck-user__bg-color--2{background-color:var(--ck-user-colors--2)}.ck .ck-user__selection--2{background-color:var(--ck-user-colors--2-alpha)}.ck .ck-user__selection--2.ck-widget{background-color:transparent;border:3px solid var(--ck-user-colors--2)}.ck .ck-user__marker--2,.ck .ck-user__marker--2 .ck-user__marker-dot,.ck .ck-user__marker--2:after{background-color:var(--ck-user-colors--2)}.ck .ck-user__marker--2 .ck-user__marker-line{border:1px solid var(--ck-user-colors--2)}.ck .ck-user__color--3{color:var(--ck-user-colors--3)}.ck .ck-user__bg-color--3{background-color:var(--ck-user-colors--3)}.ck .ck-user__selection--3{background-color:var(--ck-user-colors--3-alpha)}.ck .ck-user__selection--3.ck-widget{background-color:transparent;border:3px solid var(--ck-user-colors--3)}.ck .ck-user__marker--3,.ck .ck-user__marker--3 .ck-user__marker-dot,.ck .ck-user__marker--3:after{background-color:var(--ck-user-colors--3)}.ck .ck-user__marker--3 .ck-user__marker-line{border:1px solid var(--ck-user-colors--3)}.ck .ck-user__color--4{color:var(--ck-user-colors--4)}.ck .ck-user__bg-color--4{background-color:var(--ck-user-colors--4)}.ck .ck-user__selection--4{background-color:var(--ck-user-colors--4-alpha)}.ck .ck-user__selection--4.ck-widget{background-color:transparent;border:3px solid var(--ck-user-colors--4)}.ck .ck-user__marker--4,.ck .ck-user__marker--4 .ck-user__marker-dot,.ck .ck-user__marker--4:after{background-color:var(--ck-user-colors--4)}.ck .ck-user__marker--4 .ck-user__marker-line{border:1px solid var(--ck-user-colors--4)}.ck .ck-user__color--5{color:var(--ck-user-colors--5)}.ck .ck-user__bg-color--5{background-color:var(--ck-user-colors--5)}.ck .ck-user__selection--5{background-color:var(--ck-user-colors--5-alpha)}.ck .ck-user__selection--5.ck-widget{background-color:transparent;border:3px solid var(--ck-user-colors--5)}.ck .ck-user__marker--5,.ck .ck-user__marker--5 .ck-user__marker-dot,.ck .ck-user__marker--5:after{background-color:var(--ck-user-colors--5)}.ck .ck-user__marker--5 .ck-user__marker-line{border:1px solid var(--ck-user-colors--5)}.ck .ck-user__color--6{color:var(--ck-user-colors--6)}.ck .ck-user__bg-color--6{background-color:var(--ck-user-colors--6)}.ck .ck-user__selection--6{background-color:var(--ck-user-colors--6-alpha)}.ck .ck-user__selection--6.ck-widget{background-color:transparent;border:3px solid var(--ck-user-colors--6)}.ck .ck-user__marker--6,.ck .ck-user__marker--6 .ck-user__marker-dot,.ck .ck-user__marker--6:after{background-color:var(--ck-user-colors--6)}.ck .ck-user__marker--6 .ck-user__marker-line{border:1px solid var(--ck-user-colors--6)}.ck .ck-user__color--7{color:var(--ck-user-colors--7)}.ck .ck-user__bg-color--7{background-color:var(--ck-user-colors--7)}.ck .ck-user__selection--7{background-color:var(--ck-user-colors--7-alpha)}.ck .ck-user__selection--7.ck-widget{background-color:transparent;border:3px solid var(--ck-user-colors--7)}.ck .ck-user__marker--7,.ck .ck-user__marker--7 .ck-user__marker-dot,.ck .ck-user__marker--7:after{background-color:var(--ck-user-colors--7)}.ck .ck-user__marker--7 .ck-user__marker-line{border:1px solid var(--ck-user-colors--7)}\", \"\",{\"version\":3,\"sources\":[\"webpack://./../ckeditor5-collaboration-core/theme/usercolors.css\",\"webpack://./../ckeditor5-collaboration-core/theme/usercolormixin.css\"],\"names\":[],\"mappings\":\"AAWA,MACC,2BAA2C,CAC3C,+CAAoD,CAEpD,2BAA4C,CAC5C,6CAAqD,CAErD,2BAAyC,CACzC,6CAAkD,CAElD,2BAA2C,CAC3C,6CAAoD,CAEpD,2BAA0C,CAC1C,6CAAmD,CAEnD,2BAA2C,CAC3C,6CAAoD,CAEpD,2BAAyC,CACzC,6CAAkD,CAElD,2BAA2C,CAC3C,8CAAoD,CAEpD,sBACD,CC3BC,uBACC,8BACD,CAEA,0BACC,yCACD,CAEA,2BACC,+CAMD,CAJC,qCACC,4BAA6B,CAC7B,yCACD,CAIA,mGAGC,yCACD,CAEA,8CACC,yCACD,CA1BD,uBACC,8BACD,CAEA,0BACC,yCACD,CAEA,2BACC,+CAMD,CAJC,qCACC,4BAA6B,CAC7B,yCACD,CAIA,mGAGC,yCACD,CAEA,8CACC,yCACD,CA1BD,uBACC,8BACD,CAEA,0BACC,yCACD,CAEA,2BACC,+CAMD,CAJC,qCACC,4BAA6B,CAC7B,yCACD,CAIA,mGAGC,yCACD,CAEA,8CACC,yCACD,CA1BD,uBACC,8BACD,CAEA,0BACC,yCACD,CAEA,2BACC,+CAMD,CAJC,qCACC,4BAA6B,CAC7B,yCACD,CAIA,mGAGC,yCACD,CAEA,8CACC,yCACD,CA1BD,uBACC,8BACD,CAEA,0BACC,yCACD,CAEA,2BACC,+CAMD,CAJC,qCACC,4BAA6B,CAC7B,yCACD,CAIA,mGAGC,yCACD,CAEA,8CACC,yCACD,CA1BD,uBACC,8BACD,CAEA,0BACC,yCACD,CAEA,2BACC,+CAMD,CAJC,qCACC,4BAA6B,CAC7B,yCACD,CAIA,mGAGC,yCACD,CAEA,8CACC,yCACD,CA1BD,uBACC,8BACD,CAEA,0BACC,yCACD,CAEA,2BACC,+CAMD,CAJC,qCACC,4BAA6B,CAC7B,yCACD,CAIA,mGAGC,yCACD,CAEA,8CACC,yCACD,CA1BD,uBACC,8BACD,CAEA,0BACC,yCACD,CAEA,2BACC,+CAMD,CAJC,qCACC,4BAA6B,CAC7B,yCACD,CAIA,mGAGC,yCACD,CAEA,8CACC,yCACD\",\"sourcesContent\":[\"/*\\n * What you're currently looking at is the source code of a legally protected, proprietary software.\\n * CKEditor 5 Collaboration is licensed under a commercial license and protected by copyright law. Where not otherwise indicated,\\n * all CKEditor 5 Collaboration content is authored by CKSource engineers and consists of CKSource-owned intellectual property.\\n *\\n * Copyright (c) 2003-2024, 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 \\\"./usercolormixin.css\\\";\\n\\n:root {\\n\\t--ck-user-colors--0: hsla(235, 73%, 67%, 1);\\n\\t--ck-user-colors--0-alpha: hsla(235, 73%, 67%, 0.15);\\n\\n\\t--ck-user-colors--1: hsla(173, 100%, 24%, 1);\\n\\t--ck-user-colors--1-alpha: hsla(173, 100%, 24%, 0.15);\\n\\n\\t--ck-user-colors--2: hsla(0, 46%, 50%, 1);\\n\\t--ck-user-colors--2-alpha: hsla(0, 46%, 50%, 0.15);\\n\\n\\t--ck-user-colors--3: hsla(256, 54%, 45%, 1);\\n\\t--ck-user-colors--3-alpha: hsla(256, 54%, 45%, 0.15);\\n\\n\\t--ck-user-colors--4: hsla(95, 50%, 36%, 1);\\n\\t--ck-user-colors--4-alpha: hsla(95, 50%, 36%, 0.15);\\n\\n\\t--ck-user-colors--5: hsla(336, 78%, 43%, 1);\\n\\t--ck-user-colors--5-alpha: hsla(336, 78%, 43%, 0.15);\\n\\n\\t--ck-user-colors--6: hsla(0, 80%, 59%, 1);\\n\\t--ck-user-colors--6-alpha: hsla(0, 80%, 59%, 0.15);\\n\\n\\t--ck-user-colors--7: hsla(184, 90%, 43%, 1);\\n\\t--ck-user-colors--7-alpha: hsla(184, 90%, 43%, 0.15);\\n\\n\\t--ck-user-dot-size: 6px;\\n}\\n\\n/* We are using mixins here because of lack of PostCSS loop plugin. */\\n\\n@mixin userColor var(--ck-user-colors--0), var(--ck-user-colors--0-alpha), 0;\\n@mixin userColor var(--ck-user-colors--1), var(--ck-user-colors--1-alpha), 1;\\n@mixin userColor var(--ck-user-colors--2), var(--ck-user-colors--2-alpha), 2;\\n@mixin userColor var(--ck-user-colors--3), var(--ck-user-colors--3-alpha), 3;\\n@mixin userColor var(--ck-user-colors--4), var(--ck-user-colors--4-alpha), 4;\\n@mixin userColor var(--ck-user-colors--5), var(--ck-user-colors--5-alpha), 5;\\n@mixin userColor var(--ck-user-colors--6), var(--ck-user-colors--6-alpha), 6;\\n@mixin userColor var(--ck-user-colors--7), var(--ck-user-colors--7-alpha), 7;\\n\",\"/*\\n * What you're currently looking at is the source code of a legally protected, proprietary software.\\n * CKEditor 5 Collaboration is licensed under a commercial license and protected by copyright law. Where not otherwise indicated,\\n * all CKEditor 5 Collaboration content is authored by CKSource engineers and consists of CKSource-owned intellectual property.\\n *\\n * Copyright (c) 2003-2024, 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 userColor $color, $colorAlpha, $number {\\n\\t.ck .ck-user__color--$(number) {\\n\\t\\tcolor: $color;\\n\\t}\\n\\n\\t.ck .ck-user__bg-color--$(number) {\\n\\t\\tbackground-color: $color;\\n\\t}\\n\\n\\t.ck .ck-user__selection--$(number) {\\n\\t\\tbackground-color: $colorAlpha;\\n\\n\\t\\t&.ck-widget {\\n\\t\\t\\tbackground-color: transparent;\\n\\t\\t\\tborder: 3px solid $color;\\n\\t\\t}\\n\\t}\\n\\n\\t.ck .ck-user__marker--$(number) {\\n\\t\\t&,\\n\\t\\t&:after,\\n\\t\\t& .ck-user__marker-dot {\\n\\t\\t\\tbackground-color: $color;\\n\\t\\t}\\n\\n\\t\\t& .ck-user__marker-line {\\n\\t\\t\\tborder: 1px solid $color;\\n\\t\\t}\\n\\t}\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/cssWithMappingToString.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \":root{--ck-user-avatar-size:40px;--ck-user-avatar-background:#3670ab;--ck-user-avatar-color:#fff;--ck-user-me-border-color:#fff}.ck.ck-user{align-items:center;background-color:var(--ck-user-avatar-background);border-radius:50%;box-sizing:border-box;display:flex;height:var(--ck-user-avatar-size);justify-content:center;line-height:100%;margin:2px;min-height:var(--ck-user-avatar-size);min-width:var(--ck-user-avatar-size);position:relative;width:var(--ck-user-avatar-size)}.ck.ck-user.ck-user_me{border:2px solid var(--ck-user-me-border-color);outline:2px solid var(--ck-user-avatar-background)}.ck.ck-user__name{color:var(--ck-user-avatar-color);cursor:default;-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none;user-select:none}.ck.ck-user__name.ck-user__name--hidden{display:none}.ck.ck-user__img{background-color:var(--ck-user-avatar-background);background-position:50%;background-repeat:no-repeat;background-size:cover;border:none;border-radius:50%;display:none;height:100%;width:100%}.ck.ck-user__img.ck-user__anonymous{background-image:url(\\\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath fill='%23FFF' d='M9.8 20H2c0-5.7 5-5.7 6-7l.2-.8c-1.6-.8-2.7-2.7-2.7-5 0-2.8 2-5.2 4.3-5.2S14 4.4 14 7.3c0 2.2-1 4-2.6 5l.2.6c1.2 1.3 6 1.4 6 7H9.8z'/%3E%3C/svg%3E\\\");display:block}.ck.ck-user__img.ck-user__anonymous+.ck-user__name{display:none}.ck.ck-user__img.ck-user__avatar{background-color:#fff;display:block}.ck.ck-user__img.ck-user__img--hidden{display:none}.ck.ck-user__notification{align-items:center;background:var(--ck-color-base-background);border:2px solid var(--ck-color-base-background);border-radius:50%;box-sizing:content-box;display:flex;height:15px;justify-content:center;overflow:hidden;position:absolute;right:-7px;top:-8px;transform:translateZ(0);width:15px}.ck.ck-user__notification .ck-user__icon{background:var(--ck-color-base-background);color:var(--ck-color-annotation-info);height:19px;max-height:19px;max-width:19px;min-height:19px;min-width:19px;width:19px}\", \"\",{\"version\":3,\"sources\":[\"webpack://./../ckeditor5-collaboration-core/theme/users.css\",\"webpack://./../../../../packages/ckeditor5-ui/theme/mixins/_unselectable.css\"],\"names\":[],\"mappings\":\"AAWA,MACC,0BAA2B,CAC3B,mCAA+C,CAC/C,2BAAwC,CACxC,8BACD,CAEA,YAGC,kBAAmB,CAGnB,iDAAkD,CADlD,iBAAkB,CAElB,qBAAsB,CANtB,YAAa,CAOb,iCAAkC,CANlC,sBAAuB,CAUvB,gBAAiB,CACjB,UAAW,CAFX,qCAAsC,CADtC,oCAAqC,CANrC,iBAAkB,CAKlB,gCAUD,CAJC,uBACC,+CAAgD,CAChD,kDACD,CAGD,kBACC,iCAAkC,CAClC,cAAe,CChCf,qBAAsB,CACtB,wBAAyB,CACzB,oBAAqB,CACrB,gBDmCD,CAHC,wCACC,YACD,CAGD,iBAOC,iDAAkD,CAHlD,uBAAkC,CAClC,2BAA4B,CAC5B,qBAAsB,CAGtB,WAAY,CADZ,iBAAkB,CAPlB,YAAa,CAEb,WAAY,CADZ,UA6BD,CApBC,oCAEC,oSAAmZ,CADnZ,aAOD,CAHC,mDACC,YACD,CAGD,iCAIC,qBAAkC,CAHlC,aAID,CAEA,sCACC,YACD,CAGD,0BAKC,kBAAmB,CACnB,0CAA2C,CAC3C,gDAAiD,CACjD,iBAAkB,CAClB,sBAAuB,CARvB,YAAa,CAEb,WAAY,CACZ,sBAAuB,CAUvB,eAAgB,CAHhB,iBAAkB,CAElB,UAAW,CADX,QAAS,CAGT,uBAAwB,CAbxB,UAyBD,CAVC,yCAEC,0CAA2C,CAD3C,qCAAsC,CAGtC,WAAY,CAEZ,eAAgB,CADhB,cAAe,CAGf,eAAgB,CADhB,cAAe,CAJf,UAMD\",\"sourcesContent\":[\"/*\\n * What you're currently looking at is the source code of a legally protected, proprietary software.\\n * CKEditor 5 Collaboration is licensed under a commercial license and protected by copyright law. Where not otherwise indicated,\\n * all CKEditor 5 Collaboration content is authored by CKSource engineers and consists of CKSource-owned intellectual property.\\n *\\n * Copyright (c) 2003-2024, 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\\n:root {\\n\\t--ck-user-avatar-size: 40px;\\n\\t--ck-user-avatar-background: hsl(210, 52%, 44%);\\n\\t--ck-user-avatar-color: hsl(0, 0%, 100%);\\n\\t--ck-user-me-border-color: hsl(0, 0%, 100%);\\n}\\n\\n.ck.ck-user {\\n\\tdisplay: flex;\\n\\tjustify-content: center;\\n\\talign-items: center;\\n\\tposition: relative;\\n\\tborder-radius: 50%;\\n\\tbackground-color: var(--ck-user-avatar-background);\\n\\tbox-sizing: border-box;\\n\\theight: var(--ck-user-avatar-size);\\n\\twidth: var(--ck-user-avatar-size);\\n\\tmin-width: var(--ck-user-avatar-size);\\n\\tmin-height: var(--ck-user-avatar-size);\\n\\tline-height: 100%;\\n\\tmargin: 2px;\\n\\n\\t&.ck-user_me {\\n\\t\\tborder: 2px solid var(--ck-user-me-border-color);\\n\\t\\toutline: 2px solid var(--ck-user-avatar-background);\\n\\t}\\n}\\n\\n.ck.ck-user__name {\\n\\tcolor: var(--ck-user-avatar-color);\\n\\tcursor: default;\\n\\t@mixin ck-unselectable;\\n\\n\\t&.ck-user__name--hidden {\\n\\t\\tdisplay: none;\\n\\t}\\n}\\n\\n.ck.ck-user__img {\\n\\tdisplay: none;\\n\\twidth: 100%;\\n\\theight: 100%;\\n\\tbackground-position: center center;\\n\\tbackground-repeat: no-repeat;\\n\\tbackground-size: cover;\\n\\tbackground-color: var(--ck-user-avatar-background);\\n\\tborder-radius: 50%;\\n\\tborder: none;\\n\\n\\t&.ck-user__anonymous {\\n\\t\\tdisplay: block;\\n\\t\\tbackground-image: url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2020%2020%22%3E%0A%20%20%3Cpath%20fill%3D%22%23FFF%22%20fill-rule%3D%22nonzero%22%20d%3D%22M9.8%2020H2c0-5.7%205-5.7%206-7l.2-.8c-1.6-.8-2.7-2.7-2.7-5%200-2.8%202-5.2%204.3-5.2S14%204.4%2014%207.3c0%202.2-1%204-2.6%205l.2.6c1.2%201.3%206%201.4%206%207H9.8z%22%2F%3E%0A%3C%2Fsvg%3E);\\n\\n\\t\\t/* Do not display initials when user is anonymous. */\\n\\t\\t& + .ck-user__name {\\n\\t\\t\\tdisplay: none;\\n\\t\\t}\\n\\t}\\n\\n\\t&.ck-user__avatar {\\n\\t\\tdisplay: block;\\n\\n\\t\\t/* In case if avatar is transparent make background white. */\\n\\t\\tbackground-color: hsl(0, 0%, 100%);\\n\\t}\\n\\n\\t&.ck-user__img--hidden {\\n\\t\\tdisplay: none;\\n\\t}\\n}\\n\\n.ck.ck-user__notification {\\n\\tdisplay: flex;\\n\\twidth: 15px;\\n\\theight: 15px;\\n\\tjustify-content: center;\\n\\talign-items: center;\\n\\tbackground: var(--ck-color-base-background);\\n\\tborder: 2px solid var(--ck-color-base-background);\\n\\tborder-radius: 50%;\\n\\tbox-sizing: content-box;\\n\\n\\tposition: absolute;\\n\\ttop: -8px;\\n\\tright: -7px;\\n\\toverflow: hidden;\\n\\ttransform: translateZ(0);\\n\\n\\t& .ck-user__icon {\\n\\t\\tcolor: var(--ck-color-annotation-info);\\n\\t\\tbackground: var(--ck-color-base-background);\\n\\t\\twidth: 19px;\\n\\t\\theight: 19px;\\n\\t\\tmax-width: 19px;\\n\\t\\tmax-height: 19px;\\n\\t\\tmin-width: 19px;\\n\\t\\tmin-height: 19px;\\n\\t}\\n}\\n\",\"/*\\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n/**\\n * Makes element unselectable.\\n */\\n@define-mixin ck-unselectable {\\n\\t-moz-user-select: none;\\n\\t-webkit-user-select: none;\\n\\t-ms-user-select: none;\\n\\tuser-select: none\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/cssWithMappingToString.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".ck.ck-editor__editable_inline.ck-format-painter-active,.ck.ck-editor__editable_inline.ck-format-painter-active .ck-widget .ck-editor__nested-editable,.ck.ck-editor__editable_inline.ck-format-painter-active a,.ck.ck-editor__editable_inline.ck-format-painter-active a .ck-widget .ck-editor__nested-editable{cursor:url(data:image/svg+xml;base64,PHN2ZyBmaWxsPSJub25lIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAzMSAyMCIgd2lkdGg9IjMwIiBoZWlnaHQ9IjIwIj48cGF0aCBkPSJNMTQgM2ExIDEgMCAwIDEgMS0xaDEwYTEgMSAwIDAgMSAxIDF2MmExIDEgMCAwIDEtMSAxSDE1YTEgMSAwIDAgMS0xLTFWM1oiIGZpbGw9IiMwMDAiLz48cGF0aCBkPSJNMjcgMy4yNWExLjUgMS41IDAgMCAxIDEuNSAxLjV2MS43YTIuMjUgMi4yNSAwIDAgMS0xLjkzMiAyLjIyNmwtNC40MjQuNjMyYS43NS43NSAwIDAgMC0uNjQ0Ljc0M1YxMWExIDEgMCAwIDEgMSAxdjVhMSAxIDAgMCAxLTEgMUgyMGExIDEgMCAwIDEtMS0xdi01YTEgMSAwIDAgMSAxLTF2LS45NWEyLjI1IDIuMjUgMCAwIDEgMS45MzItMi4yMjZsNC40MjQtLjYzMkEuNzUuNzUgMCAwIDAgMjcgNi40NDlWMy4yNVoiIGZpbGw9IiMwMDAiLz48cGF0aCBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGNsaXAtcnVsZT0iZXZlbm9kZCIgZD0iTTI2Ljg1NSAyLjI1SDI3YTIuNSAyLjUgMCAwIDEgMi41IDIuNXYxLjdhMy4yNSAzLjI1IDAgMCAxLTIuNzkgMy4yMTZsLTQuMjEuNjAyYTIgMiAwIDAgMSAxIDEuNzMydjVhMiAyIDAgMCAxLTIgMkgyMGEyIDIgMCAwIDEtMi0ydi01YTIgMiAwIDAgMSAxLTEuNzMydi0uMjE3QTMuMjUgMy4yNSAwIDAgMSAyMS4xMjkgN0gxNWEyIDIgMCAwIDEtMi0yVjNhMiAyIDAgMCAxIDItMmgxMGEyIDIgMCAwIDEgMS44NTUgMS4yNVpNMjAgMTAuMDVWMTFhMSAxIDAgMCAwLTEgMXY1YTEgMSAwIDAgMCAxIDFoMS41YTEgMSAwIDAgMCAxLTF2LTVhMSAxIDAgMCAwLTEtMXYtLjk1YzAtLjAxNiAwLS4wMzMuMDAyLS4wNWEuNzUuNzUgMCAwIDEgLjY0Mi0uNjkybDQuNDI0LS42MzJBMi4yNSAyLjI1IDAgMCAwIDI4LjUgNi40NXYtMS43YTEuNDk2IDEuNDk2IDAgMCAwLTEuNS0xLjV2My4yYS43NS43NSAwIDAgMS0uNjQ0Ljc0MmwtNC40MjQuNjMyQTIuMjUgMi4yNSAwIDAgMCAyMCAxMC4wNVpNMTUgMmExIDEgMCAwIDAtMSAxdjJhMSAxIDAgMCAwIDEgMWgxMGExIDEgMCAwIDAgMS0xVjNhMSAxIDAgMCAwLTEtMUgxNVoiIGZpbGw9IiNmZmYiLz48cGF0aCBkPSJNMi41IDIuNUEuNS41IDAgMCAxIDMgMmgyLjVhLjUuNSAwIDAgMSAuMzU0LjE0NmwuNjQ2LjY0Ny42NDYtLjY0N0EuNS41IDAgMCAxIDcuNSAySDEwYS41LjUgMCAwIDEgMCAxSDcuNzA3TDcgMy43MDdWMTBoLjVhLjUuNSAwIDAgMSAwIDFIN3Y0Ljc5M2wuNzA3LjcwN0gxMGEuNS41IDAgMCAxIDAgMUg3LjVhLjUuNSAwIDAgMS0uMzU0LS4xNDZsLS42NDYtLjY0Ny0uNjQ2LjY0N2EuNS41IDAgMCAxLS4zNTQuMTQ2SDNhLjUuNSAwIDAgMSAwLTFoMi4yOTNMNiAxNS43OTNWMTFoLS41YS41LjUgMCAwIDEgMC0xSDZWMy43MDdMNS4yOTMgM0gzYS41LjUgMCAwIDEtLjUtLjVaIiBmaWxsPSIjMDAwIi8+PHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Im01Ljc5MyAzLjUtLjUtLjVIM2EuNS41IDAgMCAxIDAtMWgyLjVhLjUuNSAwIDAgMSAuMzU0LjE0NmwuMTQ1LjE0Ni41MDEuNS42NDYtLjY0NkEuNS41IDAgMCAxIDcuNSAySDEwYS41LjUgMCAwIDEgMCAxSDcuNzA3TDcgMy43MDdWMTBoLjVhLjUuNSAwIDAgMSAwIDFIN3Y0Ljc5M2wuNzA3LjcwN0gxMGEuNS41IDAgMCAxIDAgMUg3LjVhLjUuNSAwIDAgMS0uMzU0LS4xNDZsLS42NDYtLjY0Ny0uNS41LS4xNDYuMTQ3YS41LjUgMCAwIDEtLjM1NC4xNDZIM2EuNS41IDAgMCAxIDAtMWgyLjI5M0w2IDE1Ljc5M1YxMWgtLjVhLjUuNSAwIDAgMSAwLTFINlYzLjcwN0w1Ljc5MyAzLjVabS0uOTE0LjVMNSA0LjEyMXY0Ljk2NGExLjUgMS41IDAgMCAwIDAgMi44M3YzLjQ2NGwtLjEyMS4xMjFIM2ExLjUgMS41IDAgMCAwIDAgM2gyLjVhMS41IDEuNSAwIDAgMCAxLS4zODIgMS41IDEuNSAwIDAgMCAxIC4zODJIMTBhMS41IDEuNSAwIDAgMCAwLTNIOC4xMjFMOCAxNS4zNzl2LTMuNDY0YTEuNSAxLjUgMCAwIDAgMC0yLjgzVjQuMTIxTDguMTIxIDRIMTBhMS41IDEuNSAwIDAgMCAwLTNINy41YTEuNSAxLjUgMCAwIDAtMSAuMzgyQTEuNSAxLjUgMCAwIDAgNS41IDFIM2ExLjUgMS41IDAgMSAwIDAgM2gxLjg3OVoiIGZpbGw9IiNmZmYiLz48L3N2Zz4=) 3 3,text}\", \"\",{\"version\":3,\"sources\":[\"webpack://./theme/formatpainter.css\"],\"names\":[],\"mappings\":\"AAoBC,kTAIC,m0FACD\",\"sourcesContent\":[\"/*\\n * What you're currently looking at is the source code of a legally protected, proprietary software.\\n * CKEditor 5 Collaboration is licensed under a commercial license and protected by copyright law. Where not otherwise indicated,\\n * all CKEditor 5 Collaboration content is authored by CKSource engineers and consists of CKSource-owned intellectual property.\\n *\\n * Copyright (c) 2003-2024, 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_inline.ck-format-painter-active {\\n\\t/* Cursor while painting the formatting over an object */\\n\\t/* & a .ck-widget,\\n\\t& .ck-widget {\\n\\t\\t&,\\n\\t\\t& *:not(.ck-editor__nested-editable *) {\\n\\t\\t\\tcursor: url(data:image/svg+xml;base64,PHN2ZyBmaWxsPSJub25lIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAzMSAyMCIgd2lkdGg9IjMwIiBoZWlnaHQ9IjIwIj4KICA8bWFzayBpZD0iYSIgbWFza1VuaXRzPSJ1c2VyU3BhY2VPblVzZSIgeD0iMTMiIHk9IjEiIHdpZHRoPSIxNyIgaGVpZ2h0PSIxOCIgZmlsbD0iIzAwMCI+CiAgICA8cmVjdCBmaWxsPSIjZmZmIiB4PSIxMyIgeT0iMSIgd2lkdGg9IjE3IiBoZWlnaHQ9IjE4Ii8+CiAgICA8cGF0aCBkPSJNMTQgM2ExIDEgMCAwIDEgMS0xaDEwYTEgMSAwIDAgMSAxIDF2MmExIDEgMCAwIDEtMSAxSDE1YTEgMSAwIDAgMS0xLTFWM1oiLz4KICAgIDxwYXRoIGQ9Ik0yNyAzLjI1YTEuNSAxLjUgMCAwIDEgMS41IDEuNXYxLjdhMi4yNSAyLjI1IDAgMCAxLTEuOTMyIDIuMjI2bC00LjQyNC42MzJhLjc1Ljc1IDAgMCAwLS42NDQuNzQzVjExYTEgMSAwIDAgMSAxIDF2NWExIDEgMCAwIDEtMSAxSDIwYTEgMSAwIDAgMS0xLTF2LTVhMSAxIDAgMCAxIDEtMXYtLjk1YTIuMjUgMi4yNSAwIDAgMSAxLjkzMi0yLjIyNmw0LjQyNC0uNjMyQS43NS43NSAwIDAgMCAyNyA2LjQ0OVYzLjI1WiIvPgogIDwvbWFzaz4KICA8cGF0aCBkPSJNMTQgM2ExIDEgMCAwIDEgMS0xaDEwYTEgMSAwIDAgMSAxIDF2MmExIDEgMCAwIDEtMSAxSDE1YTEgMSAwIDAgMS0xLTFWM1oiIGZpbGw9IiMwMDAiLz4KICA8cGF0aCBkPSJNMjcgMy4yNWExLjUgMS41IDAgMCAxIDEuNSAxLjV2MS43YTIuMjUgMi4yNSAwIDAgMS0xLjkzMiAyLjIyNmwtNC40MjQuNjMyYS43NS43NSAwIDAgMC0uNjQ0Ljc0M1YxMWExIDEgMCAwIDEgMSAxdjVhMSAxIDAgMCAxLTEgMUgyMGExIDEgMCAwIDEtMS0xdi01YTEgMSAwIDAgMSAxLTF2LS45NWEyLjI1IDIuMjUgMCAwIDEgMS45MzItMi4yMjZsNC40MjQtLjYzMkEuNzUuNzUgMCAwIDAgMjcgNi40NDlWMy4yNVoiIGZpbGw9IiMwMDAiLz4KICA8cGF0aCBkPSJNMTQgM2ExIDEgMCAwIDEgMS0xaDEwYTEgMSAwIDAgMSAxIDF2MmExIDEgMCAwIDEtMSAxSDE1YTEgMSAwIDAgMS0xLTFWM1oiIHN0cm9rZT0iI2ZmZiIgc3Ryb2tlLXdpZHRoPSIyIiBtYXNrPSJ1cmwoI2EpIi8+CiAgPHBhdGggZD0iTTI3IDMuMjVhMS41IDEuNSAwIDAgMSAxLjUgMS41djEuN2EyLjI1IDIuMjUgMCAwIDEtMS45MzIgMi4yMjZsLTQuNDI0LjYzMmEuNzUuNzUgMCAwIDAtLjY0NC43NDNWMTFhMSAxIDAgMCAxIDEgMXY1YTEgMSAwIDAgMS0xIDFIMjBhMSAxIDAgMCAxLTEtMXYtNWExIDEgMCAwIDEgMS0xdi0uOTVhMi4yNSAyLjI1IDAgMCAxIDEuOTMyLTIuMjI2bDQuNDI0LS42MzJBLjc1Ljc1IDAgMCAwIDI3IDYuNDQ5VjMuMjVaIiBzdHJva2U9IiNmZmYiIHN0cm9rZS13aWR0aD0iMiIgbWFzaz0idXJsKCNhKSIvPgogIDxtYXNrIGlkPSJiIiBtYXNrVW5pdHM9InVzZXJTcGFjZU9uVXNlIiB4PSIxLjc1IiB5PSIxLjE2NSIgd2lkdGg9IjEyIiBoZWlnaHQ9IjE3IiBmaWxsPSIjMDAwIj4KICAgIDxyZWN0IGZpbGw9IiNmZmYiIHg9IjEuNzUiIHk9IjEuMTY1IiB3aWR0aD0iMTIiIGhlaWdodD0iMTciLz4KICAgIDxwYXRoIGQ9Im0xMi4yNSA5Ljk2LTkuNS03Ljc5NSAyIDEyLjEyNCAyLjM4NC0yLjUzIDIuNzUgNC43NjIgMS43MzItMS0yLjc1LTQuNzYzIDMuMzg0LS43OTlaIi8+CiAgPC9tYXNrPgogIDxwYXRoIGQ9Im0xMi4yNSA5Ljk2LTkuNS03Ljc5NSAyIDEyLjEyNCAyLjM4NC0yLjUzIDIuNzUgNC43NjIgMS43MzItMS0yLjc1LTQuNzYzIDMuMzg0LS43OTlaIiBmaWxsPSIjMDAwIi8+CiAgPHBhdGggZD0ibTEyLjI1IDkuOTYtOS41LTcuNzk1IDIgMTIuMTI0IDIuMzg0LTIuNTMgMi43NSA0Ljc2MiAxLjczMi0xLTIuNzUtNC43NjMgMy4zODQtLjc5OVoiIHN0cm9rZT0iI2ZmZiIgc3Ryb2tlLXdpZHRoPSIyIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiBtYXNrPSJ1cmwoI2IpIi8+Cjwvc3ZnPgo=) 3 2, default;\\n\\t\\t}\\n\\t} */\\n\\n\\t/* Cursor while painting the formatting over a text */\\n\\t&,\\n\\t& a,\\n\\t& .ck-widget .ck-editor__nested-editable,\\n\\t& a .ck-widget .ck-editor__nested-editable {\\n\\t\\tcursor: url(data:image/svg+xml;base64,PHN2ZyBmaWxsPSJub25lIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAzMSAyMCIgd2lkdGg9IjMwIiBoZWlnaHQ9IjIwIj4KICA8cGF0aCBkPSJNMTQgM2ExIDEgMCAwIDEgMS0xaDEwYTEgMSAwIDAgMSAxIDF2MmExIDEgMCAwIDEtMSAxSDE1YTEgMSAwIDAgMS0xLTFWM1oiIGZpbGw9IiMwMDAiLz4KICA8cGF0aCBkPSJNMjcgMy4yNWExLjUgMS41IDAgMCAxIDEuNSAxLjV2MS43YTIuMjUgMi4yNSAwIDAgMS0xLjkzMiAyLjIyNmwtNC40MjQuNjMyYS43NS43NSAwIDAgMC0uNjQ0Ljc0M1YxMWExIDEgMCAwIDEgMSAxdjVhMSAxIDAgMCAxLTEgMUgyMGExIDEgMCAwIDEtMS0xdi01YTEgMSAwIDAgMSAxLTF2LS45NWEyLjI1IDIuMjUgMCAwIDEgMS45MzItMi4yMjZsNC40MjQtLjYzMkEuNzUuNzUgMCAwIDAgMjcgNi40NDlWMy4yNVoiIGZpbGw9IiMwMDAiLz4KICA8cGF0aCBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGNsaXAtcnVsZT0iZXZlbm9kZCIgZD0iTTI2Ljg1NSAyLjI1SDI3YTIuNSAyLjUgMCAwIDEgMi41IDIuNXYxLjdhMy4yNSAzLjI1IDAgMCAxLTIuNzkgMy4yMTZsLTQuMjEuNjAyYTIgMiAwIDAgMSAxIDEuNzMydjVhMiAyIDAgMCAxLTIgMkgyMGEyIDIgMCAwIDEtMi0ydi01YTIgMiAwIDAgMSAxLTEuNzMydi0uMjE3QTMuMjUgMy4yNSAwIDAgMSAyMS4xMjkgN0gxNWEyIDIgMCAwIDEtMi0yVjNhMiAyIDAgMCAxIDItMmgxMGEyIDIgMCAwIDEgMS44NTUgMS4yNVpNMjAgMTAuMDVWMTFhMSAxIDAgMCAwLTEgMXY1YTEgMSAwIDAgMCAxIDFoMS41YTEgMSAwIDAgMCAxLTF2LTVhMSAxIDAgMCAwLTEtMXYtLjk1YzAtLjAxNiAwLS4wMzMuMDAyLS4wNWEuNzUuNzUgMCAwIDEgLjY0Mi0uNjkybDQuNDI0LS42MzJBMi4yNSAyLjI1IDAgMCAwIDI4LjUgNi40NVY0Ljc1YTEuNDk2IDEuNDk2IDAgMCAwLTEuNS0xLjV2My4yYS43NS43NSAwIDAgMS0uNjQ0Ljc0MmwtNC40MjQuNjMyQTIuMjUgMi4yNSAwIDAgMCAyMCAxMC4wNVpNMTUgMmExIDEgMCAwIDAtMSAxdjJhMSAxIDAgMCAwIDEgMWgxMGExIDEgMCAwIDAgMS0xVjNhMSAxIDAgMCAwLTEtMUgxNVoiIGZpbGw9IiNmZmYiLz4KICA8cGF0aCBkPSJNMi41IDIuNUEuNS41IDAgMCAxIDMgMmgyLjVhLjUuNSAwIDAgMSAuMzU0LjE0NmwuNjQ2LjY0Ny42NDYtLjY0N0EuNS41IDAgMCAxIDcuNSAySDEwYS41LjUgMCAwIDEgMCAxSDcuNzA3TDcgMy43MDdWMTBoLjVhLjUuNSAwIDAgMSAwIDFIN3Y0Ljc5M2wuNzA3LjcwN0gxMGEuNS41IDAgMCAxIDAgMUg3LjVhLjUuNSAwIDAgMS0uMzU0LS4xNDZsLS42NDYtLjY0Ny0uNjQ2LjY0N2EuNS41IDAgMCAxLS4zNTQuMTQ2SDNhLjUuNSAwIDAgMSAwLTFoMi4yOTNMNiAxNS43OTNWMTFoLS41YS41LjUgMCAwIDEgMC0xSDZWMy43MDdMNS4yOTMgM0gzYS41LjUgMCAwIDEtLjUtLjVaIiBmaWxsPSIjMDAwIi8+CiAgPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Im01Ljc5MyAzLjUtLjUtLjVIM2EuNS41IDAgMCAxIDAtMWgyLjVhLjUuNSAwIDAgMSAuMzU0LjE0NmwuMTQ1LjE0Ni41MDEuNS42NDYtLjY0NkEuNS41IDAgMCAxIDcuNSAySDEwYS41LjUgMCAwIDEgMCAxSDcuNzA3TDcgMy43MDdWMTBoLjVhLjUuNSAwIDAgMSAwIDFIN3Y0Ljc5M2wuNzA3LjcwN0gxMGEuNS41IDAgMCAxIDAgMUg3LjVhLjUuNSAwIDAgMS0uMzU0LS4xNDZsLS42NDYtLjY0Ny0uNS41LS4xNDYuMTQ3YS41LjUgMCAwIDEtLjM1NC4xNDZIM2EuNS41IDAgMCAxIDAtMWgyLjI5M0w2IDE1Ljc5M1YxMWgtLjVhLjUuNSAwIDAgMSAwLTFINlYzLjcwN0w1Ljc5MyAzLjVabS0uOTE0LjVMNSA0LjEyMXY0Ljk2NGExLjUgMS41IDAgMCAwIDAgMi44M3YzLjQ2NGwtLjEyMS4xMjFIM2ExLjUgMS41IDAgMCAwIDAgM2gyLjVhMS41IDEuNSAwIDAgMCAxLS4zODIgMS41IDEuNSAwIDAgMCAxIC4zODJIMTBhMS41IDEuNSAwIDAgMCAwLTNIOC4xMjFMOCAxNS4zNzl2LTMuNDY0YTEuNSAxLjUgMCAwIDAgMC0yLjgzVjQuMTIxTDguMTIxIDRIMTBhMS41IDEuNSAwIDAgMCAwLTNINy41YTEuNSAxLjUgMCAwIDAtMSAuMzgyQTEuNSAxLjUgMCAwIDAgNS41IDFIM2ExLjUgMS41IDAgMSAwIDAgM2gxLjg3OVoiIGZpbGw9IiNmZmYiLz4KPC9zdmc+Cg==) 3 3, text;\\n\\t}\\n}\\n\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","\"use strict\";\n\n/*\n MIT License http://www.opensource.org/licenses/mit-license.php\n Author Tobias Koppers @sokra\n*/\n// css base code, injected by the css-loader\n// eslint-disable-next-line func-names\nmodule.exports = function (cssWithMappingToString) {\n var list = []; // return the list of modules as css string\n\n list.toString = function toString() {\n return this.map(function (item) {\n var content = cssWithMappingToString(item);\n\n if (item[2]) {\n return \"@media \".concat(item[2], \" {\").concat(content, \"}\");\n }\n\n return content;\n }).join(\"\");\n }; // import a list of modules into the list\n // eslint-disable-next-line func-names\n\n\n list.i = function (modules, mediaQuery, dedupe) {\n if (typeof modules === \"string\") {\n // eslint-disable-next-line no-param-reassign\n modules = [[null, modules, \"\"]];\n }\n\n var alreadyImportedModules = {};\n\n if (dedupe) {\n for (var i = 0; i < this.length; i++) {\n // eslint-disable-next-line prefer-destructuring\n var id = this[i][0];\n\n if (id != null) {\n alreadyImportedModules[id] = true;\n }\n }\n }\n\n for (var _i = 0; _i < modules.length; _i++) {\n var item = [].concat(modules[_i]);\n\n if (dedupe && alreadyImportedModules[item[0]]) {\n // eslint-disable-next-line no-continue\n continue;\n }\n\n if (mediaQuery) {\n if (!item[2]) {\n item[2] = mediaQuery;\n } else {\n item[2] = \"\".concat(mediaQuery, \" and \").concat(item[2]);\n }\n }\n\n list.push(item);\n }\n };\n\n return list;\n};","\"use strict\";\n\nfunction _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }\n\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction _iterableToArrayLimit(arr, i) { var _i = arr && (typeof Symbol !== \"undefined\" && arr[Symbol.iterator] || arr[\"@@iterator\"]); if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\nmodule.exports = function cssWithMappingToString(item) {\n var _item = _slicedToArray(item, 4),\n content = _item[1],\n cssMapping = _item[3];\n\n if (!cssMapping) {\n return content;\n }\n\n if (typeof btoa === \"function\") {\n // eslint-disable-next-line no-undef\n var base64 = btoa(unescape(encodeURIComponent(JSON.stringify(cssMapping))));\n var data = \"sourceMappingURL=data:application/json;charset=utf-8;base64,\".concat(base64);\n var sourceMapping = \"/*# \".concat(data, \" */\");\n var sourceURLs = cssMapping.sources.map(function (source) {\n return \"/*# sourceURL=\".concat(cssMapping.sourceRoot || \"\").concat(source, \" */\");\n });\n return [content].concat(sourceURLs).concat([sourceMapping]).join(\"\\n\");\n }\n\n return [content].join(\"\\n\");\n};","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = addLeadingZeros;\nfunction addLeadingZeros(number, targetLength) {\n var sign = number < 0 ? '-' : '';\n var output = Math.abs(number).toString();\n while (output.length < targetLength) {\n output = '0' + output;\n }\n return sign + output;\n}\nmodule.exports = exports.default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\").default;\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _index = _interopRequireDefault(require(\"../../locale/en-US/index.js\"));\nvar _default = _index.default;\nexports.default = _default;\nmodule.exports = exports.default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.getDefaultOptions = getDefaultOptions;\nexports.setDefaultOptions = setDefaultOptions;\nvar defaultOptions = {};\nfunction getDefaultOptions() {\n return defaultOptions;\n}\nfunction setDefaultOptions(newOptions) {\n defaultOptions = newOptions;\n}","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\").default;\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _index = _interopRequireDefault(require(\"../../../_lib/getUTCDayOfYear/index.js\"));\nvar _index2 = _interopRequireDefault(require(\"../../../_lib/getUTCISOWeek/index.js\"));\nvar _index3 = _interopRequireDefault(require(\"../../../_lib/getUTCISOWeekYear/index.js\"));\nvar _index4 = _interopRequireDefault(require(\"../../../_lib/getUTCWeek/index.js\"));\nvar _index5 = _interopRequireDefault(require(\"../../../_lib/getUTCWeekYear/index.js\"));\nvar _index6 = _interopRequireDefault(require(\"../../addLeadingZeros/index.js\"));\nvar _index7 = _interopRequireDefault(require(\"../lightFormatters/index.js\"));\nvar dayPeriodEnum = {\n am: 'am',\n pm: 'pm',\n midnight: 'midnight',\n noon: 'noon',\n morning: 'morning',\n afternoon: 'afternoon',\n evening: 'evening',\n night: 'night'\n};\n/*\n * | | Unit | | Unit |\n * |-----|--------------------------------|-----|--------------------------------|\n * | a | AM, PM | A* | Milliseconds in day |\n * | b | AM, PM, noon, midnight | B | Flexible day period |\n * | c | Stand-alone local day of week | C* | Localized hour w/ day period |\n * | d | Day of month | D | Day of year |\n * | e | Local day of week | E | Day of week |\n * | f | | F* | Day of week in month |\n * | g* | Modified Julian day | G | Era |\n * | h | Hour [1-12] | H | Hour [0-23] |\n * | i! | ISO day of week | I! | ISO week of year |\n * | j* | Localized hour w/ day period | J* | Localized hour w/o day period |\n * | k | Hour [1-24] | K | Hour [0-11] |\n * | l* | (deprecated) | L | Stand-alone month |\n * | m | Minute | M | Month |\n * | n | | N | |\n * | o! | Ordinal number modifier | O | Timezone (GMT) |\n * | p! | Long localized time | P! | Long localized date |\n * | q | Stand-alone quarter | Q | Quarter |\n * | r* | Related Gregorian year | R! | ISO week-numbering year |\n * | s | Second | S | Fraction of second |\n * | t! | Seconds timestamp | T! | Milliseconds timestamp |\n * | u | Extended year | U* | Cyclic year |\n * | v* | Timezone (generic non-locat.) | V* | Timezone (location) |\n * | w | Local week of year | W* | Week of month |\n * | x | Timezone (ISO-8601 w/o Z) | X | Timezone (ISO-8601) |\n * | y | Year (abs) | Y | Local week-numbering year |\n * | z | Timezone (specific non-locat.) | Z* | Timezone (aliases) |\n *\n * Letters marked by * are not implemented but reserved by Unicode standard.\n *\n * Letters marked by ! are non-standard, but implemented by date-fns:\n * - `o` modifies the previous token to turn it into an ordinal (see `format` docs)\n * - `i` is ISO day of week. For `i` and `ii` is returns numeric ISO week days,\n * i.e. 7 for Sunday, 1 for Monday, etc.\n * - `I` is ISO week of year, as opposed to `w` which is local week of year.\n * - `R` is ISO week-numbering year, as opposed to `Y` which is local week-numbering year.\n * `R` is supposed to be used in conjunction with `I` and `i`\n * for universal ISO week-numbering date, whereas\n * `Y` is supposed to be used in conjunction with `w` and `e`\n * for week-numbering date specific to the locale.\n * - `P` is long localized date format\n * - `p` is long localized time format\n */\n\nvar formatters = {\n // Era\n G: function G(date, token, localize) {\n var era = date.getUTCFullYear() > 0 ? 1 : 0;\n switch (token) {\n // AD, BC\n case 'G':\n case 'GG':\n case 'GGG':\n return localize.era(era, {\n width: 'abbreviated'\n });\n // A, B\n case 'GGGGG':\n return localize.era(era, {\n width: 'narrow'\n });\n // Anno Domini, Before Christ\n case 'GGGG':\n default:\n return localize.era(era, {\n width: 'wide'\n });\n }\n },\n // Year\n y: function y(date, token, localize) {\n // Ordinal number\n if (token === 'yo') {\n var signedYear = date.getUTCFullYear();\n // Returns 1 for 1 BC (which is year 0 in JavaScript)\n var year = signedYear > 0 ? signedYear : 1 - signedYear;\n return localize.ordinalNumber(year, {\n unit: 'year'\n });\n }\n return _index7.default.y(date, token);\n },\n // Local week-numbering year\n Y: function Y(date, token, localize, options) {\n var signedWeekYear = (0, _index5.default)(date, options);\n // Returns 1 for 1 BC (which is year 0 in JavaScript)\n var weekYear = signedWeekYear > 0 ? signedWeekYear : 1 - signedWeekYear;\n\n // Two digit year\n if (token === 'YY') {\n var twoDigitYear = weekYear % 100;\n return (0, _index6.default)(twoDigitYear, 2);\n }\n\n // Ordinal number\n if (token === 'Yo') {\n return localize.ordinalNumber(weekYear, {\n unit: 'year'\n });\n }\n\n // Padding\n return (0, _index6.default)(weekYear, token.length);\n },\n // ISO week-numbering year\n R: function R(date, token) {\n var isoWeekYear = (0, _index3.default)(date);\n\n // Padding\n return (0, _index6.default)(isoWeekYear, token.length);\n },\n // Extended year. This is a single number designating the year of this calendar system.\n // The main difference between `y` and `u` localizers are B.C. years:\n // | Year | `y` | `u` |\n // |------|-----|-----|\n // | AC 1 | 1 | 1 |\n // | BC 1 | 1 | 0 |\n // | BC 2 | 2 | -1 |\n // Also `yy` always returns the last two digits of a year,\n // while `uu` pads single digit years to 2 characters and returns other years unchanged.\n u: function u(date, token) {\n var year = date.getUTCFullYear();\n return (0, _index6.default)(year, token.length);\n },\n // Quarter\n Q: function Q(date, token, localize) {\n var quarter = Math.ceil((date.getUTCMonth() + 1) / 3);\n switch (token) {\n // 1, 2, 3, 4\n case 'Q':\n return String(quarter);\n // 01, 02, 03, 04\n case 'QQ':\n return (0, _index6.default)(quarter, 2);\n // 1st, 2nd, 3rd, 4th\n case 'Qo':\n return localize.ordinalNumber(quarter, {\n unit: 'quarter'\n });\n // Q1, Q2, Q3, Q4\n case 'QQQ':\n return localize.quarter(quarter, {\n width: 'abbreviated',\n context: 'formatting'\n });\n // 1, 2, 3, 4 (narrow quarter; could be not numerical)\n case 'QQQQQ':\n return localize.quarter(quarter, {\n width: 'narrow',\n context: 'formatting'\n });\n // 1st quarter, 2nd quarter, ...\n case 'QQQQ':\n default:\n return localize.quarter(quarter, {\n width: 'wide',\n context: 'formatting'\n });\n }\n },\n // Stand-alone quarter\n q: function q(date, token, localize) {\n var quarter = Math.ceil((date.getUTCMonth() + 1) / 3);\n switch (token) {\n // 1, 2, 3, 4\n case 'q':\n return String(quarter);\n // 01, 02, 03, 04\n case 'qq':\n return (0, _index6.default)(quarter, 2);\n // 1st, 2nd, 3rd, 4th\n case 'qo':\n return localize.ordinalNumber(quarter, {\n unit: 'quarter'\n });\n // Q1, Q2, Q3, Q4\n case 'qqq':\n return localize.quarter(quarter, {\n width: 'abbreviated',\n context: 'standalone'\n });\n // 1, 2, 3, 4 (narrow quarter; could be not numerical)\n case 'qqqqq':\n return localize.quarter(quarter, {\n width: 'narrow',\n context: 'standalone'\n });\n // 1st quarter, 2nd quarter, ...\n case 'qqqq':\n default:\n return localize.quarter(quarter, {\n width: 'wide',\n context: 'standalone'\n });\n }\n },\n // Month\n M: function M(date, token, localize) {\n var month = date.getUTCMonth();\n switch (token) {\n case 'M':\n case 'MM':\n return _index7.default.M(date, token);\n // 1st, 2nd, ..., 12th\n case 'Mo':\n return localize.ordinalNumber(month + 1, {\n unit: 'month'\n });\n // Jan, Feb, ..., Dec\n case 'MMM':\n return localize.month(month, {\n width: 'abbreviated',\n context: 'formatting'\n });\n // J, F, ..., D\n case 'MMMMM':\n return localize.month(month, {\n width: 'narrow',\n context: 'formatting'\n });\n // January, February, ..., December\n case 'MMMM':\n default:\n return localize.month(month, {\n width: 'wide',\n context: 'formatting'\n });\n }\n },\n // Stand-alone month\n L: function L(date, token, localize) {\n var month = date.getUTCMonth();\n switch (token) {\n // 1, 2, ..., 12\n case 'L':\n return String(month + 1);\n // 01, 02, ..., 12\n case 'LL':\n return (0, _index6.default)(month + 1, 2);\n // 1st, 2nd, ..., 12th\n case 'Lo':\n return localize.ordinalNumber(month + 1, {\n unit: 'month'\n });\n // Jan, Feb, ..., Dec\n case 'LLL':\n return localize.month(month, {\n width: 'abbreviated',\n context: 'standalone'\n });\n // J, F, ..., D\n case 'LLLLL':\n return localize.month(month, {\n width: 'narrow',\n context: 'standalone'\n });\n // January, February, ..., December\n case 'LLLL':\n default:\n return localize.month(month, {\n width: 'wide',\n context: 'standalone'\n });\n }\n },\n // Local week of year\n w: function w(date, token, localize, options) {\n var week = (0, _index4.default)(date, options);\n if (token === 'wo') {\n return localize.ordinalNumber(week, {\n unit: 'week'\n });\n }\n return (0, _index6.default)(week, token.length);\n },\n // ISO week of year\n I: function I(date, token, localize) {\n var isoWeek = (0, _index2.default)(date);\n if (token === 'Io') {\n return localize.ordinalNumber(isoWeek, {\n unit: 'week'\n });\n }\n return (0, _index6.default)(isoWeek, token.length);\n },\n // Day of the month\n d: function d(date, token, localize) {\n if (token === 'do') {\n return localize.ordinalNumber(date.getUTCDate(), {\n unit: 'date'\n });\n }\n return _index7.default.d(date, token);\n },\n // Day of year\n D: function D(date, token, localize) {\n var dayOfYear = (0, _index.default)(date);\n if (token === 'Do') {\n return localize.ordinalNumber(dayOfYear, {\n unit: 'dayOfYear'\n });\n }\n return (0, _index6.default)(dayOfYear, token.length);\n },\n // Day of week\n E: function E(date, token, localize) {\n var dayOfWeek = date.getUTCDay();\n switch (token) {\n // Tue\n case 'E':\n case 'EE':\n case 'EEE':\n return localize.day(dayOfWeek, {\n width: 'abbreviated',\n context: 'formatting'\n });\n // T\n case 'EEEEE':\n return localize.day(dayOfWeek, {\n width: 'narrow',\n context: 'formatting'\n });\n // Tu\n case 'EEEEEE':\n return localize.day(dayOfWeek, {\n width: 'short',\n context: 'formatting'\n });\n // Tuesday\n case 'EEEE':\n default:\n return localize.day(dayOfWeek, {\n width: 'wide',\n context: 'formatting'\n });\n }\n },\n // Local day of week\n e: function e(date, token, localize, options) {\n var dayOfWeek = date.getUTCDay();\n var localDayOfWeek = (dayOfWeek - options.weekStartsOn + 8) % 7 || 7;\n switch (token) {\n // Numerical value (Nth day of week with current locale or weekStartsOn)\n case 'e':\n return String(localDayOfWeek);\n // Padded numerical value\n case 'ee':\n return (0, _index6.default)(localDayOfWeek, 2);\n // 1st, 2nd, ..., 7th\n case 'eo':\n return localize.ordinalNumber(localDayOfWeek, {\n unit: 'day'\n });\n case 'eee':\n return localize.day(dayOfWeek, {\n width: 'abbreviated',\n context: 'formatting'\n });\n // T\n case 'eeeee':\n return localize.day(dayOfWeek, {\n width: 'narrow',\n context: 'formatting'\n });\n // Tu\n case 'eeeeee':\n return localize.day(dayOfWeek, {\n width: 'short',\n context: 'formatting'\n });\n // Tuesday\n case 'eeee':\n default:\n return localize.day(dayOfWeek, {\n width: 'wide',\n context: 'formatting'\n });\n }\n },\n // Stand-alone local day of week\n c: function c(date, token, localize, options) {\n var dayOfWeek = date.getUTCDay();\n var localDayOfWeek = (dayOfWeek - options.weekStartsOn + 8) % 7 || 7;\n switch (token) {\n // Numerical value (same as in `e`)\n case 'c':\n return String(localDayOfWeek);\n // Padded numerical value\n case 'cc':\n return (0, _index6.default)(localDayOfWeek, token.length);\n // 1st, 2nd, ..., 7th\n case 'co':\n return localize.ordinalNumber(localDayOfWeek, {\n unit: 'day'\n });\n case 'ccc':\n return localize.day(dayOfWeek, {\n width: 'abbreviated',\n context: 'standalone'\n });\n // T\n case 'ccccc':\n return localize.day(dayOfWeek, {\n width: 'narrow',\n context: 'standalone'\n });\n // Tu\n case 'cccccc':\n return localize.day(dayOfWeek, {\n width: 'short',\n context: 'standalone'\n });\n // Tuesday\n case 'cccc':\n default:\n return localize.day(dayOfWeek, {\n width: 'wide',\n context: 'standalone'\n });\n }\n },\n // ISO day of week\n i: function i(date, token, localize) {\n var dayOfWeek = date.getUTCDay();\n var isoDayOfWeek = dayOfWeek === 0 ? 7 : dayOfWeek;\n switch (token) {\n // 2\n case 'i':\n return String(isoDayOfWeek);\n // 02\n case 'ii':\n return (0, _index6.default)(isoDayOfWeek, token.length);\n // 2nd\n case 'io':\n return localize.ordinalNumber(isoDayOfWeek, {\n unit: 'day'\n });\n // Tue\n case 'iii':\n return localize.day(dayOfWeek, {\n width: 'abbreviated',\n context: 'formatting'\n });\n // T\n case 'iiiii':\n return localize.day(dayOfWeek, {\n width: 'narrow',\n context: 'formatting'\n });\n // Tu\n case 'iiiiii':\n return localize.day(dayOfWeek, {\n width: 'short',\n context: 'formatting'\n });\n // Tuesday\n case 'iiii':\n default:\n return localize.day(dayOfWeek, {\n width: 'wide',\n context: 'formatting'\n });\n }\n },\n // AM or PM\n a: function a(date, token, localize) {\n var hours = date.getUTCHours();\n var dayPeriodEnumValue = hours / 12 >= 1 ? 'pm' : 'am';\n switch (token) {\n case 'a':\n case 'aa':\n return localize.dayPeriod(dayPeriodEnumValue, {\n width: 'abbreviated',\n context: 'formatting'\n });\n case 'aaa':\n return localize.dayPeriod(dayPeriodEnumValue, {\n width: 'abbreviated',\n context: 'formatting'\n }).toLowerCase();\n case 'aaaaa':\n return localize.dayPeriod(dayPeriodEnumValue, {\n width: 'narrow',\n context: 'formatting'\n });\n case 'aaaa':\n default:\n return localize.dayPeriod(dayPeriodEnumValue, {\n width: 'wide',\n context: 'formatting'\n });\n }\n },\n // AM, PM, midnight, noon\n b: function b(date, token, localize) {\n var hours = date.getUTCHours();\n var dayPeriodEnumValue;\n if (hours === 12) {\n dayPeriodEnumValue = dayPeriodEnum.noon;\n } else if (hours === 0) {\n dayPeriodEnumValue = dayPeriodEnum.midnight;\n } else {\n dayPeriodEnumValue = hours / 12 >= 1 ? 'pm' : 'am';\n }\n switch (token) {\n case 'b':\n case 'bb':\n return localize.dayPeriod(dayPeriodEnumValue, {\n width: 'abbreviated',\n context: 'formatting'\n });\n case 'bbb':\n return localize.dayPeriod(dayPeriodEnumValue, {\n width: 'abbreviated',\n context: 'formatting'\n }).toLowerCase();\n case 'bbbbb':\n return localize.dayPeriod(dayPeriodEnumValue, {\n width: 'narrow',\n context: 'formatting'\n });\n case 'bbbb':\n default:\n return localize.dayPeriod(dayPeriodEnumValue, {\n width: 'wide',\n context: 'formatting'\n });\n }\n },\n // in the morning, in the afternoon, in the evening, at night\n B: function B(date, token, localize) {\n var hours = date.getUTCHours();\n var dayPeriodEnumValue;\n if (hours >= 17) {\n dayPeriodEnumValue = dayPeriodEnum.evening;\n } else if (hours >= 12) {\n dayPeriodEnumValue = dayPeriodEnum.afternoon;\n } else if (hours >= 4) {\n dayPeriodEnumValue = dayPeriodEnum.morning;\n } else {\n dayPeriodEnumValue = dayPeriodEnum.night;\n }\n switch (token) {\n case 'B':\n case 'BB':\n case 'BBB':\n return localize.dayPeriod(dayPeriodEnumValue, {\n width: 'abbreviated',\n context: 'formatting'\n });\n case 'BBBBB':\n return localize.dayPeriod(dayPeriodEnumValue, {\n width: 'narrow',\n context: 'formatting'\n });\n case 'BBBB':\n default:\n return localize.dayPeriod(dayPeriodEnumValue, {\n width: 'wide',\n context: 'formatting'\n });\n }\n },\n // Hour [1-12]\n h: function h(date, token, localize) {\n if (token === 'ho') {\n var hours = date.getUTCHours() % 12;\n if (hours === 0) hours = 12;\n return localize.ordinalNumber(hours, {\n unit: 'hour'\n });\n }\n return _index7.default.h(date, token);\n },\n // Hour [0-23]\n H: function H(date, token, localize) {\n if (token === 'Ho') {\n return localize.ordinalNumber(date.getUTCHours(), {\n unit: 'hour'\n });\n }\n return _index7.default.H(date, token);\n },\n // Hour [0-11]\n K: function K(date, token, localize) {\n var hours = date.getUTCHours() % 12;\n if (token === 'Ko') {\n return localize.ordinalNumber(hours, {\n unit: 'hour'\n });\n }\n return (0, _index6.default)(hours, token.length);\n },\n // Hour [1-24]\n k: function k(date, token, localize) {\n var hours = date.getUTCHours();\n if (hours === 0) hours = 24;\n if (token === 'ko') {\n return localize.ordinalNumber(hours, {\n unit: 'hour'\n });\n }\n return (0, _index6.default)(hours, token.length);\n },\n // Minute\n m: function m(date, token, localize) {\n if (token === 'mo') {\n return localize.ordinalNumber(date.getUTCMinutes(), {\n unit: 'minute'\n });\n }\n return _index7.default.m(date, token);\n },\n // Second\n s: function s(date, token, localize) {\n if (token === 'so') {\n return localize.ordinalNumber(date.getUTCSeconds(), {\n unit: 'second'\n });\n }\n return _index7.default.s(date, token);\n },\n // Fraction of second\n S: function S(date, token) {\n return _index7.default.S(date, token);\n },\n // Timezone (ISO-8601. If offset is 0, output is always `'Z'`)\n X: function X(date, token, _localize, options) {\n var originalDate = options._originalDate || date;\n var timezoneOffset = originalDate.getTimezoneOffset();\n if (timezoneOffset === 0) {\n return 'Z';\n }\n switch (token) {\n // Hours and optional minutes\n case 'X':\n return formatTimezoneWithOptionalMinutes(timezoneOffset);\n\n // Hours, minutes and optional seconds without `:` delimiter\n // Note: neither ISO-8601 nor JavaScript supports seconds in timezone offsets\n // so this token always has the same output as `XX`\n case 'XXXX':\n case 'XX':\n // Hours and minutes without `:` delimiter\n return formatTimezone(timezoneOffset);\n\n // Hours, minutes and optional seconds with `:` delimiter\n // Note: neither ISO-8601 nor JavaScript supports seconds in timezone offsets\n // so this token always has the same output as `XXX`\n case 'XXXXX':\n case 'XXX': // Hours and minutes with `:` delimiter\n default:\n return formatTimezone(timezoneOffset, ':');\n }\n },\n // Timezone (ISO-8601. If offset is 0, output is `'+00:00'` or equivalent)\n x: function x(date, token, _localize, options) {\n var originalDate = options._originalDate || date;\n var timezoneOffset = originalDate.getTimezoneOffset();\n switch (token) {\n // Hours and optional minutes\n case 'x':\n return formatTimezoneWithOptionalMinutes(timezoneOffset);\n\n // Hours, minutes and optional seconds without `:` delimiter\n // Note: neither ISO-8601 nor JavaScript supports seconds in timezone offsets\n // so this token always has the same output as `xx`\n case 'xxxx':\n case 'xx':\n // Hours and minutes without `:` delimiter\n return formatTimezone(timezoneOffset);\n\n // Hours, minutes and optional seconds with `:` delimiter\n // Note: neither ISO-8601 nor JavaScript supports seconds in timezone offsets\n // so this token always has the same output as `xxx`\n case 'xxxxx':\n case 'xxx': // Hours and minutes with `:` delimiter\n default:\n return formatTimezone(timezoneOffset, ':');\n }\n },\n // Timezone (GMT)\n O: function O(date, token, _localize, options) {\n var originalDate = options._originalDate || date;\n var timezoneOffset = originalDate.getTimezoneOffset();\n switch (token) {\n // Short\n case 'O':\n case 'OO':\n case 'OOO':\n return 'GMT' + formatTimezoneShort(timezoneOffset, ':');\n // Long\n case 'OOOO':\n default:\n return 'GMT' + formatTimezone(timezoneOffset, ':');\n }\n },\n // Timezone (specific non-location)\n z: function z(date, token, _localize, options) {\n var originalDate = options._originalDate || date;\n var timezoneOffset = originalDate.getTimezoneOffset();\n switch (token) {\n // Short\n case 'z':\n case 'zz':\n case 'zzz':\n return 'GMT' + formatTimezoneShort(timezoneOffset, ':');\n // Long\n case 'zzzz':\n default:\n return 'GMT' + formatTimezone(timezoneOffset, ':');\n }\n },\n // Seconds timestamp\n t: function t(date, token, _localize, options) {\n var originalDate = options._originalDate || date;\n var timestamp = Math.floor(originalDate.getTime() / 1000);\n return (0, _index6.default)(timestamp, token.length);\n },\n // Milliseconds timestamp\n T: function T(date, token, _localize, options) {\n var originalDate = options._originalDate || date;\n var timestamp = originalDate.getTime();\n return (0, _index6.default)(timestamp, token.length);\n }\n};\nfunction formatTimezoneShort(offset, dirtyDelimiter) {\n var sign = offset > 0 ? '-' : '+';\n var absOffset = Math.abs(offset);\n var hours = Math.floor(absOffset / 60);\n var minutes = absOffset % 60;\n if (minutes === 0) {\n return sign + String(hours);\n }\n var delimiter = dirtyDelimiter || '';\n return sign + String(hours) + delimiter + (0, _index6.default)(minutes, 2);\n}\nfunction formatTimezoneWithOptionalMinutes(offset, dirtyDelimiter) {\n if (offset % 60 === 0) {\n var sign = offset > 0 ? '-' : '+';\n return sign + (0, _index6.default)(Math.abs(offset) / 60, 2);\n }\n return formatTimezone(offset, dirtyDelimiter);\n}\nfunction formatTimezone(offset, dirtyDelimiter) {\n var delimiter = dirtyDelimiter || '';\n var sign = offset > 0 ? '-' : '+';\n var absOffset = Math.abs(offset);\n var hours = (0, _index6.default)(Math.floor(absOffset / 60), 2);\n var minutes = (0, _index6.default)(absOffset % 60, 2);\n return sign + hours + delimiter + minutes;\n}\nvar _default = formatters;\nexports.default = _default;\nmodule.exports = exports.default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\").default;\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _index = _interopRequireDefault(require(\"../../addLeadingZeros/index.js\"));\n/*\n * | | Unit | | Unit |\n * |-----|--------------------------------|-----|--------------------------------|\n * | a | AM, PM | A* | |\n * | d | Day of month | D | |\n * | h | Hour [1-12] | H | Hour [0-23] |\n * | m | Minute | M | Month |\n * | s | Second | S | Fraction of second |\n * | y | Year (abs) | Y | |\n *\n * Letters marked by * are not implemented but reserved by Unicode standard.\n */\n\nvar formatters = {\n // Year\n y: function y(date, token) {\n // From http://www.unicode.org/reports/tr35/tr35-31/tr35-dates.html#Date_Format_tokens\n // | Year | y | yy | yyy | yyyy | yyyyy |\n // |----------|-------|----|-------|-------|-------|\n // | AD 1 | 1 | 01 | 001 | 0001 | 00001 |\n // | AD 12 | 12 | 12 | 012 | 0012 | 00012 |\n // | AD 123 | 123 | 23 | 123 | 0123 | 00123 |\n // | AD 1234 | 1234 | 34 | 1234 | 1234 | 01234 |\n // | AD 12345 | 12345 | 45 | 12345 | 12345 | 12345 |\n\n var signedYear = date.getUTCFullYear();\n // Returns 1 for 1 BC (which is year 0 in JavaScript)\n var year = signedYear > 0 ? signedYear : 1 - signedYear;\n return (0, _index.default)(token === 'yy' ? year % 100 : year, token.length);\n },\n // Month\n M: function M(date, token) {\n var month = date.getUTCMonth();\n return token === 'M' ? String(month + 1) : (0, _index.default)(month + 1, 2);\n },\n // Day of the month\n d: function d(date, token) {\n return (0, _index.default)(date.getUTCDate(), token.length);\n },\n // AM or PM\n a: function a(date, token) {\n var dayPeriodEnumValue = date.getUTCHours() / 12 >= 1 ? 'pm' : 'am';\n switch (token) {\n case 'a':\n case 'aa':\n return dayPeriodEnumValue.toUpperCase();\n case 'aaa':\n return dayPeriodEnumValue;\n case 'aaaaa':\n return dayPeriodEnumValue[0];\n case 'aaaa':\n default:\n return dayPeriodEnumValue === 'am' ? 'a.m.' : 'p.m.';\n }\n },\n // Hour [1-12]\n h: function h(date, token) {\n return (0, _index.default)(date.getUTCHours() % 12 || 12, token.length);\n },\n // Hour [0-23]\n H: function H(date, token) {\n return (0, _index.default)(date.getUTCHours(), token.length);\n },\n // Minute\n m: function m(date, token) {\n return (0, _index.default)(date.getUTCMinutes(), token.length);\n },\n // Second\n s: function s(date, token) {\n return (0, _index.default)(date.getUTCSeconds(), token.length);\n },\n // Fraction of second\n S: function S(date, token) {\n var numberOfDigits = token.length;\n var milliseconds = date.getUTCMilliseconds();\n var fractionalSeconds = Math.floor(milliseconds * Math.pow(10, numberOfDigits - 3));\n return (0, _index.default)(fractionalSeconds, token.length);\n }\n};\nvar _default = formatters;\nexports.default = _default;\nmodule.exports = exports.default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar dateLongFormatter = function dateLongFormatter(pattern, formatLong) {\n switch (pattern) {\n case 'P':\n return formatLong.date({\n width: 'short'\n });\n case 'PP':\n return formatLong.date({\n width: 'medium'\n });\n case 'PPP':\n return formatLong.date({\n width: 'long'\n });\n case 'PPPP':\n default:\n return formatLong.date({\n width: 'full'\n });\n }\n};\nvar timeLongFormatter = function timeLongFormatter(pattern, formatLong) {\n switch (pattern) {\n case 'p':\n return formatLong.time({\n width: 'short'\n });\n case 'pp':\n return formatLong.time({\n width: 'medium'\n });\n case 'ppp':\n return formatLong.time({\n width: 'long'\n });\n case 'pppp':\n default:\n return formatLong.time({\n width: 'full'\n });\n }\n};\nvar dateTimeLongFormatter = function dateTimeLongFormatter(pattern, formatLong) {\n var matchResult = pattern.match(/(P+)(p+)?/) || [];\n var datePattern = matchResult[1];\n var timePattern = matchResult[2];\n if (!timePattern) {\n return dateLongFormatter(pattern, formatLong);\n }\n var dateTimeFormat;\n switch (datePattern) {\n case 'P':\n dateTimeFormat = formatLong.dateTime({\n width: 'short'\n });\n break;\n case 'PP':\n dateTimeFormat = formatLong.dateTime({\n width: 'medium'\n });\n break;\n case 'PPP':\n dateTimeFormat = formatLong.dateTime({\n width: 'long'\n });\n break;\n case 'PPPP':\n default:\n dateTimeFormat = formatLong.dateTime({\n width: 'full'\n });\n break;\n }\n return dateTimeFormat.replace('{{date}}', dateLongFormatter(datePattern, formatLong)).replace('{{time}}', timeLongFormatter(timePattern, formatLong));\n};\nvar longFormatters = {\n p: timeLongFormatter,\n P: dateTimeLongFormatter\n};\nvar _default = longFormatters;\nexports.default = _default;\nmodule.exports = exports.default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = getTimezoneOffsetInMilliseconds;\n/**\n * Google Chrome as of 67.0.3396.87 introduced timezones with offset that includes seconds.\n * They usually appear for dates that denote time before the timezones were introduced\n * (e.g. for 'Europe/Prague' timezone the offset is GMT+00:57:44 before 1 October 1891\n * and GMT+01:00:00 after that date)\n *\n * Date#getTimezoneOffset returns the offset in minutes and would return 57 for the example above,\n * which would lead to incorrect calculations.\n *\n * This function returns the timezone offset in milliseconds that takes seconds in account.\n */\nfunction getTimezoneOffsetInMilliseconds(date) {\n var utcDate = new Date(Date.UTC(date.getFullYear(), date.getMonth(), date.getDate(), date.getHours(), date.getMinutes(), date.getSeconds(), date.getMilliseconds()));\n utcDate.setUTCFullYear(date.getFullYear());\n return date.getTime() - utcDate.getTime();\n}\nmodule.exports = exports.default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\").default;\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = getUTCDayOfYear;\nvar _index = _interopRequireDefault(require(\"../../toDate/index.js\"));\nvar _index2 = _interopRequireDefault(require(\"../requiredArgs/index.js\"));\nvar MILLISECONDS_IN_DAY = 86400000;\nfunction getUTCDayOfYear(dirtyDate) {\n (0, _index2.default)(1, arguments);\n var date = (0, _index.default)(dirtyDate);\n var timestamp = date.getTime();\n date.setUTCMonth(0, 1);\n date.setUTCHours(0, 0, 0, 0);\n var startOfYearTimestamp = date.getTime();\n var difference = timestamp - startOfYearTimestamp;\n return Math.floor(difference / MILLISECONDS_IN_DAY) + 1;\n}\nmodule.exports = exports.default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\").default;\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = getUTCISOWeek;\nvar _index = _interopRequireDefault(require(\"../../toDate/index.js\"));\nvar _index2 = _interopRequireDefault(require(\"../startOfUTCISOWeek/index.js\"));\nvar _index3 = _interopRequireDefault(require(\"../startOfUTCISOWeekYear/index.js\"));\nvar _index4 = _interopRequireDefault(require(\"../requiredArgs/index.js\"));\nvar MILLISECONDS_IN_WEEK = 604800000;\nfunction getUTCISOWeek(dirtyDate) {\n (0, _index4.default)(1, arguments);\n var date = (0, _index.default)(dirtyDate);\n var diff = (0, _index2.default)(date).getTime() - (0, _index3.default)(date).getTime();\n\n // Round the number of days to the nearest integer\n // because the number of milliseconds in a week is not constant\n // (e.g. it's different in the week of the daylight saving time clock shift)\n return Math.round(diff / MILLISECONDS_IN_WEEK) + 1;\n}\nmodule.exports = exports.default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\").default;\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = getUTCISOWeekYear;\nvar _index = _interopRequireDefault(require(\"../../toDate/index.js\"));\nvar _index2 = _interopRequireDefault(require(\"../requiredArgs/index.js\"));\nvar _index3 = _interopRequireDefault(require(\"../startOfUTCISOWeek/index.js\"));\nfunction getUTCISOWeekYear(dirtyDate) {\n (0, _index2.default)(1, arguments);\n var date = (0, _index.default)(dirtyDate);\n var year = date.getUTCFullYear();\n var fourthOfJanuaryOfNextYear = new Date(0);\n fourthOfJanuaryOfNextYear.setUTCFullYear(year + 1, 0, 4);\n fourthOfJanuaryOfNextYear.setUTCHours(0, 0, 0, 0);\n var startOfNextYear = (0, _index3.default)(fourthOfJanuaryOfNextYear);\n var fourthOfJanuaryOfThisYear = new Date(0);\n fourthOfJanuaryOfThisYear.setUTCFullYear(year, 0, 4);\n fourthOfJanuaryOfThisYear.setUTCHours(0, 0, 0, 0);\n var startOfThisYear = (0, _index3.default)(fourthOfJanuaryOfThisYear);\n if (date.getTime() >= startOfNextYear.getTime()) {\n return year + 1;\n } else if (date.getTime() >= startOfThisYear.getTime()) {\n return year;\n } else {\n return year - 1;\n }\n}\nmodule.exports = exports.default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\").default;\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = getUTCWeek;\nvar _index = _interopRequireDefault(require(\"../../toDate/index.js\"));\nvar _index2 = _interopRequireDefault(require(\"../startOfUTCWeek/index.js\"));\nvar _index3 = _interopRequireDefault(require(\"../startOfUTCWeekYear/index.js\"));\nvar _index4 = _interopRequireDefault(require(\"../requiredArgs/index.js\"));\nvar MILLISECONDS_IN_WEEK = 604800000;\nfunction getUTCWeek(dirtyDate, options) {\n (0, _index4.default)(1, arguments);\n var date = (0, _index.default)(dirtyDate);\n var diff = (0, _index2.default)(date, options).getTime() - (0, _index3.default)(date, options).getTime();\n\n // Round the number of days to the nearest integer\n // because the number of milliseconds in a week is not constant\n // (e.g. it's different in the week of the daylight saving time clock shift)\n return Math.round(diff / MILLISECONDS_IN_WEEK) + 1;\n}\nmodule.exports = exports.default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\").default;\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = getUTCWeekYear;\nvar _index = _interopRequireDefault(require(\"../../toDate/index.js\"));\nvar _index2 = _interopRequireDefault(require(\"../requiredArgs/index.js\"));\nvar _index3 = _interopRequireDefault(require(\"../startOfUTCWeek/index.js\"));\nvar _index4 = _interopRequireDefault(require(\"../toInteger/index.js\"));\nvar _index5 = require(\"../defaultOptions/index.js\");\nfunction getUTCWeekYear(dirtyDate, options) {\n var _ref, _ref2, _ref3, _options$firstWeekCon, _options$locale, _options$locale$optio, _defaultOptions$local, _defaultOptions$local2;\n (0, _index2.default)(1, arguments);\n var date = (0, _index.default)(dirtyDate);\n var year = date.getUTCFullYear();\n var defaultOptions = (0, _index5.getDefaultOptions)();\n var firstWeekContainsDate = (0, _index4.default)((_ref = (_ref2 = (_ref3 = (_options$firstWeekCon = options === null || options === void 0 ? void 0 : options.firstWeekContainsDate) !== null && _options$firstWeekCon !== void 0 ? _options$firstWeekCon : options === null || options === void 0 ? void 0 : (_options$locale = options.locale) === null || _options$locale === void 0 ? void 0 : (_options$locale$optio = _options$locale.options) === null || _options$locale$optio === void 0 ? void 0 : _options$locale$optio.firstWeekContainsDate) !== null && _ref3 !== void 0 ? _ref3 : defaultOptions.firstWeekContainsDate) !== null && _ref2 !== void 0 ? _ref2 : (_defaultOptions$local = defaultOptions.locale) === null || _defaultOptions$local === void 0 ? void 0 : (_defaultOptions$local2 = _defaultOptions$local.options) === null || _defaultOptions$local2 === void 0 ? void 0 : _defaultOptions$local2.firstWeekContainsDate) !== null && _ref !== void 0 ? _ref : 1);\n\n // Test if weekStartsOn is between 1 and 7 _and_ is not NaN\n if (!(firstWeekContainsDate >= 1 && firstWeekContainsDate <= 7)) {\n throw new RangeError('firstWeekContainsDate must be between 1 and 7 inclusively');\n }\n var firstWeekOfNextYear = new Date(0);\n firstWeekOfNextYear.setUTCFullYear(year + 1, 0, firstWeekContainsDate);\n firstWeekOfNextYear.setUTCHours(0, 0, 0, 0);\n var startOfNextYear = (0, _index3.default)(firstWeekOfNextYear, options);\n var firstWeekOfThisYear = new Date(0);\n firstWeekOfThisYear.setUTCFullYear(year, 0, firstWeekContainsDate);\n firstWeekOfThisYear.setUTCHours(0, 0, 0, 0);\n var startOfThisYear = (0, _index3.default)(firstWeekOfThisYear, options);\n if (date.getTime() >= startOfNextYear.getTime()) {\n return year + 1;\n } else if (date.getTime() >= startOfThisYear.getTime()) {\n return year;\n } else {\n return year - 1;\n }\n}\nmodule.exports = exports.default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.isProtectedDayOfYearToken = isProtectedDayOfYearToken;\nexports.isProtectedWeekYearToken = isProtectedWeekYearToken;\nexports.throwProtectedError = throwProtectedError;\nvar protectedDayOfYearTokens = ['D', 'DD'];\nvar protectedWeekYearTokens = ['YY', 'YYYY'];\nfunction isProtectedDayOfYearToken(token) {\n return protectedDayOfYearTokens.indexOf(token) !== -1;\n}\nfunction isProtectedWeekYearToken(token) {\n return protectedWeekYearTokens.indexOf(token) !== -1;\n}\nfunction throwProtectedError(token, format, input) {\n if (token === 'YYYY') {\n throw new RangeError(\"Use `yyyy` instead of `YYYY` (in `\".concat(format, \"`) for formatting years to the input `\").concat(input, \"`; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\"));\n } else if (token === 'YY') {\n throw new RangeError(\"Use `yy` instead of `YY` (in `\".concat(format, \"`) for formatting years to the input `\").concat(input, \"`; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\"));\n } else if (token === 'D') {\n throw new RangeError(\"Use `d` instead of `D` (in `\".concat(format, \"`) for formatting days of the month to the input `\").concat(input, \"`; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\"));\n } else if (token === 'DD') {\n throw new RangeError(\"Use `dd` instead of `DD` (in `\".concat(format, \"`) for formatting days of the month to the input `\").concat(input, \"`; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\"));\n }\n}","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = requiredArgs;\nfunction requiredArgs(required, args) {\n if (args.length < required) {\n throw new TypeError(required + ' argument' + (required > 1 ? 's' : '') + ' required, but only ' + args.length + ' present');\n }\n}\nmodule.exports = exports.default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\").default;\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = startOfUTCISOWeek;\nvar _index = _interopRequireDefault(require(\"../../toDate/index.js\"));\nvar _index2 = _interopRequireDefault(require(\"../requiredArgs/index.js\"));\nfunction startOfUTCISOWeek(dirtyDate) {\n (0, _index2.default)(1, arguments);\n var weekStartsOn = 1;\n var date = (0, _index.default)(dirtyDate);\n var day = date.getUTCDay();\n var diff = (day < weekStartsOn ? 7 : 0) + day - weekStartsOn;\n date.setUTCDate(date.getUTCDate() - diff);\n date.setUTCHours(0, 0, 0, 0);\n return date;\n}\nmodule.exports = exports.default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\").default;\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = startOfUTCISOWeekYear;\nvar _index = _interopRequireDefault(require(\"../getUTCISOWeekYear/index.js\"));\nvar _index2 = _interopRequireDefault(require(\"../startOfUTCISOWeek/index.js\"));\nvar _index3 = _interopRequireDefault(require(\"../requiredArgs/index.js\"));\nfunction startOfUTCISOWeekYear(dirtyDate) {\n (0, _index3.default)(1, arguments);\n var year = (0, _index.default)(dirtyDate);\n var fourthOfJanuary = new Date(0);\n fourthOfJanuary.setUTCFullYear(year, 0, 4);\n fourthOfJanuary.setUTCHours(0, 0, 0, 0);\n var date = (0, _index2.default)(fourthOfJanuary);\n return date;\n}\nmodule.exports = exports.default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\").default;\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = startOfUTCWeek;\nvar _index = _interopRequireDefault(require(\"../../toDate/index.js\"));\nvar _index2 = _interopRequireDefault(require(\"../requiredArgs/index.js\"));\nvar _index3 = _interopRequireDefault(require(\"../toInteger/index.js\"));\nvar _index4 = require(\"../defaultOptions/index.js\");\nfunction startOfUTCWeek(dirtyDate, options) {\n var _ref, _ref2, _ref3, _options$weekStartsOn, _options$locale, _options$locale$optio, _defaultOptions$local, _defaultOptions$local2;\n (0, _index2.default)(1, arguments);\n var defaultOptions = (0, _index4.getDefaultOptions)();\n var weekStartsOn = (0, _index3.default)((_ref = (_ref2 = (_ref3 = (_options$weekStartsOn = options === null || options === void 0 ? void 0 : options.weekStartsOn) !== null && _options$weekStartsOn !== void 0 ? _options$weekStartsOn : options === null || options === void 0 ? void 0 : (_options$locale = options.locale) === null || _options$locale === void 0 ? void 0 : (_options$locale$optio = _options$locale.options) === null || _options$locale$optio === void 0 ? void 0 : _options$locale$optio.weekStartsOn) !== null && _ref3 !== void 0 ? _ref3 : defaultOptions.weekStartsOn) !== null && _ref2 !== void 0 ? _ref2 : (_defaultOptions$local = defaultOptions.locale) === null || _defaultOptions$local === void 0 ? void 0 : (_defaultOptions$local2 = _defaultOptions$local.options) === null || _defaultOptions$local2 === void 0 ? void 0 : _defaultOptions$local2.weekStartsOn) !== null && _ref !== void 0 ? _ref : 0);\n\n // Test if weekStartsOn is between 0 and 6 _and_ is not NaN\n if (!(weekStartsOn >= 0 && weekStartsOn <= 6)) {\n throw new RangeError('weekStartsOn must be between 0 and 6 inclusively');\n }\n var date = (0, _index.default)(dirtyDate);\n var day = date.getUTCDay();\n var diff = (day < weekStartsOn ? 7 : 0) + day - weekStartsOn;\n date.setUTCDate(date.getUTCDate() - diff);\n date.setUTCHours(0, 0, 0, 0);\n return date;\n}\nmodule.exports = exports.default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\").default;\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = startOfUTCWeekYear;\nvar _index = _interopRequireDefault(require(\"../getUTCWeekYear/index.js\"));\nvar _index2 = _interopRequireDefault(require(\"../requiredArgs/index.js\"));\nvar _index3 = _interopRequireDefault(require(\"../startOfUTCWeek/index.js\"));\nvar _index4 = _interopRequireDefault(require(\"../toInteger/index.js\"));\nvar _index5 = require(\"../defaultOptions/index.js\");\nfunction startOfUTCWeekYear(dirtyDate, options) {\n var _ref, _ref2, _ref3, _options$firstWeekCon, _options$locale, _options$locale$optio, _defaultOptions$local, _defaultOptions$local2;\n (0, _index2.default)(1, arguments);\n var defaultOptions = (0, _index5.getDefaultOptions)();\n var firstWeekContainsDate = (0, _index4.default)((_ref = (_ref2 = (_ref3 = (_options$firstWeekCon = options === null || options === void 0 ? void 0 : options.firstWeekContainsDate) !== null && _options$firstWeekCon !== void 0 ? _options$firstWeekCon : options === null || options === void 0 ? void 0 : (_options$locale = options.locale) === null || _options$locale === void 0 ? void 0 : (_options$locale$optio = _options$locale.options) === null || _options$locale$optio === void 0 ? void 0 : _options$locale$optio.firstWeekContainsDate) !== null && _ref3 !== void 0 ? _ref3 : defaultOptions.firstWeekContainsDate) !== null && _ref2 !== void 0 ? _ref2 : (_defaultOptions$local = defaultOptions.locale) === null || _defaultOptions$local === void 0 ? void 0 : (_defaultOptions$local2 = _defaultOptions$local.options) === null || _defaultOptions$local2 === void 0 ? void 0 : _defaultOptions$local2.firstWeekContainsDate) !== null && _ref !== void 0 ? _ref : 1);\n var year = (0, _index.default)(dirtyDate, options);\n var firstWeek = new Date(0);\n firstWeek.setUTCFullYear(year, 0, firstWeekContainsDate);\n firstWeek.setUTCHours(0, 0, 0, 0);\n var date = (0, _index3.default)(firstWeek, options);\n return date;\n}\nmodule.exports = exports.default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = toInteger;\nfunction toInteger(dirtyNumber) {\n if (dirtyNumber === null || dirtyNumber === true || dirtyNumber === false) {\n return NaN;\n }\n var number = Number(dirtyNumber);\n if (isNaN(number)) {\n return number;\n }\n return number < 0 ? Math.ceil(number) : Math.floor(number);\n}\nmodule.exports = exports.default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\").default;\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = addMilliseconds;\nvar _index = _interopRequireDefault(require(\"../_lib/toInteger/index.js\"));\nvar _index2 = _interopRequireDefault(require(\"../toDate/index.js\"));\nvar _index3 = _interopRequireDefault(require(\"../_lib/requiredArgs/index.js\"));\n/**\n * @name addMilliseconds\n * @category Millisecond Helpers\n * @summary Add the specified number of milliseconds to the given date.\n *\n * @description\n * Add the specified number of milliseconds to the given date.\n *\n * @param {Date|Number} date - the date to be changed\n * @param {Number} amount - the amount of milliseconds to be added. Positive decimals will be rounded using `Math.floor`, decimals less than zero will be rounded using `Math.ceil`.\n * @returns {Date} the new date with the milliseconds added\n * @throws {TypeError} 2 arguments required\n *\n * @example\n * // Add 750 milliseconds to 10 July 2014 12:45:30.000:\n * const result = addMilliseconds(new Date(2014, 6, 10, 12, 45, 30, 0), 750)\n * //=> Thu Jul 10 2014 12:45:30.750\n */\nfunction addMilliseconds(dirtyDate, dirtyAmount) {\n (0, _index3.default)(2, arguments);\n var timestamp = (0, _index2.default)(dirtyDate).getTime();\n var amount = (0, _index.default)(dirtyAmount);\n return new Date(timestamp + amount);\n}\nmodule.exports = exports.default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.secondsInYear = exports.secondsInWeek = exports.secondsInQuarter = exports.secondsInMonth = exports.secondsInMinute = exports.secondsInHour = exports.secondsInDay = exports.quartersInYear = exports.monthsInYear = exports.monthsInQuarter = exports.minutesInHour = exports.minTime = exports.millisecondsInSecond = exports.millisecondsInMinute = exports.millisecondsInHour = exports.maxTime = exports.daysInYear = exports.daysInWeek = void 0;\n/**\n * Days in 1 week.\n *\n * @name daysInWeek\n * @constant\n * @type {number}\n * @default\n */\nvar daysInWeek = 7;\n\n/**\n * Days in 1 year\n * One years equals 365.2425 days according to the formula:\n *\n * > Leap year occures every 4 years, except for years that are divisable by 100 and not divisable by 400.\n * > 1 mean year = (365+1/4-1/100+1/400) days = 365.2425 days\n *\n * @name daysInYear\n * @constant\n * @type {number}\n * @default\n */\nexports.daysInWeek = daysInWeek;\nvar daysInYear = 365.2425;\n\n/**\n * Maximum allowed time.\n *\n * @name maxTime\n * @constant\n * @type {number}\n * @default\n */\nexports.daysInYear = daysInYear;\nvar maxTime = Math.pow(10, 8) * 24 * 60 * 60 * 1000;\n\n/**\n * Milliseconds in 1 minute\n *\n * @name millisecondsInMinute\n * @constant\n * @type {number}\n * @default\n */\nexports.maxTime = maxTime;\nvar millisecondsInMinute = 60000;\n\n/**\n * Milliseconds in 1 hour\n *\n * @name millisecondsInHour\n * @constant\n * @type {number}\n * @default\n */\nexports.millisecondsInMinute = millisecondsInMinute;\nvar millisecondsInHour = 3600000;\n\n/**\n * Milliseconds in 1 second\n *\n * @name millisecondsInSecond\n * @constant\n * @type {number}\n * @default\n */\nexports.millisecondsInHour = millisecondsInHour;\nvar millisecondsInSecond = 1000;\n\n/**\n * Minimum allowed time.\n *\n * @name minTime\n * @constant\n * @type {number}\n * @default\n */\nexports.millisecondsInSecond = millisecondsInSecond;\nvar minTime = -maxTime;\n\n/**\n * Minutes in 1 hour\n *\n * @name minutesInHour\n * @constant\n * @type {number}\n * @default\n */\nexports.minTime = minTime;\nvar minutesInHour = 60;\n\n/**\n * Months in 1 quarter\n *\n * @name monthsInQuarter\n * @constant\n * @type {number}\n * @default\n */\nexports.minutesInHour = minutesInHour;\nvar monthsInQuarter = 3;\n\n/**\n * Months in 1 year\n *\n * @name monthsInYear\n * @constant\n * @type {number}\n * @default\n */\nexports.monthsInQuarter = monthsInQuarter;\nvar monthsInYear = 12;\n\n/**\n * Quarters in 1 year\n *\n * @name quartersInYear\n * @constant\n * @type {number}\n * @default\n */\nexports.monthsInYear = monthsInYear;\nvar quartersInYear = 4;\n\n/**\n * Seconds in 1 hour\n *\n * @name secondsInHour\n * @constant\n * @type {number}\n * @default\n */\nexports.quartersInYear = quartersInYear;\nvar secondsInHour = 3600;\n\n/**\n * Seconds in 1 minute\n *\n * @name secondsInMinute\n * @constant\n * @type {number}\n * @default\n */\nexports.secondsInHour = secondsInHour;\nvar secondsInMinute = 60;\n\n/**\n * Seconds in 1 day\n *\n * @name secondsInDay\n * @constant\n * @type {number}\n * @default\n */\nexports.secondsInMinute = secondsInMinute;\nvar secondsInDay = secondsInHour * 24;\n\n/**\n * Seconds in 1 week\n *\n * @name secondsInWeek\n * @constant\n * @type {number}\n * @default\n */\nexports.secondsInDay = secondsInDay;\nvar secondsInWeek = secondsInDay * 7;\n\n/**\n * Seconds in 1 year\n *\n * @name secondsInYear\n * @constant\n * @type {number}\n * @default\n */\nexports.secondsInWeek = secondsInWeek;\nvar secondsInYear = secondsInDay * daysInYear;\n\n/**\n * Seconds in 1 month\n *\n * @name secondsInMonth\n * @constant\n * @type {number}\n * @default\n */\nexports.secondsInYear = secondsInYear;\nvar secondsInMonth = secondsInYear / 12;\n\n/**\n * Seconds in 1 quarter\n *\n * @name secondsInQuarter\n * @constant\n * @type {number}\n * @default\n */\nexports.secondsInMonth = secondsInMonth;\nvar secondsInQuarter = secondsInMonth * 3;\nexports.secondsInQuarter = secondsInQuarter;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\").default;\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = differenceInCalendarDays;\nvar _index = _interopRequireDefault(require(\"../_lib/getTimezoneOffsetInMilliseconds/index.js\"));\nvar _index2 = _interopRequireDefault(require(\"../startOfDay/index.js\"));\nvar _index3 = _interopRequireDefault(require(\"../_lib/requiredArgs/index.js\"));\nvar MILLISECONDS_IN_DAY = 86400000;\n\n/**\n * @name differenceInCalendarDays\n * @category Day Helpers\n * @summary Get the number of calendar days between the given dates.\n *\n * @description\n * Get the number of calendar days between the given dates. This means that the times are removed\n * from the dates and then the difference in days is calculated.\n *\n * @param {Date|Number} dateLeft - the later date\n * @param {Date|Number} dateRight - the earlier date\n * @returns {Number} the number of calendar days\n * @throws {TypeError} 2 arguments required\n *\n * @example\n * // How many calendar days are between\n * // 2 July 2011 23:00:00 and 2 July 2012 00:00:00?\n * const result = differenceInCalendarDays(\n * new Date(2012, 6, 2, 0, 0),\n * new Date(2011, 6, 2, 23, 0)\n * )\n * //=> 366\n * // How many calendar days are between\n * // 2 July 2011 23:59:00 and 3 July 2011 00:01:00?\n * const result = differenceInCalendarDays(\n * new Date(2011, 6, 3, 0, 1),\n * new Date(2011, 6, 2, 23, 59)\n * )\n * //=> 1\n */\nfunction differenceInCalendarDays(dirtyDateLeft, dirtyDateRight) {\n (0, _index3.default)(2, arguments);\n var startOfDayLeft = (0, _index2.default)(dirtyDateLeft);\n var startOfDayRight = (0, _index2.default)(dirtyDateRight);\n var timestampLeft = startOfDayLeft.getTime() - (0, _index.default)(startOfDayLeft);\n var timestampRight = startOfDayRight.getTime() - (0, _index.default)(startOfDayRight);\n\n // Round the number of days to the nearest integer\n // because the number of milliseconds in a day is not constant\n // (e.g. it's different in the day of the daylight saving time clock shift)\n return Math.round((timestampLeft - timestampRight) / MILLISECONDS_IN_DAY);\n}\nmodule.exports = exports.default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\").default;\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = format;\nvar _index = _interopRequireDefault(require(\"../isValid/index.js\"));\nvar _index2 = _interopRequireDefault(require(\"../subMilliseconds/index.js\"));\nvar _index3 = _interopRequireDefault(require(\"../toDate/index.js\"));\nvar _index4 = _interopRequireDefault(require(\"../_lib/format/formatters/index.js\"));\nvar _index5 = _interopRequireDefault(require(\"../_lib/format/longFormatters/index.js\"));\nvar _index6 = _interopRequireDefault(require(\"../_lib/getTimezoneOffsetInMilliseconds/index.js\"));\nvar _index7 = require(\"../_lib/protectedTokens/index.js\");\nvar _index8 = _interopRequireDefault(require(\"../_lib/toInteger/index.js\"));\nvar _index9 = _interopRequireDefault(require(\"../_lib/requiredArgs/index.js\"));\nvar _index10 = require(\"../_lib/defaultOptions/index.js\");\nvar _index11 = _interopRequireDefault(require(\"../_lib/defaultLocale/index.js\"));\n// This RegExp consists of three parts separated by `|`:\n// - [yYQqMLwIdDecihHKkms]o matches any available ordinal number token\n// (one of the certain letters followed by `o`)\n// - (\\w)\\1* matches any sequences of the same letter\n// - '' matches two quote characters in a row\n// - '(''|[^'])+('|$) matches anything surrounded by two quote characters ('),\n// except a single quote symbol, which ends the sequence.\n// Two quote characters do not end the sequence.\n// If there is no matching single quote\n// then the sequence will continue until the end of the string.\n// - . matches any single character unmatched by previous parts of the RegExps\nvar formattingTokensRegExp = /[yYQqMLwIdDecihHKkms]o|(\\w)\\1*|''|'(''|[^'])+('|$)|./g;\n\n// This RegExp catches symbols escaped by quotes, and also\n// sequences of symbols P, p, and the combinations like `PPPPPPPppppp`\nvar longFormattingTokensRegExp = /P+p+|P+|p+|''|'(''|[^'])+('|$)|./g;\nvar escapedStringRegExp = /^'([^]*?)'?$/;\nvar doubleQuoteRegExp = /''/g;\nvar unescapedLatinCharacterRegExp = /[a-zA-Z]/;\n\n/**\n * @name format\n * @category Common Helpers\n * @summary Format the date.\n *\n * @description\n * Return the formatted date string in the given format. The result may vary by locale.\n *\n * > ⚠️ Please note that the `format` tokens differ from Moment.js and other libraries.\n * > See: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\n *\n * The characters wrapped between two single quotes characters (') are escaped.\n * Two single quotes in a row, whether inside or outside a quoted sequence, represent a 'real' single quote.\n * (see the last example)\n *\n * Format of the string is based on Unicode Technical Standard #35:\n * https://www.unicode.org/reports/tr35/tr35-dates.html#Date_Field_Symbol_Table\n * with a few additions (see note 7 below the table).\n *\n * Accepted patterns:\n * | Unit | Pattern | Result examples | Notes |\n * |---------------------------------|---------|-----------------------------------|-------|\n * | Era | G..GGG | AD, BC | |\n * | | GGGG | Anno Domini, Before Christ | 2 |\n * | | GGGGG | A, B | |\n * | Calendar year | y | 44, 1, 1900, 2017 | 5 |\n * | | yo | 44th, 1st, 0th, 17th | 5,7 |\n * | | yy | 44, 01, 00, 17 | 5 |\n * | | yyy | 044, 001, 1900, 2017 | 5 |\n * | | yyyy | 0044, 0001, 1900, 2017 | 5 |\n * | | yyyyy | ... | 3,5 |\n * | Local week-numbering year | Y | 44, 1, 1900, 2017 | 5 |\n * | | Yo | 44th, 1st, 1900th, 2017th | 5,7 |\n * | | YY | 44, 01, 00, 17 | 5,8 |\n * | | YYY | 044, 001, 1900, 2017 | 5 |\n * | | YYYY | 0044, 0001, 1900, 2017 | 5,8 |\n * | | YYYYY | ... | 3,5 |\n * | ISO week-numbering year | R | -43, 0, 1, 1900, 2017 | 5,7 |\n * | | RR | -43, 00, 01, 1900, 2017 | 5,7 |\n * | | RRR | -043, 000, 001, 1900, 2017 | 5,7 |\n * | | RRRR | -0043, 0000, 0001, 1900, 2017 | 5,7 |\n * | | RRRRR | ... | 3,5,7 |\n * | Extended year | u | -43, 0, 1, 1900, 2017 | 5 |\n * | | uu | -43, 01, 1900, 2017 | 5 |\n * | | uuu | -043, 001, 1900, 2017 | 5 |\n * | | uuuu | -0043, 0001, 1900, 2017 | 5 |\n * | | uuuuu | ... | 3,5 |\n * | Quarter (formatting) | Q | 1, 2, 3, 4 | |\n * | | Qo | 1st, 2nd, 3rd, 4th | 7 |\n * | | QQ | 01, 02, 03, 04 | |\n * | | QQQ | Q1, Q2, Q3, Q4 | |\n * | | QQQQ | 1st quarter, 2nd quarter, ... | 2 |\n * | | QQQQQ | 1, 2, 3, 4 | 4 |\n * | Quarter (stand-alone) | q | 1, 2, 3, 4 | |\n * | | qo | 1st, 2nd, 3rd, 4th | 7 |\n * | | qq | 01, 02, 03, 04 | |\n * | | qqq | Q1, Q2, Q3, Q4 | |\n * | | qqqq | 1st quarter, 2nd quarter, ... | 2 |\n * | | qqqqq | 1, 2, 3, 4 | 4 |\n * | Month (formatting) | M | 1, 2, ..., 12 | |\n * | | Mo | 1st, 2nd, ..., 12th | 7 |\n * | | MM | 01, 02, ..., 12 | |\n * | | MMM | Jan, Feb, ..., Dec | |\n * | | MMMM | January, February, ..., December | 2 |\n * | | MMMMM | J, F, ..., D | |\n * | Month (stand-alone) | L | 1, 2, ..., 12 | |\n * | | Lo | 1st, 2nd, ..., 12th | 7 |\n * | | LL | 01, 02, ..., 12 | |\n * | | LLL | Jan, Feb, ..., Dec | |\n * | | LLLL | January, February, ..., December | 2 |\n * | | LLLLL | J, F, ..., D | |\n * | Local week of year | w | 1, 2, ..., 53 | |\n * | | wo | 1st, 2nd, ..., 53th | 7 |\n * | | ww | 01, 02, ..., 53 | |\n * | ISO week of year | I | 1, 2, ..., 53 | 7 |\n * | | Io | 1st, 2nd, ..., 53th | 7 |\n * | | II | 01, 02, ..., 53 | 7 |\n * | Day of month | d | 1, 2, ..., 31 | |\n * | | do | 1st, 2nd, ..., 31st | 7 |\n * | | dd | 01, 02, ..., 31 | |\n * | Day of year | D | 1, 2, ..., 365, 366 | 9 |\n * | | Do | 1st, 2nd, ..., 365th, 366th | 7 |\n * | | DD | 01, 02, ..., 365, 366 | 9 |\n * | | DDD | 001, 002, ..., 365, 366 | |\n * | | DDDD | ... | 3 |\n * | Day of week (formatting) | E..EEE | Mon, Tue, Wed, ..., Sun | |\n * | | EEEE | Monday, Tuesday, ..., Sunday | 2 |\n * | | EEEEE | M, T, W, T, F, S, S | |\n * | | EEEEEE | Mo, Tu, We, Th, Fr, Sa, Su | |\n * | ISO day of week (formatting) | i | 1, 2, 3, ..., 7 | 7 |\n * | | io | 1st, 2nd, ..., 7th | 7 |\n * | | ii | 01, 02, ..., 07 | 7 |\n * | | iii | Mon, Tue, Wed, ..., Sun | 7 |\n * | | iiii | Monday, Tuesday, ..., Sunday | 2,7 |\n * | | iiiii | M, T, W, T, F, S, S | 7 |\n * | | iiiiii | Mo, Tu, We, Th, Fr, Sa, Su | 7 |\n * | Local day of week (formatting) | e | 2, 3, 4, ..., 1 | |\n * | | eo | 2nd, 3rd, ..., 1st | 7 |\n * | | ee | 02, 03, ..., 01 | |\n * | | eee | Mon, Tue, Wed, ..., Sun | |\n * | | eeee | Monday, Tuesday, ..., Sunday | 2 |\n * | | eeeee | M, T, W, T, F, S, S | |\n * | | eeeeee | Mo, Tu, We, Th, Fr, Sa, Su | |\n * | Local day of week (stand-alone) | c | 2, 3, 4, ..., 1 | |\n * | | co | 2nd, 3rd, ..., 1st | 7 |\n * | | cc | 02, 03, ..., 01 | |\n * | | ccc | Mon, Tue, Wed, ..., Sun | |\n * | | cccc | Monday, Tuesday, ..., Sunday | 2 |\n * | | ccccc | M, T, W, T, F, S, S | |\n * | | cccccc | Mo, Tu, We, Th, Fr, Sa, Su | |\n * | AM, PM | a..aa | AM, PM | |\n * | | aaa | am, pm | |\n * | | aaaa | a.m., p.m. | 2 |\n * | | aaaaa | a, p | |\n * | AM, PM, noon, midnight | b..bb | AM, PM, noon, midnight | |\n * | | bbb | am, pm, noon, midnight | |\n * | | bbbb | a.m., p.m., noon, midnight | 2 |\n * | | bbbbb | a, p, n, mi | |\n * | Flexible day period | B..BBB | at night, in the morning, ... | |\n * | | BBBB | at night, in the morning, ... | 2 |\n * | | BBBBB | at night, in the morning, ... | |\n * | Hour [1-12] | h | 1, 2, ..., 11, 12 | |\n * | | ho | 1st, 2nd, ..., 11th, 12th | 7 |\n * | | hh | 01, 02, ..., 11, 12 | |\n * | Hour [0-23] | H | 0, 1, 2, ..., 23 | |\n * | | Ho | 0th, 1st, 2nd, ..., 23rd | 7 |\n * | | HH | 00, 01, 02, ..., 23 | |\n * | Hour [0-11] | K | 1, 2, ..., 11, 0 | |\n * | | Ko | 1st, 2nd, ..., 11th, 0th | 7 |\n * | | KK | 01, 02, ..., 11, 00 | |\n * | Hour [1-24] | k | 24, 1, 2, ..., 23 | |\n * | | ko | 24th, 1st, 2nd, ..., 23rd | 7 |\n * | | kk | 24, 01, 02, ..., 23 | |\n * | Minute | m | 0, 1, ..., 59 | |\n * | | mo | 0th, 1st, ..., 59th | 7 |\n * | | mm | 00, 01, ..., 59 | |\n * | Second | s | 0, 1, ..., 59 | |\n * | | so | 0th, 1st, ..., 59th | 7 |\n * | | ss | 00, 01, ..., 59 | |\n * | Fraction of second | S | 0, 1, ..., 9 | |\n * | | SS | 00, 01, ..., 99 | |\n * | | SSS | 000, 001, ..., 999 | |\n * | | SSSS | ... | 3 |\n * | Timezone (ISO-8601 w/ Z) | X | -08, +0530, Z | |\n * | | XX | -0800, +0530, Z | |\n * | | XXX | -08:00, +05:30, Z | |\n * | | XXXX | -0800, +0530, Z, +123456 | 2 |\n * | | XXXXX | -08:00, +05:30, Z, +12:34:56 | |\n * | Timezone (ISO-8601 w/o Z) | x | -08, +0530, +00 | |\n * | | xx | -0800, +0530, +0000 | |\n * | | xxx | -08:00, +05:30, +00:00 | 2 |\n * | | xxxx | -0800, +0530, +0000, +123456 | |\n * | | xxxxx | -08:00, +05:30, +00:00, +12:34:56 | |\n * | Timezone (GMT) | O...OOO | GMT-8, GMT+5:30, GMT+0 | |\n * | | OOOO | GMT-08:00, GMT+05:30, GMT+00:00 | 2 |\n * | Timezone (specific non-locat.) | z...zzz | GMT-8, GMT+5:30, GMT+0 | 6 |\n * | | zzzz | GMT-08:00, GMT+05:30, GMT+00:00 | 2,6 |\n * | Seconds timestamp | t | 512969520 | 7 |\n * | | tt | ... | 3,7 |\n * | Milliseconds timestamp | T | 512969520900 | 7 |\n * | | TT | ... | 3,7 |\n * | Long localized date | P | 04/29/1453 | 7 |\n * | | PP | Apr 29, 1453 | 7 |\n * | | PPP | April 29th, 1453 | 7 |\n * | | PPPP | Friday, April 29th, 1453 | 2,7 |\n * | Long localized time | p | 12:00 AM | 7 |\n * | | pp | 12:00:00 AM | 7 |\n * | | ppp | 12:00:00 AM GMT+2 | 7 |\n * | | pppp | 12:00:00 AM GMT+02:00 | 2,7 |\n * | Combination of date and time | Pp | 04/29/1453, 12:00 AM | 7 |\n * | | PPpp | Apr 29, 1453, 12:00:00 AM | 7 |\n * | | PPPppp | April 29th, 1453 at ... | 7 |\n * | | PPPPpppp| Friday, April 29th, 1453 at ... | 2,7 |\n * Notes:\n * 1. \"Formatting\" units (e.g. formatting quarter) in the default en-US locale\n * are the same as \"stand-alone\" units, but are different in some languages.\n * \"Formatting\" units are declined according to the rules of the language\n * in the context of a date. \"Stand-alone\" units are always nominative singular:\n *\n * `format(new Date(2017, 10, 6), 'do LLLL', {locale: cs}) //=> '6. listopad'`\n *\n * `format(new Date(2017, 10, 6), 'do MMMM', {locale: cs}) //=> '6. listopadu'`\n *\n * 2. Any sequence of the identical letters is a pattern, unless it is escaped by\n * the single quote characters (see below).\n * If the sequence is longer than listed in table (e.g. `EEEEEEEEEEE`)\n * the output will be the same as default pattern for this unit, usually\n * the longest one (in case of ISO weekdays, `EEEE`). Default patterns for units\n * are marked with \"2\" in the last column of the table.\n *\n * `format(new Date(2017, 10, 6), 'MMM') //=> 'Nov'`\n *\n * `format(new Date(2017, 10, 6), 'MMMM') //=> 'November'`\n *\n * `format(new Date(2017, 10, 6), 'MMMMM') //=> 'N'`\n *\n * `format(new Date(2017, 10, 6), 'MMMMMM') //=> 'November'`\n *\n * `format(new Date(2017, 10, 6), 'MMMMMMM') //=> 'November'`\n *\n * 3. Some patterns could be unlimited length (such as `yyyyyyyy`).\n * The output will be padded with zeros to match the length of the pattern.\n *\n * `format(new Date(2017, 10, 6), 'yyyyyyyy') //=> '00002017'`\n *\n * 4. `QQQQQ` and `qqqqq` could be not strictly numerical in some locales.\n * These tokens represent the shortest form of the quarter.\n *\n * 5. The main difference between `y` and `u` patterns are B.C. years:\n *\n * | Year | `y` | `u` |\n * |------|-----|-----|\n * | AC 1 | 1 | 1 |\n * | BC 1 | 1 | 0 |\n * | BC 2 | 2 | -1 |\n *\n * Also `yy` always returns the last two digits of a year,\n * while `uu` pads single digit years to 2 characters and returns other years unchanged:\n *\n * | Year | `yy` | `uu` |\n * |------|------|------|\n * | 1 | 01 | 01 |\n * | 14 | 14 | 14 |\n * | 376 | 76 | 376 |\n * | 1453 | 53 | 1453 |\n *\n * The same difference is true for local and ISO week-numbering years (`Y` and `R`),\n * except local week-numbering years are dependent on `options.weekStartsOn`\n * and `options.firstWeekContainsDate` (compare [getISOWeekYear]{@link https://date-fns.org/docs/getISOWeekYear}\n * and [getWeekYear]{@link https://date-fns.org/docs/getWeekYear}).\n *\n * 6. Specific non-location timezones are currently unavailable in `date-fns`,\n * so right now these tokens fall back to GMT timezones.\n *\n * 7. These patterns are not in the Unicode Technical Standard #35:\n * - `i`: ISO day of week\n * - `I`: ISO week of year\n * - `R`: ISO week-numbering year\n * - `t`: seconds timestamp\n * - `T`: milliseconds timestamp\n * - `o`: ordinal number modifier\n * - `P`: long localized date\n * - `p`: long localized time\n *\n * 8. `YY` and `YYYY` tokens represent week-numbering years but they are often confused with years.\n * You should enable `options.useAdditionalWeekYearTokens` to use them. See: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\n *\n * 9. `D` and `DD` tokens represent days of the year but they are often confused with days of the month.\n * You should enable `options.useAdditionalDayOfYearTokens` to use them. See: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\n *\n * @param {Date|Number} date - the original date\n * @param {String} format - the string of tokens\n * @param {Object} [options] - an object with options.\n * @param {Locale} [options.locale=defaultLocale] - the locale object. See [Locale]{@link https://date-fns.org/docs/Locale}\n * @param {0|1|2|3|4|5|6} [options.weekStartsOn=0] - the index of the first day of the week (0 - Sunday)\n * @param {Number} [options.firstWeekContainsDate=1] - the day of January, which is\n * @param {Boolean} [options.useAdditionalWeekYearTokens=false] - if true, allows usage of the week-numbering year tokens `YY` and `YYYY`;\n * see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\n * @param {Boolean} [options.useAdditionalDayOfYearTokens=false] - if true, allows usage of the day of year tokens `D` and `DD`;\n * see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\n * @returns {String} the formatted date string\n * @throws {TypeError} 2 arguments required\n * @throws {RangeError} `date` must not be Invalid Date\n * @throws {RangeError} `options.locale` must contain `localize` property\n * @throws {RangeError} `options.locale` must contain `formatLong` property\n * @throws {RangeError} `options.weekStartsOn` must be between 0 and 6\n * @throws {RangeError} `options.firstWeekContainsDate` must be between 1 and 7\n * @throws {RangeError} use `yyyy` instead of `YYYY` for formatting years using [format provided] to the input [input provided]; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\n * @throws {RangeError} use `yy` instead of `YY` for formatting years using [format provided] to the input [input provided]; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\n * @throws {RangeError} use `d` instead of `D` for formatting days of the month using [format provided] to the input [input provided]; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\n * @throws {RangeError} use `dd` instead of `DD` for formatting days of the month using [format provided] to the input [input provided]; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\n * @throws {RangeError} format string contains an unescaped latin alphabet character\n *\n * @example\n * // Represent 11 February 2014 in middle-endian format:\n * const result = format(new Date(2014, 1, 11), 'MM/dd/yyyy')\n * //=> '02/11/2014'\n *\n * @example\n * // Represent 2 July 2014 in Esperanto:\n * import { eoLocale } from 'date-fns/locale/eo'\n * const result = format(new Date(2014, 6, 2), \"do 'de' MMMM yyyy\", {\n * locale: eoLocale\n * })\n * //=> '2-a de julio 2014'\n *\n * @example\n * // Escape string by single quote characters:\n * const result = format(new Date(2014, 6, 2, 15), \"h 'o''clock'\")\n * //=> \"3 o'clock\"\n */\n\nfunction format(dirtyDate, dirtyFormatStr, options) {\n var _ref, _options$locale, _ref2, _ref3, _ref4, _options$firstWeekCon, _options$locale2, _options$locale2$opti, _defaultOptions$local, _defaultOptions$local2, _ref5, _ref6, _ref7, _options$weekStartsOn, _options$locale3, _options$locale3$opti, _defaultOptions$local3, _defaultOptions$local4;\n (0, _index9.default)(2, arguments);\n var formatStr = String(dirtyFormatStr);\n var defaultOptions = (0, _index10.getDefaultOptions)();\n var locale = (_ref = (_options$locale = options === null || options === void 0 ? void 0 : options.locale) !== null && _options$locale !== void 0 ? _options$locale : defaultOptions.locale) !== null && _ref !== void 0 ? _ref : _index11.default;\n var firstWeekContainsDate = (0, _index8.default)((_ref2 = (_ref3 = (_ref4 = (_options$firstWeekCon = options === null || options === void 0 ? void 0 : options.firstWeekContainsDate) !== null && _options$firstWeekCon !== void 0 ? _options$firstWeekCon : options === null || options === void 0 ? void 0 : (_options$locale2 = options.locale) === null || _options$locale2 === void 0 ? void 0 : (_options$locale2$opti = _options$locale2.options) === null || _options$locale2$opti === void 0 ? void 0 : _options$locale2$opti.firstWeekContainsDate) !== null && _ref4 !== void 0 ? _ref4 : defaultOptions.firstWeekContainsDate) !== null && _ref3 !== void 0 ? _ref3 : (_defaultOptions$local = defaultOptions.locale) === null || _defaultOptions$local === void 0 ? void 0 : (_defaultOptions$local2 = _defaultOptions$local.options) === null || _defaultOptions$local2 === void 0 ? void 0 : _defaultOptions$local2.firstWeekContainsDate) !== null && _ref2 !== void 0 ? _ref2 : 1);\n\n // Test if weekStartsOn is between 1 and 7 _and_ is not NaN\n if (!(firstWeekContainsDate >= 1 && firstWeekContainsDate <= 7)) {\n throw new RangeError('firstWeekContainsDate must be between 1 and 7 inclusively');\n }\n var weekStartsOn = (0, _index8.default)((_ref5 = (_ref6 = (_ref7 = (_options$weekStartsOn = options === null || options === void 0 ? void 0 : options.weekStartsOn) !== null && _options$weekStartsOn !== void 0 ? _options$weekStartsOn : options === null || options === void 0 ? void 0 : (_options$locale3 = options.locale) === null || _options$locale3 === void 0 ? void 0 : (_options$locale3$opti = _options$locale3.options) === null || _options$locale3$opti === void 0 ? void 0 : _options$locale3$opti.weekStartsOn) !== null && _ref7 !== void 0 ? _ref7 : defaultOptions.weekStartsOn) !== null && _ref6 !== void 0 ? _ref6 : (_defaultOptions$local3 = defaultOptions.locale) === null || _defaultOptions$local3 === void 0 ? void 0 : (_defaultOptions$local4 = _defaultOptions$local3.options) === null || _defaultOptions$local4 === void 0 ? void 0 : _defaultOptions$local4.weekStartsOn) !== null && _ref5 !== void 0 ? _ref5 : 0);\n\n // Test if weekStartsOn is between 0 and 6 _and_ is not NaN\n if (!(weekStartsOn >= 0 && weekStartsOn <= 6)) {\n throw new RangeError('weekStartsOn must be between 0 and 6 inclusively');\n }\n if (!locale.localize) {\n throw new RangeError('locale must contain localize property');\n }\n if (!locale.formatLong) {\n throw new RangeError('locale must contain formatLong property');\n }\n var originalDate = (0, _index3.default)(dirtyDate);\n if (!(0, _index.default)(originalDate)) {\n throw new RangeError('Invalid time value');\n }\n\n // Convert the date in system timezone to the same date in UTC+00:00 timezone.\n // This ensures that when UTC functions will be implemented, locales will be compatible with them.\n // See an issue about UTC functions: https://github.com/date-fns/date-fns/issues/376\n var timezoneOffset = (0, _index6.default)(originalDate);\n var utcDate = (0, _index2.default)(originalDate, timezoneOffset);\n var formatterOptions = {\n firstWeekContainsDate: firstWeekContainsDate,\n weekStartsOn: weekStartsOn,\n locale: locale,\n _originalDate: originalDate\n };\n var result = formatStr.match(longFormattingTokensRegExp).map(function (substring) {\n var firstCharacter = substring[0];\n if (firstCharacter === 'p' || firstCharacter === 'P') {\n var longFormatter = _index5.default[firstCharacter];\n return longFormatter(substring, locale.formatLong);\n }\n return substring;\n }).join('').match(formattingTokensRegExp).map(function (substring) {\n // Replace two single quote characters with one single quote character\n if (substring === \"''\") {\n return \"'\";\n }\n var firstCharacter = substring[0];\n if (firstCharacter === \"'\") {\n return cleanEscapedString(substring);\n }\n var formatter = _index4.default[firstCharacter];\n if (formatter) {\n if (!(options !== null && options !== void 0 && options.useAdditionalWeekYearTokens) && (0, _index7.isProtectedWeekYearToken)(substring)) {\n (0, _index7.throwProtectedError)(substring, dirtyFormatStr, String(dirtyDate));\n }\n if (!(options !== null && options !== void 0 && options.useAdditionalDayOfYearTokens) && (0, _index7.isProtectedDayOfYearToken)(substring)) {\n (0, _index7.throwProtectedError)(substring, dirtyFormatStr, String(dirtyDate));\n }\n return formatter(utcDate, substring, locale.localize, formatterOptions);\n }\n if (firstCharacter.match(unescapedLatinCharacterRegExp)) {\n throw new RangeError('Format string contains an unescaped latin alphabet character `' + firstCharacter + '`');\n }\n return substring;\n }).join('');\n return result;\n}\nfunction cleanEscapedString(input) {\n var matched = input.match(escapedStringRegExp);\n if (!matched) {\n return input;\n }\n return matched[1].replace(doubleQuoteRegExp, \"'\");\n}\nmodule.exports = exports.default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\").default;\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = isDate;\nvar _typeof2 = _interopRequireDefault(require(\"@babel/runtime/helpers/typeof\"));\nvar _index = _interopRequireDefault(require(\"../_lib/requiredArgs/index.js\"));\n/**\n * @name isDate\n * @category Common Helpers\n * @summary Is the given value a date?\n *\n * @description\n * Returns true if the given value is an instance of Date. The function works for dates transferred across iframes.\n *\n * @param {*} value - the value to check\n * @returns {boolean} true if the given value is a date\n * @throws {TypeError} 1 arguments required\n *\n * @example\n * // For a valid date:\n * const result = isDate(new Date())\n * //=> true\n *\n * @example\n * // For an invalid date:\n * const result = isDate(new Date(NaN))\n * //=> true\n *\n * @example\n * // For some value:\n * const result = isDate('2014-02-31')\n * //=> false\n *\n * @example\n * // For an object:\n * const result = isDate({})\n * //=> false\n */\nfunction isDate(value) {\n (0, _index.default)(1, arguments);\n return value instanceof Date || (0, _typeof2.default)(value) === 'object' && Object.prototype.toString.call(value) === '[object Date]';\n}\nmodule.exports = exports.default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\").default;\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = isValid;\nvar _index = _interopRequireDefault(require(\"../isDate/index.js\"));\nvar _index2 = _interopRequireDefault(require(\"../toDate/index.js\"));\nvar _index3 = _interopRequireDefault(require(\"../_lib/requiredArgs/index.js\"));\n/**\n * @name isValid\n * @category Common Helpers\n * @summary Is the given date valid?\n *\n * @description\n * Returns false if argument is Invalid Date and true otherwise.\n * Argument is converted to Date using `toDate`. See [toDate]{@link https://date-fns.org/docs/toDate}\n * Invalid Date is a Date, whose time value is NaN.\n *\n * Time value of Date: http://es5.github.io/#x15.9.1.1\n *\n * @param {*} date - the date to check\n * @returns {Boolean} the date is valid\n * @throws {TypeError} 1 argument required\n *\n * @example\n * // For the valid date:\n * const result = isValid(new Date(2014, 1, 31))\n * //=> true\n *\n * @example\n * // For the value, convertable into a date:\n * const result = isValid(1393804800000)\n * //=> true\n *\n * @example\n * // For the invalid date:\n * const result = isValid(new Date(''))\n * //=> false\n */\nfunction isValid(dirtyDate) {\n (0, _index3.default)(1, arguments);\n if (!(0, _index.default)(dirtyDate) && typeof dirtyDate !== 'number') {\n return false;\n }\n var date = (0, _index2.default)(dirtyDate);\n return !isNaN(Number(date));\n}\nmodule.exports = exports.default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = buildFormatLongFn;\nfunction buildFormatLongFn(args) {\n return function () {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n // TODO: Remove String()\n var width = options.width ? String(options.width) : args.defaultWidth;\n var format = args.formats[width] || args.formats[args.defaultWidth];\n return format;\n };\n}\nmodule.exports = exports.default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = buildLocalizeFn;\nfunction buildLocalizeFn(args) {\n return function (dirtyIndex, options) {\n var context = options !== null && options !== void 0 && options.context ? String(options.context) : 'standalone';\n var valuesArray;\n if (context === 'formatting' && args.formattingValues) {\n var defaultWidth = args.defaultFormattingWidth || args.defaultWidth;\n var width = options !== null && options !== void 0 && options.width ? String(options.width) : defaultWidth;\n valuesArray = args.formattingValues[width] || args.formattingValues[defaultWidth];\n } else {\n var _defaultWidth = args.defaultWidth;\n var _width = options !== null && options !== void 0 && options.width ? String(options.width) : args.defaultWidth;\n valuesArray = args.values[_width] || args.values[_defaultWidth];\n }\n var index = args.argumentCallback ? args.argumentCallback(dirtyIndex) : dirtyIndex;\n // @ts-ignore: For some reason TypeScript just don't want to match it, no matter how hard we try. I challenge you to try to remove it!\n return valuesArray[index];\n };\n}\nmodule.exports = exports.default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = buildMatchFn;\nfunction buildMatchFn(args) {\n return function (string) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var width = options.width;\n var matchPattern = width && args.matchPatterns[width] || args.matchPatterns[args.defaultMatchWidth];\n var matchResult = string.match(matchPattern);\n if (!matchResult) {\n return null;\n }\n var matchedString = matchResult[0];\n var parsePatterns = width && args.parsePatterns[width] || args.parsePatterns[args.defaultParseWidth];\n var key = Array.isArray(parsePatterns) ? findIndex(parsePatterns, function (pattern) {\n return pattern.test(matchedString);\n }) : findKey(parsePatterns, function (pattern) {\n return pattern.test(matchedString);\n });\n var value;\n value = args.valueCallback ? args.valueCallback(key) : key;\n value = options.valueCallback ? options.valueCallback(value) : value;\n var rest = string.slice(matchedString.length);\n return {\n value: value,\n rest: rest\n };\n };\n}\nfunction findKey(object, predicate) {\n for (var key in object) {\n if (object.hasOwnProperty(key) && predicate(object[key])) {\n return key;\n }\n }\n return undefined;\n}\nfunction findIndex(array, predicate) {\n for (var key = 0; key < array.length; key++) {\n if (predicate(array[key])) {\n return key;\n }\n }\n return undefined;\n}\nmodule.exports = exports.default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = buildMatchPatternFn;\nfunction buildMatchPatternFn(args) {\n return function (string) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var matchResult = string.match(args.matchPattern);\n if (!matchResult) return null;\n var matchedString = matchResult[0];\n var parseResult = string.match(args.parsePattern);\n if (!parseResult) return null;\n var value = args.valueCallback ? args.valueCallback(parseResult[0]) : parseResult[0];\n value = options.valueCallback ? options.valueCallback(value) : value;\n var rest = string.slice(matchedString.length);\n return {\n value: value,\n rest: rest\n };\n };\n}\nmodule.exports = exports.default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar formatDistanceLocale = {\n lessThanXSeconds: {\n one: 'less than a second',\n other: 'less than {{count}} seconds'\n },\n xSeconds: {\n one: '1 second',\n other: '{{count}} seconds'\n },\n halfAMinute: 'half a minute',\n lessThanXMinutes: {\n one: 'less than a minute',\n other: 'less than {{count}} minutes'\n },\n xMinutes: {\n one: '1 minute',\n other: '{{count}} minutes'\n },\n aboutXHours: {\n one: 'about 1 hour',\n other: 'about {{count}} hours'\n },\n xHours: {\n one: '1 hour',\n other: '{{count}} hours'\n },\n xDays: {\n one: '1 day',\n other: '{{count}} days'\n },\n aboutXWeeks: {\n one: 'about 1 week',\n other: 'about {{count}} weeks'\n },\n xWeeks: {\n one: '1 week',\n other: '{{count}} weeks'\n },\n aboutXMonths: {\n one: 'about 1 month',\n other: 'about {{count}} months'\n },\n xMonths: {\n one: '1 month',\n other: '{{count}} months'\n },\n aboutXYears: {\n one: 'about 1 year',\n other: 'about {{count}} years'\n },\n xYears: {\n one: '1 year',\n other: '{{count}} years'\n },\n overXYears: {\n one: 'over 1 year',\n other: 'over {{count}} years'\n },\n almostXYears: {\n one: 'almost 1 year',\n other: 'almost {{count}} years'\n }\n};\nvar formatDistance = function formatDistance(token, count, options) {\n var result;\n var tokenValue = formatDistanceLocale[token];\n if (typeof tokenValue === 'string') {\n result = tokenValue;\n } else if (count === 1) {\n result = tokenValue.one;\n } else {\n result = tokenValue.other.replace('{{count}}', count.toString());\n }\n if (options !== null && options !== void 0 && options.addSuffix) {\n if (options.comparison && options.comparison > 0) {\n return 'in ' + result;\n } else {\n return result + ' ago';\n }\n }\n return result;\n};\nvar _default = formatDistance;\nexports.default = _default;\nmodule.exports = exports.default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\").default;\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _index = _interopRequireDefault(require(\"../../../_lib/buildFormatLongFn/index.js\"));\nvar dateFormats = {\n full: 'EEEE, MMMM do, y',\n long: 'MMMM do, y',\n medium: 'MMM d, y',\n short: 'MM/dd/yyyy'\n};\nvar timeFormats = {\n full: 'h:mm:ss a zzzz',\n long: 'h:mm:ss a z',\n medium: 'h:mm:ss a',\n short: 'h:mm a'\n};\nvar dateTimeFormats = {\n full: \"{{date}} 'at' {{time}}\",\n long: \"{{date}} 'at' {{time}}\",\n medium: '{{date}}, {{time}}',\n short: '{{date}}, {{time}}'\n};\nvar formatLong = {\n date: (0, _index.default)({\n formats: dateFormats,\n defaultWidth: 'full'\n }),\n time: (0, _index.default)({\n formats: timeFormats,\n defaultWidth: 'full'\n }),\n dateTime: (0, _index.default)({\n formats: dateTimeFormats,\n defaultWidth: 'full'\n })\n};\nvar _default = formatLong;\nexports.default = _default;\nmodule.exports = exports.default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar formatRelativeLocale = {\n lastWeek: \"'last' eeee 'at' p\",\n yesterday: \"'yesterday at' p\",\n today: \"'today at' p\",\n tomorrow: \"'tomorrow at' p\",\n nextWeek: \"eeee 'at' p\",\n other: 'P'\n};\nvar formatRelative = function formatRelative(token, _date, _baseDate, _options) {\n return formatRelativeLocale[token];\n};\nvar _default = formatRelative;\nexports.default = _default;\nmodule.exports = exports.default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\").default;\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _index = _interopRequireDefault(require(\"../../../_lib/buildLocalizeFn/index.js\"));\nvar eraValues = {\n narrow: ['B', 'A'],\n abbreviated: ['BC', 'AD'],\n wide: ['Before Christ', 'Anno Domini']\n};\nvar quarterValues = {\n narrow: ['1', '2', '3', '4'],\n abbreviated: ['Q1', 'Q2', 'Q3', 'Q4'],\n wide: ['1st quarter', '2nd quarter', '3rd quarter', '4th quarter']\n};\n\n// Note: in English, the names of days of the week and months are capitalized.\n// If you are making a new locale based on this one, check if the same is true for the language you're working on.\n// Generally, formatted dates should look like they are in the middle of a sentence,\n// e.g. in Spanish language the weekdays and months should be in the lowercase.\nvar monthValues = {\n narrow: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'],\n abbreviated: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'],\n wide: ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December']\n};\nvar dayValues = {\n narrow: ['S', 'M', 'T', 'W', 'T', 'F', 'S'],\n short: ['Su', 'Mo', 'Tu', 'We', 'Th', 'Fr', 'Sa'],\n abbreviated: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'],\n wide: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday']\n};\nvar dayPeriodValues = {\n narrow: {\n am: 'a',\n pm: 'p',\n midnight: 'mi',\n noon: 'n',\n morning: 'morning',\n afternoon: 'afternoon',\n evening: 'evening',\n night: 'night'\n },\n abbreviated: {\n am: 'AM',\n pm: 'PM',\n midnight: 'midnight',\n noon: 'noon',\n morning: 'morning',\n afternoon: 'afternoon',\n evening: 'evening',\n night: 'night'\n },\n wide: {\n am: 'a.m.',\n pm: 'p.m.',\n midnight: 'midnight',\n noon: 'noon',\n morning: 'morning',\n afternoon: 'afternoon',\n evening: 'evening',\n night: 'night'\n }\n};\nvar formattingDayPeriodValues = {\n narrow: {\n am: 'a',\n pm: 'p',\n midnight: 'mi',\n noon: 'n',\n morning: 'in the morning',\n afternoon: 'in the afternoon',\n evening: 'in the evening',\n night: 'at night'\n },\n abbreviated: {\n am: 'AM',\n pm: 'PM',\n midnight: 'midnight',\n noon: 'noon',\n morning: 'in the morning',\n afternoon: 'in the afternoon',\n evening: 'in the evening',\n night: 'at night'\n },\n wide: {\n am: 'a.m.',\n pm: 'p.m.',\n midnight: 'midnight',\n noon: 'noon',\n morning: 'in the morning',\n afternoon: 'in the afternoon',\n evening: 'in the evening',\n night: 'at night'\n }\n};\nvar ordinalNumber = function ordinalNumber(dirtyNumber, _options) {\n var number = Number(dirtyNumber);\n\n // If ordinal numbers depend on context, for example,\n // if they are different for different grammatical genders,\n // use `options.unit`.\n //\n // `unit` can be 'year', 'quarter', 'month', 'week', 'date', 'dayOfYear',\n // 'day', 'hour', 'minute', 'second'.\n\n var rem100 = number % 100;\n if (rem100 > 20 || rem100 < 10) {\n switch (rem100 % 10) {\n case 1:\n return number + 'st';\n case 2:\n return number + 'nd';\n case 3:\n return number + 'rd';\n }\n }\n return number + 'th';\n};\nvar localize = {\n ordinalNumber: ordinalNumber,\n era: (0, _index.default)({\n values: eraValues,\n defaultWidth: 'wide'\n }),\n quarter: (0, _index.default)({\n values: quarterValues,\n defaultWidth: 'wide',\n argumentCallback: function argumentCallback(quarter) {\n return quarter - 1;\n }\n }),\n month: (0, _index.default)({\n values: monthValues,\n defaultWidth: 'wide'\n }),\n day: (0, _index.default)({\n values: dayValues,\n defaultWidth: 'wide'\n }),\n dayPeriod: (0, _index.default)({\n values: dayPeriodValues,\n defaultWidth: 'wide',\n formattingValues: formattingDayPeriodValues,\n defaultFormattingWidth: 'wide'\n })\n};\nvar _default = localize;\nexports.default = _default;\nmodule.exports = exports.default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\").default;\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _index = _interopRequireDefault(require(\"../../../_lib/buildMatchFn/index.js\"));\nvar _index2 = _interopRequireDefault(require(\"../../../_lib/buildMatchPatternFn/index.js\"));\nvar matchOrdinalNumberPattern = /^(\\d+)(th|st|nd|rd)?/i;\nvar parseOrdinalNumberPattern = /\\d+/i;\nvar matchEraPatterns = {\n narrow: /^(b|a)/i,\n abbreviated: /^(b\\.?\\s?c\\.?|b\\.?\\s?c\\.?\\s?e\\.?|a\\.?\\s?d\\.?|c\\.?\\s?e\\.?)/i,\n wide: /^(before christ|before common era|anno domini|common era)/i\n};\nvar parseEraPatterns = {\n any: [/^b/i, /^(a|c)/i]\n};\nvar matchQuarterPatterns = {\n narrow: /^[1234]/i,\n abbreviated: /^q[1234]/i,\n wide: /^[1234](th|st|nd|rd)? quarter/i\n};\nvar parseQuarterPatterns = {\n any: [/1/i, /2/i, /3/i, /4/i]\n};\nvar matchMonthPatterns = {\n narrow: /^[jfmasond]/i,\n abbreviated: /^(jan|feb|mar|apr|may|jun|jul|aug|sep|oct|nov|dec)/i,\n wide: /^(january|february|march|april|may|june|july|august|september|october|november|december)/i\n};\nvar parseMonthPatterns = {\n narrow: [/^j/i, /^f/i, /^m/i, /^a/i, /^m/i, /^j/i, /^j/i, /^a/i, /^s/i, /^o/i, /^n/i, /^d/i],\n any: [/^ja/i, /^f/i, /^mar/i, /^ap/i, /^may/i, /^jun/i, /^jul/i, /^au/i, /^s/i, /^o/i, /^n/i, /^d/i]\n};\nvar matchDayPatterns = {\n narrow: /^[smtwf]/i,\n short: /^(su|mo|tu|we|th|fr|sa)/i,\n abbreviated: /^(sun|mon|tue|wed|thu|fri|sat)/i,\n wide: /^(sunday|monday|tuesday|wednesday|thursday|friday|saturday)/i\n};\nvar parseDayPatterns = {\n narrow: [/^s/i, /^m/i, /^t/i, /^w/i, /^t/i, /^f/i, /^s/i],\n any: [/^su/i, /^m/i, /^tu/i, /^w/i, /^th/i, /^f/i, /^sa/i]\n};\nvar matchDayPeriodPatterns = {\n narrow: /^(a|p|mi|n|(in the|at) (morning|afternoon|evening|night))/i,\n any: /^([ap]\\.?\\s?m\\.?|midnight|noon|(in the|at) (morning|afternoon|evening|night))/i\n};\nvar parseDayPeriodPatterns = {\n any: {\n am: /^a/i,\n pm: /^p/i,\n midnight: /^mi/i,\n noon: /^no/i,\n morning: /morning/i,\n afternoon: /afternoon/i,\n evening: /evening/i,\n night: /night/i\n }\n};\nvar match = {\n ordinalNumber: (0, _index2.default)({\n matchPattern: matchOrdinalNumberPattern,\n parsePattern: parseOrdinalNumberPattern,\n valueCallback: function valueCallback(value) {\n return parseInt(value, 10);\n }\n }),\n era: (0, _index.default)({\n matchPatterns: matchEraPatterns,\n defaultMatchWidth: 'wide',\n parsePatterns: parseEraPatterns,\n defaultParseWidth: 'any'\n }),\n quarter: (0, _index.default)({\n matchPatterns: matchQuarterPatterns,\n defaultMatchWidth: 'wide',\n parsePatterns: parseQuarterPatterns,\n defaultParseWidth: 'any',\n valueCallback: function valueCallback(index) {\n return index + 1;\n }\n }),\n month: (0, _index.default)({\n matchPatterns: matchMonthPatterns,\n defaultMatchWidth: 'wide',\n parsePatterns: parseMonthPatterns,\n defaultParseWidth: 'any'\n }),\n day: (0, _index.default)({\n matchPatterns: matchDayPatterns,\n defaultMatchWidth: 'wide',\n parsePatterns: parseDayPatterns,\n defaultParseWidth: 'any'\n }),\n dayPeriod: (0, _index.default)({\n matchPatterns: matchDayPeriodPatterns,\n defaultMatchWidth: 'any',\n parsePatterns: parseDayPeriodPatterns,\n defaultParseWidth: 'any'\n })\n};\nvar _default = match;\nexports.default = _default;\nmodule.exports = exports.default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\").default;\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _index = _interopRequireDefault(require(\"./_lib/formatDistance/index.js\"));\nvar _index2 = _interopRequireDefault(require(\"./_lib/formatLong/index.js\"));\nvar _index3 = _interopRequireDefault(require(\"./_lib/formatRelative/index.js\"));\nvar _index4 = _interopRequireDefault(require(\"./_lib/localize/index.js\"));\nvar _index5 = _interopRequireDefault(require(\"./_lib/match/index.js\"));\n/**\n * @type {Locale}\n * @category Locales\n * @summary English locale (United States).\n * @language English\n * @iso-639-2 eng\n * @author Sasha Koss [@kossnocorp]{@link https://github.com/kossnocorp}\n * @author Lesha Koss [@leshakoss]{@link https://github.com/leshakoss}\n */\nvar locale = {\n code: 'en-US',\n formatDistance: _index.default,\n formatLong: _index2.default,\n formatRelative: _index3.default,\n localize: _index4.default,\n match: _index5.default,\n options: {\n weekStartsOn: 0 /* Sunday */,\n firstWeekContainsDate: 1\n }\n};\nvar _default = locale;\nexports.default = _default;\nmodule.exports = exports.default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\").default;\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = parseISO;\nvar _index = require(\"../constants/index.js\");\nvar _index2 = _interopRequireDefault(require(\"../_lib/requiredArgs/index.js\"));\nvar _index3 = _interopRequireDefault(require(\"../_lib/toInteger/index.js\"));\n/**\n * @name parseISO\n * @category Common Helpers\n * @summary Parse ISO string\n *\n * @description\n * Parse the given string in ISO 8601 format and return an instance of Date.\n *\n * Function accepts complete ISO 8601 formats as well as partial implementations.\n * ISO 8601: http://en.wikipedia.org/wiki/ISO_8601\n *\n * If the argument isn't a string, the function cannot parse the string or\n * the values are invalid, it returns Invalid Date.\n *\n * @param {String} argument - the value to convert\n * @param {Object} [options] - an object with options.\n * @param {0|1|2} [options.additionalDigits=2] - the additional number of digits in the extended year format\n * @returns {Date} the parsed date in the local time zone\n * @throws {TypeError} 1 argument required\n * @throws {RangeError} `options.additionalDigits` must be 0, 1 or 2\n *\n * @example\n * // Convert string '2014-02-11T11:30:30' to date:\n * const result = parseISO('2014-02-11T11:30:30')\n * //=> Tue Feb 11 2014 11:30:30\n *\n * @example\n * // Convert string '+02014101' to date,\n * // if the additional number of digits in the extended year format is 1:\n * const result = parseISO('+02014101', { additionalDigits: 1 })\n * //=> Fri Apr 11 2014 00:00:00\n */\nfunction parseISO(argument, options) {\n var _options$additionalDi;\n (0, _index2.default)(1, arguments);\n var additionalDigits = (0, _index3.default)((_options$additionalDi = options === null || options === void 0 ? void 0 : options.additionalDigits) !== null && _options$additionalDi !== void 0 ? _options$additionalDi : 2);\n if (additionalDigits !== 2 && additionalDigits !== 1 && additionalDigits !== 0) {\n throw new RangeError('additionalDigits must be 0, 1 or 2');\n }\n if (!(typeof argument === 'string' || Object.prototype.toString.call(argument) === '[object String]')) {\n return new Date(NaN);\n }\n var dateStrings = splitDateString(argument);\n var date;\n if (dateStrings.date) {\n var parseYearResult = parseYear(dateStrings.date, additionalDigits);\n date = parseDate(parseYearResult.restDateString, parseYearResult.year);\n }\n if (!date || isNaN(date.getTime())) {\n return new Date(NaN);\n }\n var timestamp = date.getTime();\n var time = 0;\n var offset;\n if (dateStrings.time) {\n time = parseTime(dateStrings.time);\n if (isNaN(time)) {\n return new Date(NaN);\n }\n }\n if (dateStrings.timezone) {\n offset = parseTimezone(dateStrings.timezone);\n if (isNaN(offset)) {\n return new Date(NaN);\n }\n } else {\n var dirtyDate = new Date(timestamp + time);\n // js parsed string assuming it's in UTC timezone\n // but we need it to be parsed in our timezone\n // so we use utc values to build date in our timezone.\n // Year values from 0 to 99 map to the years 1900 to 1999\n // so set year explicitly with setFullYear.\n var result = new Date(0);\n result.setFullYear(dirtyDate.getUTCFullYear(), dirtyDate.getUTCMonth(), dirtyDate.getUTCDate());\n result.setHours(dirtyDate.getUTCHours(), dirtyDate.getUTCMinutes(), dirtyDate.getUTCSeconds(), dirtyDate.getUTCMilliseconds());\n return result;\n }\n return new Date(timestamp + time + offset);\n}\nvar patterns = {\n dateTimeDelimiter: /[T ]/,\n timeZoneDelimiter: /[Z ]/i,\n timezone: /([Z+-].*)$/\n};\nvar dateRegex = /^-?(?:(\\d{3})|(\\d{2})(?:-?(\\d{2}))?|W(\\d{2})(?:-?(\\d{1}))?|)$/;\nvar timeRegex = /^(\\d{2}(?:[.,]\\d*)?)(?::?(\\d{2}(?:[.,]\\d*)?))?(?::?(\\d{2}(?:[.,]\\d*)?))?$/;\nvar timezoneRegex = /^([+-])(\\d{2})(?::?(\\d{2}))?$/;\nfunction splitDateString(dateString) {\n var dateStrings = {};\n var array = dateString.split(patterns.dateTimeDelimiter);\n var timeString;\n\n // The regex match should only return at maximum two array elements.\n // [date], [time], or [date, time].\n if (array.length > 2) {\n return dateStrings;\n }\n if (/:/.test(array[0])) {\n timeString = array[0];\n } else {\n dateStrings.date = array[0];\n timeString = array[1];\n if (patterns.timeZoneDelimiter.test(dateStrings.date)) {\n dateStrings.date = dateString.split(patterns.timeZoneDelimiter)[0];\n timeString = dateString.substr(dateStrings.date.length, dateString.length);\n }\n }\n if (timeString) {\n var token = patterns.timezone.exec(timeString);\n if (token) {\n dateStrings.time = timeString.replace(token[1], '');\n dateStrings.timezone = token[1];\n } else {\n dateStrings.time = timeString;\n }\n }\n return dateStrings;\n}\nfunction parseYear(dateString, additionalDigits) {\n var regex = new RegExp('^(?:(\\\\d{4}|[+-]\\\\d{' + (4 + additionalDigits) + '})|(\\\\d{2}|[+-]\\\\d{' + (2 + additionalDigits) + '})$)');\n var captures = dateString.match(regex);\n // Invalid ISO-formatted year\n if (!captures) return {\n year: NaN,\n restDateString: ''\n };\n var year = captures[1] ? parseInt(captures[1]) : null;\n var century = captures[2] ? parseInt(captures[2]) : null;\n\n // either year or century is null, not both\n return {\n year: century === null ? year : century * 100,\n restDateString: dateString.slice((captures[1] || captures[2]).length)\n };\n}\nfunction parseDate(dateString, year) {\n // Invalid ISO-formatted year\n if (year === null) return new Date(NaN);\n var captures = dateString.match(dateRegex);\n // Invalid ISO-formatted string\n if (!captures) return new Date(NaN);\n var isWeekDate = !!captures[4];\n var dayOfYear = parseDateUnit(captures[1]);\n var month = parseDateUnit(captures[2]) - 1;\n var day = parseDateUnit(captures[3]);\n var week = parseDateUnit(captures[4]);\n var dayOfWeek = parseDateUnit(captures[5]) - 1;\n if (isWeekDate) {\n if (!validateWeekDate(year, week, dayOfWeek)) {\n return new Date(NaN);\n }\n return dayOfISOWeekYear(year, week, dayOfWeek);\n } else {\n var date = new Date(0);\n if (!validateDate(year, month, day) || !validateDayOfYearDate(year, dayOfYear)) {\n return new Date(NaN);\n }\n date.setUTCFullYear(year, month, Math.max(dayOfYear, day));\n return date;\n }\n}\nfunction parseDateUnit(value) {\n return value ? parseInt(value) : 1;\n}\nfunction parseTime(timeString) {\n var captures = timeString.match(timeRegex);\n if (!captures) return NaN; // Invalid ISO-formatted time\n\n var hours = parseTimeUnit(captures[1]);\n var minutes = parseTimeUnit(captures[2]);\n var seconds = parseTimeUnit(captures[3]);\n if (!validateTime(hours, minutes, seconds)) {\n return NaN;\n }\n return hours * _index.millisecondsInHour + minutes * _index.millisecondsInMinute + seconds * 1000;\n}\nfunction parseTimeUnit(value) {\n return value && parseFloat(value.replace(',', '.')) || 0;\n}\nfunction parseTimezone(timezoneString) {\n if (timezoneString === 'Z') return 0;\n var captures = timezoneString.match(timezoneRegex);\n if (!captures) return 0;\n var sign = captures[1] === '+' ? -1 : 1;\n var hours = parseInt(captures[2]);\n var minutes = captures[3] && parseInt(captures[3]) || 0;\n if (!validateTimezone(hours, minutes)) {\n return NaN;\n }\n return sign * (hours * _index.millisecondsInHour + minutes * _index.millisecondsInMinute);\n}\nfunction dayOfISOWeekYear(isoWeekYear, week, day) {\n var date = new Date(0);\n date.setUTCFullYear(isoWeekYear, 0, 4);\n var fourthOfJanuaryDay = date.getUTCDay() || 7;\n var diff = (week - 1) * 7 + day + 1 - fourthOfJanuaryDay;\n date.setUTCDate(date.getUTCDate() + diff);\n return date;\n}\n\n// Validation functions\n\n// February is null to handle the leap year (using ||)\nvar daysInMonths = [31, null, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31];\nfunction isLeapYearIndex(year) {\n return year % 400 === 0 || year % 4 === 0 && year % 100 !== 0;\n}\nfunction validateDate(year, month, date) {\n return month >= 0 && month <= 11 && date >= 1 && date <= (daysInMonths[month] || (isLeapYearIndex(year) ? 29 : 28));\n}\nfunction validateDayOfYearDate(year, dayOfYear) {\n return dayOfYear >= 1 && dayOfYear <= (isLeapYearIndex(year) ? 366 : 365);\n}\nfunction validateWeekDate(_year, week, day) {\n return week >= 1 && week <= 53 && day >= 0 && day <= 6;\n}\nfunction validateTime(hours, minutes, seconds) {\n if (hours === 24) {\n return minutes === 0 && seconds === 0;\n }\n return seconds >= 0 && seconds < 60 && minutes >= 0 && minutes < 60 && hours >= 0 && hours < 25;\n}\nfunction validateTimezone(_hours, minutes) {\n return minutes >= 0 && minutes <= 59;\n}\nmodule.exports = exports.default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\").default;\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = startOfDay;\nvar _index = _interopRequireDefault(require(\"../toDate/index.js\"));\nvar _index2 = _interopRequireDefault(require(\"../_lib/requiredArgs/index.js\"));\n/**\n * @name startOfDay\n * @category Day Helpers\n * @summary Return the start of a day for the given date.\n *\n * @description\n * Return the start of a day for the given date.\n * The result will be in the local timezone.\n *\n * @param {Date|Number} date - the original date\n * @returns {Date} the start of a day\n * @throws {TypeError} 1 argument required\n *\n * @example\n * // The start of a day for 2 September 2014 11:55:00:\n * const result = startOfDay(new Date(2014, 8, 2, 11, 55, 0))\n * //=> Tue Sep 02 2014 00:00:00\n */\nfunction startOfDay(dirtyDate) {\n (0, _index2.default)(1, arguments);\n var date = (0, _index.default)(dirtyDate);\n date.setHours(0, 0, 0, 0);\n return date;\n}\nmodule.exports = exports.default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\").default;\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = subMilliseconds;\nvar _index = _interopRequireDefault(require(\"../addMilliseconds/index.js\"));\nvar _index2 = _interopRequireDefault(require(\"../_lib/requiredArgs/index.js\"));\nvar _index3 = _interopRequireDefault(require(\"../_lib/toInteger/index.js\"));\n/**\n * @name subMilliseconds\n * @category Millisecond Helpers\n * @summary Subtract the specified number of milliseconds from the given date.\n *\n * @description\n * Subtract the specified number of milliseconds from the given date.\n *\n * @param {Date|Number} date - the date to be changed\n * @param {Number} amount - the amount of milliseconds to be subtracted. Positive decimals will be rounded using `Math.floor`, decimals less than zero will be rounded using `Math.ceil`.\n * @returns {Date} the new date with the milliseconds subtracted\n * @throws {TypeError} 2 arguments required\n *\n * @example\n * // Subtract 750 milliseconds from 10 July 2014 12:45:30.000:\n * const result = subMilliseconds(new Date(2014, 6, 10, 12, 45, 30, 0), 750)\n * //=> Thu Jul 10 2014 12:45:29.250\n */\nfunction subMilliseconds(dirtyDate, dirtyAmount) {\n (0, _index2.default)(2, arguments);\n var amount = (0, _index3.default)(dirtyAmount);\n return (0, _index.default)(dirtyDate, -amount);\n}\nmodule.exports = exports.default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\").default;\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = toDate;\nvar _typeof2 = _interopRequireDefault(require(\"@babel/runtime/helpers/typeof\"));\nvar _index = _interopRequireDefault(require(\"../_lib/requiredArgs/index.js\"));\n/**\n * @name toDate\n * @category Common Helpers\n * @summary Convert the given argument to an instance of Date.\n *\n * @description\n * Convert the given argument to an instance of Date.\n *\n * If the argument is an instance of Date, the function returns its clone.\n *\n * If the argument is a number, it is treated as a timestamp.\n *\n * If the argument is none of the above, the function returns Invalid Date.\n *\n * **Note**: *all* Date arguments passed to any *date-fns* function is processed by `toDate`.\n *\n * @param {Date|Number} argument - the value to convert\n * @returns {Date} the parsed date in the local time zone\n * @throws {TypeError} 1 argument required\n *\n * @example\n * // Clone the date:\n * const result = toDate(new Date(2014, 1, 11, 11, 30, 30))\n * //=> Tue Feb 11 2014 11:30:30\n *\n * @example\n * // Convert the timestamp to date:\n * const result = toDate(1392098430000)\n * //=> Tue Feb 11 2014 11:30:30\n */\nfunction toDate(argument) {\n (0, _index.default)(1, arguments);\n var argStr = Object.prototype.toString.call(argument);\n\n // Clone the date\n if (argument instanceof Date || (0, _typeof2.default)(argument) === 'object' && argStr === '[object Date]') {\n // Prevent the date to lose the milliseconds when passed to new Date() in IE10\n return new Date(argument.getTime());\n } else if (typeof argument === 'number' || argStr === '[object Number]') {\n return new Date(argument);\n } else {\n if ((typeof argument === 'string' || argStr === '[object String]') && typeof console !== 'undefined') {\n // eslint-disable-next-line no-console\n console.warn(\"Starting with v2.0.0-beta.1 date-fns doesn't accept strings as date arguments. Please use `parseISO` to parse strings. See: https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#string-arguments\");\n // eslint-disable-next-line no-console\n console.warn(new Error().stack);\n }\n return new Date(NaN);\n }\n}\nmodule.exports = exports.default;","/**\n * @license Copyright (c) 2003-2024, 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\nimport type { LocaleConfig, Users } from './index.js';\nimport type { RealTimeCollaborationConfig } from './config.js';\n\ndeclare module '@ckeditor/ckeditor5-core' {\n\tinterface EditorConfig {\n\n\t\t/**\n\t\t * The locale configuration of the editor.\n\t\t */\n\t\tlocale?: LocaleConfig;\n\n\t\t/**\n\t\t * The users plugin configuration.\n\t\t */\n\t\tusers?: {\n\n\t\t\t/**\n\t\t\t * User ID value that will be used for the anonymous user.\n\t\t\t */\n\t\t\tanonymousUserId?: string;\n\n\t\t\t/**\n\t\t\t * Number of defined colors that are randomly assigned to users.\n\t\t\t */\n\t\t\tcolorsCount?: number;\n\t\t};\n\n\t\t/**\n\t\t * The configuration of the real time collaboration feature.\n\t\t *\n\t\t * Read more in {@link module:collaboration-core/config~RealTimeCollaborationConfig}.\n\t\t *\n\t\t * See {@link module:core/editor/editorconfig~EditorConfig all editor options}.\n\t\t */\n\t\tcollaboration?: RealTimeCollaborationConfig;\n\t}\n\n\tinterface PluginsMap {\n\t\t[ Users.pluginName ]: Users;\n\t}\n}\n","/**\n * @license Copyright (c) 2003-2024, 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 * @module collaboration-core/collaborationhistory\n * @publicApi\n */\n\nimport type { default as CollaborationOperation } from './collaborationoperation.js';\n\n/**\n * Interface compatible with {@link module:engine/model/history~History} with the difference that it uses\n * {@link module:collaboration-core/collaborationoperation~CollaborationOperation} instead of regular model operations.\n */\nexport default interface CollaborationHistory {\n\t_operations: Array<CollaborationOperation>;\n\tversion: number;\n\tgetOperations( fromBaseVersion?: number, toBaseVersion?: number ): Array<CollaborationOperation>;\n\tgetOperation( baseVersion: number ): CollaborationOperation | undefined;\n\taddOperation( operation: CollaborationOperation ): void;\n\treset(): void;\n}\n","/**\n * @license Copyright (c) 2003-2024, 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 * @module collaboration-core/collaborationoperation\n * @publicApi\n */\n\nimport type { Operation, DocumentFragment, RootElement, InsertOperation, MergeOperation,\n\tMoveOperation, SplitOperation, MarkerOperation, RootOperation, RootAttributeOperation } from 'ckeditor5/src/engine.js';\n\n/**\n * Extends the {@link module:engine/model/operation/operation operation}.\n */\nexport default interface CollaborationOperation extends Operation {\n\t_isInit?: boolean;\n\t_authorId?: null | string;\n\t_isDisconnection?: boolean;\n\n\tcreatedAt?: Date;\n\twasUndone?: boolean;\n\taffectsData?: Record<string, any>;\n\n\tclone(): CollaborationOperation;\n}\n\nexport type InsertCollaborationOperation = CollaborationOperation & InsertOperation;\nexport type MoveCollaborationOperation = CollaborationOperation & MoveOperation;\nexport type MergeCollaborationOperation = CollaborationOperation & MergeOperation;\nexport type SplitCollaborationOperation = CollaborationOperation & SplitOperation;\nexport type MarkerCollaborationOperation = CollaborationOperation & MarkerOperation;\nexport type RootCollaborationOperation = CollaborationOperation & RootOperation;\nexport type RootAttributeCollaborationOperation = CollaborationOperation & RootAttributeOperation;\n","/**\n * @license Copyright (c) 2003-2024, 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\nexport { default as Permissions } from './permissions.js';\nexport { default as Users, type User } from './users.js';\nexport { default as UserView } from './users/view/userview.js';\n\nexport { default as getDateTimeFormatter } from './utils/getdatetimeformatter.js';\nexport { default as getMarkerDomElement, getAllMarkersDomElementsSorted } from './utils/getmarkerdomelement.js';\nexport { default as trimHtml } from './utils/trim-html.js';\nexport { default as ConfirmMixin } from './utils/confirmmixin.js';\nexport { default as hashObject } from './utils/hashobject.js';\nexport { default as sanitizeEditorConfig } from './utils/sanitizeEditorConfig.js';\nexport { default as surroundingMarkersDetector } from './utils/surroundingmarkersdetector.js';\n\nexport {\n\tdefault as CollaborationOperation,\n\tInsertCollaborationOperation,\n\tSplitCollaborationOperation,\n\tMarkerCollaborationOperation,\n\tMoveCollaborationOperation,\n\tMergeCollaborationOperation,\n\tRootCollaborationOperation,\n\tRootAttributeCollaborationOperation\n} from './collaborationoperation.js';\n\nexport { default as CollaborationHistory } from './collaborationhistory.js';\n\nexport type { LocaleConfig, RealTimeCollaborationConfig } from './config.js';\n\nexport * from './suggestionstyles.js';\n\nimport './augmentation.js';\n","/**\n * @license Copyright (c) 2003-2024, 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 * @module collaboration-core/permissions\n * @publicApi\n */\n\nimport { ContextPlugin, Editor, type Plugin } from 'ckeditor5/src/core.js';\nimport { CKEditorError } from 'ckeditor5/src/utils.js';\nimport type { CommentsRepository } from '@ckeditor/ckeditor5-comments';\n\n/**\n * The `Permissions` plugin manages permissions set for the local user.\n *\n * Following is the list of all defined permissions:\n *\n * * `document:write` - modify the content of the document, and resolve comment threads created by any user,\n * * `comment:write` - create, edit and remove own comments and create, remove own comment threads,\n * and resolve comment threads created by any user,\n * * `comment:admin` - resolve and remove comment threads created by other users (enables `comment:write`).\n * * `comment:modify_all` - edit and remove any comments created by other users.\n *\n * For example, a user with `comment:write` permission but with no `document:write` permission will be able to add\n * comments but will not be able to change the document data (comments-only mode).\n *\n * By default, the following permissions are set: `document:write`, `comment:write`, `comment:admin`.\n *\n * Permissions are handled separately for each channel id (for each editor instance and context instance).\n *\n * See also the {@glink features/collaboration/users#user-permissions User permissions} guide to learn how to use this plugin.\n */\nexport default class Permissions extends ContextPlugin {\n\t//\n\t// This is an initial implementation with an incorrect control flow.\n\t//\n\t// In the current implementation, the `Permissions` plugin receives permissions and then sets other plugins (using their API).\n\t// In the final solution, the control flow should be reversed. Other plugins should read the permissions,\n\t// react to them and set themselves.\n\t//\n\n\t/**\n\t * @inheritDoc\n\t */\n\tpublic static get pluginName() {\n\t\treturn 'Permissions' as const;\n\t}\n\n\t/**\n\t * Sets permissions for editor/context instance with given `channelId`.\n\t *\n\t * If `channelId` is not set, the channel id of the editor/context to which the plugin was added will be used.\n\t * This means that it is not required if the plugin is added to the editor configuration and {@link module:core/context~Context}\n\t * is not used.\n\t *\n\t * @param permissions Permissions to set.\n\t * @param channelId The channel ID.\n\t */\n\tpublic setPermissions( permissions: Array<string>, channelId?: string ): void {\n\t\t// If `channelId` is not set, default to the channel id of editor/context to which the plugin was added.\n\t\tif ( !channelId ) {\n\t\t\tchannelId = this.context.config.get( 'collaboration.channelId' );\n\t\t}\n\n\t\tlet channel;\n\n\t\t// `this.context` can be editor or context instance.\n\t\t// `channelId` can apply to either this editor, directly to this context...\n\t\tif ( this.context.config.get( 'collaboration.channelId' ) == channelId ) {\n\t\t\tchannel = this.context;\n\t\t} else if ( 'editors' in this.context && this.context.editors ) {\n\t\t\t// ...or one of the editors in the context.\n\t\t\tchannel = this.context.editors.find( editor => editor.config.get( 'collaboration.channelId' ) == channelId );\n\t\t}\n\n\t\tif ( !channel ) {\n\t\t\t/**\n\t\t\t * Trying to set permissions for a `channelId` that does not exist.\n\t\t\t *\n\t\t\t * @error permissions-set-permissions-invalid-channel-id\n\t\t\t */\n\t\t\tthrow new CKEditorError( 'permissions-set-permissions-invalid-channel-id', null );\n\t\t}\n\n\t\tconst plugins = channel.plugins;\n\n\t\tconst commentsRepository: CommentsRepository | undefined = plugins.has( 'CommentsRepository' ) ?\n\t\t\tplugins.get( 'CommentsRepository' ) : undefined;\n\t\tconst commentsOnly = plugins.has( 'CommentsOnly' ) && plugins.get( 'CommentsOnly' ) as Plugin;\n\n\t\tconst canWrite = permissions.includes( 'document:write' );\n\t\tconst hasModifyAllPermission = permissions.includes( 'comment:modify_all' );\n\t\tconst hasAdminPermission = permissions.includes( 'comment:admin' );\n\t\tconst hasWritePermission = permissions.includes( 'comment:write' );\n\t\tconst canComment = hasWritePermission || hasAdminPermission;\n\t\tconst canChange = canComment || hasModifyAllPermission;\n\t\tconst hasResolvePermission = canWrite || canComment;\n\n\t\t// Set/unset comments only mode only if the plugin exists.\n\t\tif ( commentsOnly ) {\n\t\t\t// Set to comments only mode if the user cannot write but they can comment.\n\t\t\tcommentsOnly.isEnabled = !canWrite && canChange;\n\t\t}\n\n\t\t// Set/unset read only mode only if setting permissions for an editor instance.\n\t\tif ( channel instanceof Editor ) {\n\t\t\t// Switch to read only mode if the user cannot write and cannot use comment feature (or there is no comments feature).\n\t\t\tconst shouldEditorBeReadOnly = !canWrite && ( !canChange || !commentsRepository );\n\n\t\t\tif ( shouldEditorBeReadOnly ) {\n\t\t\t\tchannel.enableReadOnlyMode( 'no-permissions' );\n\t\t\t} else {\n\t\t\t\tchannel.disableReadOnlyMode( 'no-permissions' );\n\t\t\t}\n\t\t}\n\n\t\t// Set/unset comments permissions only if there is comments feature.\n\t\tif ( commentsRepository ) {\n\t\t\tcommentsRepository.setPermissions( {\n\t\t\t\tadmin: hasAdminPermission,\n\t\t\t\tmodifyAll: hasModifyAllPermission,\n\t\t\t\twrite: hasWritePermission,\n\t\t\t\tresolve: hasResolvePermission\n\t\t\t}, channelId );\n\n\t\t\tconst command = channel instanceof Editor && channel.commands.get( 'addCommentThread' );\n\n\t\t\tif ( command ) {\n\t\t\t\tif ( !canComment ) {\n\t\t\t\t\tcommand.forceDisabled( 'noPermissions' );\n\t\t\t\t} else {\n\t\t\t\t\tcommand.clearForceDisabled( 'noPermissions' );\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n}\n","/**\n * @license Copyright (c) 2003-2024, 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\nimport '../theme/suggestion.css';\nimport '../theme/suggestionmarker.css';\n\nimport '../theme/integrations/image.css';\nimport '../theme/integrations/horizontalline.css';\nimport '../theme/integrations/mediaembed.css';\nimport '../theme/integrations/pagebreak.css';\nimport '../theme/integrations/table.css';\nimport '../theme/integrations/codeblock.css';\n","/**\n * @license Copyright (c) 2003-2024, 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 * @module collaboration-core/users\n * @publicApi\n */\n\nimport { ContextPlugin, type Context, type Editor } from 'ckeditor5/src/core.js';\nimport { Collection, CKEditorError, type Locale } from 'ckeditor5/src/utils.js';\n\nimport Permissions from './permissions.js';\nimport { getTranslation } from './utils/common-translations.js';\n\nimport '../theme/usercolors.css';\n\n/* global setInterval, clearInterval, console */\n\n/**\n * The `Users` plugin provides the basic interface for setting and getting users involved in the document editing process.\n */\nexport default class Users extends ContextPlugin {\n\tdeclare public licenseKey: string;\n\n\t/**\n\t * Holds all {@link module:collaboration-core/users~User users} added to the editor.\n\t *\n\t * Note, that the {@link module:collaboration-core/users~User#isAnonymous anonymous user} is always present in the editor.\n\t * You may want to filter it out when processing the users lists.\n\t *\n\t * ```ts\n\t * for ( const user of editor.plugins.get( 'Users' ).users ) {\n\t * if ( !user.isAnonymous ) {\n\t * console.log( user.name );\n\t * }\n\t * }\n\t * ```\n\t *\n\t * Use {@link #addUser} to add a new user.\n\t */\n\tpublic readonly users: Collection<User>;\n\n\t/**\n\t * @internal\n\t */\n\tprivate _licenseKeyCheckInterval: ReturnType<typeof setInterval> | null;\n\n\t/**\n\t * @internal\n\t */\n\tprivate _lastColor: number;\n\n\t/**\n\t * The ID of the local user.\n\t *\n\t * @internal\n\t */\n\tprivate _myId: string | null;\n\n\t/**\n\t * The locale instance.\n\t *\n\t * @internal\n\t */\n\tprivate _locale: Locale;\n\n\t/**\n\t * @inheritDoc\n\t */\n\tpublic static get pluginName() {\n\t\treturn 'Users' as const;\n\t}\n\n\t/**\n\t * @inheritDoc\n\t */\n\tpublic static get requires() {\n\t\treturn [ Permissions ] as const;\n\t}\n\n\t/**\n\t * @inheritDoc\n\t */\n\tconstructor( context: Context | Editor ) {\n\t\tsuper( context );\n\n\t\tthis.context.config.define( 'users.anonymousUserId', 'anonymous-user' );\n\t\tthis.context.config.define( 'users.colorsCount', 8 );\n\n\t\tthis.users = new Collection();\n\n\t\tthis._locale = context.locale;\n\n\t\tthis._licenseKeyCheckInterval = null;\n\n\t\tthis._lastColor = 0;\n\n\t\tthis._myId = null;\n\n\t\tthis.decorate( 'getOperationAuthor' );\n\t}\n\n\t/**\n\t * @inheritDoc\n\t */\n\tpublic init(): void {\n\t\tconst context = this.context as Record<string, any>;\n\n\t\t// Fake variable to mislead anyone trying to reverse engineer obfuscated code.\n\t\tthis.licenseKey = context.config.get( 'licenseKey' ) as string;\n\n\t\t// Checks the result of license key validation.\n\t\t// Some plugins validates the license key to check if user is allowed to use them.\n\t\t// When key is not valid then core editor function is disabled and special status is set.\n\t\t// Code for checking the result of the validation is placed here to hide the place where validation is\n\t\t// processed to make it more difficult to find it and crack it.\n\t\tconst statuses = [\n\t\t\t'licenseKeyTrial',\n\t\t\t'licenseKeyInvalid',\n\t\t\t'licenseKeyValid',\n\t\t\t'licenseKeyTrialLimit:operations',\n\t\t\t'licenseKeyTrialLimit:time',\n\t\t\t'licenseKeyTrialLimit:revisions'\n\t\t];\n\n\t\tthis._licenseKeyCheckInterval = setInterval( () => {\n\t\t\tlet licenseStatus;\n\n\t\t\tfor ( const i in context ) {\n\t\t\t\tconst v = context[ i ];\n\n\t\t\t\tif ( statuses.includes( v ) ) {\n\t\t\t\t\tdelete context[ i ];\n\n\t\t\t\t\tlicenseStatus = v;\n\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif ( licenseStatus === 'licenseKeyInvalid' ) {\n\t\t\t\tclearInterval( this._licenseKeyCheckInterval! );\n\n\t\t\t\t/**\n\t\t\t\t * Invalid license key. Please contact our customer support at https://ckeditor.com/contact/.\n\t\t\t\t *\n\t\t\t\t * @error invalid-license-key\n\t\t\t\t */\n\t\t\t\tthrow new CKEditorError( 'invalid-license-key', null );\n\t\t\t}\n\n\t\t\tif ( licenseStatus === 'licenseKeyTrial' ) {\n\t\t\t\tconsole.info(\n\t\t\t\t\t'You are using the trial version of CKEditor 5 collaboration plugin with limited usage. ' +\n\t\t\t\t\t'Make sure you will not use it in the production environment.'\n\t\t\t\t);\n\t\t\t}\n\n\t\t\tif ( licenseStatus === 'licenseKeyTrialLimit:operations' ) {\n\t\t\t\tclearInterval( this._licenseKeyCheckInterval! );\n\n\t\t\t\t/**\n\t\t\t\t * You have exhausted the trial usage limit (reason: reached document changes limit). Restart the editor.\n\t\t\t\t *\n\t\t\t\t * Please contact our customer support to get a full access at https://ckeditor.com/contact/.\n\t\t\t\t *\n\t\t\t\t * @error trial-license-key-reached-limit-changes\n\t\t\t\t */\n\t\t\t\tthrow new CKEditorError(\n\t\t\t\t\t'trial-license-key-reached-limit-changes',\n\t\t\t\t\tnull\n\t\t\t\t);\n\t\t\t}\n\n\t\t\tif ( licenseStatus === 'licenseKeyTrialLimit:time' ) {\n\t\t\t\tclearInterval( this._licenseKeyCheckInterval! );\n\n\t\t\t\t/**\n\t\t\t\t * You have exhausted the trial usage limit (reason: reached time limit). Restart the editor.\n\t\t\t\t *\n\t\t\t\t * Please contact our customer support to get a full access at https://ckeditor.com/contact/.\n\t\t\t\t *\n\t\t\t\t * @error trial-license-key-reached-limit-time\n\t\t\t\t */\n\t\t\t\tthrow new CKEditorError(\n\t\t\t\t\t'trial-license-key-reached-limit-time',\n\t\t\t\t\tnull\n\t\t\t\t);\n\t\t\t}\n\n\t\t\tif ( licenseStatus === 'licenseKeyTrialLimit:revisions' ) {\n\t\t\t\tclearInterval( this._licenseKeyCheckInterval! );\n\n\t\t\t\t/**\n\t\t\t\t * You have exhausted the trial usage limit (reason: reached revisions number limit).\n\t\t\t\t *\n\t\t\t\t * Please contact our customer support to get a full access at https://ckeditor.com/contact/.\n\t\t\t\t *\n\t\t\t\t * @error trial-license-key-reached-limit-revisions\n\t\t\t\t */\n\t\t\t\tthrow new CKEditorError(\n\t\t\t\t\t'trial-license-key-reached-limit-revisions',\n\t\t\t\t\tnull\n\t\t\t\t);\n\t\t\t}\n\n\t\t\tif ( licenseStatus === 'licenseKeyValid' ) {\n\t\t\t\tclearInterval( this._licenseKeyCheckInterval! );\n\t\t\t}\n\t\t}, 1000 );\n\n\t\t// Anonymous user is always available in the plugin.\n\t\tthis._addAnonymousUser();\n\t}\n\n\t/**\n\t * A reference to the local user or `null` if it has not been set.\n\t */\n\tpublic get me(): User | null {\n\t\treturn this._myId == null ? null : this.getUser( this._myId );\n\t}\n\n\t/**\n\t * Adds a new user to the list of users.\n\t */\n\tpublic addUser( { id, name, ...additionalData }: Partial<UserData> ): User {\n\t\tif ( !id || typeof id !== 'string' ) {\n\t\t\t/**\n\t\t\t * The id must be a string.\n\t\t\t *\n\t\t\t * @error users-add-invalid-id\n\t\t\t */\n\t\t\tthrow new CKEditorError( 'users-add-invalid-id' );\n\t\t}\n\n\t\tif ( this.users.has( id ) ) {\n\t\t\t/**\n\t\t\t * User with a given id is already added.\n\t\t\t *\n\t\t\t * @error users-add-duplicated-id\n\t\t\t */\n\t\t\tthrow new CKEditorError( 'users-add-duplicated-id', null, { id } );\n\t\t}\n\n\t\tconst userData = {\n\t\t\t...additionalData,\n\t\t\tid,\n\t\t\tname: normalizeName( this._locale, name ),\n\t\t\tcolor: this._getNextColor()\n\t\t};\n\n\t\tuserData.name = normalizeName( this._locale, userData.name );\n\n\t\tconst user = new User( userData );\n\n\t\tthis.users.add( user );\n\n\t\treturn user;\n\t}\n\n\t/**\n\t * Returns the user with a given ID.\n\t */\n\tpublic getUser( id: string ): User | null {\n\t\treturn this.users.get( id );\n\t}\n\n\t/**\n\t * Sets an {@link module:collaboration-core/users~User#isAnonymous anonymous user} as {@link #me the local user}.\n\t *\n\t * The local user ID will be set to the value of `config.users.anonymousUserId` property. All actions performed by the local user\n\t * will be contributed to the anonymous user.\n\t */\n\tpublic useAnonymousUser(): void {\n\t\tconst id = this.context.config.get( 'users.anonymousUserId' )!;\n\n\t\tif ( this._myId ) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis.defineMe( id );\n\t}\n\n\t/**\n\t * Sets the user with the given ID as the local user ({@link #me}).\n\t *\n\t * The local user can be only set once (this includes setting anonymous as the local user).\n\t */\n\tpublic defineMe( userId: string ): void {\n\t\tif ( this._myId ) {\n\t\t\t/**\n\t\t\t * Cannot add a local user more than once.\n\t\t\t *\n\t\t\t * @error users-me-already-defined\n\t\t\t */\n\t\t\tthrow new CKEditorError( 'users-me-already-defined', null );\n\t\t}\n\n\t\tconst user = this.getUser( userId );\n\n\t\tif ( !user ) {\n\t\t\t/**\n\t\t\t * Cannot specify a non-existing user as the local user.\n\t\t\t *\n\t\t\t * @error users-me-missing-user\n\t\t\t */\n\t\t\tthrow new CKEditorError( 'users-me-missing-user', null );\n\t\t}\n\n\t\tthis._myId = userId;\n\t\tuser._isMe = true;\n\t}\n\n\t/**\n\t * Returns the author of the operation. It returns {@link #me} by default if it is not overwritten.\n\t */\n\tpublic getOperationAuthor(): User | null {\n\t\treturn this.me;\n\t}\n\n\t/**\n\t * @inheritDoc\n\t */\n\tpublic override destroy(): void {\n\t\tsuper.destroy();\n\n\t\tclearInterval( this._licenseKeyCheckInterval! );\n\t}\n\n\t/**\n\t * @internal\n\t */\n\tprivate _getNextColor(): Color {\n\t\tconst colorsCount = this.context.config.get( 'users.colorsCount' )!;\n\n\t\tif ( this._lastColor >= colorsCount ) {\n\t\t\tthis._lastColor = 0;\n\t\t}\n\n\t\treturn new Color( this._lastColor++ );\n\t}\n\n\t/**\n\t * Adds anonymous user to the set of known users.\n\t *\n\t * @internal\n\t */\n\tprivate _addAnonymousUser(): void {\n\t\tconst id = this.context.config.get( 'users.anonymousUserId' )!;\n\n\t\tconst user = this.addUser( {\n\t\t\tid,\n\t\t\tname: getTranslation( this._locale, 'Anonymous' )\n\t\t} );\n\n\t\tuser._isAnonymous = true;\n\t}\n}\n\n/**\n * The representation of a single user that is involved in document editing.\n */\nexport class User {\n\t/**\n\t * The ID of the user.\n\t */\n\tpublic id: string;\n\n\t/**\n\t * CSS colors classes object for the user.\n\t */\n\tpublic color: Color;\n\n\t/**\n\t * The name of the user.\n\t */\n\tpublic name: string;\n\n\t/**\n\t * The URL pointing to the image with the avatar of the user.\n\t *\n\t * If avatar is not set, default avatar is used.\n\t */\n\tpublic avatar: string | undefined;\n\n\t/**\n\t * @internal\n\t */\n\tpublic _isMe: boolean;\n\n\t/**\n\t * @internal\n\t */\n\tpublic _isAnonymous: boolean;\n\n\t/**\n\t * @param data User data.\n\t * @param data.id The ID of the user.\n\t * @param data.color A helper object to generate CSS classes with the user color in the UI.\n\t * @param data.name The name of the user.\n\t * @param data.avatar The URL to the user avatar.\n\t */\n\tconstructor( data: UserData ) {\n\t\tthis.id = data.id;\n\n\t\tthis.color = data.color;\n\n\t\tthis.name = data.name;\n\n\t\tthis.avatar = data.avatar;\n\n\t\tthis._isAnonymous = false;\n\n\t\tthis._isMe = false;\n\t}\n\n\t/**\n\t * Is `true` for the anonymous user, `false` otherwise.\n\t *\n\t * The anonymous user is used when there is no defined user for given resource.\n\t *\n\t * The situations when the anonymous user is used will depend on your application. For example, it can be used when the editor can be\n\t * used by \"guest\" users of your application, or when the original user's account was removed.\n\t */\n\tpublic get isAnonymous(): boolean {\n\t\treturn this._isAnonymous;\n\t}\n\n\t/**\n\t * Is `true` for the {@link module:collaboration-core/users~Users#me local user}.\n\t */\n\tpublic get isMe(): boolean {\n\t\treturn this._isMe;\n\t}\n\n\t/**\n\t * The initials of the user.\n\t *\n\t * The initials are composed from the user name's first and last words:\n\t *\n\t * * for `Joe Doe`, the initials are `JD`,\n\t * * for `Anonymous` the initials are `A`,\n\t * * for `Katie John-Newman` the initials are `KJ`,\n\t * * for `Adam Daniel Smith` the initials are `AS`.\n\t */\n\tpublic get initials(): string {\n\t\tconst words = this.name.split( ' ' );\n\n\t\tif ( words.length === 1 ) {\n\t\t\treturn this._getInitial( words[ 0 ] );\n\t\t} else {\n\t\t\treturn this._getInitial( words[ 0 ] ) + this._getInitial( words[ words.length - 1 ] );\n\t\t}\n\t}\n\n\t/**\n\t * Returns initial letter from a name word.\n\t *\n\t * @internal\n\t */\n\tprivate _getInitial( word: string ): string {\n\t\treturn word.charAt( 0 ).toUpperCase();\n\t}\n}\n\n/**\n * Provides the default name if the name is not set or empty. Otherwise provides a trimmed name.\n */\nfunction normalizeName( locale: Locale, name = '' ): string {\n\tname = name.trim();\n\n\treturn name == '' ? getTranslation( locale, 'Anonymous' ) : name;\n}\n\n/**\n * The color object used to generate specified CSS classes with an individual color number assigned to the user.\n */\nclass Color {\n\t/**\n\t * @internal\n\t */\n\tprivate readonly _id: number;\n\n\tconstructor( colorId: number ) {\n\t\tthis._id = colorId;\n\t}\n\n\t/**\n\t * Returns CSS class for user avatar background color.\n\t */\n\tpublic getBackgroundColorClass(): string {\n\t\treturn `ck-user__bg-color--${ this._id }`;\n\t}\n\n\t/**\n\t * Returns CSS class for user selection highlight (the selected range).\n\t */\n\tpublic getSelectionClass(): string {\n\t\treturn `ck-user__selection--${ this._id }`;\n\t}\n\n\t/**\n\t * Returns CSS class for user caret position element (the pipe).\n\t */\n\tpublic getMarkerClass(): string {\n\t\treturn `ck-user__marker--${ this._id }`;\n\t}\n}\n\ntype UserData = {\n\tid: string;\n\tcolor: Color;\n\tname: string;\n\tavatar?: string;\n\t_isAnonymous?: boolean;\n};\n","/**\n * @license Copyright (c) 2003-2024, 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 * @module collaboration-core/users/view/userview\n */\n\nimport { View, type TemplateDefinition, IconView } from 'ckeditor5/src/ui.js';\nimport type { Locale } from 'ckeditor5/src/utils.js';\nimport type { User } from '../../users.js';\n\nimport notificationIcon from '../../../theme/icons/notification.svg';\n\nimport '../../../theme/users.css';\n\nexport default class UserView extends View {\n\tpublic name: string;\n\tpublic notificationView: TemplateDefinition | null;\n\n\tconstructor( locale: Locale, user: User, notificationText?: null | string ) {\n\t\tsuper( locale );\n\n\t\tthis.name = user.name;\n\t\tthis.notificationView = null;\n\n\t\tconst rootClasses = [ 'ck', 'ck-user' ];\n\t\tconst classes = [ 'ck', 'ck-user__img' ];\n\n\t\tif ( user.isAnonymous ) {\n\t\t\tclasses.push( 'ck-user__anonymous' );\n\t\t}\n\n\t\tif ( !user.isAnonymous && user.isMe ) {\n\t\t\t// Highlighting only non-anonymous \"me\" users.\n\t\t\trootClasses.push( 'ck-user_me' );\n\t\t}\n\n\t\tif ( user.avatar ) {\n\t\t\tclasses.push( 'ck-user__avatar' );\n\t\t}\n\n\t\tif ( notificationText ) {\n\t\t\tconst notificationIconView = new IconView();\n\n\t\t\tnotificationIconView.extendTemplate( {\n\t\t\t\tattributes: {\n\t\t\t\t\tclass: [ 'ck-user__icon' ]\n\t\t\t\t}\n\t\t\t} );\n\t\t\tnotificationIconView.content = notificationIcon;\n\n\t\t\tthis.notificationView = {\n\t\t\t\ttag: 'div',\n\n\t\t\t\tattributes: {\n\t\t\t\t\tclass: [ 'ck', 'ck-user__notification' ],\n\t\t\t\t\t'data-cke-tooltip-position': 'n',\n\t\t\t\t\t'data-cke-tooltip-text': notificationText\n\t\t\t\t},\n\n\t\t\t\tchildren: [ notificationIconView ]\n\t\t\t};\n\t\t}\n\n\t\tconst children: Array<TemplateDefinition> = [\n\t\t\t{\n\t\t\t\ttag: 'div',\n\t\t\t\tattributes: {\n\t\t\t\t\tclass: classes,\n\t\t\t\t\tstyle: {\n\t\t\t\t\t\t'background-image': user.avatar ? `url('${ user.avatar }')` : ''\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t},\n\t\t\t{\n\t\t\t\ttag: 'div',\n\t\t\t\tattributes: {\n\t\t\t\t\tclass: user.avatar ? 'ck ck-user__name ck-user__name--hidden' : 'ck ck-user__name'\n\t\t\t\t},\n\t\t\t\tchildren: [\n\t\t\t\t\t{\n\t\t\t\t\t\ttext: user.initials\n\t\t\t\t\t}\n\t\t\t\t]\n\t\t\t}\n\t\t];\n\n\t\tif ( this.notificationView ) {\n\t\t\tchildren.push( this.notificationView );\n\t\t}\n\n\t\tthis.setTemplate( {\n\t\t\ttag: 'div',\n\t\t\tattributes: {\n\t\t\t\tclass: rootClasses,\n\t\t\t\t'data-user-id': user.id\n\t\t\t},\n\t\t\tchildren\n\t\t} );\n\t}\n}\n","/**\n * @license Copyright (c) 2003-2024, 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 * @module collaboration-core/utils/common-translations\n */\n\nimport type { Locale } from 'ckeditor5/src/utils.js';\n\nexport function getTranslation( locale: Locale, id: string ): string {\n\tconst t = locale.t;\n\n\tswitch ( id ) {\n\t\tcase 'Anonymous':\n\t\t\treturn t( 'Anonymous' );\n\n\t\tcase 'Yes':\n\t\t\treturn t( 'Yes' );\n\n\t\tcase 'No':\n\t\t\treturn t( 'No' );\n\n\t\tcase 'Are you sure?':\n\t\t\treturn t( 'Are you sure?' );\n\n\t\tdefault:\n\t\t\treturn '';\n\t}\n}\n","/**\n * @license Copyright (c) 2003-2024, 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 * @module comments/comments/ui/view/confirmmixin\n */\n\nimport type { View } from 'ckeditor5/src/ui.js';\nimport type { Locale, Mixed } from 'ckeditor5/src/utils.js';\n\nimport ConfirmView from './confirmview.js';\n\n/* eslint-disable @typescript-eslint/explicit-module-boundary-types */\n\n/**\n * Adds interface for showing confirmation view in the specific for `CommentThreadView` and `CommentView` structure\n * Confirm is always set to the `content` collection at the last position.\n */\nexport default function ConfirmMixin<Base extends new ( ...args: Array<any> ) => View>( base: Base ): Mixed<Base, ConfirmApi> {\n\tclass Mixin extends base implements ConfirmApi {\n\t\tdeclare public confirmView?: ConfirmView;\n\n\t\t/**\n\t\t * @observable\n\t\t */\n\t\tdeclare public isConfirm: boolean;\n\n\t\tdeclare public locale: Locale;\n\n\t\tpublic showConfirm( message: string, element: Element ): Promise<unknown> {\n\t\t\tthis.confirmView = new ConfirmView( this.locale );\n\t\t\tthis.confirmView.render();\n\t\t\tthis.confirmView.message = message;\n\n\t\t\tthis.confirmView.once( 'cancel', () => {\n\t\t\t\tthis._removeConfirm();\n\t\t\t} );\n\n\t\t\tthis.confirmView.once( 'submit', () => {\n\t\t\t\tthis._removeConfirm();\n\t\t\t} );\n\n\t\t\telement.appendChild( this.confirmView.element as Element );\n\t\t\tthis.registerChild( this.confirmView );\n\n\t\t\tthis.element!.focus();\n\n\t\t\tthis.set( 'isConfirm', true );\n\n\t\t\treturn new Promise( resolve => this.confirmView!.on( 'submit', resolve ) );\n\t\t}\n\n\t\tpublic cancelConfirm(): void {\n\t\t\tif ( this.isConfirm ) {\n\t\t\t\tthis.confirmView!.fire( 'cancel' );\n\t\t\t}\n\t\t}\n\n\t\t/**\n\t\t * @internal\n\t\t */\n\t\tprivate _removeConfirm(): void {\n\t\t\tif ( this.element && this.confirmView && this.confirmView.element ) {\n\t\t\t\t// It's needed to keep focus on element before destroying confirmView.\n\t\t\t\tthis.element.focus();\n\n\t\t\t\tthis.confirmView.element.remove();\n\t\t\t\tthis.deregisterChild( this.confirmView );\n\t\t\t\tthis.isConfirm = false;\n\n\t\t\t\tthis.confirmView.destroy();\n\n\t\t\t\tthis.confirmView = undefined;\n\t\t\t}\n\t\t}\n\t}\n\n\treturn Mixin as any;\n}\n\nexport interface ConfirmApi {\n\tisConfirm: boolean;\n\tlocale: Locale;\n\tshowConfirm( message: string, element: Element ): Promise<unknown>;\n\tcancelConfirm(): void;\n}\n","/**\n * @license Copyright (c) 2003-2024, 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 * @module comments/comments/ui/view/confirmview\n */\n\nimport { View, ButtonView } from 'ckeditor5/src/ui.js';\nimport { icons } from 'ckeditor5/src/core.js';\nimport type { Locale } from 'ckeditor5/src/utils.js';\n\nimport { getTranslation } from './common-translations.js';\n\nexport default class ConfirmView extends View {\n\tpublic declare message: string;\n\n\t/**\n\t * @internal\n\t */\n\tprivate readonly submitView: View;\n\n\t/**\n\t * @internal\n\t */\n\tprivate readonly cancelView: View;\n\n\tconstructor( locale: Locale ) {\n\t\tsuper( locale );\n\n\t\tconst bind = this.bindTemplate;\n\n\t\tthis.submitView = this._createButtonView( locale, getTranslation( locale, 'Yes' ), icons.check, 'submit' );\n\t\tthis.cancelView = this._createButtonView( locale, getTranslation( locale, 'No' ), icons.cancel, 'cancel' );\n\n\t\tthis.set( 'message', getTranslation( locale, 'Are you sure?' ) );\n\n\t\tthis.setTemplate( {\n\t\t\ttag: 'div',\n\n\t\t\tattributes: {\n\t\t\t\tclass: [ 'ck-thread__remove-confirm' ]\n\t\t\t},\n\n\t\t\tchildren: [\n\t\t\t\t{\n\t\t\t\t\ttag: 'div',\n\n\t\t\t\t\tattributes: {\n\t\t\t\t\t\tclass: 'ck-thread__remove-confirm-inner'\n\t\t\t\t\t},\n\n\t\t\t\t\tchildren: [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\ttag: 'p',\n\n\t\t\t\t\t\t\tchildren: [\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\ttext: bind.to( 'message' )\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t]\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\ttag: 'div',\n\n\t\t\t\t\t\t\tattributes: {\n\t\t\t\t\t\t\t\tclass: 'ck-thread__remove-confirm-actions'\n\t\t\t\t\t\t\t},\n\n\t\t\t\t\t\t\tchildren: [\n\t\t\t\t\t\t\t\tthis.submitView,\n\t\t\t\t\t\t\t\tthis.cancelView\n\t\t\t\t\t\t\t]\n\t\t\t\t\t\t}\n\t\t\t\t\t]\n\t\t\t\t}\n\t\t\t]\n\t\t} );\n\t}\n\n\t/**\n\t * @internal\n\t */\n\tprivate _createButtonView( locale: Locale, label: string, icon: string, event: string ) {\n\t\tconst button = new ButtonView( locale );\n\n\t\tbutton.label = label;\n\t\tbutton.icon = icon;\n\n\t\tbutton.extendTemplate( {\n\t\t\tattributes: {\n\t\t\t\tclass: `ck-thread__remove-confirm-${ event }`\n\t\t\t}\n\t\t} );\n\n\t\tbutton.on( 'execute', () => this.fire( event ) );\n\n\t\treturn button;\n\t}\n}\n","/**\n * @license Copyright (c) 2003-2024, 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 * @module collaboration-core/utils/getdatetimeformatter\n * @publicApi\n */\n\n// Do not merge these two imports into one. This will increase bundle size.\n// See https://github.com/cksource/letters/pull/1179#discussion_r137781398/\nimport format from 'date-fns/format/index.js';\nimport parseISO from 'date-fns/parseISO/index.js';\nimport differenceInCalendarDays from 'date-fns/differenceInCalendarDays/index.js';\nimport type { LocaleConfig } from '../config.js';\n\nimport { CKEditorError } from 'ckeditor5/src/utils.js';\n\n/**\n * Returns a function that formats the date to the set format.\n *\n * The default formatting can be changed by setting a custom formatting function to `config.locale.dateTimeFormat`.\n *\n * ```ts\n * \timport format from 'date-fns/format';\n *\n *\t\tClassicEditor\n *\t\t\t.create( document.querySelector( '#editor' ), {\n *\t\t\t\ttoolbar: {\n *\t\t\t\t\titems: [ 'bold', 'italic', '|', 'comment' ]\n *\t\t\t\t},\n *\t\t\t\tsidebar: {\n *\t\t\t\t\tcontainer: document.querySelector( '#sidebar' )\n *\t\t\t\t},\n *\t\t\t\tlocale: {\n *\t\t\t\t\tdateTimeFormat: date => format( date, 'dd/MM/yyyy' )\n *\t\t\t\t}\n *\t\t\t} )\n *\t\t\t.catch( error => console.error( error ) );\n * ```\n */\nexport default function getDateTimeFormatter( localeConfig: LocaleConfig = {} ): ( date: Date | string ) => string {\n\tif ( localeConfig.dateTimeFormat !== undefined && typeof localeConfig.dateTimeFormat != 'function' ) {\n\t\t/**\n\t\t * Date format must be a function.\n\t\t *\n\t\t * @error invalid-date-time-format\n\t\t */\n\t\tthrow new CKEditorError( 'invalid-date-time-format' );\n\t}\n\n\treturn date => {\n\t\tconst parsedDate = typeof date === 'string' ? parseISO( date ) : date;\n\t\tconst now = new Date();\n\t\tconst days = differenceInCalendarDays( now, parsedDate );\n\n\t\tif ( localeConfig.dateTimeFormat ) {\n\t\t\treturn localeConfig.dateTimeFormat( parsedDate );\n\t\t}\n\n\t\tif ( days === 0 ) {\n\t\t\treturn format( parsedDate, '\\'Today\\' hh:mma' );\n\t\t}\n\n\t\tif ( days === 1 ) {\n\t\t\treturn format( parsedDate, '\\'Yesterday\\' hh:mma' );\n\t\t}\n\n\t\tif ( days < 7 ) {\n\t\t\treturn format( parsedDate, '\\'Last\\' EEEE hh:mma' );\n\t\t}\n\n\t\treturn format( parsedDate, 'MM-dd-yyyy hh:mma' );\n\t};\n}\n","/**\n * @license Copyright (c) 2003-2024, 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 * @module comments/utils/getmarkerdomelement\n */\n\nimport { first } from 'ckeditor5/src/utils.js';\nimport type { EditingController, Marker } from 'ckeditor5/src/engine.js';\n\n/**\n * Returns a first DOM element mapped with the marker.\n *\n * @param editing Editing controller instance.\n * @param marker Marker instance.\n */\nexport default function getMarkerDomElement( editing: EditingController, marker: Marker ): HTMLElement | null {\n\tconst boundElements = editing.mapper.markerNameToElements( marker.name );\n\n\tif ( !boundElements ) {\n\t\treturn null;\n\t}\n\n\tconst viewElement = first( boundElements.values() )!;\n\tconst domElement = editing.view.domConverter.mapViewToDom( viewElement );\n\n\t// In rare cases, a marker might not have a DOM element yet even though it has view element(s).\n\t// It means that the DOM has not been re-rendered yet. Filter out those not-rendered view elements.\n\t// See also: https://github.com/cksource/ckeditor5-commercial/issues/5027.\n\treturn domElement || null;\n}\n\n/**\n * Returns all DOM elements mapped with all given markers. DOM elements are sorted by their client rects in top-most, left-most order.\n * Returns `null` if `markers` is empty or there are no DOM elements bound with the markers.\n *\n * Note, that markers should not intersect.\n *\n * @param editing Editing controller instance.\n * @param markers Markers instances.\n */\nexport function getAllMarkersDomElementsSorted( editing: EditingController, markers: Array<Marker> ): Array<HTMLElement> | null {\n\tif ( markers.length === 0 ) {\n\t\treturn null;\n\t}\n\n\tconst domElements = [];\n\tconst domConverter = editing.view.domConverter;\n\n\tfor ( const marker of markers ) {\n\t\tconst markerViewElements = editing.mapper.markerNameToElements( marker.name );\n\n\t\tif ( !markerViewElements ) {\n\t\t\tcontinue;\n\t\t}\n\n\t\tconst markerDomElements = Array.from( markerViewElements )\n\t\t\t.map( viewElement => domConverter.mapViewToDom( viewElement ) )\n\t\t\t// In rare cases, a marker might not have a DOM element yet even though it has view element(s).\n\t\t\t// It means that the DOM has not been re-rendered yet. Filter out those not-rendered view elements.\n\t\t\t// See also: https://github.com/cksource/ckeditor5-commercial/issues/5027.\n\t\t\t.filter( domElement => !!domElement );\n\n\t\tdomElements.push( ...markerDomElements as Array<HTMLElement> );\n\t}\n\n\tif ( domElements.length === 0 ) {\n\t\treturn null;\n\t}\n\n\tconst rects = [];\n\n\tfor ( const domElement of domElements ) {\n\t\tconst domRect = domElement.getClientRects().item( 0 );\n\n\t\tif ( domRect ) {\n\t\t\trects.push( {\n\t\t\t\tx: domRect.x,\n\t\t\t\ty: domRect.y,\n\t\t\t\tdomElement\n\t\t\t} );\n\t\t}\n\t}\n\n\tif ( rects.length === 0 ) {\n\t\treturn null;\n\t}\n\n\trects.sort( ( a, b ) => {\n\t\t// Top-most, then left-most.\n\t\treturn a.y - b.y || a.x - b.x;\n\t} );\n\n\treturn rects.map( rect => rect.domElement );\n}\n","/**\n * @license Copyright (c) 2003-2024, 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 * @module track-changes/utils/hashobject\n */\n\nexport default function hashObject( obj: Record<string, unknown> ): string {\n\t// Use two integers to have more unique hash.\n\tlet hash1 = 0;\n\tlet hash2 = 0;\n\n\tfor ( const number of objectToNumberGenerator( obj ) ) {\n\t\thash1 = ( ( hash1 << 5 ) - hash1 ) + number;\n\n\t\t// Convert to 32bit integer\n\t\thash1 = hash1 & hash1;\n\n\t\t// Swap hash1 and hash2\n\t\t[ hash1, hash2 ] = [ hash2, hash1 ];\n\t}\n\n\treturn toString( hash1 ) + toString( hash2 );\n}\n\nfunction* toNumberGenerator( variable: unknown ): IterableIterator<number> {\n\tif ( variable == null || variable == undefined ) {\n\t\t// Quasi-random value to avoid conflict with 0/false.\n\t\tyield 314159265;\n\t} else if ( variable === 0 || variable === false ) {\n\t\tyield 0;\n\t} else if ( variable === 1 || variable == true ) {\n\t\tyield 1;\n\t} else if ( Array.isArray( variable ) ) {\n\t\tyield* arrayToNumberGenerator( variable );\n\t} else if ( typeof variable == 'object' ) {\n\t\tyield* objectToNumberGenerator( variable );\n\t} else if ( typeof variable == 'string' ) {\n\t\tyield* stringToNumberGenerator( variable );\n\t} else if ( typeof variable == 'number' ) {\n\t\tyield variable;\n\t}\n}\n\nfunction* objectToNumberGenerator( obj: null | Partial<Record<string, unknown>> ): IterableIterator<number> {\n\tyield charCode( '{' );\n\n\t// `null` is an object but does not have any keys.\n\tif ( obj ) {\n\t\tconst sortedKeys = Object.keys( obj ).sort();\n\n\t\tfor ( const key of sortedKeys ) {\n\t\t\tyield* stringToNumberGenerator( key );\n\n\t\t\tyield charCode( ':' );\n\n\t\t\tconst value = obj[ key ];\n\t\t\tyield* toNumberGenerator( value );\n\t\t}\n\t}\n\n\tyield charCode( '}' );\n}\n\nfunction* arrayToNumberGenerator( arr: Array<unknown> ): IterableIterator<number> {\n\tfor ( const val of arr ) {\n\t\tyield* toNumberGenerator( val );\n\t}\n}\n\nfunction* stringToNumberGenerator( str: string ): IterableIterator<number> {\n\tyield charCode( '\"' );\n\n\tfor ( const char of str ) {\n\t\tyield charCode( char );\n\t}\n\n\tyield charCode( '\"' );\n}\n\nfunction charCode( char: string ): number {\n\treturn char.charCodeAt( 0 );\n}\n\nfunction toString( int: number ): string {\n\tint = int * Math.sign( int );\n\n\treturn int.toString( 36 );\n}\n","/**\n * @license Copyright (c) 2003-2024, 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 * @module collaboration-core/utils/common-translations\n */\n\nimport type { Editor, PluginConstructor, EditorConfig, PluginCollection } from 'ckeditor5/src/core.js';\n\n// List of EditorConfig options that cannot be loaded by virtual editor.\nconst blackListedConfigOptions = [\n\t'initialData',\n\t'context',\n\t'toolbar',\n\t'rootsAttributes'\n];\n\n// List of plugins that cannot be loaded by virtual editor.\nconst blackListedPlugins = [\n\t'WebSocketGateway',\n\t'RevisionTracker',\n\t'Autosave',\n\t'WordCount',\n\t'DocumentOutline',\n\t'WProofreader'\n];\n\n/**\n * A function that checks if plugin or one of its dependencies is a RTC plugin.\n */\nfunction skipRtcPlugins(\n\tplugin: PluginConstructor | string,\n\tvisitedPlugins: Map<string, boolean>,\n\tpluginCollection: PluginCollection<Editor>,\n\textraBlackListedPlugins: Array<string> = []\n): boolean {\n\tconst pluginConstructor = typeof plugin == 'string' ?\n\t\tpluginCollection.get( plugin )!.constructor as PluginConstructor :\n\t\tplugin;\n\n\tconst pluginName = pluginConstructor.pluginName || pluginConstructor.name;\n\n\tif ( visitedPlugins.has( pluginName ) ) {\n\t\treturn visitedPlugins.get( pluginName )!;\n\t}\n\n\t// TODO: This isn't correct but prevents infinite recursion in case of circular dependency in plugins.\n\t// TODO: It should not happen because plugins should not have circular dependency, but we had such cases in our own code...\n\tvisitedPlugins.set( pluginName, true );\n\n\tif ( pluginName && blackListedPlugins.concat( extraBlackListedPlugins ).includes( pluginName ) ) {\n\t\tvisitedPlugins.set( pluginName, false );\n\n\t\treturn false;\n\t}\n\n\t// `requires` may be undefined when the plugin has no dependencies.\n\tif ( !pluginConstructor.requires ) {\n\t\tvisitedPlugins.set( pluginName, true );\n\n\t\treturn true;\n\t}\n\n\tconst result = pluginConstructor.requires!.every(\n\t\trequired => skipRtcPlugins( required, visitedPlugins, pluginCollection, extraBlackListedPlugins )\n\t);\n\n\tvisitedPlugins.set( pluginName, result );\n\n\treturn result;\n}\n\n/**\n * A function that prepares config for internal editors removing all unnecessary plugins like RTC.\n *\n * @param editor The instance of the source editor.\n * @param extraBlackListedPlugins Additional list of plugins that should not be added to the config.\n */\nexport default function sanitizeEditorConfig( editor: Editor, extraBlackListedPlugins?: Array<string> ): EditorConfig {\n\tconst config: any = {};\n\n\tfor ( const name of editor.config.names() ) {\n\t\tif ( !blackListedConfigOptions.includes( name ) ) {\n\t\t\tconfig[ name ] = editor.config.get( name );\n\t\t}\n\t}\n\n\tconst configPlugins = config.plugins || [];\n\tconst builtinPlugins = ( editor.constructor as typeof Editor ).builtinPlugins || [];\n\tconst defaultPlugins: Array<string | PluginConstructor> = configPlugins.length ? configPlugins : builtinPlugins;\n\n\tconst extraPlugins = config.extraPlugins || [];\n\tdelete config.extraPlugins;\n\n\tconst removePlugins = config.removePlugins || [];\n\tdelete config.removePlugins;\n\n\tconst contextPlugins = ( editor as any )._context.config.get( 'plugins' ) || [];\n\n\tconst allPlugins = defaultPlugins.concat( extraPlugins ).concat( contextPlugins )\n\t\t.map( plugin => {\n\t\t\tif ( typeof plugin === 'string' ) {\n\t\t\t\treturn builtinPlugins.find( builtinPlugin => builtinPlugin.pluginName == plugin )!;\n\t\t\t}\n\n\t\t\treturn plugin;\n\t\t} )\n\t\t.filter( plugin => !removePlugins.includes( plugin ) && !removePlugins.includes( plugin.pluginName ) );\n\n\tconst plugins = Array.from( new Set( allPlugins ) ); // Remove duplicates.\n\tconst visitedPlugins = new Map();\n\n\tconfig.plugins = plugins.filter( plugin => skipRtcPlugins( plugin, visitedPlugins, editor.plugins, extraBlackListedPlugins ) );\n\n\treturn config;\n}\n","/**\n * @license Copyright (c) 2003-2024, 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 * @module collaboration-core/utils/surroundingmarkersdetector\n */\n\nimport type { Marker, Model, Position, SelectionChangeRangeEvent } from 'ckeditor5/src/engine.js';\n\n/**\n * A utility that responds to range changes in the document selection and detects which markers' ranges\n * touch or contain (surround) the document selection's focus.\n */\nexport default function surroundingMarkersDetector(\n\tmodel: Model,\n\tonMarkersChange: ( changedMarkers: { left: Array<Marker>; entered: Array<Marker> } ) => void\n): void {\n\tconst previousSurroundingSuggestionMarkers: Array<Marker> = [];\n\n\tmodel.document.selection.on<SelectionChangeRangeEvent>( 'change:range', () => {\n\t\tconst surroundingMarkers = getSurroundingMarkers( model, model.document.selection.focus! );\n\t\tconst leftSurroundingMarkers = [];\n\t\tconst enteredSurroundingMarkers = [];\n\t\tconst newSurroundingSuggestionMarkers = [];\n\n\t\tfor ( const surroundingSuggestionMarker of previousSurroundingSuggestionMarkers ) {\n\t\t\tif ( !surroundingMarkers.includes( surroundingSuggestionMarker ) ) {\n\t\t\t\tleftSurroundingMarkers.push( surroundingSuggestionMarker );\n\t\t\t}\n\t\t}\n\n\t\tfor ( const marker of surroundingMarkers ) {\n\t\t\tif ( !previousSurroundingSuggestionMarkers.includes( marker ) ) {\n\t\t\t\tenteredSurroundingMarkers.push( marker );\n\t\t\t}\n\n\t\t\tnewSurroundingSuggestionMarkers.push( marker );\n\t\t}\n\n\t\tif ( leftSurroundingMarkers.length || enteredSurroundingMarkers.length ) {\n\t\t\tonMarkersChange( {\n\t\t\t\tleft: leftSurroundingMarkers,\n\t\t\t\tentered: enteredSurroundingMarkers\n\t\t\t} );\n\t\t}\n\n\t\tpreviousSurroundingSuggestionMarkers.length = 0;\n\t\tpreviousSurroundingSuggestionMarkers.push( ...newSurroundingSuggestionMarkers );\n\t} );\n}\n\nfunction getSurroundingMarkers( model: Model, position: Position ): Array<Marker> {\n\tconst surroundingMarkers = [];\n\n\tfor ( const marker of model.markers ) {\n\t\tconst markerRange = marker.getRange();\n\n\t\tif ( markerRange.containsPosition( position ) || markerRange.start.isEqual( position ) || markerRange.end.isEqual( position ) ) {\n\t\t\tsurroundingMarkers.push( marker );\n\t\t}\n\t}\n\n\treturn surroundingMarkers;\n}\n","/**\n * @license Copyright (c) 2003-2024, 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 * Trims text inside a html tags and takes care of all closing tags.\n *\n * @param html\n * @param options\n * @param limit Limit of the characters.\n * @param suffix\n */\nexport default function trimHtml( html: string, { limit, suffix = '...' }: { limit: number; suffix?: string } ): string {\n\tconst remainingTags = [];\n\tlet sum = 0;\n\n\t// Split html to array with tags and text\n\t// <div>foo bar <p>biz</p></div> -> [ '<div>', 'foo bar ', '<p>', 'biz', '</p>', '</div>' ]\n\tconst elements = html\n\t\t.replace( /</g, '\\n<' )\n\t\t.replace( />/g, '>\\n' )\n\t\t.replace( /^\\n/g, '' )\n\t\t.replace( /\\n$/g, '' )\n\t\t.split( '\\n' );\n\n\t// Moves through elements and:\n\t//\n\t// 1. Counts characters excluding opening and closing tags.\n\t// 2. Breaks text when limit is reached but do not break a word. When limit is reached inside a word,\n\t// break the text after the word.\n\t// 3. After reaching the limit takes care of all closing tags.\n\tfor ( let i = 0; i < elements.length; i++ ) {\n\t\tlet element = elements[ i ];\n\t\tconst charactersArray = splitCharactersToArray( element );\n\n\t\t// Handle text.\n\t\tif ( !element.startsWith( '<' ) ) {\n\t\t\tif ( sum >= limit ) {\n\t\t\t\telement = '';\n\t\t\t} else if ( ( sum + charactersArray.length ) >= limit ) {\n\t\t\t\tlet cutIndex = limit - sum;\n\n\t\t\t\t// When cutting after a whitespace we need to move backward by one character.\n\t\t\t\t// This implementation does not take multiple spaces into consideration.\n\t\t\t\tif ( charactersArray[ cutIndex - 1 ] === ' ' ) {\n\t\t\t\t\tcutIndex--;\n\t\t\t\t// Otherwise we need to move after current word.\n\t\t\t\t} else {\n\t\t\t\t\tconst whiteSpaceIndex = charactersArray.slice( cutIndex ).indexOf( ' ' );\n\n\t\t\t\t\tif ( whiteSpaceIndex !== -1 ) {\n\t\t\t\t\t\tcutIndex += whiteSpaceIndex;\n\t\t\t\t\t} else {\n\t\t\t\t\t\tcutIndex = element.length;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\telement = charactersArray.slice( 0, cutIndex ).join( '' ) + suffix;\n\t\t\t\tsum = limit;\n\t\t\t} else {\n\t\t\t\tsum += charactersArray.length;\n\t\t\t}\n\n\t\t// Handle closing tag when limit is reached.\n\t\t} else if ( sum >= limit ) {\n\t\t\tconst tagNameMatch = element.match( /[a-zA-Z]+/ );\n\n\t\t\tif ( !tagNameMatch ) {\n\t\t\t\telements[ i ] = '';\n\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\tconst tagName = tagNameMatch[ 0 ];\n\n\t\t\tif ( !element.startsWith( '</' ) ) {\n\t\t\t\tremainingTags.push( tagName );\n\t\t\t\telement = '';\n\t\t\t} else {\n\t\t\t\tif ( remainingTags.length ) {\n\t\t\t\t\telement = '';\n\t\t\t\t}\n\n\t\t\t\tremainingTags.pop();\n\t\t\t}\n\t\t}\n\n\t\telements[ i ] = element;\n\t}\n\n\treturn elements.join( '\\n' ).replace( /\\n/g, '' );\n}\n\nfunction splitCharactersToArray( string: string ): Array<string> {\n\tconst result = [];\n\n\tfor ( let i = 0; i < string.length; i++ ) {\n\t\tconst subString = string.substring( i );\n\n\t\t// Count HTML entities as one character.\n\t\tconst matchEntity = subString.match( /^&[a-z0-9#]+;/ );\n\n\t\t// If there is an entity then count it as one and jump after it.\n\t\tif ( matchEntity ) {\n\t\t\tconst character = matchEntity[ 0 ];\n\t\t\tresult.push( character );\n\t\t\ti += ( character.length - 1 );\n\n\t\t// Otherwise just add a regular character\n\t\t} else {\n\t\t\tresult.push( string[ i ] );\n\t\t}\n\t}\n\n\treturn result;\n}\n","/**\n * @license Copyright (c) 2003-2024, 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\nexport * from '@ckeditor/ckeditor5-collaboration-core';\n\nimport paintRoller from '../theme/icons/paint-roller.svg';\nimport robotPencil from '../theme/icons/robot-pencil.svg';\nimport tableOfContents from '../theme/icons/table-of-contents.svg';\nimport template from './../theme/icons/template.svg';\nimport caseChange from './../theme/icons/case-change.svg';\n\nexport const icons = {\n\tpaintRoller,\n\trobotPencil,\n\ttableOfContents,\n\ttemplate,\n\tcaseChange\n};\n","/**\n * @license Copyright (c) 2003-2024, 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\nimport type {\n\tFormatPainter,\n\tFormatPainterEditing,\n\tFormatPainterUI,\n\tPasteFormatCommand,\n\tCopyFormatCommand,\n\tCOPY_FORMAT_COMMAND_NAME,\n\tPASTE_FORMAT_COMMAND_NAME\n} from './index.js';\n\ndeclare module '@ckeditor/ckeditor5-core' {\n\tinterface PluginsMap {\n\t\t[ FormatPainter.pluginName ]: FormatPainter;\n\t\t[ FormatPainterEditing.pluginName ]: FormatPainterEditing;\n\t\t[ FormatPainterUI.pluginName ]: FormatPainterUI;\n\t}\n\tinterface CommandsMap {\n\t\t[ COPY_FORMAT_COMMAND_NAME ]: CopyFormatCommand;\n\t\t[ PASTE_FORMAT_COMMAND_NAME ]: PasteFormatCommand;\n\t}\n}\n","/**\n * @license Copyright (c) 2003-2024, 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 * @module format-painter/copyformatcommand\n * @publicApi\n */\n\nimport { Command, type Editor } from 'ckeditor5/src/core.js';\nimport type { FormattingAttributesValues } from './formatpainterediting.js';\n\nimport { PASTE_FORMAT_COMMAND_NAME } from './utils.js';\n\n/**\n * This command copies the formatting from the current {@link module:engine/model/selection~Selection model selection}\n * and stores it in its {@link module:format-painter/copyformatcommand~CopyFormatCommand#value} property.\n *\n * The formatting can then be pasted using the {@link module:format-painter/pasteformatcommand~PasteFormatCommand}.\n *\n * @extends module:core/command~Command\n */\nexport default class CopyFormatCommand extends Command {\n\tdeclare public value: FormattingAttributesValues | undefined;\n\n\t/**\n\t * Creates a new `CopyFormatCommand` instance.\n\t *\n\t * @param {module:core/editor/editor~Editor} editor The editor on which this command will be used.\n\t */\n\tconstructor( editor: Editor ) {\n\t\tsuper( editor );\n\n\t\t/**\n\t\t * The object containing attributes and their values copied after executing the command.\n\t\t *\n\t\t * **Note**: Use {@link #reset} to clear this value and set it back to `undefined`.\n\t\t *\n\t\t * @observable\n\t\t * @readonly\n\t\t */\n\t\tthis.value = undefined;\n\n\t\tthis.on( 'change:isEnabled', ( evt, name, isEnabled ) => {\n\t\t\tif ( !isEnabled ) {\n\t\t\t\tthis.reset();\n\t\t\t}\n\t\t} );\n\n\t\tthis.on( 'change:value', () => editor.commands.get( PASTE_FORMAT_COMMAND_NAME )!.refresh() );\n\t}\n\n\t/**\n\t * Executes the command. The formatting is then stored in the {@link #value} property.\n\t *\n\t * @fires execute\n\t */\n\tpublic override execute(): void {\n\t\tthis.value = this._getFormattingAttributes();\n\t}\n\n\t/**\n\t * Resets the stored formatting.\n\t */\n\tpublic reset(): void {\n\t\tthis.value = undefined;\n\t}\n\n\t/**\n\t * Returns an object with all available attributes that have the `isFormatting` property set to `true`.\n\t *\n\t * @internal\n\t * @returns Formatting attributes' values.\n\t */\n\tprivate _getFormattingAttributes(): FormattingAttributesValues {\n\t\tconst editor = this.editor;\n\t\tconst model = editor.model;\n\t\tconst selection = model.document.selection;\n\n\t\treturn Object.fromEntries(\n\t\t\tArray.from( selection.getAttributes() )\n\t\t\t\t.filter( ( [ key ] ) => model.schema.getAttributeProperties( key ).isFormatting )\n\t\t);\n\t}\n}\n","/**\n * @license Copyright (c) 2003-2024, 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 * @module format-painter/formatpainter\n * @publicApi\n */\n\nimport { Plugin } from 'ckeditor5/src/core.js';\n\nimport FormatPainterEditing from './formatpainterediting.js';\nimport FormatPainterUI from './formatpainterui.js';\n\n/**\n * The format painter feature.\n *\n * For a detailed overview, check the {@glink features/format-painter Format painter} feature documentation.\n *\n * @extends module:core/plugin~Plugin\n */\nexport default class FormatPainter extends Plugin {\n\t/**\n\t * @inheritDoc\n\t */\n\tpublic static get requires() {\n\t\treturn [ FormatPainterEditing, FormatPainterUI ] as const;\n\t}\n\n\t/**\n\t * @inheritDoc\n\t */\n\tpublic static get pluginName() {\n\t\treturn 'FormatPainter' as const;\n\t}\n}\n","/**\n * @license Copyright (c) 2003-2024, 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 * @module format-painter/formatpainterediting\n */\n\nimport { Plugin, type Editor } from 'ckeditor5/src/core.js';\nimport { CKEditorError } from 'ckeditor5/src/utils.js';\n\nimport CopyFormatCommand from './copyformatcommand.js';\nimport PasteFormatCommand from './pasteformatcommand.js';\nimport { COPY_FORMAT_COMMAND_NAME, PASTE_FORMAT_COMMAND_NAME } from './utils.js';\n\n/**\n * The format painter editing feature. It introduces two commands: `copyFormat` and `pasteFormat`.\n */\nexport default class FormatPainterEditing extends Plugin {\n\tdeclare public licenseKey: string;\n\n\t/**\n\t * @internal\n\t */\n\tprivate _licenseKeyCheckInterval: ReturnType<typeof setInterval> | null;\n\n\t/**\n\t * @inheritDoc\n\t */\n\tpublic static get pluginName() {\n\t\treturn 'FormatPainterEditing' as const;\n\t}\n\n\t/**\n\t * @inheritDoc\n\t */\n\tconstructor( editor: Editor ) {\n\t\tsuper( editor );\n\n\t\tthis._licenseKeyCheckInterval = null;\n\t}\n\n\t/**\n\t * @inheritDoc\n\t */\n\tpublic init(): void {\n\t\tconst editor = this.editor;\n\n\t\teditor.commands.add( COPY_FORMAT_COMMAND_NAME, new CopyFormatCommand( editor ) );\n\t\teditor.commands.add( PASTE_FORMAT_COMMAND_NAME, new PasteFormatCommand( editor ) );\n\n\t\t// Fake variable to mislead anyone trying to reverse engineer obfuscated code.\n\t\tthis.licenseKey = editor.config.get( 'licenseKey' ) as string;\n\n\t\t// License status handling starts here.\n\t\tconst context = this.editor;\n\n\t\t// Checks the result of license key validation.\n\t\t// Some plugins validates the license key to check if user is allowed to use them.\n\t\t// When key is not valid then core editor function is disabled and special status is set.\n\t\t// Code for checking the result of the validation is placed here to hide the place where validation is\n\t\t// processed to make it more difficult to find it and crack it.\n\t\tthis._licenseKeyCheckInterval = setInterval( () => {\n\t\t\tlet licenseStatus;\n\n\t\t\tfor ( const i in context ) {\n\t\t\t\tconst key = i as keyof typeof context;\n\t\t\t\tconst v = context[ key ];\n\n\t\t\t\tif (\n\t\t\t\t\tv === 'formatPainterLicenseKeyTrial' ||\n\t\t\t\t\tv === 'formatPainterLicenseKeyInvalid' ||\n\t\t\t\t\tv === 'formatPainterLicenseKeyValid' ||\n\t\t\t\t\tv === 'formatPainterLicenseKeyTrialLimit:operations'\n\t\t\t\t) {\n\t\t\t\t\tdelete context[ key ];\n\n\t\t\t\t\tlicenseStatus = v;\n\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif ( licenseStatus === 'formatPainterLicenseKeyInvalid' ) {\n\t\t\t\tclearInterval( this._licenseKeyCheckInterval! );\n\n\t\t\t\t/**\n\t\t\t\t * Invalid license key. Please contact our customer support at https://ckeditor.com/contact/.\n\t\t\t\t *\n\t\t\t\t * @error format-painter-invalid-license-key\n\t\t\t\t */\n\t\t\t\tthrow new CKEditorError( 'format-painter-invalid-license-key', null );\n\t\t\t}\n\n\t\t\tif ( licenseStatus === 'formatPainterLicenseKeyTrial' ) {\n\t\t\t\tconsole.info(\n\t\t\t\t\t'You are using the trial version of CKEditor 5 format painter plugin with limited usage. ' +\n\t\t\t\t\t'Make sure you will not use it in the production environment.'\n\t\t\t\t);\n\t\t\t}\n\n\t\t\tif ( licenseStatus === 'formatPainterLicenseKeyTrialLimit:operations' ) {\n\t\t\t\tclearInterval( this._licenseKeyCheckInterval! );\n\n\t\t\t\t/**\n\t\t\t\t * You have exhausted the trial usage limit (reason: reached document changes limit). Restart the editor.\n\t\t\t\t *\n\t\t\t\t * Please contact our customer support to get a full access at https://ckeditor.com/contact/.\n\t\t\t\t *\n\t\t\t\t * @error format-painter-trial-license-key-reached-limit-changes\n\t\t\t\t */\n\t\t\t\tthrow new CKEditorError(\n\t\t\t\t\t'format-painter-trial-license-key-reached-limit-changes',\n\t\t\t\t\tnull\n\t\t\t\t);\n\t\t\t}\n\n\t\t\tif ( licenseStatus === 'formatPainterLicenseKeyValid' ) {\n\t\t\t\tclearInterval( this._licenseKeyCheckInterval! );\n\t\t\t}\n\t\t}, 1000 );\n\t}\n\n\t/**\n\t * @inheritDoc\n\t */\n\tpublic override destroy(): void {\n\t\tif ( this._licenseKeyCheckInterval ) {\n\t\t\tclearInterval( this._licenseKeyCheckInterval );\n\t\t}\n\t}\n}\n\n/**\n * An object with key-value pairs describing formatting model attributes and their values.\n */\nexport type FormattingAttributesValues = {\n\t[ k: string ]: unknown;\n};\n","/**\n * @license Copyright (c) 2003-2024, 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 * @module format-painter/formatpainterui\n */\n\nimport {\n\tContext,\n\tPlugin,\n\ttype ContextPlugin,\n\ttype Editor,\n\ttype PluginConstructor\n} from 'ckeditor5/src/core.js';\nimport { addListToDropdown, createDropdown, ViewModel, SplitButtonView } from 'ckeditor5/src/ui.js';\nimport { Collection, global, DomEmitterMixin } from 'ckeditor5/src/utils.js';\nimport { ClickObserver } from 'ckeditor5/src/engine.js';\n\nimport { icons } from 'ckeditor5-collaboration/src/collaboration-core.js';\n\nimport '../theme/formatpainter.css';\n\nimport { COPY_FORMAT_COMMAND_NAME, PASTE_FORMAT_COMMAND_NAME, CURSOR_ACTIVE_CSS_CLASS } from './utils.js';\n\n/**\n * The format painter UI feature. It introduces the `formatPainter` dropdown with a \"Continuous painting\"\n * switch button.\n *\n * The first click on the dropdown button copies the formatting of the selected text.\n * Then the next click in the editor editable pastes the formatting.\n */\nexport default class FormatPainterUI extends DomEmitterMixin( Plugin ) {\n\t/**\n\t * @inheritDoc\n\t */\n\tpublic static get pluginName() {\n\t\treturn 'FormatPainterUI' as const;\n\t}\n\n\t/**\n\t * @inheritDoc\n\t */\n\tpublic init(): void {\n\t\tconst editor: Editor = this.editor;\n\n\t\teditor.editing.view.addObserver( ClickObserver );\n\n\t\teditor.ui.componentFactory.add( 'formatPainter', locale => {\n\t\t\tconst t = locale.t;\n\t\t\tconst dropdownView = createDropdown( locale, SplitButtonView );\n\t\t\tconst copyFormatCommand = editor.commands.get( COPY_FORMAT_COMMAND_NAME );\n\n\t\t\tdropdownView.buttonView.set( {\n\t\t\t\tlabel: t( 'Paint formatting' ),\n\t\t\t\ticon: icons.paintRoller,\n\t\t\t\t// keystroke: 'Ctrl+Shift+C',\n\t\t\t\ttooltip: true\n\t\t\t} );\n\n\t\t\tdropdownView.class = 'ck-format-painter-dropdown';\n\n\t\t\tif ( copyFormatCommand ) {\n\t\t\t\tdropdownView.bind( 'isEnabled' ).to( copyFormatCommand, 'isEnabled' );\n\n\t\t\t\tthis.listenTo( copyFormatCommand, 'change:isEnabled', ( evt, name, isEnabled ) => {\n\t\t\t\t\tif ( !isEnabled ) {\n\t\t\t\t\t\tthis._finishPainting();\n\t\t\t\t\t}\n\t\t\t\t} );\n\n\t\t\t\tdropdownView.buttonView.bind( 'isOn' ).to( copyFormatCommand, 'value', value => !!value );\n\n\t\t\t\tthis.listenTo( editor, 'destroy', () => this._toggleSpecialCursor( false ) );\n\n\t\t\t\tthis.listenTo( copyFormatCommand, 'change:value', ( evtInfo, data, value ) => {\n\t\t\t\t\tthis._toggleSpecialCursor( !!value );\n\t\t\t\t} );\n\t\t\t}\n\n\t\t\t// Add the switch button for the \"Continuous painting\" mode.\n\t\t\tconst continuousPaintingButtonModel = new ViewModel( {\n\t\t\t\twithText: true,\n\t\t\t\tlabel: t( 'Continuous painting' ),\n\t\t\t\ttooltip: t( 'Keeps the painter on after setting the formatting.' ),\n\t\t\t\tisOn: false\n\t\t\t} );\n\n\t\t\taddListToDropdown( dropdownView, new Collection( [\n\t\t\t\t{ type: 'switchbutton', model: continuousPaintingButtonModel }\n\t\t\t] ) );\n\n\t\t\tthis.listenTo( dropdownView, 'execute', () => {\n\t\t\t\tcontinuousPaintingButtonModel.isOn = !continuousPaintingButtonModel.isOn;\n\t\t\t} );\n\n\t\t\t// If button was clicked and it was off before, execute the command.\n\t\t\t// Otherwise, remove the copied formatting.\n\t\t\tthis.listenTo( dropdownView.buttonView, 'execute', () => {\n\t\t\t\tif ( !dropdownView.buttonView.isOn ) {\n\t\t\t\t\teditor.execute( COPY_FORMAT_COMMAND_NAME );\n\t\t\t\t\teditor.ui.ariaLiveAnnouncer.announce( 'formatPainter', t( 'Formatting copied.' ) );\n\n\t\t\t\t\t// Use mouseup on the global document in case the user crossed the boundary of the editing root\n\t\t\t\t\t// while selecting text (e.g. a full content selection).\n\t\t\t\t\tthis.listenTo( global.window.document, 'mouseup', () => {\n\t\t\t\t\t\tconst formattingToSet = editor.commands.get( COPY_FORMAT_COMMAND_NAME )!.value;\n\t\t\t\t\t\teditor.execute( PASTE_FORMAT_COMMAND_NAME, formattingToSet );\n\t\t\t\t\t\teditor.ui.ariaLiveAnnouncer.announce( 'formatPainter', t( 'Pasted formatting.' ) );\n\n\t\t\t\t\t\tif ( !continuousPaintingButtonModel.isOn ) {\n\t\t\t\t\t\t\tthis._finishPainting();\n\t\t\t\t\t\t}\n\t\t\t\t\t} );\n\t\t\t\t}\n\t\t\t\t// Or clear the command state if it was already active.\n\t\t\t\telse {\n\t\t\t\t\tthis._finishPainting();\n\t\t\t\t}\n\t\t\t} );\n\n\t\t\treturn dropdownView;\n\t\t} );\n\t}\n\n\t/**\n\t * @inheritDoc\n\t */\n\tpublic afterInit(): void {\n\t\t/* LICENSE_CHECKER_CALL_PATTERN_START */\n\n\t\t// Note this weird name is to make it similar to the obfuscated code.\n\t\t// Unfortunately it's not handled by the obfuscator because of https://github.com/cksource/collaboration-features/issues/2287.\n\t\tx8eE( this );\n\n\t\t/* LICENSE_CHECKER_CALL_PATTERN_END */\n\t}\n\n\t/**\n\t * Toggles the visibility of the special cursor when the format painter is active.\n\t *\n\t * @internal\n\t * @param isCopyingFormat Whether the format painter is active.\n\t */\n\tprivate _toggleSpecialCursor( isCopyingFormat: boolean ) {\n\t\tthis.editor.editing.view.change( writer => {\n\t\t\tfor ( const root of this.editor.editing.view.document.roots ) {\n\t\t\t\tif ( isCopyingFormat ) {\n\t\t\t\t\twriter.addClass( CURSOR_ACTIVE_CSS_CLASS, root );\n\t\t\t\t} else {\n\t\t\t\t\twriter.removeClass( CURSOR_ACTIVE_CSS_CLASS, root );\n\t\t\t\t}\n\t\t\t}\n\t\t} );\n\t}\n\n\t/**\n\t * Clears the copy format command value and stops listening to the click event.\n\t *\n\t * @internal\n\t */\n\tprivate _finishPainting() {\n\t\tthis.editor.commands.get( COPY_FORMAT_COMMAND_NAME )!.reset();\n\n\t\tthis.stopListening( global.window.document, 'mouseup' );\n\t}\n}\n\n/* LICENSE_CHECKER_DEFINITION_PATTERN_START */\n\n// Scope for checking license key.\n//\n// Please, do not modify this file as its original content is located in the `cksource/ckeditor5-dev-private` repository\n// and all changes can be lost while preparing the CKEditor 5 packages to release.\n//\n// All string occurrences inside this function will be changed to the binary format to make them less readable.\n/* istanbul ignore next -- @preserve */\nfunction x8eE( pluginInstance: Plugin | ContextPlugin ): void {\n\t/* eslint-disable dot-notation, max-len, no-useless-computed-key, no-unexpected-multiline */\n\t/* MASK_STRING */\n\n\t( ( pluginInstance: Plugin | ContextPlugin ) => {\n\t\t/**\n\t\t * @internal\n\t\t */\n\t\tinterface DecodedLicense {\n\n\t\t\t/**\n\t\t\t * The product name for which the license key is generated.\n\t\t\t */\n\t\t\tproductName: string;\n\n\t\t\t/**\n\t\t\t * A permission mask that keeps the available features.\n\t\t\t */\n\t\t\tallowedPlugins: number;\n\n\t\t\t/**\n\t\t\t * Expiration date represented by a number with the following format: `YYYYMMDD`.\n\t\t\t */\n\t\t\texpirationDate: number;\n\n\t\t\t/**\n\t\t\t * If set to `0`, it represents a trial license. An editor usage is limited to operations or a time limit.\n\t\t\t */\n\t\t\tisTrial: number;\n\n\t\t\t/**\n\t\t\t * If set to `0`, it represents a non-internal license, used outside the CKEditor 5 documentation.\n\t\t\t */\n\t\t\tisInternal: number;\n\t\t}\n\n\t\t/**\n\t\t * @internal\n\t\t */\n\t\tinterface PluginConfig {\n\n\t\t\t/**\n\t\t\t * A unique feature ID. Based on that, a permission mask is generated automatically.\n\t\t\t */\n\t\t\tid: number;\n\n\t\t\t/**\n\t\t\t * A unique feature name. It is not used when securing a plugin.\n\t\t\t */\n\t\t\tfeatureName: string;\n\n\t\t\t/**\n\t\t\t * A unique plugin name where the license mechanism is injected.\n\t\t\t */\n\t\t\tpluginName: string;\n\n\t\t\t/**\n\t\t\t * The license verification mechanism sets an unknown property on an editor or a context\n\t\t\t * instance with a status of a given license key.\n\t\t\t *\n\t\t\t * This property describes a prefix for all messages. See the following examples:\n\t\t\t * \t\t* `licenseKey`: `licenseKeyInvalid`, `licenseKeyValid`, `licenseKeyTrialLimit:time`.\n\t\t\t * \t\t* `paginationLicenseKey`: `paginationLicenseKeyInvalid`, `paginationLicenseKeyValid`, ....\n\t\t\t *\n\t\t\t * These statuses are used in an interval function to display a message to the end-user\n\t\t\t * that a license key is invalid/expired/etc.\n\t\t\t */\n\t\t\tlicenseStatusPrefix: string;\n\n\t\t\t/**\n\t\t\t * A name of a function used to verify if a given license is allowed to enable the `pluginName` plugin.\n\t\t\t *\n\t\t\t * See the body of the `checkLicenseForPlugin()` function.\n\t\t\t */\n\t\t\thandler: string;\n\n\t\t\t/**\n\t\t\t * Generated automatically a permission mask based on the feature id. It is stored in the generated license and enables\n\t\t\t * the `pluginName` plugin in the editor.\n\t\t\t */\n\t\t\tpermissionMask?: number;\n\n\t\t\t/**\n\t\t\t * An optional array containing a configuration of nested features that should also be checked\n\t\t\t * while checking if the `featureName` feature is allowed.\n\t\t\t *\n\t\t\t * Nested features may not have their entry point in the licensing checker procedure\n\t\t\t * so that they may be checked within the scope of another feature. Regardless of how any\n\t\t\t * feature is checked, each can have its licensing handler.\n\t\t\t *\n\t\t\t * @defaultValue []\n\t\t\t */\n\t\t\tcheckAlso?: Array<PluginConfig>;\n\n\t\t\t/**\n\t\t\t * @defaultValue {}\n\t\t\t */\n\t\t\toptions?: {\n\n\t\t\t\t/**\n\t\t\t\t * Full name: \"allowIfWebSocketGatewayIsConnected\".\n\t\t\t\t *\n\t\t\t\t * The license is not checked on a client machine when set to `true`.\n\t\t\t\t * Instead, Cloud Services verifies it when a client sends an operation to the server, e.g., typing in RTC.\n\t\t\t\t *\n\t\t\t\t * @defaultValue false\n\t\t\t\t */\n\t\t\t\taiwsgic?: boolean;\n\n\t\t\t\t/**\n\t\t\t\t * Full name: \"allowIfTrackChangesDataGetterIsLoaded\".\n\t\t\t\t *\n\t\t\t\t * A flag whether to allow the feature even without entering a license key,\n\t\t\t\t * if a special fake `TrackChangesDataGetter` class exists.\n\t\t\t\t *\n\t\t\t\t * @defaultValue false\n\t\t\t\t */\n\t\t\t\taitcdgil?: boolean;\n\n\t\t\t\t/**\n\t\t\t\t * Full name: \"allowIfRevisionViewerIntegrationIsLoaded\".\n\t\t\t\t *\n\t\t\t\t * A flag whether to allow the feature even without entering a license key,\n\t\t\t\t * if a special fake `RevisionViewerIntegration` class exists.\n\t\t\t\t *\n\t\t\t\t * @defaultValue false\n\t\t\t\t */\n\t\t\t\tairviil?: boolean;\n\n\t\t\t\t/**\n\t\t\t\t * Full name: \"featureGroupId\".\n\t\t\t\t *\n\t\t\t\t * Specifies the feature group identifier, to which the feature belongs.\n\t\t\t\t * If the license key allows the group, each plugin in this group is allowed as well.\n\t\t\t\t *\n\t\t\t\t * @defaultValue null\n\t\t\t\t */\n\t\t\t\tfgi?: number | null;\n\t\t\t};\n\t\t}\n\n\t\t/**\n\t\t * @internal\n\t\t */\n\t\tinterface PluginGroupConfig {\n\n\t\t\t/**\n\t\t\t * A unique feature group ID. Based on that, a permission mask is generated automatically.\n\t\t\t */\n\t\t\tid: number;\n\n\t\t\t/**\n\t\t\t * A unique feature group name. It is not used when securing a plugin.\n\t\t\t */\n\t\t\tfeatureName: string;\n\n\t\t\t/**\n\t\t\t * Generated automatically a permission mask based on the feature group id. It is stored in the generated license and enables\n\t\t\t * all plugins that belong to this group.\n\t\t\t */\n\t\t\tpermissionMask?: number;\n\t\t}\n\n\t\t/**\n\t\t * @internal\n\t\t */\n\t\ttype ConfigEntry = PluginConfig | PluginGroupConfig;\n\n\t\tfunction getPremiumFeaturesConfig(): Array<ConfigEntry> {\n\t\t\t// Computed keys allow obfuscating properties in the configuration object making everything much harder to decrypt.\n\t\t\t// At least, visually.\n\t\t\tconst config = [\n\t\t\t\t{\n\t\t\t\t\t[ 'id' ]: 1,\n\t\t\t\t\t[ 'featureName' ]: 'Comments',\n\t\t\t\t\t[ 'pluginName' ]: 'CommentsRepository',\n\t\t\t\t\t[ 'licenseStatusPrefix' ]: 'licenseKey',\n\t\t\t\t\t[ 'handler' ]: 'checkLicense',\n\t\t\t\t\t[ 'checkAlso' ]: [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t[ 'id' ]: 2,\n\t\t\t\t\t\t\t[ 'featureName' ]: 'Track Changes',\n\t\t\t\t\t\t\t[ 'pluginName' ]: 'TrackChangesEditing',\n\t\t\t\t\t\t\t[ 'licenseStatusPrefix' ]: 'licenseKey',\n\t\t\t\t\t\t\t[ 'handler' ]: 'checkLicenseForTrackChanges',\n\t\t\t\t\t\t\t[ 'options' ]: {\n\t\t\t\t\t\t\t\t[ 'aiwsgic' ]: true,\n\t\t\t\t\t\t\t\t[ 'aitcdgil' ]: true,\n\t\t\t\t\t\t\t\t[ 'airviil' ]: true\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t],\n\t\t\t\t\t[ 'options' ]: {\n\t\t\t\t\t\t[ 'aiwsgic' ]: true,\n\t\t\t\t\t\t[ 'aitcdgil' ]: true,\n\t\t\t\t\t\t[ 'airviil' ]: true\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t[ 'id' ]: 3,\n\t\t\t\t\t[ 'featureName' ]: 'Pagination',\n\t\t\t\t\t[ 'pluginName' ]: 'PaginationLookup',\n\t\t\t\t\t[ 'licenseStatusPrefix' ]: 'paginationLicenseKey',\n\t\t\t\t\t[ 'handler' ]: 'checkLicense'\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t[ 'id' ]: 4,\n\t\t\t\t\t[ 'featureName' ]: 'Revision History',\n\t\t\t\t\t[ 'pluginName' ]: 'RevisionsRepository',\n\t\t\t\t\t[ 'licenseStatusPrefix' ]: 'licenseKey',\n\t\t\t\t\t[ 'handler' ]: 'checkLicenseForRevisionHistory',\n\t\t\t\t\t[ 'options' ]: {\n\t\t\t\t\t\t[ 'aiwsgic' ]: true,\n\t\t\t\t\t\t[ 'aitcdgil' ]: true,\n\t\t\t\t\t\t[ 'airviil' ]: true\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t[ 'id' ]: 5,\n\t\t\t\t\t[ 'featureName' ]: 'Document Outline',\n\t\t\t\t\t[ 'pluginName' ]: 'DocumentOutlineUI',\n\t\t\t\t\t[ 'licenseStatusPrefix' ]: 'documentOutlineLicenseKey',\n\t\t\t\t\t[ 'handler' ]: 'checkLicense',\n\t\t\t\t\t[ 'options' ]: {\n\t\t\t\t\t\t[ 'fgi' ]: 12\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t[ 'id' ]: 6,\n\t\t\t\t\t[ 'featureName' ]: 'Format Painter',\n\t\t\t\t\t[ 'pluginName' ]: 'FormatPainterUI',\n\t\t\t\t\t[ 'licenseStatusPrefix' ]: 'formatPainterLicenseKey',\n\t\t\t\t\t[ 'handler' ]: 'checkLicense',\n\t\t\t\t\t[ 'options' ]: {\n\t\t\t\t\t\t[ 'fgi' ]: 12\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t[ 'id' ]: 7,\n\t\t\t\t\t[ 'featureName' ]: 'Slash Command',\n\t\t\t\t\t[ 'pluginName' ]: 'SlashCommandUI',\n\t\t\t\t\t[ 'licenseStatusPrefix' ]: 'slashCommandLicenseKey',\n\t\t\t\t\t[ 'handler' ]: 'checkLicense',\n\t\t\t\t\t[ 'options' ]: {\n\t\t\t\t\t\t[ 'fgi' ]: 12\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t[ 'id' ]: 8,\n\t\t\t\t\t[ 'featureName' ]: 'Table of Contents',\n\t\t\t\t\t[ 'pluginName' ]: 'TableOfContentsEditing',\n\t\t\t\t\t[ 'licenseStatusPrefix' ]: 'tableOfContentsLicenseKey',\n\t\t\t\t\t[ 'handler' ]: 'checkLicense',\n\t\t\t\t\t[ 'options' ]: {\n\t\t\t\t\t\t[ 'fgi' ]: 12\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t[ 'id' ]: 9,\n\t\t\t\t\t[ 'featureName' ]: 'Template',\n\t\t\t\t\t[ 'pluginName' ]: 'TemplateUI',\n\t\t\t\t\t[ 'licenseStatusPrefix' ]: 'templateLicenseKey',\n\t\t\t\t\t[ 'handler' ]: 'checkLicense',\n\t\t\t\t\t[ 'options' ]: {\n\t\t\t\t\t\t[ 'fgi' ]: 12\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t[ 'id' ]: 10,\n\t\t\t\t\t[ 'featureName' ]: 'Paste from Office Enhanced',\n\t\t\t\t\t[ 'pluginName' ]: 'PasteFromOfficeEnhancedInliner',\n\t\t\t\t\t[ 'licenseStatusPrefix' ]: 'pasteFromOfficeEnhancedLicenseKey',\n\t\t\t\t\t[ 'handler' ]: 'checkLicense',\n\t\t\t\t\t[ 'options' ]: {\n\t\t\t\t\t\t[ 'fgi' ]: 12\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t[ 'id' ]: 11,\n\t\t\t\t\t[ 'featureName' ]: 'AI Assistant',\n\t\t\t\t\t[ 'pluginName' ]: 'AIAssistantUI',\n\t\t\t\t\t[ 'licenseStatusPrefix' ]: 'aiLicenseKey',\n\t\t\t\t\t[ 'handler' ]: 'checkLicense'\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t[ 'id' ]: 12,\n\t\t\t\t\t[ 'featureName' ]: 'Productivity pack'\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t[ 'id' ]: 13,\n\t\t\t\t\t[ 'featureName' ]: 'Case Change',\n\t\t\t\t\t[ 'pluginName' ]: 'CaseChangeUI',\n\t\t\t\t\t[ 'licenseStatusPrefix' ]: 'caseChangeLicenseKey',\n\t\t\t\t\t[ 'handler' ]: 'checkLicense',\n\t\t\t\t\t[ 'options' ]: {\n\t\t\t\t\t\t[ 'fgi' ]: 12\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t];\n\n\t\t\taddPermissionMask( config );\n\n\t\t\treturn config;\n\n\t\t\t// Permission mask is a number, which in binary format defines features that are allowed (bit is set) and features that are not allowed\n\t\t\t// (bit is not set). Each feature occupies one bit position. Bit positions are counted from 0 but feature ids are counted from 1.\n\t\t\t// To calculate the permission mask, shift the bit corresponding to the given feature to the left by the appropriate number of places.\n\t\t\tfunction getPermissionMaskForId( id: number ): number {\n\t\t\t\treturn 1 << ( id - 1 );\n\t\t\t}\n\n\t\t\tfunction addPermissionMask( config: Array<ConfigEntry> ) {\n\t\t\t\tconfig[ 'forEach' ]( feature => {\n\t\t\t\t\tfeature[ 'permissionMask' ] = getPermissionMaskForId( feature[ 'id' ] );\n\n\t\t\t\t\tif ( isPluginConfig( feature ) && feature[ 'checkAlso' ] ) {\n\t\t\t\t\t\taddPermissionMask( feature[ 'checkAlso' ] );\n\t\t\t\t\t}\n\t\t\t\t} );\n\t\t\t}\n\t\t}\n\n\t\tfunction isPluginConfig( entry: ConfigEntry ): entry is PluginConfig {\n\t\t\treturn 'pluginName' in entry;\n\t\t}\n\n\t\tconst rawAesKey1 = [ 1, 85, 78, 115, 198, 255, 50, 112, 83, 87, 161 ];\n\n\t\tconst rawAesKey3 = [ 127, 34, 6, 211, 167, 86, 146, 199, 132, 160, 18 ];\n\n\t\t// Decrypts license key using raw aes key that is stored in the code (split into the 3 parts).\n\t\t//\n\t\t// License key is a Base64 that contains encrypted data and initialization vector (last 12 characters of the decoded string)\n\t\t// Each license key has its own initialization vector that has been used for the encryption process and needs\n\t\t// to be extracted from the key and used for the decryption process as well.\n\t\tfunction decryptLicenseKey( base64LicenseKey: string ): string {\n\t\t\t// The second part of the raw aes key. Will be used to for decrypting license key.\n\t\t\tconst rawAesKey2 = [ 29, 221, 175, 90, 231, 133, 239, 240, 75, 180 ];\n\n\t\t\t// Concat parts of the raw aes key into one binary array.\n\t\t\tconst rawAesKey = new Uint8Array( [ ...rawAesKey1, ...rawAesKey2, ...rawAesKey3 ] );\n\n\t\t\treturn decrypt( base64LicenseKey, rawAesKey );\n\t\t}\n\n\t\t// Decrypts license key. Returns JSON string with decrypted data.\n\t\tfunction decrypt( licenseKey: string, aesKey: Uint8Array ): string {\n\t\t\tconst encryptedString = getKey( licenseKey );\n\t\t\tconst encryptedArray = Array[ 'from' ]( stringToArray( encryptedString ) );\n\n\t\t\tconst saltByte2 = encryptedArray[ 'pop' ]()!;\n\t\t\tconst saltByte1 = encryptedArray[ 'pop' ]()!;\n\t\t\tconst counterValue = saltByte1 + saltByte2 * 256;\n\n\t\t\tconst jsonArray = aesCtr256( encryptedArray, aesKey, counterValue );\n\n\t\t\treturn arrayToString( jsonArray );\n\t\t}\n\n\t\t// Returns the license keys based on its format.\n\t\t// Read more: https://www.notion.so/Powered-by-CKEditor-e617fbad5a0f4df2a89f23aefc11ab1e.\n\t\tfunction getKey( licenseKey: string ): string {\n\t\t\tconst key = atob( licenseKey );\n\t\t\tconst [ license, date ] = key[ 'split' ]( '-' );\n\n\t\t\ttry {\n\t\t\t\tif ( atob( date ) ) {\n\t\t\t\t\t// New license.\n\t\t\t\t\treturn atob( license );\n\t\t\t\t}\n\t\t\t} catch ( err ) {\n\t\t\t\t// eslint-disable no-empty\n\t\t\t}\n\n\t\t\t// Old license.\n\t\t\treturn key;\n\t\t}\n\n\t\t/**\n\t\t * Tries to decode the license.\n\t\t */\n\t\tfunction decodeLicenseKey( licenseKey: string ): DecodedLicense | null {\n\t\t\ttry {\n\t\t\t\tconst decryptedKey = decryptLicenseKey( licenseKey );\n\t\t\t\tconst data = JSON[ 'parse' ]( decryptedKey );\n\t\t\t\tconst expirationDate = parseInt( data[ '1' ] );\n\t\t\t\tconst productName = data[ '2' ] || '';\n\t\t\t\tconst isTrial = parseInt( data[ '3' ] );\n\t\t\t\tconst allowedPlugins = parseInt( data[ '4' ] ) || 0;\n\t\t\t\tconst isInternal = parseInt( data[ '5' ] ) || 0;\n\n\t\t\t\treturn {\n\t\t\t\t\t[ 'productName' ]: productName,\n\t\t\t\t\t[ 'allowedPlugins' ]: allowedPlugins,\n\t\t\t\t\t[ 'expirationDate' ]: expirationDate,\n\t\t\t\t\t[ 'isTrial' ]: isTrial,\n\t\t\t\t\t[ 'isInternal' ]: isInternal\n\t\t\t\t};\n\t\t\t} catch ( e ) {\n\t\t\t\treturn null;\n\t\t\t}\n\t\t}\n\n\t\t// This is to verify if a user is allowed to use certain plugin based on license key that contains encoded data as\n\t\t// expiration date or plugin permissions.\n\t\t//\n\t\t// Validation is executed after a delay and a randomly named variable on `editor` is set as the result.\n\t\tconst premiumFeatures = getPremiumFeaturesConfig();\n\n\t\tconst premiumHandlers: Record<string, Function> = {\n\t\t\t[ 'checkLicense' ]: checkLicense,\n\t\t\t[ 'checkLicenseForTrackChanges' ]: checkLicenseForTrackChanges,\n\t\t\t[ 'checkLicenseForRevisionHistory' ]: checkLicenseForRevisionHistory\n\t\t};\n\n\t\tconst pluginName = ( pluginInstance[ 'constructor' ] as PluginConstructor )[ 'pluginName' ];\n\n\t\tconst editorOrContext = 'context' in pluginInstance ?\n\t\t\tpluginInstance.context as Context :\n\t\t\tpluginInstance.editor as Editor;\n\n\t\t// Plugin release date, which is used for validation purpose.\n\t\t// The release date is calculated and inserted automatically by the license injector script.\n\t\t// See \"src/licensing/injector/index.ts\" (`ckeditor5-dev-private`).\n\t\t//\n\t\t// DO NOT CHANGE THE LINE BELOW!\n\t\tconst featureReleaseDate = /* LICENSE_CHECKER_RELEASE_DATE_PATTERN_START */ '40480414'; /* LICENSE_CHECKER_RELEASE_DATE_PATTERN_END */\n\n\t\tconst alphanumericString = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789';\n\n\t\tconst licenseKey = editorOrContext.config.get( 'licenseKey' ) as string;\n\n\t\tconst pluginConfig = premiumFeatures\n\t\t\t[ 'filter' ]( isPluginConfig )\n\t\t\t[ 'find' ]( feature => feature[ 'pluginName' ] === pluginName );\n\n\t\t// If the plugin configuration is found, execute its license handler.\n\t\tif ( pluginConfig ) {\n\t\t\tcheckLicenseForPlugin( decodeLicenseKey( licenseKey ), pluginConfig );\n\t\t}\n\n\t\tfunction checkLicenseForPlugin( decodedLicense: DecodedLicense | null, pluginConfig: PluginConfig ): void {\n\t\t\tpremiumHandlers[ pluginConfig[ 'handler' ] ]( decodedLicense, pluginConfig );\n\n\t\t\tif ( pluginConfig[ 'checkAlso' ] ) {\n\t\t\t\tpluginConfig[ 'checkAlso' ]\n\t\t\t\t\t[ 'filter' ]( pluginConfig => hasPlugin( editorOrContext, pluginConfig[ 'pluginName' ] ) )\n\t\t\t\t\t[ 'forEach' ]( pluginConfig => checkLicenseForPlugin( decodedLicense, pluginConfig ) );\n\t\t\t}\n\t\t}\n\n\t\tfunction checkLicense( decodedLicense: DecodedLicense | null, pluginConfig: PluginConfig ): void {\n\t\t\tconst licenseStatus = getLicenseStatus( decodedLicense, pluginConfig );\n\n\t\t\thandleLicenseStatus( licenseStatus, pluginConfig );\n\t\t}\n\n\t\tfunction checkLicenseForTrackChanges( decodedLicense: DecodedLicense | null, pluginConfig: PluginConfig ): void {\n\t\t\tconst licenseStatus = getLicenseStatusForTrackChanges( decodedLicense, pluginConfig );\n\n\t\t\thandleLicenseStatus( licenseStatus, pluginConfig );\n\n\t\t\tfunction getLicenseStatusForTrackChanges( decodedLicense: DecodedLicense | null, pluginConfig: PluginConfig ): string {\n\t\t\t\ttry {\n\t\t\t\t\t// Check if subscription does not expire for the TrackChanges plugin.\n\t\t\t\t\tif ( hasPlugin( editorOrContext, 'TrackChangesEditing' ) && decodedLicense ) {\n\t\t\t\t\t\tconst executeSuggestion = getPlugin( editorOrContext, 'TrackChangesEditing' )[ '_executeSuggestion' ];\n\n\t\t\t\t\t\t// Release date is multiplied by 2 to make it less readable.\n\t\t\t\t\t\tif ( ( parseInt( executeSuggestion ) / 2 ) > decodedLicense[ 'expirationDate' ] ) {\n\t\t\t\t\t\t\treturn generateLicenseKeyVariable( pluginConfig[ 'licenseStatusPrefix' ] + 'Invalid' );\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\treturn getLicenseStatus( decodedLicense, pluginConfig );\n\t\t\t\t} catch ( e ) {\n\t\t\t\t\treturn generateLicenseKeyVariable( pluginConfig[ 'licenseStatusPrefix' ] + 'Invalid' );\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tfunction checkLicenseForRevisionHistory( decodedLicense: DecodedLicense | null, pluginConfig: PluginConfig ): void {\n\t\t\tconst lkTrialTimeCheckString = rawAesKey3[ 0 ] * rawAesKey1[ 1 ];\n\t\t\tconst lkTrialRevisionsCheckString = rawAesKey3[ 0 ] * rawAesKey1[ 2 ];\n\t\t\tconst lkWsgCheckString = rawAesKey3[ 2 ] * rawAesKey1[ 2 ];\n\n\t\t\tif ( hasPlugin( editorOrContext, 'WebSocketGateway' ) ) {\n\t\t\t\tif ( getPlugin( editorOrContext, 'WebSocketGateway' )[ 'state' ] == 'connected' ) {\n\t\t\t\t\t( window[ getRandomVariableName() as any ] as any ) = lkWsgCheckString;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tconst licenseStatus = getLicenseStatusForRevisionHistory( decodedLicense, pluginConfig );\n\n\t\t\thandleLicenseStatusForRevisionHistory( licenseStatus, pluginConfig );\n\n\t\t\tfunction getLicenseStatusForRevisionHistory( decodedLicense: DecodedLicense | null, pluginConfig: PluginConfig ): string {\n\t\t\t\ttry {\n\t\t\t\t\tif ( checkAlreadyEnabled() ) {\n\t\t\t\t\t\treturn generateLicenseKeyVariable( pluginConfig[ 'licenseStatusPrefix' ] + 'Valid' );\n\t\t\t\t\t}\n\n\t\t\t\t\treturn getLicenseStatus( decodedLicense, pluginConfig );\n\t\t\t\t} catch ( e ) {\n\t\t\t\t\treturn generateLicenseKeyVariable( pluginConfig[ 'licenseStatusPrefix' ] + 'Invalid' );\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tfunction handleLicenseStatusForRevisionHistory( status: string, pluginConfig: PluginConfig ): void {\n\t\t\t\tconst revisionsLimit = 7; // Initial + current + 5 revisions.\n\n\t\t\t\tif ( status == pluginConfig[ 'licenseStatusPrefix' ] + 'Invalid' ) {\n\t\t\t\t\t// Disable the editor.\n\t\t\t\t\tdisableEditor();\n\t\t\t\t} else if ( status == pluginConfig[ 'licenseStatusPrefix' ] + 'Trial' ) {\n\t\t\t\t\tconst isDisabled = checkAlreadyDisabledTrial();\n\n\t\t\t\t\tif ( isDisabled ) {\n\t\t\t\t\t\tdisableTrial( isDisabled, pluginConfig[ 'licenseStatusPrefix' ] );\n\t\t\t\t\t}\n\n\t\t\t\t\t// Time limit.\n\t\t\t\t\tconst time = getTimeLimit();\n\n\t\t\t\t\twindow[ 'setTimeout' ]( () => {\n\t\t\t\t\t\tdisableTrial( 'time', pluginConfig[ 'licenseStatusPrefix' ] );\n\t\t\t\t\t}, time );\n\n\t\t\t\t\t// Revisions limit.\n\t\t\t\t\tconst revisions = getPlugin( editorOrContext, 'RevisionsRepository' )[ '_revisions' ];\n\n\t\t\t\t\tif ( revisions[ 'length' ] >= revisionsLimit ) {\n\t\t\t\t\t\tdisableTrial( 'revisions', pluginConfig[ 'licenseStatusPrefix' ] );\n\t\t\t\t\t} else {\n\t\t\t\t\t\trevisions.on( 'add', () => {\n\t\t\t\t\t\t\tif ( revisions[ 'length' ] >= revisionsLimit ) {\n\t\t\t\t\t\t\t\tdisableTrial( 'revisions', pluginConfig[ 'licenseStatusPrefix' ] );\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} );\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tfunction checkAlreadyDisabledTrial(): false | string {\n\t\t\t\tif ( !hasPlugin( editorOrContext, 'RevisionViewer' ) ) {\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\n\t\t\t\tfor ( const i in window ) {\n\t\t\t\t\t// Prevent accessing iframe by accident. See https://github.com/cksource/collaboration-features/issues/4370.\n\t\t\t\t\t// Frames are under string properties that are consecutive numbers, i.e., '0', '1', '2', etc.\n\t\t\t\t\t// Our \"random property name\" will always have some characters, so it will be `NaN` after converting to a number.\n\t\t\t\t\tif ( !Number.isNaN( Number( i ) ) ) {\n\t\t\t\t\t\tcontinue;\n\t\t\t\t\t}\n\n\t\t\t\t\tif ( window[ i ] as any === lkTrialTimeCheckString ) {\n\t\t\t\t\t\treturn 'time';\n\t\t\t\t\t}\n\n\t\t\t\t\tif ( window[ i ] as any === lkTrialRevisionsCheckString ) {\n\t\t\t\t\t\treturn 'revisions';\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\treturn false;\n\t\t\t}\n\n\t\t\tfunction checkAlreadyEnabled(): boolean {\n\t\t\t\tif ( !hasPlugin( editorOrContext, 'RevisionViewer' ) ) {\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\n\t\t\t\tfor ( const i in window ) {\n\t\t\t\t\t// Prevent accessing iframe by accident. See https://github.com/cksource/collaboration-features/issues/4370.\n\t\t\t\t\tif ( !Number.isNaN( Number( i ) ) ) {\n\t\t\t\t\t\tcontinue;\n\t\t\t\t\t}\n\n\t\t\t\t\tif ( window[ i ] as any === lkWsgCheckString ) {\n\t\t\t\t\t\treturn true;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\treturn false;\n\t\t\t}\n\n\t\t\tfunction disableTrial( reason: string, prefix: string ): void {\n\t\t\t\tdisableEditor();\n\t\t\t\tgenerateLicenseKeyVariable( prefix + 'TrialLimit:' + reason );\n\n\t\t\t\t( window[ getRandomVariableName() as any ] as any ) = reason === 'time' ? lkTrialTimeCheckString : lkTrialRevisionsCheckString;\n\t\t\t}\n\n\t\t\tfunction getTimeLimit(): number {\n\t\t\t\tlet limit = rawAesKey3[ 6 ] * rawAesKey1[ 8 ] * rawAesKey1[ 6 ]; // 146 * 83 * 50 = 605900 ~ ten minutes.\n\n\t\t\t\tif ( hasPlugin( editorOrContext, 'RevisionViewer' ) ) {\n\t\t\t\t\tlimit = limit / 10; // ~ 1 minute.\n\t\t\t\t}\n\n\t\t\t\treturn limit;\n\t\t\t}\n\n\t\t\t/**\n\t\t\t * Disables the key editor method and marks the editor as blocked.\n\t\t\t */\n\t\t\tfunction disableEditor(): void {\n\t\t\t\tconst editor = editorOrContext as Editor;\n\n\t\t\t\tif ( editor[ 'state' ] == 'ready' ) {\n\t\t\t\t\t_disable();\n\t\t\t\t} else {\n\t\t\t\t\teditor[ 'once' ]( 'ready', () => {\n\t\t\t\t\t\tif ( hasPlugin( editor, 'RevisionTracker' ) ) {\n\t\t\t\t\t\t\t_disable();\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tif ( hasPlugin( editor, 'RevisionViewer' ) ) {\n\t\t\t\t\t\t\tconst repo = getPlugin( editor, 'RevisionsRepository' );\n\t\t\t\t\t\t\tconst v1 = repo.getRevision( 0 );\n\t\t\t\t\t\t\tconst v2 = repo.getEarlierVisibleRevision( v1[ 'id' ] );\n\n\t\t\t\t\t\t\tgetPlugin( editor, 'RevisionViewer' )[ 'compare' ]( v1[ 'id' ], v2 ? v2[ 'id' ] : null, 1 )\n\t\t\t\t\t\t\t\t.then( () => _disable() );\n\t\t\t\t\t\t}\n\t\t\t\t\t} );\n\t\t\t\t}\n\n\t\t\t\t/**\n\t\t\t\t * @internal\n\t\t\t\t */\n\t\t\t\tfunction _disable(): void {\n\t\t\t\t\tif ( hasPlugin( editor, 'RevisionTracker' ) ) {\n\t\t\t\t\t\tgetPlugin( editor, 'RevisionTracker' )[ 'unbind' ]( 'isEnabled' );\n\t\t\t\t\t\tgetPlugin( editor, 'RevisionTracker' )[ 'isEnabled' ] = false;\n\t\t\t\t\t\tgetPlugin( editor, 'RevisionTracker' )[ 'update' ] = emptyFunc;\n\t\t\t\t\t\tgetPlugin( editor, 'RevisionTracker' )[ 'saveRevision' ] = emptyFunc;\n\n\t\t\t\t\t\teditor[ 'model' ][ 'change' ] = emptyFunc as any;\n\t\t\t\t\t\teditor[ 'model' ][ 'enqueueChange' ] = emptyFunc as any;\n\n\t\t\t\t\t\t// A random, not easy to find lock name.\n\t\t\t\t\t\teditor[ 'enableReadOnlyMode' ]( 'model' );\n\t\t\t\t\t}\n\n\t\t\t\t\tif ( hasPlugin( editor, 'RevisionViewer' ) ) {\n\t\t\t\t\t\tgetPlugin( editor, 'RevisionViewer' )[ 'unbind' ]( 'isEnabled' );\n\t\t\t\t\t\tgetPlugin( editor, 'RevisionViewer' )[ 'isEnabled' ] = false;\n\n\t\t\t\t\t\tgetPlugin( editor, 'RevisionViewer' )[ 'compare' ] = emptyFunc;\n\t\t\t\t\t\tgetPlugin( editor, 'RevisionViewer' )[ '_getDiff' ] = emptyFunc;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t/**\n\t\t * Checks if license key is valid, i.e. whether the premium feature is allowed to be used.\n\t\t */\n\t\tfunction getLicenseStatus( decodedLicense: DecodedLicense | null, pluginConfig: PluginConfig ): string {\n\t\t\ttry {\n\t\t\t\t// Check if the feature is allowed even without providing the license key.\n\t\t\t\tif ( isPluginAllowedWithoutLicense( pluginConfig ) ) {\n\t\t\t\t\treturn generateLicenseKeyVariable( pluginConfig[ 'licenseStatusPrefix' ] + 'Valid' );\n\t\t\t\t}\n\n\t\t\t\t// Check if the license has been encoded correctly.\n\t\t\t\tif ( !decodedLicense ) {\n\t\t\t\t\treturn generateLicenseKeyVariable( pluginConfig[ 'licenseStatusPrefix' ] + 'Invalid' );\n\t\t\t\t}\n\n\t\t\t\t// Check if the features used in the build are allowed.\n\t\t\t\tif ( !isPluginAllowedByLicense( decodedLicense[ 'allowedPlugins' ], pluginConfig ) ) {\n\t\t\t\t\treturn generateLicenseKeyVariable( pluginConfig[ 'licenseStatusPrefix' ] + 'Invalid' );\n\t\t\t\t}\n\n\t\t\t\t// Check if the build is used in our internal code and if it is used properly.\n\t\t\t\tif ( decodedLicense[ 'isInternal' ] ) {\n\t\t\t\t\tif ( !( window as any )[ 'open' ][ 'closed' ] ) {\n\t\t\t\t\t\treturn generateLicenseKeyVariable( pluginConfig[ 'licenseStatusPrefix' ] + 'Invalid' );\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\t// Check if subscription does not expire for the Comments plugin.\n\t\t\t\t// Release date is multiplied by 2 to make it less readable.\n\t\t\t\tif ( ( parseInt( featureReleaseDate ) / 2 ) > decodedLicense[ 'expirationDate' ] ) {\n\t\t\t\t\treturn generateLicenseKeyVariable( pluginConfig[ 'licenseStatusPrefix' ] + 'Invalid' );\n\t\t\t\t}\n\n\t\t\t\t// Check if subscription is for a trial.\n\t\t\t\tif ( decodedLicense[ 'isTrial' ] ) {\n\t\t\t\t\treturn generateLicenseKeyVariable( pluginConfig[ 'licenseStatusPrefix' ] + 'Trial' );\n\t\t\t\t}\n\n\t\t\t\treturn generateLicenseKeyVariable( pluginConfig[ 'licenseStatusPrefix' ] + 'Valid' );\n\t\t\t} catch ( e ) {\n\t\t\t\treturn generateLicenseKeyVariable( pluginConfig[ 'licenseStatusPrefix' ] + 'Invalid' );\n\t\t\t}\n\t\t}\n\n\t\tfunction handleLicenseStatus( status: string, pluginConfig: PluginConfig ): void {\n\t\t\tconst isContext = editorOrContext instanceof Context;\n\n\t\t\tif ( isContext ) {\n\t\t\t\tconst context = editorOrContext;\n\n\t\t\t\t// If we are operating in `Context` then use time to limit how long the editor is operating\n\t\t\t\t// and disable all the editors and `CommentsRepository` at the same time.\n\t\t\t\tif ( status == pluginConfig[ 'licenseStatusPrefix' ] + 'Invalid' ) {\n\t\t\t\t\tdisableContext( context );\n\t\t\t\t} else if ( status == pluginConfig[ 'licenseStatusPrefix' ] + 'Trial' ) {\n\t\t\t\t\twindow[ 'setTimeout' ]( () => {\n\t\t\t\t\t\tdisableContext( context );\n\t\t\t\t\t\tgenerateLicenseKeyVariable( pluginConfig[ 'licenseStatusPrefix' ] + 'TrialLimit:time' );\n\t\t\t\t\t}, rawAesKey3[ 6 ] * rawAesKey1[ 8 ] * rawAesKey1[ 6 ] ); // 146 * 83 * 50 = 605900 ~ ten minutes.\n\t\t\t\t}\n\n\t\t\t\t// When a new editor is added to the context, disable it, if needed.\n\t\t\t\tcontext[ 'editors' ][ 'on' ]( 'add', ( evt, newEditor ) => {\n\t\t\t\t\tif (\n\t\t\t\t\t\tstatus == pluginConfig[ 'licenseStatusPrefix' ] + 'Invalid' ||\n\t\t\t\t\t\tstatus == pluginConfig[ 'licenseStatusPrefix' ] + 'TrialLimit:time' ||\n\t\t\t\t\t\tstatus == pluginConfig[ 'licenseStatusPrefix' ] + 'TrialLimit:operations'\n\t\t\t\t\t) {\n\t\t\t\t\t\tdisableEditor( newEditor );\n\t\t\t\t\t}\n\t\t\t\t} );\n\t\t\t} else {\n\t\t\t\tconst editor = editorOrContext;\n\n\t\t\t\tif ( status == pluginConfig[ 'licenseStatusPrefix' ] + 'Invalid' ) {\n\t\t\t\t\t// Disable just the editor.\n\t\t\t\t\tdisableEditor( editor );\n\t\t\t\t} else if ( status == pluginConfig[ 'licenseStatusPrefix' ] + 'Trial' ) {\n\t\t\t\t\t// If we are operating in `Editor` then use number of operations to put the editor in the read-only mode.\n\t\t\t\t\teditor[ 'on' ]( 'ready', () => {\n\t\t\t\t\t\tlet operationsCounter = 0;\n\n\t\t\t\t\t\teditor[ 'model' ][ 'on' ]( 'applyOperation', ( evt: any, args: Record<string, any> ) => {\n\t\t\t\t\t\t\tif ( args[ 0 ][ 'isDocumentOperation' ] ) {\n\t\t\t\t\t\t\t\toperationsCounter++;\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tif ( operationsCounter === 28 * 18 ) {\n\t\t\t\t\t\t\t\tdisableEditor( editor );\n\t\t\t\t\t\t\t\tgenerateLicenseKeyVariable( pluginConfig[ 'licenseStatusPrefix' ] + 'TrialLimit:operations' );\n\t\t\t\t\t\t\t\tevt[ 'off' ]();\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}, { priority: 'highest' } );\n\t\t\t\t\t} );\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tfunction generateLicenseKeyVariable( status: string ): string {\n\t\t\tconst varName = getRandomVariableName();\n\n\t\t\t( editorOrContext as Editor & Record<string, string> )[ varName ] = status;\n\n\t\t\treturn status;\n\t\t}\n\n\t\tfunction getRandomVariableName(): string {\n\t\t\tconst intAsString = String( window[ 'performance' ][ 'now' ]() )[ 'replace' ]( '.', '' );\n\t\t\tlet varName = '';\n\n\t\t\tfor ( let i = 0; i < intAsString[ 'length' ]; i += 2 ) {\n\t\t\t\tlet randomNumber = parseInt( intAsString[ 'substring' ]( i, i + 2 ) );\n\n\t\t\t\tif ( randomNumber >= alphanumericString[ 'length' ] ) {\n\t\t\t\t\trandomNumber -= alphanumericString[ 'length' ];\n\t\t\t\t}\n\n\t\t\t\t// Limit characters only to a-z (65-90) and 0-9 (48-59).\n\t\t\t\tvarName += alphanumericString[ randomNumber ];\n\t\t\t}\n\n\t\t\treturn varName;\n\t\t}\n\n\t\tfunction disableContext( context: Context ): void {\n\t\t\tfor ( const editor of context[ 'editors' ] ) {\n\t\t\t\tdisableEditor( editor );\n\t\t\t}\n\n\t\t\tgetPlugin( context, 'CommentsRepository' )[ 'switchReadOnly' ]( true );\n\t\t\tgetPlugin( context, 'CommentsRepository' )[ 'switchReadOnly' ] = emptyFunc;\n\t\t}\n\n\t\tfunction disableEditor( editor: Editor ): void {\n\t\t\tif ( editor[ 'state' ] == 'ready' ) {\n\t\t\t\t_disable();\n\t\t\t} else {\n\t\t\t\teditor[ 'once' ]( 'ready', () => _disable() );\n\t\t\t}\n\n\t\t\t/**\n\t\t\t * @internal\n\t\t\t */\n\t\t\tfunction _disable(): void {\n\t\t\t\teditor[ 'model' ][ 'change' ] = emptyFunc as any;\n\t\t\t\teditor[ 'model' ][ 'enqueueChange' ] = emptyFunc as any;\n\n\t\t\t\teditor[ 'enableReadOnlyMode' ]( 'model' );\n\t\t\t}\n\t\t}\n\n\t\tfunction emptyFunc(): null {\n\t\t\treturn null;\n\t\t}\n\n\t\tfunction isPluginAllowedByLicense( allowedPluginsMask: number, pluginConfig: PluginConfig ): boolean {\n\t\t\tconst isAllowedByOwnLicense = !!( allowedPluginsMask & pluginConfig[ 'permissionMask' ]! );\n\t\t\tconst isAllowedByGroupLicense = isPluginAllowedByGroupLicense( allowedPluginsMask, pluginConfig );\n\n\t\t\treturn isAllowedByOwnLicense || isAllowedByGroupLicense;\n\t\t}\n\n\t\tfunction isPluginAllowedByGroupLicense( allowedPluginsMask: number, pluginConfig: PluginConfig ): boolean {\n\t\t\tconst options = pluginConfig[ 'options' ] || {};\n\t\t\tconst v0fgi = options[ 'fgi' ] || null;\n\n\t\t\tif ( !v0fgi ) {\n\t\t\t\treturn false;\n\t\t\t}\n\n\t\t\tconst featureGroupConfig = premiumFeatures[ 'find' ]( feature => feature[ 'id' ] === v0fgi );\n\n\t\t\tif ( !featureGroupConfig ) {\n\t\t\t\treturn false;\n\t\t\t}\n\n\t\t\treturn !!( allowedPluginsMask & featureGroupConfig[ 'permissionMask' ]! );\n\t\t}\n\n\t\tfunction isPluginAllowedWithoutLicense( pluginConfig: PluginConfig ): boolean {\n\t\t\tconst isPluginLoaded = hasPlugin( editorOrContext, pluginConfig[ 'pluginName' ] );\n\n\t\t\tif ( !isPluginLoaded ) {\n\t\t\t\treturn true;\n\t\t\t}\n\n\t\t\tconst options = pluginConfig[ 'options' ] || {};\n\t\t\tconst v0aiwsgic = options[ 'aiwsgic' ] || false;\n\t\t\tconst v0aitcdgil = options[ 'aitcdgil' ] || false;\n\t\t\tconst v0airviil = options[ 'airviil' ] || false;\n\n\t\t\t// isWebSocketGatewayConnected\n\t\t\tconst x0iswsgc =\n\t\t\t\thasPlugin( editorOrContext, 'WebSocketGateway' ) &&\n\t\t\t\tgetPlugin( editorOrContext, 'WebSocketGateway' )[ 'state' ] == 'connected';\n\n\t\t\t// Do not check the license key when the CS RealTimeCollaborativeEditing is enabled.\n\t\t\tif ( x0iswsgc && v0aiwsgic ) {\n\t\t\t\treturn true;\n\t\t\t}\n\n\t\t\t// isTrackChangesDataGetterLoaded\n\t\t\tconst x0itcdgl =\n\t\t\t\thasPlugin( editorOrContext, 'TrackChangesDataGetter' ) &&\n\t\t\t\tgetPlugin( editorOrContext, 'TrackChangesDataGetter' )[ 'result' ] == 'end';\n\n\t\t\t// Do not check the license key when the fake TrackChangesDataGetter plugin is enabled.\n\t\t\t// It is used by a virtual editor of the TrackChangedData plugin.\n\t\t\tif ( x0itcdgl && v0aitcdgil ) {\n\t\t\t\treturn true;\n\t\t\t}\n\n\t\t\t// isRevisionViewerIntegrationLoaded\n\t\t\tconst x0irvil =\n\t\t\t\thasPlugin( editorOrContext, 'RevisionViewerIntegration' ) &&\n\t\t\t\tgetPlugin( editorOrContext, 'RevisionViewerIntegration' )[ 'result' ] == 'end';\n\n\t\t\t// Do not check the license key when the fake RevisionViewerIntegration plugin is enabled.\n\t\t\tif ( x0irvil && v0airviil ) {\n\t\t\t\treturn true;\n\t\t\t}\n\n\t\t\treturn false;\n\t\t}\n\n\t\tfunction hasPlugin( editorOrContext: Editor | Context, pluginName: string ): boolean {\n\t\t\treturn editorOrContext[ 'plugins' ][ 'has' ]( pluginName );\n\t\t}\n\n\t\tfunction getPlugin( editorOrContext: Editor | Context, pluginName: string ): any {\n\t\t\treturn editorOrContext[ 'plugins' ][ 'get' ]( pluginName );\n\t\t}\n\n\t\t// Converts array with bytes into a `String`.\n\t\tfunction arrayToString( value: Array<number> ): string {\n\t\t\tlet string = '';\n\n\t\t\tfor ( const byte of value ) {\n\t\t\t\tstring += String[ 'fromCharCode' ]( byte );\n\t\t\t}\n\n\t\t\treturn string;\n\t\t}\n\n\t\t// Converts string into `Uint8Array` containing characters as bytes.\n\t\tfunction stringToArray( value: string ): Uint8Array {\n\t\t\tconst bytes = new Uint8Array( value[ 'length' ] );\n\n\t\t\tfor ( let i = 0; i < value[ 'length' ]; i++ ) {\n\t\t\t\tbytes[ i ] = value[ 'charCodeAt' ]( i );\n\t\t\t}\n\n\t\t\treturn bytes;\n\t\t}\n\t} )( pluginInstance );\n\n\tfunction aesCtr256( messageBytes: Array<number>, aesKey: Uint8Array, counterValue: number ): Array<number> {\n\t\t//\n\t\t// Defining some constants used by AES.\n\t\t//\n\t\tconst AESConstants: Record<string, any> = {};\n\n\t\tAESConstants[ 'numberOfRounds' ] = { 16: 10, 24: 12, 32: 14 };\n\n\t\t/* eslint-disable max-len */\n\n\t\t// Round constant words\n\t\tAESConstants[ 'rcon' ] = [ 0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x80, 0x1b, 0x36, 0x6c, 0xd8, 0xab, 0x4d, 0x9a, 0x2f, 0x5e, 0xbc, 0x63, 0xc6, 0x97, 0x35, 0x6a, 0xd4, 0xb3, 0x7d, 0xfa, 0xef, 0xc5, 0x91 ];\n\n\t\t// S-box\n\t\tAESConstants[ 'S' ] = [ 0x63, 0x7c, 0x77, 0x7b, 0xf2, 0x6b, 0x6f, 0xc5, 0x30, 0x01, 0x67, 0x2b, 0xfe, 0xd7, 0xab, 0x76, 0xca, 0x82, 0xc9, 0x7d, 0xfa, 0x59, 0x47, 0xf0, 0xad, 0xd4, 0xa2, 0xaf, 0x9c, 0xa4, 0x72, 0xc0, 0xb7, 0xfd, 0x93, 0x26, 0x36, 0x3f, 0xf7, 0xcc, 0x34, 0xa5, 0xe5, 0xf1, 0x71, 0xd8, 0x31, 0x15, 0x04, 0xc7, 0x23, 0xc3, 0x18, 0x96, 0x05, 0x9a, 0x07, 0x12, 0x80, 0xe2, 0xeb, 0x27, 0xb2, 0x75, 0x09, 0x83, 0x2c, 0x1a, 0x1b, 0x6e, 0x5a, 0xa0, 0x52, 0x3b, 0xd6, 0xb3, 0x29, 0xe3, 0x2f, 0x84, 0x53, 0xd1, 0x00, 0xed, 0x20, 0xfc, 0xb1, 0x5b, 0x6a, 0xcb, 0xbe, 0x39, 0x4a, 0x4c, 0x58, 0xcf, 0xd0, 0xef, 0xaa, 0xfb, 0x43, 0x4d, 0x33, 0x85, 0x45, 0xf9, 0x02, 0x7f, 0x50, 0x3c, 0x9f, 0xa8, 0x51, 0xa3, 0x40, 0x8f, 0x92, 0x9d, 0x38, 0xf5, 0xbc, 0xb6, 0xda, 0x21, 0x10, 0xff, 0xf3, 0xd2, 0xcd, 0x0c, 0x13, 0xec, 0x5f, 0x97, 0x44, 0x17, 0xc4, 0xa7, 0x7e, 0x3d, 0x64, 0x5d, 0x19, 0x73, 0x60, 0x81, 0x4f, 0xdc, 0x22, 0x2a, 0x90, 0x88, 0x46, 0xee, 0xb8, 0x14, 0xde, 0x5e, 0x0b, 0xdb, 0xe0, 0x32, 0x3a, 0x0a, 0x49, 0x06, 0x24, 0x5c, 0xc2, 0xd3, 0xac, 0x62, 0x91, 0x95, 0xe4, 0x79, 0xe7, 0xc8, 0x37, 0x6d, 0x8d, 0xd5, 0x4e, 0xa9, 0x6c, 0x56, 0xf4, 0xea, 0x65, 0x7a, 0xae, 0x08, 0xba, 0x78, 0x25, 0x2e, 0x1c, 0xa6, 0xb4, 0xc6, 0xe8, 0xdd, 0x74, 0x1f, 0x4b, 0xbd, 0x8b, 0x8a, 0x70, 0x3e, 0xb5, 0x66, 0x48, 0x03, 0xf6, 0x0e, 0x61, 0x35, 0x57, 0xb9, 0x86, 0xc1, 0x1d, 0x9e, 0xe1, 0xf8, 0x98, 0x11, 0x69, 0xd9, 0x8e, 0x94, 0x9b, 0x1e, 0x87, 0xe9, 0xce, 0x55, 0x28, 0xdf, 0x8c, 0xa1, 0x89, 0x0d, 0xbf, 0xe6, 0x42, 0x68, 0x41, 0x99, 0x2d, 0x0f, 0xb0, 0x54, 0xbb, 0x16 ];\n\n\t\t// Transformations for encryption\n\t\tAESConstants[ 'T1' ] = [ 0xc66363a5, 0xf87c7c84, 0xee777799, 0xf67b7b8d, 0xfff2f20d, 0xd66b6bbd, 0xde6f6fb1, 0x91c5c554, 0x60303050, 0x02010103, 0xce6767a9, 0x562b2b7d, 0xe7fefe19, 0xb5d7d762, 0x4dababe6, 0xec76769a, 0x8fcaca45, 0x1f82829d, 0x89c9c940, 0xfa7d7d87, 0xeffafa15, 0xb25959eb, 0x8e4747c9, 0xfbf0f00b, 0x41adadec, 0xb3d4d467, 0x5fa2a2fd, 0x45afafea, 0x239c9cbf, 0x53a4a4f7, 0xe4727296, 0x9bc0c05b, 0x75b7b7c2, 0xe1fdfd1c, 0x3d9393ae, 0x4c26266a, 0x6c36365a, 0x7e3f3f41, 0xf5f7f702, 0x83cccc4f, 0x6834345c, 0x51a5a5f4, 0xd1e5e534, 0xf9f1f108, 0xe2717193, 0xabd8d873, 0x62313153, 0x2a15153f, 0x0804040c, 0x95c7c752, 0x46232365, 0x9dc3c35e, 0x30181828, 0x379696a1, 0x0a05050f, 0x2f9a9ab5, 0x0e070709, 0x24121236, 0x1b80809b, 0xdfe2e23d, 0xcdebeb26, 0x4e272769, 0x7fb2b2cd, 0xea75759f, 0x1209091b, 0x1d83839e, 0x582c2c74, 0x341a1a2e, 0x361b1b2d, 0xdc6e6eb2, 0xb45a5aee, 0x5ba0a0fb, 0xa45252f6, 0x763b3b4d, 0xb7d6d661, 0x7db3b3ce, 0x5229297b, 0xdde3e33e, 0x5e2f2f71, 0x13848497, 0xa65353f5, 0xb9d1d168, 0x00000000, 0xc1eded2c, 0x40202060, 0xe3fcfc1f, 0x79b1b1c8, 0xb65b5bed, 0xd46a6abe, 0x8dcbcb46, 0x67bebed9, 0x7239394b, 0x944a4ade, 0x984c4cd4, 0xb05858e8, 0x85cfcf4a, 0xbbd0d06b, 0xc5efef2a, 0x4faaaae5, 0xedfbfb16, 0x864343c5, 0x9a4d4dd7, 0x66333355, 0x11858594, 0x8a4545cf, 0xe9f9f910, 0x04020206, 0xfe7f7f81, 0xa05050f0, 0x783c3c44, 0x259f9fba, 0x4ba8a8e3, 0xa25151f3, 0x5da3a3fe, 0x804040c0, 0x058f8f8a, 0x3f9292ad, 0x219d9dbc, 0x70383848, 0xf1f5f504, 0x63bcbcdf, 0x77b6b6c1, 0xafdada75, 0x42212163, 0x20101030, 0xe5ffff1a, 0xfdf3f30e, 0xbfd2d26d, 0x81cdcd4c, 0x180c0c14, 0x26131335, 0xc3ecec2f, 0xbe5f5fe1, 0x359797a2, 0x884444cc, 0x2e171739, 0x93c4c457, 0x55a7a7f2, 0xfc7e7e82, 0x7a3d3d47, 0xc86464ac, 0xba5d5de7, 0x3219192b, 0xe6737395, 0xc06060a0, 0x19818198, 0x9e4f4fd1, 0xa3dcdc7f, 0x44222266, 0x542a2a7e, 0x3b9090ab, 0x0b888883, 0x8c4646ca, 0xc7eeee29, 0x6bb8b8d3, 0x2814143c, 0xa7dede79, 0xbc5e5ee2, 0x160b0b1d, 0xaddbdb76, 0xdbe0e03b, 0x64323256, 0x743a3a4e, 0x140a0a1e, 0x924949db, 0x0c06060a, 0x4824246c, 0xb85c5ce4, 0x9fc2c25d, 0xbdd3d36e, 0x43acacef, 0xc46262a6, 0x399191a8, 0x319595a4, 0xd3e4e437, 0xf279798b, 0xd5e7e732, 0x8bc8c843, 0x6e373759, 0xda6d6db7, 0x018d8d8c, 0xb1d5d564, 0x9c4e4ed2, 0x49a9a9e0, 0xd86c6cb4, 0xac5656fa, 0xf3f4f407, 0xcfeaea25, 0xca6565af, 0xf47a7a8e, 0x47aeaee9, 0x10080818, 0x6fbabad5, 0xf0787888, 0x4a25256f, 0x5c2e2e72, 0x381c1c24, 0x57a6a6f1, 0x73b4b4c7, 0x97c6c651, 0xcbe8e823, 0xa1dddd7c, 0xe874749c, 0x3e1f1f21, 0x964b4bdd, 0x61bdbddc, 0x0d8b8b86, 0x0f8a8a85, 0xe0707090, 0x7c3e3e42, 0x71b5b5c4, 0xcc6666aa, 0x904848d8, 0x06030305, 0xf7f6f601, 0x1c0e0e12, 0xc26161a3, 0x6a35355f, 0xae5757f9, 0x69b9b9d0, 0x17868691, 0x99c1c158, 0x3a1d1d27, 0x279e9eb9, 0xd9e1e138, 0xebf8f813, 0x2b9898b3, 0x22111133, 0xd26969bb, 0xa9d9d970, 0x078e8e89, 0x339494a7, 0x2d9b9bb6, 0x3c1e1e22, 0x15878792, 0xc9e9e920, 0x87cece49, 0xaa5555ff, 0x50282878, 0xa5dfdf7a, 0x038c8c8f, 0x59a1a1f8, 0x09898980, 0x1a0d0d17, 0x65bfbfda, 0xd7e6e631, 0x844242c6, 0xd06868b8, 0x824141c3, 0x299999b0, 0x5a2d2d77, 0x1e0f0f11, 0x7bb0b0cb, 0xa85454fc, 0x6dbbbbd6, 0x2c16163a ];\n\t\tAESConstants[ 'T2' ] = [ 0xa5c66363, 0x84f87c7c, 0x99ee7777, 0x8df67b7b, 0x0dfff2f2, 0xbdd66b6b, 0xb1de6f6f, 0x5491c5c5, 0x50603030, 0x03020101, 0xa9ce6767, 0x7d562b2b, 0x19e7fefe, 0x62b5d7d7, 0xe64dabab, 0x9aec7676, 0x458fcaca, 0x9d1f8282, 0x4089c9c9, 0x87fa7d7d, 0x15effafa, 0xebb25959, 0xc98e4747, 0x0bfbf0f0, 0xec41adad, 0x67b3d4d4, 0xfd5fa2a2, 0xea45afaf, 0xbf239c9c, 0xf753a4a4, 0x96e47272, 0x5b9bc0c0, 0xc275b7b7, 0x1ce1fdfd, 0xae3d9393, 0x6a4c2626, 0x5a6c3636, 0x417e3f3f, 0x02f5f7f7, 0x4f83cccc, 0x5c683434, 0xf451a5a5, 0x34d1e5e5, 0x08f9f1f1, 0x93e27171, 0x73abd8d8, 0x53623131, 0x3f2a1515, 0x0c080404, 0x5295c7c7, 0x65462323, 0x5e9dc3c3, 0x28301818, 0xa1379696, 0x0f0a0505, 0xb52f9a9a, 0x090e0707, 0x36241212, 0x9b1b8080, 0x3ddfe2e2, 0x26cdebeb, 0x694e2727, 0xcd7fb2b2, 0x9fea7575, 0x1b120909, 0x9e1d8383, 0x74582c2c, 0x2e341a1a, 0x2d361b1b, 0xb2dc6e6e, 0xeeb45a5a, 0xfb5ba0a0, 0xf6a45252, 0x4d763b3b, 0x61b7d6d6, 0xce7db3b3, 0x7b522929, 0x3edde3e3, 0x715e2f2f, 0x97138484, 0xf5a65353, 0x68b9d1d1, 0x00000000, 0x2cc1eded, 0x60402020, 0x1fe3fcfc, 0xc879b1b1, 0xedb65b5b, 0xbed46a6a, 0x468dcbcb, 0xd967bebe, 0x4b723939, 0xde944a4a, 0xd4984c4c, 0xe8b05858, 0x4a85cfcf, 0x6bbbd0d0, 0x2ac5efef, 0xe54faaaa, 0x16edfbfb, 0xc5864343, 0xd79a4d4d, 0x55663333, 0x94118585, 0xcf8a4545, 0x10e9f9f9, 0x06040202, 0x81fe7f7f, 0xf0a05050, 0x44783c3c, 0xba259f9f, 0xe34ba8a8, 0xf3a25151, 0xfe5da3a3, 0xc0804040, 0x8a058f8f, 0xad3f9292, 0xbc219d9d, 0x48703838, 0x04f1f5f5, 0xdf63bcbc, 0xc177b6b6, 0x75afdada, 0x63422121, 0x30201010, 0x1ae5ffff, 0x0efdf3f3, 0x6dbfd2d2, 0x4c81cdcd, 0x14180c0c, 0x35261313, 0x2fc3ecec, 0xe1be5f5f, 0xa2359797, 0xcc884444, 0x392e1717, 0x5793c4c4, 0xf255a7a7, 0x82fc7e7e, 0x477a3d3d, 0xacc86464, 0xe7ba5d5d, 0x2b321919, 0x95e67373, 0xa0c06060, 0x98198181, 0xd19e4f4f, 0x7fa3dcdc, 0x66442222, 0x7e542a2a, 0xab3b9090, 0x830b8888, 0xca8c4646, 0x29c7eeee, 0xd36bb8b8, 0x3c281414, 0x79a7dede, 0xe2bc5e5e, 0x1d160b0b, 0x76addbdb, 0x3bdbe0e0, 0x56643232, 0x4e743a3a, 0x1e140a0a, 0xdb924949, 0x0a0c0606, 0x6c482424, 0xe4b85c5c, 0x5d9fc2c2, 0x6ebdd3d3, 0xef43acac, 0xa6c46262, 0xa8399191, 0xa4319595, 0x37d3e4e4, 0x8bf27979, 0x32d5e7e7, 0x438bc8c8, 0x596e3737, 0xb7da6d6d, 0x8c018d8d, 0x64b1d5d5, 0xd29c4e4e, 0xe049a9a9, 0xb4d86c6c, 0xfaac5656, 0x07f3f4f4, 0x25cfeaea, 0xafca6565, 0x8ef47a7a, 0xe947aeae, 0x18100808, 0xd56fbaba, 0x88f07878, 0x6f4a2525, 0x725c2e2e, 0x24381c1c, 0xf157a6a6, 0xc773b4b4, 0x5197c6c6, 0x23cbe8e8, 0x7ca1dddd, 0x9ce87474, 0x213e1f1f, 0xdd964b4b, 0xdc61bdbd, 0x860d8b8b, 0x850f8a8a, 0x90e07070, 0x427c3e3e, 0xc471b5b5, 0xaacc6666, 0xd8904848, 0x05060303, 0x01f7f6f6, 0x121c0e0e, 0xa3c26161, 0x5f6a3535, 0xf9ae5757, 0xd069b9b9, 0x91178686, 0x5899c1c1, 0x273a1d1d, 0xb9279e9e, 0x38d9e1e1, 0x13ebf8f8, 0xb32b9898, 0x33221111, 0xbbd26969, 0x70a9d9d9, 0x89078e8e, 0xa7339494, 0xb62d9b9b, 0x223c1e1e, 0x92158787, 0x20c9e9e9, 0x4987cece, 0xffaa5555, 0x78502828, 0x7aa5dfdf, 0x8f038c8c, 0xf859a1a1, 0x80098989, 0x171a0d0d, 0xda65bfbf, 0x31d7e6e6, 0xc6844242, 0xb8d06868, 0xc3824141, 0xb0299999, 0x775a2d2d, 0x111e0f0f, 0xcb7bb0b0, 0xfca85454, 0xd66dbbbb, 0x3a2c1616 ];\n\t\tAESConstants[ 'T3' ] = [ 0x63a5c663, 0x7c84f87c, 0x7799ee77, 0x7b8df67b, 0xf20dfff2, 0x6bbdd66b, 0x6fb1de6f, 0xc55491c5, 0x30506030, 0x01030201, 0x67a9ce67, 0x2b7d562b, 0xfe19e7fe, 0xd762b5d7, 0xabe64dab, 0x769aec76, 0xca458fca, 0x829d1f82, 0xc94089c9, 0x7d87fa7d, 0xfa15effa, 0x59ebb259, 0x47c98e47, 0xf00bfbf0, 0xadec41ad, 0xd467b3d4, 0xa2fd5fa2, 0xafea45af, 0x9cbf239c, 0xa4f753a4, 0x7296e472, 0xc05b9bc0, 0xb7c275b7, 0xfd1ce1fd, 0x93ae3d93, 0x266a4c26, 0x365a6c36, 0x3f417e3f, 0xf702f5f7, 0xcc4f83cc, 0x345c6834, 0xa5f451a5, 0xe534d1e5, 0xf108f9f1, 0x7193e271, 0xd873abd8, 0x31536231, 0x153f2a15, 0x040c0804, 0xc75295c7, 0x23654623, 0xc35e9dc3, 0x18283018, 0x96a13796, 0x050f0a05, 0x9ab52f9a, 0x07090e07, 0x12362412, 0x809b1b80, 0xe23ddfe2, 0xeb26cdeb, 0x27694e27, 0xb2cd7fb2, 0x759fea75, 0x091b1209, 0x839e1d83, 0x2c74582c, 0x1a2e341a, 0x1b2d361b, 0x6eb2dc6e, 0x5aeeb45a, 0xa0fb5ba0, 0x52f6a452, 0x3b4d763b, 0xd661b7d6, 0xb3ce7db3, 0x297b5229, 0xe33edde3, 0x2f715e2f, 0x84971384, 0x53f5a653, 0xd168b9d1, 0x00000000, 0xed2cc1ed, 0x20604020, 0xfc1fe3fc, 0xb1c879b1, 0x5bedb65b, 0x6abed46a, 0xcb468dcb, 0xbed967be, 0x394b7239, 0x4ade944a, 0x4cd4984c, 0x58e8b058, 0xcf4a85cf, 0xd06bbbd0, 0xef2ac5ef, 0xaae54faa, 0xfb16edfb, 0x43c58643, 0x4dd79a4d, 0x33556633, 0x85941185, 0x45cf8a45, 0xf910e9f9, 0x02060402, 0x7f81fe7f, 0x50f0a050, 0x3c44783c, 0x9fba259f, 0xa8e34ba8, 0x51f3a251, 0xa3fe5da3, 0x40c08040, 0x8f8a058f, 0x92ad3f92, 0x9dbc219d, 0x38487038, 0xf504f1f5, 0xbcdf63bc, 0xb6c177b6, 0xda75afda, 0x21634221, 0x10302010, 0xff1ae5ff, 0xf30efdf3, 0xd26dbfd2, 0xcd4c81cd, 0x0c14180c, 0x13352613, 0xec2fc3ec, 0x5fe1be5f, 0x97a23597, 0x44cc8844, 0x17392e17, 0xc45793c4, 0xa7f255a7, 0x7e82fc7e, 0x3d477a3d, 0x64acc864, 0x5de7ba5d, 0x192b3219, 0x7395e673, 0x60a0c060, 0x81981981, 0x4fd19e4f, 0xdc7fa3dc, 0x22664422, 0x2a7e542a, 0x90ab3b90, 0x88830b88, 0x46ca8c46, 0xee29c7ee, 0xb8d36bb8, 0x143c2814, 0xde79a7de, 0x5ee2bc5e, 0x0b1d160b, 0xdb76addb, 0xe03bdbe0, 0x32566432, 0x3a4e743a, 0x0a1e140a, 0x49db9249, 0x060a0c06, 0x246c4824, 0x5ce4b85c, 0xc25d9fc2, 0xd36ebdd3, 0xacef43ac, 0x62a6c462, 0x91a83991, 0x95a43195, 0xe437d3e4, 0x798bf279, 0xe732d5e7, 0xc8438bc8, 0x37596e37, 0x6db7da6d, 0x8d8c018d, 0xd564b1d5, 0x4ed29c4e, 0xa9e049a9, 0x6cb4d86c, 0x56faac56, 0xf407f3f4, 0xea25cfea, 0x65afca65, 0x7a8ef47a, 0xaee947ae, 0x08181008, 0xbad56fba, 0x7888f078, 0x256f4a25, 0x2e725c2e, 0x1c24381c, 0xa6f157a6, 0xb4c773b4, 0xc65197c6, 0xe823cbe8, 0xdd7ca1dd, 0x749ce874, 0x1f213e1f, 0x4bdd964b, 0xbddc61bd, 0x8b860d8b, 0x8a850f8a, 0x7090e070, 0x3e427c3e, 0xb5c471b5, 0x66aacc66, 0x48d89048, 0x03050603, 0xf601f7f6, 0x0e121c0e, 0x61a3c261, 0x355f6a35, 0x57f9ae57, 0xb9d069b9, 0x86911786, 0xc15899c1, 0x1d273a1d, 0x9eb9279e, 0xe138d9e1, 0xf813ebf8, 0x98b32b98, 0x11332211, 0x69bbd269, 0xd970a9d9, 0x8e89078e, 0x94a73394, 0x9bb62d9b, 0x1e223c1e, 0x87921587, 0xe920c9e9, 0xce4987ce, 0x55ffaa55, 0x28785028, 0xdf7aa5df, 0x8c8f038c, 0xa1f859a1, 0x89800989, 0x0d171a0d, 0xbfda65bf, 0xe631d7e6, 0x42c68442, 0x68b8d068, 0x41c38241, 0x99b02999, 0x2d775a2d, 0x0f111e0f, 0xb0cb7bb0, 0x54fca854, 0xbbd66dbb, 0x163a2c16 ];\n\t\tAESConstants[ 'T4' ] = [ 0x6363a5c6, 0x7c7c84f8, 0x777799ee, 0x7b7b8df6, 0xf2f20dff, 0x6b6bbdd6, 0x6f6fb1de, 0xc5c55491, 0x30305060, 0x01010302, 0x6767a9ce, 0x2b2b7d56, 0xfefe19e7, 0xd7d762b5, 0xababe64d, 0x76769aec, 0xcaca458f, 0x82829d1f, 0xc9c94089, 0x7d7d87fa, 0xfafa15ef, 0x5959ebb2, 0x4747c98e, 0xf0f00bfb, 0xadadec41, 0xd4d467b3, 0xa2a2fd5f, 0xafafea45, 0x9c9cbf23, 0xa4a4f753, 0x727296e4, 0xc0c05b9b, 0xb7b7c275, 0xfdfd1ce1, 0x9393ae3d, 0x26266a4c, 0x36365a6c, 0x3f3f417e, 0xf7f702f5, 0xcccc4f83, 0x34345c68, 0xa5a5f451, 0xe5e534d1, 0xf1f108f9, 0x717193e2, 0xd8d873ab, 0x31315362, 0x15153f2a, 0x04040c08, 0xc7c75295, 0x23236546, 0xc3c35e9d, 0x18182830, 0x9696a137, 0x05050f0a, 0x9a9ab52f, 0x0707090e, 0x12123624, 0x80809b1b, 0xe2e23ddf, 0xebeb26cd, 0x2727694e, 0xb2b2cd7f, 0x75759fea, 0x09091b12, 0x83839e1d, 0x2c2c7458, 0x1a1a2e34, 0x1b1b2d36, 0x6e6eb2dc, 0x5a5aeeb4, 0xa0a0fb5b, 0x5252f6a4, 0x3b3b4d76, 0xd6d661b7, 0xb3b3ce7d, 0x29297b52, 0xe3e33edd, 0x2f2f715e, 0x84849713, 0x5353f5a6, 0xd1d168b9, 0x00000000, 0xeded2cc1, 0x20206040, 0xfcfc1fe3, 0xb1b1c879, 0x5b5bedb6, 0x6a6abed4, 0xcbcb468d, 0xbebed967, 0x39394b72, 0x4a4ade94, 0x4c4cd498, 0x5858e8b0, 0xcfcf4a85, 0xd0d06bbb, 0xefef2ac5, 0xaaaae54f, 0xfbfb16ed, 0x4343c586, 0x4d4dd79a, 0x33335566, 0x85859411, 0x4545cf8a, 0xf9f910e9, 0x02020604, 0x7f7f81fe, 0x5050f0a0, 0x3c3c4478, 0x9f9fba25, 0xa8a8e34b, 0x5151f3a2, 0xa3a3fe5d, 0x4040c080, 0x8f8f8a05, 0x9292ad3f, 0x9d9dbc21, 0x38384870, 0xf5f504f1, 0xbcbcdf63, 0xb6b6c177, 0xdada75af, 0x21216342, 0x10103020, 0xffff1ae5, 0xf3f30efd, 0xd2d26dbf, 0xcdcd4c81, 0x0c0c1418, 0x13133526, 0xecec2fc3, 0x5f5fe1be, 0x9797a235, 0x4444cc88, 0x1717392e, 0xc4c45793, 0xa7a7f255, 0x7e7e82fc, 0x3d3d477a, 0x6464acc8, 0x5d5de7ba, 0x19192b32, 0x737395e6, 0x6060a0c0, 0x81819819, 0x4f4fd19e, 0xdcdc7fa3, 0x22226644, 0x2a2a7e54, 0x9090ab3b, 0x8888830b, 0x4646ca8c, 0xeeee29c7, 0xb8b8d36b, 0x14143c28, 0xdede79a7, 0x5e5ee2bc, 0x0b0b1d16, 0xdbdb76ad, 0xe0e03bdb, 0x32325664, 0x3a3a4e74, 0x0a0a1e14, 0x4949db92, 0x06060a0c, 0x24246c48, 0x5c5ce4b8, 0xc2c25d9f, 0xd3d36ebd, 0xacacef43, 0x6262a6c4, 0x9191a839, 0x9595a431, 0xe4e437d3, 0x79798bf2, 0xe7e732d5, 0xc8c8438b, 0x3737596e, 0x6d6db7da, 0x8d8d8c01, 0xd5d564b1, 0x4e4ed29c, 0xa9a9e049, 0x6c6cb4d8, 0x5656faac, 0xf4f407f3, 0xeaea25cf, 0x6565afca, 0x7a7a8ef4, 0xaeaee947, 0x08081810, 0xbabad56f, 0x787888f0, 0x25256f4a, 0x2e2e725c, 0x1c1c2438, 0xa6a6f157, 0xb4b4c773, 0xc6c65197, 0xe8e823cb, 0xdddd7ca1, 0x74749ce8, 0x1f1f213e, 0x4b4bdd96, 0xbdbddc61, 0x8b8b860d, 0x8a8a850f, 0x707090e0, 0x3e3e427c, 0xb5b5c471, 0x6666aacc, 0x4848d890, 0x03030506, 0xf6f601f7, 0x0e0e121c, 0x6161a3c2, 0x35355f6a, 0x5757f9ae, 0xb9b9d069, 0x86869117, 0xc1c15899, 0x1d1d273a, 0x9e9eb927, 0xe1e138d9, 0xf8f813eb, 0x9898b32b, 0x11113322, 0x6969bbd2, 0xd9d970a9, 0x8e8e8907, 0x9494a733, 0x9b9bb62d, 0x1e1e223c, 0x87879215, 0xe9e920c9, 0xcece4987, 0x5555ffaa, 0x28287850, 0xdfdf7aa5, 0x8c8c8f03, 0xa1a1f859, 0x89898009, 0x0d0d171a, 0xbfbfda65, 0xe6e631d7, 0x4242c684, 0x6868b8d0, 0x4141c382, 0x9999b029, 0x2d2d775a, 0x0f0f111e, 0xb0b0cb7b, 0x5454fca8, 0xbbbbd66d, 0x16163a2c ];\n\n\t\t// Transformations for decryption key expansion\n\t\tAESConstants[ 'U1' ] = [ 0x00000000, 0x0e090d0b, 0x1c121a16, 0x121b171d, 0x3824342c, 0x362d3927, 0x24362e3a, 0x2a3f2331, 0x70486858, 0x7e416553, 0x6c5a724e, 0x62537f45, 0x486c5c74, 0x4665517f, 0x547e4662, 0x5a774b69, 0xe090d0b0, 0xee99ddbb, 0xfc82caa6, 0xf28bc7ad, 0xd8b4e49c, 0xd6bde997, 0xc4a6fe8a, 0xcaaff381, 0x90d8b8e8, 0x9ed1b5e3, 0x8ccaa2fe, 0x82c3aff5, 0xa8fc8cc4, 0xa6f581cf, 0xb4ee96d2, 0xbae79bd9, 0xdb3bbb7b, 0xd532b670, 0xc729a16d, 0xc920ac66, 0xe31f8f57, 0xed16825c, 0xff0d9541, 0xf104984a, 0xab73d323, 0xa57ade28, 0xb761c935, 0xb968c43e, 0x9357e70f, 0x9d5eea04, 0x8f45fd19, 0x814cf012, 0x3bab6bcb, 0x35a266c0, 0x27b971dd, 0x29b07cd6, 0x038f5fe7, 0x0d8652ec, 0x1f9d45f1, 0x119448fa, 0x4be30393, 0x45ea0e98, 0x57f11985, 0x59f8148e, 0x73c737bf, 0x7dce3ab4, 0x6fd52da9, 0x61dc20a2, 0xad766df6, 0xa37f60fd, 0xb16477e0, 0xbf6d7aeb, 0x955259da, 0x9b5b54d1, 0x894043cc, 0x87494ec7, 0xdd3e05ae, 0xd33708a5, 0xc12c1fb8, 0xcf2512b3, 0xe51a3182, 0xeb133c89, 0xf9082b94, 0xf701269f, 0x4de6bd46, 0x43efb04d, 0x51f4a750, 0x5ffdaa5b, 0x75c2896a, 0x7bcb8461, 0x69d0937c, 0x67d99e77, 0x3daed51e, 0x33a7d815, 0x21bccf08, 0x2fb5c203, 0x058ae132, 0x0b83ec39, 0x1998fb24, 0x1791f62f, 0x764dd68d, 0x7844db86, 0x6a5fcc9b, 0x6456c190, 0x4e69e2a1, 0x4060efaa, 0x527bf8b7, 0x5c72f5bc, 0x0605bed5, 0x080cb3de, 0x1a17a4c3, 0x141ea9c8, 0x3e218af9, 0x302887f2, 0x223390ef, 0x2c3a9de4, 0x96dd063d, 0x98d40b36, 0x8acf1c2b, 0x84c61120, 0xaef93211, 0xa0f03f1a, 0xb2eb2807, 0xbce2250c, 0xe6956e65, 0xe89c636e, 0xfa877473, 0xf48e7978, 0xdeb15a49, 0xd0b85742, 0xc2a3405f, 0xccaa4d54, 0x41ecdaf7, 0x4fe5d7fc, 0x5dfec0e1, 0x53f7cdea, 0x79c8eedb, 0x77c1e3d0, 0x65daf4cd, 0x6bd3f9c6, 0x31a4b2af, 0x3fadbfa4, 0x2db6a8b9, 0x23bfa5b2, 0x09808683, 0x07898b88, 0x15929c95, 0x1b9b919e, 0xa17c0a47, 0xaf75074c, 0xbd6e1051, 0xb3671d5a, 0x99583e6b, 0x97513360, 0x854a247d, 0x8b432976, 0xd134621f, 0xdf3d6f14, 0xcd267809, 0xc32f7502, 0xe9105633, 0xe7195b38, 0xf5024c25, 0xfb0b412e, 0x9ad7618c, 0x94de6c87, 0x86c57b9a, 0x88cc7691, 0xa2f355a0, 0xacfa58ab, 0xbee14fb6, 0xb0e842bd, 0xea9f09d4, 0xe49604df, 0xf68d13c2, 0xf8841ec9, 0xd2bb3df8, 0xdcb230f3, 0xcea927ee, 0xc0a02ae5, 0x7a47b13c, 0x744ebc37, 0x6655ab2a, 0x685ca621, 0x42638510, 0x4c6a881b, 0x5e719f06, 0x5078920d, 0x0a0fd964, 0x0406d46f, 0x161dc372, 0x1814ce79, 0x322bed48, 0x3c22e043, 0x2e39f75e, 0x2030fa55, 0xec9ab701, 0xe293ba0a, 0xf088ad17, 0xfe81a01c, 0xd4be832d, 0xdab78e26, 0xc8ac993b, 0xc6a59430, 0x9cd2df59, 0x92dbd252, 0x80c0c54f, 0x8ec9c844, 0xa4f6eb75, 0xaaffe67e, 0xb8e4f163, 0xb6edfc68, 0x0c0a67b1, 0x02036aba, 0x10187da7, 0x1e1170ac, 0x342e539d, 0x3a275e96, 0x283c498b, 0x26354480, 0x7c420fe9, 0x724b02e2, 0x605015ff, 0x6e5918f4, 0x44663bc5, 0x4a6f36ce, 0x587421d3, 0x567d2cd8, 0x37a10c7a, 0x39a80171, 0x2bb3166c, 0x25ba1b67, 0x0f853856, 0x018c355d, 0x13972240, 0x1d9e2f4b, 0x47e96422, 0x49e06929, 0x5bfb7e34, 0x55f2733f, 0x7fcd500e, 0x71c45d05, 0x63df4a18, 0x6dd64713, 0xd731dcca, 0xd938d1c1, 0xcb23c6dc, 0xc52acbd7, 0xef15e8e6, 0xe11ce5ed, 0xf307f2f0, 0xfd0efffb, 0xa779b492, 0xa970b999, 0xbb6bae84, 0xb562a38f, 0x9f5d80be, 0x91548db5, 0x834f9aa8, 0x8d4697a3 ];\n\t\tAESConstants[ 'U2' ] = [ 0x00000000, 0x0b0e090d, 0x161c121a, 0x1d121b17, 0x2c382434, 0x27362d39, 0x3a24362e, 0x312a3f23, 0x58704868, 0x537e4165, 0x4e6c5a72, 0x4562537f, 0x74486c5c, 0x7f466551, 0x62547e46, 0x695a774b, 0xb0e090d0, 0xbbee99dd, 0xa6fc82ca, 0xadf28bc7, 0x9cd8b4e4, 0x97d6bde9, 0x8ac4a6fe, 0x81caaff3, 0xe890d8b8, 0xe39ed1b5, 0xfe8ccaa2, 0xf582c3af, 0xc4a8fc8c, 0xcfa6f581, 0xd2b4ee96, 0xd9bae79b, 0x7bdb3bbb, 0x70d532b6, 0x6dc729a1, 0x66c920ac, 0x57e31f8f, 0x5ced1682, 0x41ff0d95, 0x4af10498, 0x23ab73d3, 0x28a57ade, 0x35b761c9, 0x3eb968c4, 0x0f9357e7, 0x049d5eea, 0x198f45fd, 0x12814cf0, 0xcb3bab6b, 0xc035a266, 0xdd27b971, 0xd629b07c, 0xe7038f5f, 0xec0d8652, 0xf11f9d45, 0xfa119448, 0x934be303, 0x9845ea0e, 0x8557f119, 0x8e59f814, 0xbf73c737, 0xb47dce3a, 0xa96fd52d, 0xa261dc20, 0xf6ad766d, 0xfda37f60, 0xe0b16477, 0xebbf6d7a, 0xda955259, 0xd19b5b54, 0xcc894043, 0xc787494e, 0xaedd3e05, 0xa5d33708, 0xb8c12c1f, 0xb3cf2512, 0x82e51a31, 0x89eb133c, 0x94f9082b, 0x9ff70126, 0x464de6bd, 0x4d43efb0, 0x5051f4a7, 0x5b5ffdaa, 0x6a75c289, 0x617bcb84, 0x7c69d093, 0x7767d99e, 0x1e3daed5, 0x1533a7d8, 0x0821bccf, 0x032fb5c2, 0x32058ae1, 0x390b83ec, 0x241998fb, 0x2f1791f6, 0x8d764dd6, 0x867844db, 0x9b6a5fcc, 0x906456c1, 0xa14e69e2, 0xaa4060ef, 0xb7527bf8, 0xbc5c72f5, 0xd50605be, 0xde080cb3, 0xc31a17a4, 0xc8141ea9, 0xf93e218a, 0xf2302887, 0xef223390, 0xe42c3a9d, 0x3d96dd06, 0x3698d40b, 0x2b8acf1c, 0x2084c611, 0x11aef932, 0x1aa0f03f, 0x07b2eb28, 0x0cbce225, 0x65e6956e, 0x6ee89c63, 0x73fa8774, 0x78f48e79, 0x49deb15a, 0x42d0b857, 0x5fc2a340, 0x54ccaa4d, 0xf741ecda, 0xfc4fe5d7, 0xe15dfec0, 0xea53f7cd, 0xdb79c8ee, 0xd077c1e3, 0xcd65daf4, 0xc66bd3f9, 0xaf31a4b2, 0xa43fadbf, 0xb92db6a8, 0xb223bfa5, 0x83098086, 0x8807898b, 0x9515929c, 0x9e1b9b91, 0x47a17c0a, 0x4caf7507, 0x51bd6e10, 0x5ab3671d, 0x6b99583e, 0x60975133, 0x7d854a24, 0x768b4329, 0x1fd13462, 0x14df3d6f, 0x09cd2678, 0x02c32f75, 0x33e91056, 0x38e7195b, 0x25f5024c, 0x2efb0b41, 0x8c9ad761, 0x8794de6c, 0x9a86c57b, 0x9188cc76, 0xa0a2f355, 0xabacfa58, 0xb6bee14f, 0xbdb0e842, 0xd4ea9f09, 0xdfe49604, 0xc2f68d13, 0xc9f8841e, 0xf8d2bb3d, 0xf3dcb230, 0xeecea927, 0xe5c0a02a, 0x3c7a47b1, 0x37744ebc, 0x2a6655ab, 0x21685ca6, 0x10426385, 0x1b4c6a88, 0x065e719f, 0x0d507892, 0x640a0fd9, 0x6f0406d4, 0x72161dc3, 0x791814ce, 0x48322bed, 0x433c22e0, 0x5e2e39f7, 0x552030fa, 0x01ec9ab7, 0x0ae293ba, 0x17f088ad, 0x1cfe81a0, 0x2dd4be83, 0x26dab78e, 0x3bc8ac99, 0x30c6a594, 0x599cd2df, 0x5292dbd2, 0x4f80c0c5, 0x448ec9c8, 0x75a4f6eb, 0x7eaaffe6, 0x63b8e4f1, 0x68b6edfc, 0xb10c0a67, 0xba02036a, 0xa710187d, 0xac1e1170, 0x9d342e53, 0x963a275e, 0x8b283c49, 0x80263544, 0xe97c420f, 0xe2724b02, 0xff605015, 0xf46e5918, 0xc544663b, 0xce4a6f36, 0xd3587421, 0xd8567d2c, 0x7a37a10c, 0x7139a801, 0x6c2bb316, 0x6725ba1b, 0x560f8538, 0x5d018c35, 0x40139722, 0x4b1d9e2f, 0x2247e964, 0x2949e069, 0x345bfb7e, 0x3f55f273, 0x0e7fcd50, 0x0571c45d, 0x1863df4a, 0x136dd647, 0xcad731dc, 0xc1d938d1, 0xdccb23c6, 0xd7c52acb, 0xe6ef15e8, 0xede11ce5, 0xf0f307f2, 0xfbfd0eff, 0x92a779b4, 0x99a970b9, 0x84bb6bae, 0x8fb562a3, 0xbe9f5d80, 0xb591548d, 0xa8834f9a, 0xa38d4697 ];\n\t\tAESConstants[ 'U3' ] = [ 0x00000000, 0x0d0b0e09, 0x1a161c12, 0x171d121b, 0x342c3824, 0x3927362d, 0x2e3a2436, 0x23312a3f, 0x68587048, 0x65537e41, 0x724e6c5a, 0x7f456253, 0x5c74486c, 0x517f4665, 0x4662547e, 0x4b695a77, 0xd0b0e090, 0xddbbee99, 0xcaa6fc82, 0xc7adf28b, 0xe49cd8b4, 0xe997d6bd, 0xfe8ac4a6, 0xf381caaf, 0xb8e890d8, 0xb5e39ed1, 0xa2fe8cca, 0xaff582c3, 0x8cc4a8fc, 0x81cfa6f5, 0x96d2b4ee, 0x9bd9bae7, 0xbb7bdb3b, 0xb670d532, 0xa16dc729, 0xac66c920, 0x8f57e31f, 0x825ced16, 0x9541ff0d, 0x984af104, 0xd323ab73, 0xde28a57a, 0xc935b761, 0xc43eb968, 0xe70f9357, 0xea049d5e, 0xfd198f45, 0xf012814c, 0x6bcb3bab, 0x66c035a2, 0x71dd27b9, 0x7cd629b0, 0x5fe7038f, 0x52ec0d86, 0x45f11f9d, 0x48fa1194, 0x03934be3, 0x0e9845ea, 0x198557f1, 0x148e59f8, 0x37bf73c7, 0x3ab47dce, 0x2da96fd5, 0x20a261dc, 0x6df6ad76, 0x60fda37f, 0x77e0b164, 0x7aebbf6d, 0x59da9552, 0x54d19b5b, 0x43cc8940, 0x4ec78749, 0x05aedd3e, 0x08a5d337, 0x1fb8c12c, 0x12b3cf25, 0x3182e51a, 0x3c89eb13, 0x2b94f908, 0x269ff701, 0xbd464de6, 0xb04d43ef, 0xa75051f4, 0xaa5b5ffd, 0x896a75c2, 0x84617bcb, 0x937c69d0, 0x9e7767d9, 0xd51e3dae, 0xd81533a7, 0xcf0821bc, 0xc2032fb5, 0xe132058a, 0xec390b83, 0xfb241998, 0xf62f1791, 0xd68d764d, 0xdb867844, 0xcc9b6a5f, 0xc1906456, 0xe2a14e69, 0xefaa4060, 0xf8b7527b, 0xf5bc5c72, 0xbed50605, 0xb3de080c, 0xa4c31a17, 0xa9c8141e, 0x8af93e21, 0x87f23028, 0x90ef2233, 0x9de42c3a, 0x063d96dd, 0x0b3698d4, 0x1c2b8acf, 0x112084c6, 0x3211aef9, 0x3f1aa0f0, 0x2807b2eb, 0x250cbce2, 0x6e65e695, 0x636ee89c, 0x7473fa87, 0x7978f48e, 0x5a49deb1, 0x5742d0b8, 0x405fc2a3, 0x4d54ccaa, 0xdaf741ec, 0xd7fc4fe5, 0xc0e15dfe, 0xcdea53f7, 0xeedb79c8, 0xe3d077c1, 0xf4cd65da, 0xf9c66bd3, 0xb2af31a4, 0xbfa43fad, 0xa8b92db6, 0xa5b223bf, 0x86830980, 0x8b880789, 0x9c951592, 0x919e1b9b, 0x0a47a17c, 0x074caf75, 0x1051bd6e, 0x1d5ab367, 0x3e6b9958, 0x33609751, 0x247d854a, 0x29768b43, 0x621fd134, 0x6f14df3d, 0x7809cd26, 0x7502c32f, 0x5633e910, 0x5b38e719, 0x4c25f502, 0x412efb0b, 0x618c9ad7, 0x6c8794de, 0x7b9a86c5, 0x769188cc, 0x55a0a2f3, 0x58abacfa, 0x4fb6bee1, 0x42bdb0e8, 0x09d4ea9f, 0x04dfe496, 0x13c2f68d, 0x1ec9f884, 0x3df8d2bb, 0x30f3dcb2, 0x27eecea9, 0x2ae5c0a0, 0xb13c7a47, 0xbc37744e, 0xab2a6655, 0xa621685c, 0x85104263, 0x881b4c6a, 0x9f065e71, 0x920d5078, 0xd9640a0f, 0xd46f0406, 0xc372161d, 0xce791814, 0xed48322b, 0xe0433c22, 0xf75e2e39, 0xfa552030, 0xb701ec9a, 0xba0ae293, 0xad17f088, 0xa01cfe81, 0x832dd4be, 0x8e26dab7, 0x993bc8ac, 0x9430c6a5, 0xdf599cd2, 0xd25292db, 0xc54f80c0, 0xc8448ec9, 0xeb75a4f6, 0xe67eaaff, 0xf163b8e4, 0xfc68b6ed, 0x67b10c0a, 0x6aba0203, 0x7da71018, 0x70ac1e11, 0x539d342e, 0x5e963a27, 0x498b283c, 0x44802635, 0x0fe97c42, 0x02e2724b, 0x15ff6050, 0x18f46e59, 0x3bc54466, 0x36ce4a6f, 0x21d35874, 0x2cd8567d, 0x0c7a37a1, 0x017139a8, 0x166c2bb3, 0x1b6725ba, 0x38560f85, 0x355d018c, 0x22401397, 0x2f4b1d9e, 0x642247e9, 0x692949e0, 0x7e345bfb, 0x733f55f2, 0x500e7fcd, 0x5d0571c4, 0x4a1863df, 0x47136dd6, 0xdccad731, 0xd1c1d938, 0xc6dccb23, 0xcbd7c52a, 0xe8e6ef15, 0xe5ede11c, 0xf2f0f307, 0xfffbfd0e, 0xb492a779, 0xb999a970, 0xae84bb6b, 0xa38fb562, 0x80be9f5d, 0x8db59154, 0x9aa8834f, 0x97a38d46 ];\n\t\tAESConstants[ 'U4' ] = [ 0x00000000, 0x090d0b0e, 0x121a161c, 0x1b171d12, 0x24342c38, 0x2d392736, 0x362e3a24, 0x3f23312a, 0x48685870, 0x4165537e, 0x5a724e6c, 0x537f4562, 0x6c5c7448, 0x65517f46, 0x7e466254, 0x774b695a, 0x90d0b0e0, 0x99ddbbee, 0x82caa6fc, 0x8bc7adf2, 0xb4e49cd8, 0xbde997d6, 0xa6fe8ac4, 0xaff381ca, 0xd8b8e890, 0xd1b5e39e, 0xcaa2fe8c, 0xc3aff582, 0xfc8cc4a8, 0xf581cfa6, 0xee96d2b4, 0xe79bd9ba, 0x3bbb7bdb, 0x32b670d5, 0x29a16dc7, 0x20ac66c9, 0x1f8f57e3, 0x16825ced, 0x0d9541ff, 0x04984af1, 0x73d323ab, 0x7ade28a5, 0x61c935b7, 0x68c43eb9, 0x57e70f93, 0x5eea049d, 0x45fd198f, 0x4cf01281, 0xab6bcb3b, 0xa266c035, 0xb971dd27, 0xb07cd629, 0x8f5fe703, 0x8652ec0d, 0x9d45f11f, 0x9448fa11, 0xe303934b, 0xea0e9845, 0xf1198557, 0xf8148e59, 0xc737bf73, 0xce3ab47d, 0xd52da96f, 0xdc20a261, 0x766df6ad, 0x7f60fda3, 0x6477e0b1, 0x6d7aebbf, 0x5259da95, 0x5b54d19b, 0x4043cc89, 0x494ec787, 0x3e05aedd, 0x3708a5d3, 0x2c1fb8c1, 0x2512b3cf, 0x1a3182e5, 0x133c89eb, 0x082b94f9, 0x01269ff7, 0xe6bd464d, 0xefb04d43, 0xf4a75051, 0xfdaa5b5f, 0xc2896a75, 0xcb84617b, 0xd0937c69, 0xd99e7767, 0xaed51e3d, 0xa7d81533, 0xbccf0821, 0xb5c2032f, 0x8ae13205, 0x83ec390b, 0x98fb2419, 0x91f62f17, 0x4dd68d76, 0x44db8678, 0x5fcc9b6a, 0x56c19064, 0x69e2a14e, 0x60efaa40, 0x7bf8b752, 0x72f5bc5c, 0x05bed506, 0x0cb3de08, 0x17a4c31a, 0x1ea9c814, 0x218af93e, 0x2887f230, 0x3390ef22, 0x3a9de42c, 0xdd063d96, 0xd40b3698, 0xcf1c2b8a, 0xc6112084, 0xf93211ae, 0xf03f1aa0, 0xeb2807b2, 0xe2250cbc, 0x956e65e6, 0x9c636ee8, 0x877473fa, 0x8e7978f4, 0xb15a49de, 0xb85742d0, 0xa3405fc2, 0xaa4d54cc, 0xecdaf741, 0xe5d7fc4f, 0xfec0e15d, 0xf7cdea53, 0xc8eedb79, 0xc1e3d077, 0xdaf4cd65, 0xd3f9c66b, 0xa4b2af31, 0xadbfa43f, 0xb6a8b92d, 0xbfa5b223, 0x80868309, 0x898b8807, 0x929c9515, 0x9b919e1b, 0x7c0a47a1, 0x75074caf, 0x6e1051bd, 0x671d5ab3, 0x583e6b99, 0x51336097, 0x4a247d85, 0x4329768b, 0x34621fd1, 0x3d6f14df, 0x267809cd, 0x2f7502c3, 0x105633e9, 0x195b38e7, 0x024c25f5, 0x0b412efb, 0xd7618c9a, 0xde6c8794, 0xc57b9a86, 0xcc769188, 0xf355a0a2, 0xfa58abac, 0xe14fb6be, 0xe842bdb0, 0x9f09d4ea, 0x9604dfe4, 0x8d13c2f6, 0x841ec9f8, 0xbb3df8d2, 0xb230f3dc, 0xa927eece, 0xa02ae5c0, 0x47b13c7a, 0x4ebc3774, 0x55ab2a66, 0x5ca62168, 0x63851042, 0x6a881b4c, 0x719f065e, 0x78920d50, 0x0fd9640a, 0x06d46f04, 0x1dc37216, 0x14ce7918, 0x2bed4832, 0x22e0433c, 0x39f75e2e, 0x30fa5520, 0x9ab701ec, 0x93ba0ae2, 0x88ad17f0, 0x81a01cfe, 0xbe832dd4, 0xb78e26da, 0xac993bc8, 0xa59430c6, 0xd2df599c, 0xdbd25292, 0xc0c54f80, 0xc9c8448e, 0xf6eb75a4, 0xffe67eaa, 0xe4f163b8, 0xedfc68b6, 0x0a67b10c, 0x036aba02, 0x187da710, 0x1170ac1e, 0x2e539d34, 0x275e963a, 0x3c498b28, 0x35448026, 0x420fe97c, 0x4b02e272, 0x5015ff60, 0x5918f46e, 0x663bc544, 0x6f36ce4a, 0x7421d358, 0x7d2cd856, 0xa10c7a37, 0xa8017139, 0xb3166c2b, 0xba1b6725, 0x8538560f, 0x8c355d01, 0x97224013, 0x9e2f4b1d, 0xe9642247, 0xe0692949, 0xfb7e345b, 0xf2733f55, 0xcd500e7f, 0xc45d0571, 0xdf4a1863, 0xd647136d, 0x31dccad7, 0x38d1c1d9, 0x23c6dccb, 0x2acbd7c5, 0x15e8e6ef, 0x1ce5ede1, 0x07f2f0f3, 0x0efffbfd, 0x79b492a7, 0x70b999a9, 0x6bae84bb, 0x62a38fb5, 0x5d80be9f, 0x548db591, 0x4f9aa883, 0x4697a38d ];\n\n\t\t/* eslint-enable max-len */\n\n\t\t//\n\t\t// AES init and encryption algorithm init.\n\t\t//\n\t\tconst counter = new Uint8Array( 16 );\n\n\t\tfor ( let index = 15; index >= 0; --index ) {\n\t\t\tcounter[ index ] = counterValue % 256;\n\n\t\t\tcounterValue = parseInt( ( counterValue / 256 ) as any );\n\t\t}\n\n\t\tlet remainingCounter: Uint8Array | null = null;\n\t\tlet remainingCounterIndex = 16;\n\n\t\tconst key = new Uint8Array( aesKey );\n\t\tconst _Ke: Array<Array<number>> = [];\n\t\tconst _Kd: Array<Array<number>> = [];\n\n\t\tprepareAes();\n\n\t\t//\n\t\t// Actual encryption algorithm.\n\t\t//\n\t\tfor ( let i = 0; i < messageBytes[ 'length' ]; i++ ) {\n\t\t\tif ( remainingCounterIndex === 16 ) {\n\t\t\t\tremainingCounter = encrypt( counter );\n\t\t\t\tremainingCounterIndex = 0;\n\n\t\t\t\tincrementCounter( counter );\n\t\t\t}\n\n\t\t\tmessageBytes[ i ] ^= remainingCounter![ remainingCounterIndex++ ];\n\t\t}\n\n\t\treturn messageBytes;\n\n\t\t//\n\t\t// Defining functions used in the algorithm.\n\t\t//\n\t\tfunction convertToInt32( bytes: Uint8Array ) {\n\t\t\tconst result: Array<any> = [];\n\n\t\t\tfor ( let i = 0; i < bytes[ 'length' ]; i += 4 ) {\n\t\t\t\tresult[ 'push' ](\n\t\t\t\t\t( bytes[ i ] << 24 ) |\n\t\t\t\t\t( bytes[ i + 1 ] << 16 ) |\n\t\t\t\t\t( bytes[ i + 2 ] << 8 ) |\n\t\t\t\t\tbytes[ i + 3 ]\n\t\t\t\t);\n\t\t\t}\n\t\t\treturn result;\n\t\t}\n\n\t\tfunction incrementCounter( counter: Uint8Array ) {\n\t\t\tfor ( let i = 15; i >= 0; i-- ) {\n\t\t\t\t/* istanbul ignore next -- @preserve */\n\t\t\t\tif ( counter[ i ] === 255 ) {\n\t\t\t\t\tcounter[ i ] = 0;\n\t\t\t\t} else {\n\t\t\t\t\tcounter[ i ]++;\n\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tfunction encrypt( message: Uint8Array ) {\n\t\t\tconst rounds = _Ke[ 'length' ] - 1;\n\t\t\tconst a = [ 0, 0, 0, 0 ];\n\n\t\t\tlet t = convertToInt32( message );\n\n\t\t\tfor ( let i = 0; i < 4; i++ ) {\n\t\t\t\tt[ i ] ^= _Ke[ 0 ][ i ];\n\t\t\t}\n\n\t\t\tfor ( let r = 1; r < rounds; r++ ) {\n\t\t\t\tfor ( let i = 0; i < 4; i++ ) {\n\t\t\t\t\ta[ i ] = (\n\t\t\t\t\t\tAESConstants[ 'T1' ][ ( t[ i ] >> 24 ) & 0xff ] ^\n\t\t\t\t\t\tAESConstants[ 'T2' ][ ( t[ ( i + 1 ) % 4 ] >> 16 ) & 0xff ] ^\n\t\t\t\t\t\tAESConstants[ 'T3' ][ ( t[ ( i + 2 ) % 4 ] >> 8 ) & 0xff ] ^\n\t\t\t\t\t\tAESConstants[ 'T4' ][ t[ ( i + 3 ) % 4 ] & 0xff ] ^\n\t\t\t\t\t\t_Ke[ r ][ i ]\n\t\t\t\t\t);\n\t\t\t\t}\n\n\t\t\t\tt = a[ 'slice' ]();\n\t\t\t}\n\n\t\t\tconst result = new Uint8Array( 16 );\n\t\t\tlet tt;\n\n\t\t\tfor ( let i = 0; i < 4; i++ ) {\n\t\t\t\ttt = _Ke[ rounds ][ i ];\n\n\t\t\t\tresult[ 4 * i ] = ( AESConstants[ 'S' ][ ( t[ i ] >> 24 ) & 0xff ] ^ ( tt >> 24 ) ) & 0xff;\n\t\t\t\tresult[ 4 * i + 1 ] = ( AESConstants[ 'S' ][ ( t[ ( i + 1 ) % 4 ] >> 16 ) & 0xff ] ^ ( tt >> 16 ) ) & 0xff;\n\t\t\t\tresult[ 4 * i + 2 ] = ( AESConstants[ 'S' ][ ( t[ ( i + 2 ) % 4 ] >> 8 ) & 0xff ] ^ ( tt >> 8 ) ) & 0xff;\n\t\t\t\tresult[ 4 * i + 3 ] = ( AESConstants[ 'S' ][ t[ ( i + 3 ) % 4 ] & 0xff ] ^ tt ) & 0xff;\n\t\t\t}\n\n\t\t\treturn result;\n\t\t}\n\n\t\tfunction prepareAes() {\n\t\t\tconst rounds = AESConstants[ 'numberOfRounds' ][ key[ 'length' ] ];\n\n\t\t\tfor ( let i = 0; i <= rounds; i++ ) {\n\t\t\t\t_Ke[ 'push' ]( [ 0, 0, 0, 0 ] );\n\t\t\t\t_Kd[ 'push' ]( [ 0, 0, 0, 0 ] );\n\t\t\t}\n\n\t\t\tconst roundKeyCount = ( rounds + 1 ) * 4;\n\t\t\tconst KC = key[ 'length' ] / 4;\n\n\t\t\tconst tk = convertToInt32( key );\n\n\t\t\tlet index;\n\n\t\t\tfor ( let i = 0; i < KC; i++ ) {\n\t\t\t\tindex = i >> 2;\n\n\t\t\t\t_Ke[ index ][ i % 4 ] = tk[ i ];\n\t\t\t\t_Kd[ rounds - index ][ i % 4 ] = tk[ i ];\n\t\t\t}\n\n\t\t\tlet rconPointer = 0;\n\t\t\tlet t = KC;\n\t\t\tlet tt;\n\n\t\t\twhile ( t < roundKeyCount ) {\n\t\t\t\ttt = tk[ KC - 1 ];\n\n\t\t\t\ttk[ 0 ] ^= (\n\t\t\t\t\t( AESConstants[ 'S' ][ ( tt >> 16 ) & 0xFF ] << 24 ) ^\n\t\t\t\t\t( AESConstants[ 'S' ][ ( tt >> 8 ) & 0xFF ] << 16 ) ^\n\t\t\t\t\t( AESConstants[ 'S' ][ tt & 0xFF ] << 8 ) ^\n\t\t\t\t\t( AESConstants[ 'S' ][ ( tt >> 24 ) & 0xFF ] ) ^\n\t\t\t\t\t( AESConstants[ 'rcon' ][ rconPointer ] << 24 )\n\t\t\t\t);\n\n\t\t\t\trconPointer += 1;\n\n\t\t\t\tfor ( let i = 1; i < ( KC / 2 ); i++ ) {\n\t\t\t\t\ttk[ i ] ^= tk[ i - 1 ];\n\t\t\t\t}\n\n\t\t\t\ttt = tk[ ( KC / 2 ) - 1 ];\n\n\t\t\t\ttk[ KC / 2 ] ^= (\n\t\t\t\t\t( AESConstants[ 'S' ][ tt & 0xFF ] ) ^\n\t\t\t\t\t( AESConstants[ 'S' ][ ( tt >> 8 ) & 0xFF ] << 8 ) ^\n\t\t\t\t\t( AESConstants[ 'S' ][ ( tt >> 16 ) & 0xFF ] << 16 ) ^\n\t\t\t\t\t( AESConstants[ 'S' ][ ( tt >> 24 ) & 0xFF ] << 24 )\n\t\t\t\t);\n\n\t\t\t\tfor ( let i = ( KC / 2 ) + 1; i < KC; i++ ) {\n\t\t\t\t\ttk[ i ] ^= tk[ i - 1 ];\n\t\t\t\t}\n\n\t\t\t\tlet i = 0;\n\t\t\t\tlet r;\n\t\t\t\tlet c;\n\n\t\t\t\twhile ( i < KC && t < roundKeyCount ) {\n\t\t\t\t\tr = t >> 2;\n\t\t\t\t\tc = t % 4;\n\n\t\t\t\t\t_Ke[ r ][ c ] = tk[ i ];\n\t\t\t\t\t_Kd[ rounds - r ][ c ] = tk[ i++ ];\n\n\t\t\t\t\tt++;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tfor ( let r = 1; r < rounds; r++ ) {\n\t\t\t\tfor ( let c = 0; c < 4; c++ ) {\n\t\t\t\t\ttt = _Kd[ r ][ c ];\n\n\t\t\t\t\t_Kd[ r ][ c ] = (\n\t\t\t\t\t\tAESConstants[ 'U1' ][ ( tt >> 24 ) & 0xFF ] ^\n\t\t\t\t\t\tAESConstants[ 'U2' ][ ( tt >> 16 ) & 0xFF ] ^\n\t\t\t\t\t\tAESConstants[ 'U3' ][ ( tt >> 8 ) & 0xFF ] ^\n\t\t\t\t\t\tAESConstants[ 'U4' ][ tt & 0xFF ]\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\t/* MASK_STRING_END */\n\t/* eslint-enable dot-notation, max-len, no-useless-computed-key, no-unexpected-multiline */\n}\n\n/* LICENSE_CHECKER_DEFINITION_PATTERN_END */\n","/**\n * @license Copyright (c) 2003-2024, 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 * @module format-painter/pasteformatcommand\n * @publicApi\n */\n\nimport type { DocumentSelection, Model, Range, Item, Schema } from 'ckeditor5/src/engine.js';\nimport { Command, type Editor } from 'ckeditor5/src/core.js';\nimport { first } from 'ckeditor5/src/utils.js';\nimport type { FormattingAttributesValues } from './formatpainterediting.js';\n\n/**\n * The command allows to paste the formatting onto the current {@link module:engine/model/selection~Selection model selection}.\n *\n * @extends module:core/command~Command\n */\nexport default class PasteFormatCommand extends Command {\n\t/**\n\t * A private instance of remove format command. See the `RemoveFormatCommandAlias` class docs for details.\n\t *\n\t * @internal\n\t */\n\tdeclare private _removeFormatCommand: RemoveFormatCommandAlias;\n\n\t/**\n\t * @inheritDoc\n\t */\n\tconstructor( editor: Editor ) {\n\t\tsuper( editor );\n\n\t\tthis._removeFormatCommand = new RemoveFormatCommandAlias( editor );\n\t}\n\n\t/**\n\t * Executes the command.\n\t *\n\t * @fires execute\n\t */\n\tpublic override execute( formattingToSet: FormattingAttributesValues | undefined = {} ): void {\n\t\tconst editor = this.editor;\n\t\tconst model = editor.model;\n\t\tconst selection = model.document.selection;\n\t\tconst originalRanges = Array.from( selection.getRanges() );\n\t\tconst rangesToPasteFormat = selection.isCollapsed ? [ this._createRangeOnEntireWord( model, selection ) ] : originalRanges;\n\n\t\tmodel.change( writer => {\n\t\t\twriter.setSelection( rangesToPasteFormat );\n\n\t\t\tthis._removeFormatCommand.execute();\n\n\t\t\tfor ( const attribute in formattingToSet ) {\n\t\t\t\tfor ( const validRange of model.schema.getValidRanges( rangesToPasteFormat, attribute ) ) {\n\t\t\t\t\twriter.setAttribute( attribute, formattingToSet[ attribute ], validRange );\n\t\t\t\t}\n\t\t\t}\n\n\t\t\twriter.setSelection( originalRanges );\n\t\t} );\n\t}\n\n\t/**\n\t * Creates a new range that is expanded to contain the closest word if the selection is collapsed.\n\t * Use only selected characters otherwise.\n\t *\n\t * @internal\n\t */\n\tprivate _createRangeOnEntireWord( model: Model, documentSelection: DocumentSelection ): Range {\n\t\tconst selectionToExpand = model.createSelection( documentSelection );\n\n\t\tmodel.modifySelection( selectionToExpand, { unit: 'word', direction: 'backward' } );\n\t\tconst firstPosition = selectionToExpand.getFirstPosition();\n\n\t\tmodel.modifySelection( selectionToExpand, { unit: 'word', direction: 'forward' } );\n\t\tconst lastPosition = selectionToExpand.getLastPosition();\n\n\t\treturn model.createRange( firstPosition!, lastPosition! );\n\t}\n}\n\n// This class is a temporary clone of `RemoveFormatCommand` from `ckeditor5-remove-format` package.\n// We decided to duplicate its code here to avoid a soft requirement in format painter feature.\n// This class could be simpler (e.g. it could be a method of the `PasteFormatCommand` class instead),\n// but I left it mostly as is to:\n// * avoid unexpected problems;\n// * limit the scope of work;\n// * limit the API changes;\n// * take into account that soon the format removal should be extracted to a reusable utility.\n// See https://github.com/ckeditor/ckeditor5/issues/13901 for details.\n//\n// @internal\nclass RemoveFormatCommandAlias extends Command {\n\t/**\n\t * @inheritDoc\n\t */\n\tpublic override execute(): void {\n\t\tconst model = this.editor.model;\n\t\tconst schema = model.schema;\n\n\t\tmodel.change( writer => {\n\t\t\tfor ( const item of this._getFormattingItems( model.document.selection, schema ) ) {\n\t\t\t\tif ( item.is( 'selection' ) ) {\n\t\t\t\t\tfor ( const attributeName of this._getFormattingAttributes( item, schema ) ) {\n\t\t\t\t\t\twriter.removeSelectionAttribute( attributeName );\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\t// Workaround for items with multiple removable attributes. See\n\t\t\t\t\t// https://github.com/ckeditor/ckeditor5-remove-format/pull/1#pullrequestreview-220515609\n\t\t\t\t\tconst itemRange = writer.createRangeOn( item );\n\n\t\t\t\t\tfor ( const attributeName of this._getFormattingAttributes( item, schema ) ) {\n\t\t\t\t\t\twriter.removeAttribute( attributeName, itemRange );\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t} );\n\t}\n\n\t/**\n\t * Returns an iterable of items in a selection (including the selection itself) that have formatting model\n\t * attributes to be removed by the feature.\n\t *\n\t * @param schema The schema describing the item.\n\t */\n\tprivate* _getFormattingItems( selection: DocumentSelection, schema: Schema ) {\n\t\tconst itemHasRemovableFormatting = ( item: Item | DocumentSelection ) => {\n\t\t\treturn !!first( this._getFormattingAttributes( item, schema ) );\n\t\t};\n\n\t\t// Check formatting on selected items that are not blocks.\n\t\tfor ( const curRange of selection.getRanges() ) {\n\t\t\tfor ( const item of curRange.getItems() ) {\n\t\t\t\tif ( !schema.isBlock( item ) && itemHasRemovableFormatting( item ) ) {\n\t\t\t\t\tyield item;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t// Check formatting from selected blocks.\n\t\tfor ( const block of selection.getSelectedBlocks() ) {\n\t\t\tif ( itemHasRemovableFormatting( block ) ) {\n\t\t\t\tyield block;\n\t\t\t}\n\t\t}\n\n\t\t// Finally the selection might be formatted as well, so make sure to check it.\n\t\tif ( itemHasRemovableFormatting( selection ) ) {\n\t\t\tyield selection;\n\t\t}\n\t}\n\n\t/**\n\t * Returns an iterable of formatting attributes of a given model item.\n\t *\n\t * **Note:** Formatting items have the `isFormatting` property set to `true`.\n\t *\n\t * @param schema The schema describing the item.\n\t * @returns The names of formatting attributes found in a given item.\n\t */\n\tprivate* _getFormattingAttributes( item: Item | DocumentSelection, schema: Schema ) {\n\t\tfor ( const [ attributeName ] of item.getAttributes() ) {\n\t\t\tconst attributeProperties = schema.getAttributeProperties( attributeName );\n\n\t\t\tif ( attributeProperties && attributeProperties.isFormatting ) {\n\t\t\t\tyield attributeName;\n\t\t\t}\n\t\t}\n\t}\n}\n","/**\n * @license Copyright (c) 2003-2024, 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 * @module format-painter/utils\n */\n\n/**\n * The name of the {@link module:format-painter/copyformatcommand~CopyFormatCommand} registered in the editor's command collection.\n *\n * @protected\n */\nexport const COPY_FORMAT_COMMAND_NAME = 'copyFormat';\n\n/**\n * The name of the {@link module:format-painter/pasteformatcommand~PasteFormatCommand} registered in the editor's command collection.\n *\n * @protected\n */\nexport const PASTE_FORMAT_COMMAND_NAME = 'pasteFormat';\n\n/**\n * The CSS class set on the editing roots during format painting by the {@link module:format-painter/formatpainterui~FormatPainterUI}.\n *\n * @protected\n */\nexport const CURSOR_ACTIVE_CSS_CLASS = 'ck-format-painter-active';\n","export default \"<!--\\n\\n What you're currently looking at is the source code of a legally protected, proprietary software.\\n CKEditor 5 Collaboration is licensed under a commercial license and protected by copyright law. Where not otherwise indicated,\\n all CKEditor 5 Collaboration content is authored by CKSource engineers and consists of CKSource-owned intellectual property.\\n\\n Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\\n\\n!-->\\n\\n<svg viewBox=\\\"0 0 20 20\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\"><path d=\\\"M10 0C4.48 0 0 4.48 0 10s4.48 10 10 10 10-4.48 10-10S15.52 0 10 0zm1 15H9v-2h2v2zm0-4H9V5h2v6z\\\"/></svg>\\n\";","export default \"<svg viewBox=\\\"0 0 20 20\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\"><path d=\\\"M5.789 3 0 17h1.664l1.664-4.027h6.797l.227.548c.046-.172.112-.352.209-.545.217-.436.556-.609.898-.798L7.664 3H5.79Zm.938 1.758 2.777 6.715H3.949l2.778-6.715Z\\\"/><path d=\\\"M15.956 7.5c-1.584-.02-3.226.824-3.843 2.882l1.495.106c.904-2.082 4.594-2.13 4.375.534-3.245 1.024-4.838.117-6.082 2.62-.208.418-.17 1.57.54 2.397.71.826 2.014 1.149 3.409.85 1.395-.299 2.24-1.386 2.24-1.386L18.205 17h1.493l-.059-1.72-.056-5.274C19.51 8.612 17.75 7.524 15.956 7.5Zm2.027 4.696s.641 2.453-1.528 3.27c-3.376 1.269-4.188-2.141-1.775-2.638 1.704-.352 1.873-.25 3.303-.632Z\\\"/></svg>\";","export default \"<svg viewBox=\\\"0 0 20 20\\\" width=\\\"20\\\" height=\\\"20\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\"><path d=\\\"M3 3a1 1 0 0 1 1-1h10a1 1 0 0 1 1 1v2a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1V3Z\\\"/><path d=\\\"M16 3.25a1.5 1.5 0 0 1 1.5 1.5v1.7a2.25 2.25 0 0 1-1.932 2.226l-4.424.632a.75.75 0 0 0-.644.743V11a1 1 0 0 1 1 1v5a1 1 0 0 1-1 1H9a1 1 0 0 1-1-1v-5a1 1 0 0 1 1-1v-.95a2.25 2.25 0 0 1 1.932-2.226l4.424-.632A.75.75 0 0 0 16 6.449V3.25Z\\\"/></svg>\\n\";","export default \"<svg viewBox=\\\"0 0 20 20\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\"><path d=\\\"M9.61 2.66a1.406 1.406 0 1 0-1.407 0v.891H3.28a2.11 2.11 0 0 0-2.11 2.11v10.312a2.11 2.11 0 0 0 2.11 2.109h5.684l-.054-1.157.18-.25H3.28a.703.703 0 0 1-.703-.702V5.66c0-.389.315-.704.703-.704h11.25c.388 0 .703.315.703.704v2.484l.358-.497a2.492 2.492 0 0 1 1.048-.84V5.66a2.11 2.11 0 0 0-2.11-2.11H9.61v-.89Z\\\"/><path d=\\\"M5.625 10.817c.518 0 .937-.63.937-1.407 0-.776-.42-1.406-.937-1.406-.518 0-.938.63-.938 1.406 0 .777.42 1.407.938 1.407Z\\\"/><path d=\\\"M13.125 9.41c0 .777-.42 1.407-.938 1.407s-.937-.63-.937-1.407c0-.776.42-1.406.937-1.406.518 0 .938.63.938 1.406Z\\\"/><path d=\\\"M.937 8.004A.937.937 0 0 0 0 8.942v1.875c0 .517.42.937.937.937v-3.75Z\\\"/><path d=\\\"M6.128 12.51a.782.782 0 0 1 1.085.216c.272.408.907.707 1.693.707s1.421-.3 1.693-.707a.782.782 0 0 1 1.302.868c-.666 1-1.906 1.403-2.995 1.403-1.089 0-2.329-.404-2.995-1.403a.782.782 0 0 1 .217-1.085Z\\\"/><path d=\\\"m16.987 8.91-.622.864 2.879 2.074.622-.864a.71.71 0 0 0-.161-.99l-1.728-1.245a.71.71 0 0 0-.99.161Z\\\"/><path d=\\\"M11.635 19.951a.355.355 0 0 1-.449-.31l-.214-2.38 4.978-6.911 2.88 2.074-4.978 6.91-2.217.617Z\\\"/></svg>\";","export default \"<svg viewBox=\\\"0 0 20 20\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\"><path d=\\\"M3 19a2 2 0 0 1-2-2V2a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2v8.022a6.47 6.47 0 0 0-1.5-.709V2a.5.5 0 0 0-.5-.5H3a.5.5 0 0 0-.5.5v15a.5.5 0 0 0 .5.5h6.313c.173.534.412 1.037.709 1.5H3Z\\\"/><path d=\\\"M9.174 14a6.489 6.489 0 0 0-.155 1H6v-1h3.174Z\\\"/><path d=\\\"M10.022 12c-.202.316-.378.65-.524 1H4v-1h6.022Z\\\"/><path d=\\\"M12.034 10c-.448.283-.86.62-1.224 1H6v-1h6.034Z\\\"/><path d=\\\"M12 4v1H4V4h8Z\\\"/><path d=\\\"M14 7V6H6v1h8Z\\\"/><path d=\\\"M15 9V8H7v1h8Z\\\"/><path clip-rule=\\\"evenodd\\\" d=\\\"M20 15.5a4.5 4.5 0 1 1-9 0 4.5 4.5 0 0 1 9 0ZM15.5 13a.5.5 0 0 0-.5.5V15h-1.5a.5.5 0 0 0 0 1H15v1.5a.5.5 0 0 0 1 0V16h1.5a.5.5 0 0 0 0-1H16v-1.5a.5.5 0 0 0-.5-.5Z\\\"/></svg>\\n\";","export default \"<svg viewBox=\\\"0 0 20 20\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\"><path clip-rule=\\\"evenodd\\\" d=\\\"M8 0H3a2 2 0 0 0-2 2v15a2 2 0 0 0 2 2h5a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2ZM2.5 2a.5.5 0 0 1 .5-.5h5a.5.5 0 0 1 .5.5v15a.5.5 0 0 1-.5.5H3a.5.5 0 0 1-.5-.5V2Z\\\"/><path clip-rule=\\\"evenodd\\\" d=\\\"M13 0h5a2 2 0 0 1 2 2v5a2 2 0 0 1-2 2h-5a2 2 0 0 1-2-2V2a2 2 0 0 1 2-2Zm0 1.5a.5.5 0 0 0-.5.5v5a.5.5 0 0 0 .5.5h5a.5.5 0 0 0 .5-.5V2a.5.5 0 0 0-.5-.5h-5Z\\\"/><path clip-rule=\\\"evenodd\\\" d=\\\"M13 10h5a2 2 0 0 1 2 2v5a2 2 0 0 1-2 2h-5a2 2 0 0 1-2-2v-5a2 2 0 0 1 2-2Zm0 1.5a.5.5 0 0 0-.5.5v5a.5.5 0 0 0 .5.5h5a.5.5 0 0 0 .5-.5v-5a.5.5 0 0 0-.5-.5h-5Z\\\"/></svg>\";","import api from \"!../../../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import content from \"!!../../../../../../node_modules/css-loader/dist/cjs.js!../../../../../../node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[1].use[2]!./codeblock.css\";\n\nvar options = {\"injectType\":\"singletonStyleTag\",\"attributes\":{\"data-cke\":true}};\n\noptions.insert = \"head\";\noptions.singleton = true;\n\nvar update = api(content, options);\n\n\n\nexport default content.locals || {};","import api from \"!../../../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import content from \"!!../../../../../../node_modules/css-loader/dist/cjs.js!../../../../../../node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[1].use[2]!./horizontalline.css\";\n\nvar options = {\"injectType\":\"singletonStyleTag\",\"attributes\":{\"data-cke\":true}};\n\noptions.insert = \"head\";\noptions.singleton = true;\n\nvar update = api(content, options);\n\n\n\nexport default content.locals || {};","import api from \"!../../../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import content from \"!!../../../../../../node_modules/css-loader/dist/cjs.js!../../../../../../node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[1].use[2]!./image.css\";\n\nvar options = {\"injectType\":\"singletonStyleTag\",\"attributes\":{\"data-cke\":true}};\n\noptions.insert = \"head\";\noptions.singleton = true;\n\nvar update = api(content, options);\n\n\n\nexport default content.locals || {};","import api from \"!../../../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import content from \"!!../../../../../../node_modules/css-loader/dist/cjs.js!../../../../../../node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[1].use[2]!./mediaembed.css\";\n\nvar options = {\"injectType\":\"singletonStyleTag\",\"attributes\":{\"data-cke\":true}};\n\noptions.insert = \"head\";\noptions.singleton = true;\n\nvar update = api(content, options);\n\n\n\nexport default content.locals || {};","import api from \"!../../../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import content from \"!!../../../../../../node_modules/css-loader/dist/cjs.js!../../../../../../node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[1].use[2]!./pagebreak.css\";\n\nvar options = {\"injectType\":\"singletonStyleTag\",\"attributes\":{\"data-cke\":true}};\n\noptions.insert = \"head\";\noptions.singleton = true;\n\nvar update = api(content, options);\n\n\n\nexport default content.locals || {};","import api from \"!../../../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import content from \"!!../../../../../../node_modules/css-loader/dist/cjs.js!../../../../../../node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[1].use[2]!./table.css\";\n\nvar options = {\"injectType\":\"singletonStyleTag\",\"attributes\":{\"data-cke\":true}};\n\noptions.insert = \"head\";\noptions.singleton = true;\n\nvar update = api(content, options);\n\n\n\nexport default content.locals || {};","import api from \"!../../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import content from \"!!../../../../../node_modules/css-loader/dist/cjs.js!../../../../../node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[1].use[2]!./suggestion.css\";\n\nvar options = {\"injectType\":\"singletonStyleTag\",\"attributes\":{\"data-cke\":true}};\n\noptions.insert = \"head\";\noptions.singleton = true;\n\nvar update = api(content, options);\n\n\n\nexport default content.locals || {};","import api from \"!../../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import content from \"!!../../../../../node_modules/css-loader/dist/cjs.js!../../../../../node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[1].use[2]!./suggestionmarker.css\";\n\nvar options = {\"injectType\":\"singletonStyleTag\",\"attributes\":{\"data-cke\":true}};\n\noptions.insert = \"head\";\noptions.singleton = true;\n\nvar update = api(content, options);\n\n\n\nexport default content.locals || {};","import api from \"!../../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import content from \"!!../../../../../node_modules/css-loader/dist/cjs.js!../../../../../node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[1].use[2]!./usercolors.css\";\n\nvar options = {\"injectType\":\"singletonStyleTag\",\"attributes\":{\"data-cke\":true}};\n\noptions.insert = \"head\";\noptions.singleton = true;\n\nvar update = api(content, options);\n\n\n\nexport default content.locals || {};","import api from \"!../../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import content from \"!!../../../../../node_modules/css-loader/dist/cjs.js!../../../../../node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[1].use[2]!./users.css\";\n\nvar options = {\"injectType\":\"singletonStyleTag\",\"attributes\":{\"data-cke\":true}};\n\noptions.insert = \"head\";\noptions.singleton = true;\n\nvar update = api(content, options);\n\n\n\nexport default content.locals || {};","import api from \"!../../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import content from \"!!../../../../../node_modules/css-loader/dist/cjs.js!../../../../../node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[1].use[2]!./formatpainter.css\";\n\nvar options = {\"injectType\":\"singletonStyleTag\",\"attributes\":{\"data-cke\":true}};\n\noptions.insert = \"head\";\noptions.singleton = true;\n\nvar update = api(content, options);\n\n\n\nexport default content.locals || {};","\"use strict\";\n\nvar isOldIE = function isOldIE() {\n var memo;\n return function memorize() {\n if (typeof memo === 'undefined') {\n // Test for IE <= 9 as proposed by Browserhacks\n // @see http://browserhacks.com/#hack-e71d8692f65334173fee715c222cb805\n // Tests for existence of standard globals is to allow style-loader\n // to operate correctly into non-standard environments\n // @see https://github.com/webpack-contrib/style-loader/issues/177\n memo = Boolean(window && document && document.all && !window.atob);\n }\n\n return memo;\n };\n}();\n\nvar getTarget = function getTarget() {\n var memo = {};\n return function memorize(target) {\n if (typeof memo[target] === 'undefined') {\n var styleTarget = document.querySelector(target); // Special case to return head of iframe instead of iframe itself\n\n if (window.HTMLIFrameElement && styleTarget instanceof window.HTMLIFrameElement) {\n try {\n // This will throw an exception if access to iframe is blocked\n // due to cross-origin restrictions\n styleTarget = styleTarget.contentDocument.head;\n } catch (e) {\n // istanbul ignore next\n styleTarget = null;\n }\n }\n\n memo[target] = styleTarget;\n }\n\n return memo[target];\n };\n}();\n\nvar stylesInDom = [];\n\nfunction getIndexByIdentifier(identifier) {\n var result = -1;\n\n for (var i = 0; i < stylesInDom.length; i++) {\n if (stylesInDom[i].identifier === identifier) {\n result = i;\n break;\n }\n }\n\n return result;\n}\n\nfunction modulesToDom(list, options) {\n var idCountMap = {};\n var identifiers = [];\n\n for (var i = 0; i < list.length; i++) {\n var item = list[i];\n var id = options.base ? item[0] + options.base : item[0];\n var count = idCountMap[id] || 0;\n var identifier = \"\".concat(id, \" \").concat(count);\n idCountMap[id] = count + 1;\n var index = getIndexByIdentifier(identifier);\n var obj = {\n css: item[1],\n media: item[2],\n sourceMap: item[3]\n };\n\n if (index !== -1) {\n stylesInDom[index].references++;\n stylesInDom[index].updater(obj);\n } else {\n stylesInDom.push({\n identifier: identifier,\n updater: addStyle(obj, options),\n references: 1\n });\n }\n\n identifiers.push(identifier);\n }\n\n return identifiers;\n}\n\nfunction insertStyleElement(options) {\n var style = document.createElement('style');\n var attributes = options.attributes || {};\n\n if (typeof attributes.nonce === 'undefined') {\n var nonce = typeof __webpack_nonce__ !== 'undefined' ? __webpack_nonce__ : null;\n\n if (nonce) {\n attributes.nonce = nonce;\n }\n }\n\n Object.keys(attributes).forEach(function (key) {\n style.setAttribute(key, attributes[key]);\n });\n\n if (typeof options.insert === 'function') {\n options.insert(style);\n } else {\n var target = getTarget(options.insert || 'head');\n\n if (!target) {\n throw new Error(\"Couldn't find a style target. This probably means that the value for the 'insert' parameter is invalid.\");\n }\n\n target.appendChild(style);\n }\n\n return style;\n}\n\nfunction removeStyleElement(style) {\n // istanbul ignore if\n if (style.parentNode === null) {\n return false;\n }\n\n style.parentNode.removeChild(style);\n}\n/* istanbul ignore next */\n\n\nvar replaceText = function replaceText() {\n var textStore = [];\n return function replace(index, replacement) {\n textStore[index] = replacement;\n return textStore.filter(Boolean).join('\\n');\n };\n}();\n\nfunction applyToSingletonTag(style, index, remove, obj) {\n var css = remove ? '' : obj.media ? \"@media \".concat(obj.media, \" {\").concat(obj.css, \"}\") : obj.css; // For old IE\n\n /* istanbul ignore if */\n\n if (style.styleSheet) {\n style.styleSheet.cssText = replaceText(index, css);\n } else {\n var cssNode = document.createTextNode(css);\n var childNodes = style.childNodes;\n\n if (childNodes[index]) {\n style.removeChild(childNodes[index]);\n }\n\n if (childNodes.length) {\n style.insertBefore(cssNode, childNodes[index]);\n } else {\n style.appendChild(cssNode);\n }\n }\n}\n\nfunction applyToTag(style, options, obj) {\n var css = obj.css;\n var media = obj.media;\n var sourceMap = obj.sourceMap;\n\n if (media) {\n style.setAttribute('media', media);\n } else {\n style.removeAttribute('media');\n }\n\n if (sourceMap && typeof btoa !== 'undefined') {\n css += \"\\n/*# sourceMappingURL=data:application/json;base64,\".concat(btoa(unescape(encodeURIComponent(JSON.stringify(sourceMap)))), \" */\");\n } // For old IE\n\n /* istanbul ignore if */\n\n\n if (style.styleSheet) {\n style.styleSheet.cssText = css;\n } else {\n while (style.firstChild) {\n style.removeChild(style.firstChild);\n }\n\n style.appendChild(document.createTextNode(css));\n }\n}\n\nvar singleton = null;\nvar singletonCounter = 0;\n\nfunction addStyle(obj, options) {\n var style;\n var update;\n var remove;\n\n if (options.singleton) {\n var styleIndex = singletonCounter++;\n style = singleton || (singleton = insertStyleElement(options));\n update = applyToSingletonTag.bind(null, style, styleIndex, false);\n remove = applyToSingletonTag.bind(null, style, styleIndex, true);\n } else {\n style = insertStyleElement(options);\n update = applyToTag.bind(null, style, options);\n\n remove = function remove() {\n removeStyleElement(style);\n };\n }\n\n update(obj);\n return function updateStyle(newObj) {\n if (newObj) {\n if (newObj.css === obj.css && newObj.media === obj.media && newObj.sourceMap === obj.sourceMap) {\n return;\n }\n\n update(obj = newObj);\n } else {\n remove();\n }\n };\n}\n\nmodule.exports = function (list, options) {\n options = options || {}; // Force single-tag solution on IE6-9, which has a hard limit on the # of <style>\n // tags it will allow on a page\n\n if (!options.singleton && typeof options.singleton !== 'boolean') {\n options.singleton = isOldIE();\n }\n\n list = list || [];\n var lastIdentifiers = modulesToDom(list, options);\n return function update(newList) {\n newList = newList || [];\n\n if (Object.prototype.toString.call(newList) !== '[object Array]') {\n return;\n }\n\n for (var i = 0; i < lastIdentifiers.length; i++) {\n var identifier = lastIdentifiers[i];\n var index = getIndexByIdentifier(identifier);\n stylesInDom[index].references--;\n }\n\n var newLastIdentifiers = modulesToDom(newList, options);\n\n for (var _i = 0; _i < lastIdentifiers.length; _i++) {\n var _identifier = lastIdentifiers[_i];\n\n var _index = getIndexByIdentifier(_identifier);\n\n if (stylesInDom[_index].references === 0) {\n stylesInDom[_index].updater();\n\n stylesInDom.splice(_index, 1);\n }\n }\n\n lastIdentifiers = newLastIdentifiers;\n };\n};","module.exports = (__webpack_require__(/*! dll-reference CKEditor5.dll */ \"dll-reference CKEditor5.dll\"))(\"./src/core.js\");","module.exports = (__webpack_require__(/*! dll-reference CKEditor5.dll */ \"dll-reference CKEditor5.dll\"))(\"./src/engine.js\");","module.exports = (__webpack_require__(/*! dll-reference CKEditor5.dll */ \"dll-reference CKEditor5.dll\"))(\"./src/ui.js\");","module.exports = (__webpack_require__(/*! dll-reference CKEditor5.dll */ \"dll-reference CKEditor5.dll\"))(\"./src/utils.js\");","module.exports = CKEditor5.dll;","function _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n \"default\": obj\n };\n}\nmodule.exports = _interopRequireDefault, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _typeof(o) {\n \"@babel/helpers - typeof\";\n\n return (module.exports = _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) {\n return typeof o;\n } : function (o) {\n return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o;\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports), _typeof(o);\n}\nmodule.exports = _typeof, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\tid: moduleId,\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","__webpack_require__.nc = undefined;","/**\n * @license Copyright (c) 2003-2024, 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 * @module format-painter\n */\n\nexport { type COPY_FORMAT_COMMAND_NAME, type PASTE_FORMAT_COMMAND_NAME } from './utils.js';\nexport { default as FormatPainter } from './formatpainter.js';\nexport { default as FormatPainterEditing, type FormattingAttributesValues } from './formatpainterediting.js';\nexport { default as FormatPainterUI } from './formatpainterui.js';\nexport { default as PasteFormatCommand } from './pasteformatcommand.js';\nexport { default as CopyFormatCommand } from './copyformatcommand.js';\n\nimport './augmentation.js';\n"],"sourceRoot":""}
|