jodit-pro 4.13.38 → 4.13.44
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/es2015/jodit.css +1 -1
- package/es2015/jodit.fat.min.css +1 -1
- package/es2015/jodit.fat.min.js +28 -28
- package/es2015/jodit.js +83 -190
- package/es2015/jodit.min.css +1 -1
- package/es2015/jodit.min.js +2 -2
- package/es2015/plugins/ai-assistant-pro/ai-assistant-pro.css +1 -1
- package/es2015/plugins/ai-assistant-pro/ai-assistant-pro.js +306 -168
- package/es2015/plugins/ai-assistant-pro/ai-assistant-pro.min.js +29 -29
- package/es2015/plugins/autocomplete/autocomplete.css +1 -1
- package/es2015/plugins/autocomplete/autocomplete.js +1 -1
- package/es2015/plugins/autocomplete/autocomplete.min.js +1 -1
- package/es2015/plugins/backup/backup.css +1 -1
- package/es2015/plugins/backup/backup.js +1 -1
- package/es2015/plugins/backup/backup.min.js +1 -1
- package/es2015/plugins/button-generator/button-generator.css +1 -1
- package/es2015/plugins/button-generator/button-generator.js +1 -1
- package/es2015/plugins/button-generator/button-generator.min.js +1 -1
- package/es2015/plugins/change-case/change-case.js +1 -1
- package/es2015/plugins/change-case/change-case.min.js +1 -1
- package/es2015/plugins/color-picker/color-picker.css +1 -1
- package/es2015/plugins/color-picker/color-picker.js +1 -1
- package/es2015/plugins/color-picker/color-picker.min.js +1 -1
- package/es2015/plugins/emoji/emoji.css +1 -1
- package/es2015/plugins/emoji/emoji.js +1 -1
- package/es2015/plugins/emoji/emoji.min.js +1 -1
- package/es2015/plugins/export-docs/export-docs.js +1 -1
- package/es2015/plugins/export-docs/export-docs.min.js +1 -1
- package/es2015/plugins/finder/finder.css +1 -1
- package/es2015/plugins/finder/finder.js +1 -1
- package/es2015/plugins/finder/finder.min.css +1 -1
- package/es2015/plugins/finder/finder.min.js +1 -1
- package/es2015/plugins/google-maps/google-maps.css +1 -1
- package/es2015/plugins/google-maps/google-maps.js +241 -72
- package/es2015/plugins/google-maps/google-maps.min.js +4 -4
- package/es2015/plugins/google-search/google-search.js +1 -1
- package/es2015/plugins/google-search/google-search.min.js +1 -1
- package/es2015/plugins/highlight-signature/highlight-signature.js +1 -1
- package/es2015/plugins/highlight-signature/highlight-signature.min.js +1 -1
- package/es2015/plugins/iframe-editor/iframe-editor.css +1 -1
- package/es2015/plugins/iframe-editor/iframe-editor.js +1 -1
- package/es2015/plugins/iframe-editor/iframe-editor.min.js +1 -1
- package/es2015/plugins/image-editor-pro/image-editor-pro.css +1 -1
- package/es2015/plugins/image-editor-pro/image-editor-pro.js +6 -12
- package/es2015/plugins/image-editor-pro/image-editor-pro.min.js +1 -1
- package/es2015/plugins/keyboard/keyboard.css +1 -1
- package/es2015/plugins/keyboard/keyboard.js +1 -1
- package/es2015/plugins/keyboard/keyboard.min.js +1 -1
- package/es2015/plugins/mobile-view/mobile-view.js +1 -1
- package/es2015/plugins/mobile-view/mobile-view.min.js +1 -1
- package/es2015/plugins/page-break/page-break.js +1 -1
- package/es2015/plugins/page-break/page-break.min.js +1 -1
- package/es2015/plugins/paste-code/paste-code.css +1 -1
- package/es2015/plugins/paste-code/paste-code.js +1 -1
- package/es2015/plugins/paste-code/paste-code.min.js +1 -1
- package/es2015/plugins/paste-from-word/paste-from-word.js +1 -1
- package/es2015/plugins/paste-from-word/paste-from-word.min.js +1 -1
- package/es2015/plugins/show-blocks/show-blocks.js +1 -1
- package/es2015/plugins/show-blocks/show-blocks.min.js +1 -1
- package/es2015/plugins/style/style.css +1 -1
- package/es2015/plugins/style/style.js +1 -1
- package/es2015/plugins/style/style.min.js +1 -1
- package/es2015/plugins/templates/templates.css +1 -1
- package/es2015/plugins/templates/templates.js +1 -1
- package/es2015/plugins/templates/templates.min.js +1 -1
- package/es2015/plugins/todo-list/todo-list.css +1 -1
- package/es2015/plugins/todo-list/todo-list.js +1 -1
- package/es2015/plugins/todo-list/todo-list.min.js +1 -1
- package/es2015/plugins/translate/translate.css +1 -1
- package/es2015/plugins/translate/translate.js +1 -1
- package/es2015/plugins/translate/translate.min.js +1 -1
- package/es2015/plugins/tune-block/tune-block.css +1 -1
- package/es2015/plugins/tune-block/tune-block.js +1 -1
- package/es2015/plugins/tune-block/tune-block.min.js +1 -1
- package/es2018/jodit.fat.min.css +1 -1
- package/es2018/jodit.fat.min.js +19 -19
- package/es2018/jodit.min.css +1 -1
- package/es2018/jodit.min.js +2 -2
- package/es2018/plugins/ai-assistant-pro/ai-assistant-pro.min.js +15 -15
- package/es2018/plugins/autocomplete/autocomplete.min.js +1 -1
- package/es2018/plugins/backup/backup.min.js +1 -1
- package/es2018/plugins/button-generator/button-generator.min.js +1 -1
- package/es2018/plugins/change-case/change-case.min.js +1 -1
- package/es2018/plugins/color-picker/color-picker.min.js +1 -1
- package/es2018/plugins/emoji/emoji.min.js +1 -1
- package/es2018/plugins/export-docs/export-docs.min.js +1 -1
- package/es2018/plugins/finder/finder.min.css +1 -1
- package/es2018/plugins/finder/finder.min.js +1 -1
- package/es2018/plugins/google-maps/google-maps.min.js +7 -7
- package/es2018/plugins/google-search/google-search.min.js +1 -1
- package/es2018/plugins/highlight-signature/highlight-signature.min.js +1 -1
- package/es2018/plugins/iframe-editor/iframe-editor.min.js +1 -1
- package/es2018/plugins/image-editor-pro/image-editor-pro.min.js +1 -1
- package/es2018/plugins/keyboard/keyboard.min.js +1 -1
- package/es2018/plugins/mobile-view/mobile-view.min.js +1 -1
- package/es2018/plugins/page-break/page-break.min.js +1 -1
- package/es2018/plugins/paste-code/paste-code.min.js +1 -1
- package/es2018/plugins/paste-from-word/paste-from-word.min.js +1 -1
- package/es2018/plugins/show-blocks/show-blocks.min.js +1 -1
- package/es2018/plugins/style/style.min.js +1 -1
- package/es2018/plugins/templates/templates.min.js +1 -1
- package/es2018/plugins/todo-list/todo-list.min.js +1 -1
- package/es2018/plugins/translate/translate.min.js +1 -1
- package/es2018/plugins/tune-block/tune-block.min.js +1 -1
- package/es2021/jodit.css +1 -1
- package/es2021/jodit.fat.min.css +1 -1
- package/es2021/jodit.fat.min.js +19 -19
- package/es2021/jodit.js +2 -2
- package/es2021/jodit.min.css +1 -1
- package/es2021/jodit.min.js +2 -2
- package/es2021/plugins/ai-assistant-pro/ai-assistant-pro.css +1 -1
- package/es2021/plugins/ai-assistant-pro/ai-assistant-pro.js +204 -162
- package/es2021/plugins/ai-assistant-pro/ai-assistant-pro.min.js +15 -15
- package/es2021/plugins/autocomplete/autocomplete.css +1 -1
- package/es2021/plugins/autocomplete/autocomplete.js +1 -1
- package/es2021/plugins/autocomplete/autocomplete.min.js +1 -1
- package/es2021/plugins/backup/backup.css +1 -1
- package/es2021/plugins/backup/backup.js +1 -1
- package/es2021/plugins/backup/backup.min.js +1 -1
- package/es2021/plugins/button-generator/button-generator.css +1 -1
- package/es2021/plugins/button-generator/button-generator.js +1 -1
- package/es2021/plugins/button-generator/button-generator.min.js +1 -1
- package/es2021/plugins/change-case/change-case.js +1 -1
- package/es2021/plugins/change-case/change-case.min.js +1 -1
- package/es2021/plugins/color-picker/color-picker.css +1 -1
- package/es2021/plugins/color-picker/color-picker.js +1 -1
- package/es2021/plugins/color-picker/color-picker.min.js +1 -1
- package/es2021/plugins/emoji/emoji.css +1 -1
- package/es2021/plugins/emoji/emoji.js +1 -1
- package/es2021/plugins/emoji/emoji.min.js +1 -1
- package/es2021/plugins/export-docs/export-docs.js +1 -1
- package/es2021/plugins/export-docs/export-docs.min.js +1 -1
- package/es2021/plugins/finder/finder.css +1 -1
- package/es2021/plugins/finder/finder.js +1 -1
- package/es2021/plugins/finder/finder.min.css +1 -1
- package/es2021/plugins/finder/finder.min.js +1 -1
- package/es2021/plugins/google-maps/google-maps.css +1 -1
- package/es2021/plugins/google-maps/google-maps.js +236 -75
- package/es2021/plugins/google-maps/google-maps.min.js +9 -9
- package/es2021/plugins/google-search/google-search.js +1 -1
- package/es2021/plugins/google-search/google-search.min.js +1 -1
- package/es2021/plugins/highlight-signature/highlight-signature.js +1 -1
- package/es2021/plugins/highlight-signature/highlight-signature.min.js +1 -1
- package/es2021/plugins/iframe-editor/iframe-editor.css +1 -1
- package/es2021/plugins/iframe-editor/iframe-editor.js +1 -1
- package/es2021/plugins/iframe-editor/iframe-editor.min.js +1 -1
- package/es2021/plugins/image-editor-pro/image-editor-pro.css +1 -1
- package/es2021/plugins/image-editor-pro/image-editor-pro.js +2 -4
- package/es2021/plugins/image-editor-pro/image-editor-pro.min.js +1 -1
- package/es2021/plugins/keyboard/keyboard.css +1 -1
- package/es2021/plugins/keyboard/keyboard.js +1 -1
- package/es2021/plugins/keyboard/keyboard.min.js +1 -1
- package/es2021/plugins/mobile-view/mobile-view.js +1 -1
- package/es2021/plugins/mobile-view/mobile-view.min.js +1 -1
- package/es2021/plugins/page-break/page-break.js +1 -1
- package/es2021/plugins/page-break/page-break.min.js +1 -1
- package/es2021/plugins/paste-code/paste-code.css +1 -1
- package/es2021/plugins/paste-code/paste-code.js +1 -1
- package/es2021/plugins/paste-code/paste-code.min.js +1 -1
- package/es2021/plugins/paste-from-word/paste-from-word.js +1 -1
- package/es2021/plugins/paste-from-word/paste-from-word.min.js +1 -1
- package/es2021/plugins/show-blocks/show-blocks.js +1 -1
- package/es2021/plugins/show-blocks/show-blocks.min.js +1 -1
- package/es2021/plugins/style/style.css +1 -1
- package/es2021/plugins/style/style.js +1 -1
- package/es2021/plugins/style/style.min.js +1 -1
- package/es2021/plugins/templates/templates.css +1 -1
- package/es2021/plugins/templates/templates.js +1 -1
- package/es2021/plugins/templates/templates.min.js +1 -1
- package/es2021/plugins/todo-list/todo-list.css +1 -1
- package/es2021/plugins/todo-list/todo-list.js +1 -1
- package/es2021/plugins/todo-list/todo-list.min.js +1 -1
- package/es2021/plugins/translate/translate.css +1 -1
- package/es2021/plugins/translate/translate.js +1 -1
- package/es2021/plugins/translate/translate.min.js +1 -1
- package/es2021/plugins/tune-block/tune-block.css +1 -1
- package/es2021/plugins/tune-block/tune-block.js +1 -1
- package/es2021/plugins/tune-block/tune-block.min.js +1 -1
- package/es2021.en/jodit.css +1 -1
- package/es2021.en/jodit.fat.min.css +1 -1
- package/es2021.en/jodit.fat.min.js +19 -19
- package/es2021.en/jodit.js +2 -2
- package/es2021.en/jodit.min.css +1 -1
- package/es2021.en/jodit.min.js +2 -2
- package/es2021.en/plugins/ai-assistant-pro/ai-assistant-pro.css +1 -1
- package/es2021.en/plugins/ai-assistant-pro/ai-assistant-pro.js +204 -162
- package/es2021.en/plugins/ai-assistant-pro/ai-assistant-pro.min.js +15 -15
- package/es2021.en/plugins/autocomplete/autocomplete.css +1 -1
- package/es2021.en/plugins/autocomplete/autocomplete.js +1 -1
- package/es2021.en/plugins/autocomplete/autocomplete.min.js +1 -1
- package/es2021.en/plugins/backup/backup.css +1 -1
- package/es2021.en/plugins/backup/backup.js +1 -1
- package/es2021.en/plugins/backup/backup.min.js +1 -1
- package/es2021.en/plugins/button-generator/button-generator.css +1 -1
- package/es2021.en/plugins/button-generator/button-generator.js +1 -1
- package/es2021.en/plugins/button-generator/button-generator.min.js +1 -1
- package/es2021.en/plugins/change-case/change-case.js +1 -1
- package/es2021.en/plugins/change-case/change-case.min.js +1 -1
- package/es2021.en/plugins/color-picker/color-picker.css +1 -1
- package/es2021.en/plugins/color-picker/color-picker.js +1 -1
- package/es2021.en/plugins/color-picker/color-picker.min.js +1 -1
- package/es2021.en/plugins/emoji/emoji.css +1 -1
- package/es2021.en/plugins/emoji/emoji.js +1 -1
- package/es2021.en/plugins/emoji/emoji.min.js +1 -1
- package/es2021.en/plugins/export-docs/export-docs.js +1 -1
- package/es2021.en/plugins/export-docs/export-docs.min.js +1 -1
- package/es2021.en/plugins/finder/finder.css +1 -1
- package/es2021.en/plugins/finder/finder.js +1 -1
- package/es2021.en/plugins/finder/finder.min.css +1 -1
- package/es2021.en/plugins/finder/finder.min.js +1 -1
- package/es2021.en/plugins/google-maps/google-maps.css +1 -1
- package/es2021.en/plugins/google-maps/google-maps.js +236 -75
- package/es2021.en/plugins/google-maps/google-maps.min.js +9 -9
- package/es2021.en/plugins/google-search/google-search.js +1 -1
- package/es2021.en/plugins/google-search/google-search.min.js +1 -1
- package/es2021.en/plugins/highlight-signature/highlight-signature.js +1 -1
- package/es2021.en/plugins/highlight-signature/highlight-signature.min.js +1 -1
- package/es2021.en/plugins/iframe-editor/iframe-editor.css +1 -1
- package/es2021.en/plugins/iframe-editor/iframe-editor.js +1 -1
- package/es2021.en/plugins/iframe-editor/iframe-editor.min.js +1 -1
- package/es2021.en/plugins/image-editor-pro/image-editor-pro.css +1 -1
- package/es2021.en/plugins/image-editor-pro/image-editor-pro.js +2 -4
- package/es2021.en/plugins/image-editor-pro/image-editor-pro.min.js +1 -1
- package/es2021.en/plugins/keyboard/keyboard.css +1 -1
- package/es2021.en/plugins/keyboard/keyboard.js +1 -1
- package/es2021.en/plugins/keyboard/keyboard.min.js +1 -1
- package/es2021.en/plugins/mobile-view/mobile-view.js +1 -1
- package/es2021.en/plugins/mobile-view/mobile-view.min.js +1 -1
- package/es2021.en/plugins/page-break/page-break.js +1 -1
- package/es2021.en/plugins/page-break/page-break.min.js +1 -1
- package/es2021.en/plugins/paste-code/paste-code.css +1 -1
- package/es2021.en/plugins/paste-code/paste-code.js +1 -1
- package/es2021.en/plugins/paste-code/paste-code.min.js +1 -1
- package/es2021.en/plugins/paste-from-word/paste-from-word.js +1 -1
- package/es2021.en/plugins/paste-from-word/paste-from-word.min.js +1 -1
- package/es2021.en/plugins/show-blocks/show-blocks.js +1 -1
- package/es2021.en/plugins/show-blocks/show-blocks.min.js +1 -1
- package/es2021.en/plugins/style/style.css +1 -1
- package/es2021.en/plugins/style/style.js +1 -1
- package/es2021.en/plugins/style/style.min.js +1 -1
- package/es2021.en/plugins/templates/templates.css +1 -1
- package/es2021.en/plugins/templates/templates.js +1 -1
- package/es2021.en/plugins/templates/templates.min.js +1 -1
- package/es2021.en/plugins/todo-list/todo-list.css +1 -1
- package/es2021.en/plugins/todo-list/todo-list.js +1 -1
- package/es2021.en/plugins/todo-list/todo-list.min.js +1 -1
- package/es2021.en/plugins/translate/translate.css +1 -1
- package/es2021.en/plugins/translate/translate.js +1 -1
- package/es2021.en/plugins/translate/translate.min.js +1 -1
- package/es2021.en/plugins/tune-block/tune-block.css +1 -1
- package/es2021.en/plugins/tune-block/tune-block.js +1 -1
- package/es2021.en/plugins/tune-block/tune-block.min.js +1 -1
- package/es5/jodit.css +2 -2
- package/es5/jodit.fat.min.css +1 -1
- package/es5/jodit.fat.min.js +2 -2
- package/es5/jodit.js +1788 -2701
- package/es5/jodit.min.css +3 -3
- package/es5/jodit.min.js +2 -2
- package/es5/plugins/ai-assistant-pro/ai-assistant-pro.css +1 -1
- package/es5/plugins/ai-assistant-pro/ai-assistant-pro.js +406 -275
- package/es5/plugins/ai-assistant-pro/ai-assistant-pro.min.js +2 -2
- package/es5/plugins/autocomplete/autocomplete.css +1 -1
- package/es5/plugins/autocomplete/autocomplete.js +1 -1
- package/es5/plugins/autocomplete/autocomplete.min.js +1 -1
- package/es5/plugins/backup/backup.css +1 -1
- package/es5/plugins/backup/backup.js +9 -9
- package/es5/plugins/backup/backup.min.js +2 -2
- package/es5/plugins/button-generator/button-generator.css +1 -1
- package/es5/plugins/button-generator/button-generator.js +11 -18
- package/es5/plugins/button-generator/button-generator.min.js +2 -2
- package/es5/plugins/change-case/change-case.js +1 -1
- package/es5/plugins/change-case/change-case.min.js +1 -1
- package/es5/plugins/color-picker/color-picker.css +1 -1
- package/es5/plugins/color-picker/color-picker.js +10 -17
- package/es5/plugins/color-picker/color-picker.min.js +2 -2
- package/es5/plugins/emoji/emoji.css +1 -1
- package/es5/plugins/emoji/emoji.js +7 -7
- package/es5/plugins/emoji/emoji.min.js +2 -2
- package/es5/plugins/export-docs/export-docs.js +11 -11
- package/es5/plugins/export-docs/export-docs.min.js +2 -2
- package/es5/plugins/finder/finder.css +1 -1
- package/es5/plugins/finder/finder.js +4 -10
- package/es5/plugins/finder/finder.min.css +1 -1
- package/es5/plugins/finder/finder.min.js +2 -2
- package/es5/plugins/google-maps/google-maps.css +1 -1
- package/es5/plugins/google-maps/google-maps.js +334 -114
- package/es5/plugins/google-maps/google-maps.min.js +2 -2
- package/es5/plugins/google-search/google-search.js +1 -1
- package/es5/plugins/google-search/google-search.min.js +1 -1
- package/es5/plugins/highlight-signature/highlight-signature.js +6 -6
- package/es5/plugins/highlight-signature/highlight-signature.min.js +2 -2
- package/es5/plugins/iframe-editor/iframe-editor.css +1 -1
- package/es5/plugins/iframe-editor/iframe-editor.js +6 -6
- package/es5/plugins/iframe-editor/iframe-editor.min.js +2 -2
- package/es5/plugins/image-editor-pro/image-editor-pro.css +1 -1
- package/es5/plugins/image-editor-pro/image-editor-pro.js +29 -42
- package/es5/plugins/image-editor-pro/image-editor-pro.min.js +2 -2
- package/es5/plugins/keyboard/keyboard.css +1 -1
- package/es5/plugins/keyboard/keyboard.js +6 -6
- package/es5/plugins/keyboard/keyboard.min.js +2 -2
- package/es5/plugins/mobile-view/mobile-view.js +6 -6
- package/es5/plugins/mobile-view/mobile-view.min.js +2 -2
- package/es5/plugins/page-break/page-break.js +6 -6
- package/es5/plugins/page-break/page-break.min.js +2 -2
- package/es5/plugins/paste-code/paste-code.css +1 -1
- package/es5/plugins/paste-code/paste-code.js +13 -13
- package/es5/plugins/paste-code/paste-code.min.js +2 -2
- package/es5/plugins/paste-from-word/paste-from-word.js +1 -1
- package/es5/plugins/paste-from-word/paste-from-word.min.js +1 -1
- package/es5/plugins/show-blocks/show-blocks.js +8 -8
- package/es5/plugins/show-blocks/show-blocks.min.js +2 -2
- package/es5/plugins/style/style.css +1 -1
- package/es5/plugins/style/style.js +1 -1
- package/es5/plugins/style/style.min.js +1 -1
- package/es5/plugins/templates/templates.css +1 -1
- package/es5/plugins/templates/templates.js +1 -1
- package/es5/plugins/templates/templates.min.js +1 -1
- package/es5/plugins/todo-list/todo-list.css +1 -1
- package/es5/plugins/todo-list/todo-list.js +18 -18
- package/es5/plugins/todo-list/todo-list.min.js +2 -2
- package/es5/plugins/translate/translate.css +1 -1
- package/es5/plugins/translate/translate.js +7 -7
- package/es5/plugins/translate/translate.min.js +2 -2
- package/es5/plugins/tune-block/tune-block.css +1 -1
- package/es5/plugins/tune-block/tune-block.js +7 -7
- package/es5/plugins/tune-block/tune-block.min.js +2 -2
- package/es5/polyfills.fat.min.js +2 -2
- package/es5/polyfills.js +225 -105
- package/es5/polyfills.min.js +2 -2
- package/esm/plugins/ai-assistant-pro/core/sanitize-utils.d.ts +18 -0
- package/esm/plugins/ai-assistant-pro/core/sanitize-utils.js +1 -0
- package/esm/plugins/ai-assistant-pro/tools/add-html/executor.js +1 -1
- package/esm/plugins/ai-assistant-pro/tools/replace-block/executor.js +1 -1
- package/esm/plugins/ai-assistant-pro/tools/replace-in-document/executor.js +1 -1
- package/esm/plugins/google-maps/config.js +1 -1
- package/esm/plugins/google-maps/ui/map/map.d.ts +3 -2
- package/esm/plugins/google-maps/ui/map/map.js +2 -2
- package/esm/plugins/google-maps/ui/map/modules/drawing-controller.d.ts +42 -0
- package/esm/plugins/google-maps/ui/map/modules/drawing-controller.js +1 -0
- package/package.json +1 -1
- package/types/plugins/ai-assistant-pro/core/sanitize-utils.d.ts +18 -0
- package/types/plugins/google-maps/ui/map/map.d.ts +3 -2
- package/types/plugins/google-maps/ui/map/modules/drawing-controller.d.ts +42 -0
package/es2021/jodit.fat.min.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/*!
|
|
2
2
|
* jodit-pro - PRO Version of Jodit Editor
|
|
3
3
|
* Author: Chupurnov Valerii <chupurnov@gmail.com>
|
|
4
|
-
* Version: v4.13.
|
|
4
|
+
* Version: v4.13.44
|
|
5
5
|
* Url: https://xdsoft.net/jodit/pro/
|
|
6
6
|
* License(s): SEE LICENSE IN LICENSE.md
|
|
7
7
|
*/
|
|
@@ -14,7 +14,7 @@
|
|
|
14
14
|
*/.a-color-picker{background-color:#fff;padding:0;display:inline-flex;flex-direction:column;user-select:none;width:232px;font:400 10px Helvetica,Arial,sans-serif;border-radius:3px;box-shadow:0 0 0 1px rgba(0,0,0,.05),0 2px 4px rgba(0,0,0,.25)}.a-color-picker,.a-color-picker-row,.a-color-picker input{box-sizing:border-box}.a-color-picker-row{padding:15px;display:flex;flex-direction:row;align-items:center;justify-content:space-between;user-select:none}.a-color-picker-row-top{padding:0}.a-color-picker-row:not(:first-child){border-top:1px solid #f5f5f5}.a-color-picker-column{display:flex;flex-direction:column}.a-color-picker-cell{flex:1 1 auto;margin-bottom:4px}.a-color-picker-cell:last-child{margin-bottom:0}.a-color-picker-stack{position:relative}.a-color-picker-dot{position:absolute;width:14px;height:14px;top:0;left:0;background:#fff;pointer-events:none;border-radius:50px;z-index:1000;box-shadow:0 1px 2px rgba(0,0,0,.75)}.a-color-picker-a,.a-color-picker-h,.a-color-picker-sl{cursor:cell}.a-color-picker-a+.a-color-picker-dot,.a-color-picker-h+.a-color-picker-dot{top:-2px}.a-color-picker-a,.a-color-picker-h{border-radius:2px}.a-color-picker-preview{box-sizing:border-box;width:30px;height:30px;user-select:none;border-radius:15px}.a-color-picker-circle{border-radius:50px;border:1px solid #eee}.a-color-picker-hsl,.a-color-picker-rgb,.a-color-picker-single-input{justify-content:space-evenly}.a-color-picker-hsl>label,.a-color-picker-rgb>label,.a-color-picker-single-input>label{padding:0 8px;flex:0 0 auto;color:#969696}.a-color-picker-hsl>input,.a-color-picker-rgb>input,.a-color-picker-single-input>input{text-align:center;padding:2px 0;width:0;flex:1 1 auto;border:1px solid #e0e0e0;line-height:20px}.a-color-picker-hsl>input::-webkit-inner-spin-button,.a-color-picker-rgb>input::-webkit-inner-spin-button,.a-color-picker-single-input>input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.a-color-picker-hsl>input:focus,.a-color-picker-rgb>input:focus,.a-color-picker-single-input>input:focus{border-color:#04a9f4;outline:none}.a-color-picker-transparent{background-image:linear-gradient(-45deg,#cdcdcd 25%,transparent 0),linear-gradient(45deg,#cdcdcd 25%,transparent 0),linear-gradient(-45deg,transparent 75%,#cdcdcd 0),linear-gradient(45deg,transparent 75%,#cdcdcd 0);background-size:11px 11px;background-position:0 0,0 -5.5px,-5.5px 5.5px,5.5px 0}.a-color-picker-sl{border-radius:3px 3px 0 0}.a-color-picker.hide-alpha [show-on-alpha],.a-color-picker.hide-hsl [show-on-hsl],.a-color-picker.hide-rgb [show-on-rgb],.a-color-picker.hide-single-input [show-on-single-input]{display:none}.a-color-picker-clipbaord{width:100%;height:100%;opacity:0;cursor:pointer}.a-color-picker-palette{flex-flow:wrap;flex-direction:row;justify-content:flex-start;padding:10px}.a-color-picker-palette-color{width:15px;height:15px;flex:0 1 15px;margin:3px;box-sizing:border-box;cursor:pointer;border-radius:3px;box-shadow:inset 0 0 0 1px rgba(0,0,0,.1)}.a-color-picker-palette-add{text-align:center;line-height:13px;color:#607d8b}.a-color-picker.hidden{display:none}`,""])},function(t,i){t.exports=function(t){var i=[];return i.toString=function(){return this.map(function(i){var n=function(t,i){var n=t[1]||"",o=t[3];if(!o)return n;if(i&&"function"==typeof btoa){var r="/*# sourceMappingURL=data:application/json;charset=utf-8;base64,"+btoa(unescape(encodeURIComponent(JSON.stringify(o))))+" */";return[n].concat(o.sources.map(function(t){return"/*# sourceURL="+o.sourceRoot+t+" */"})).concat([r]).join(`
|
|
15
15
|
`)}return[n].join(`
|
|
16
16
|
`)}(i,t);return i[2]?"@media "+i[2]+"{"+n+"}":n}).join("")},i.i=function(t,n){"string"==typeof t&&(t=[[null,t,""]]);for(var o={},r=0;r<this.length;r++){var s=this[r][0];"number"==typeof s&&(o[s]=!0)}for(r=0;r<t.length;r++){var a=t[r];"number"==typeof a[0]&&o[a[0]]||(n&&!a[2]?a[2]=n:n&&(a[2]="("+a[2]+") and ("+n+")"),i.push(a))}},i}}],i={};function n(o){if(i[o])return i[o].exports;var r=i[o]={i:o,l:!1,exports:{}};return t[o].call(r.exports,r,r.exports,n),r.l=!0,r.exports}return n.m=t,n.c=i,n.d=function(t,i,o){n.o(t,i)||Object.defineProperty(t,i,{enumerable:!0,get:o})},n.r=function(t){"u">typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},n.t=function(t,i){if(1&i&&(t=n(t)),8&i||4&i&&"object"==typeof t&&t&&t.__esModule)return t;var o=Object.create(null);if(n.r(o),Object.defineProperty(o,"default",{enumerable:!0,value:t}),2&i&&"string"!=typeof t)for(var r in t)n.d(o,r,(function(i){return t[i]}).bind(null,r));return o},n.n=function(t){var i=t&&t.__esModule?function(){return t.default}:function(){return t};return n.d(i,"a",i),i},n.o=function(t,i){return Object.prototype.hasOwnProperty.call(t,i)},n.p="",n(n.s=1)}()},6441:function(t,i,n){"use strict";n.d(i,{Config:function(){return s}});var o=n(82758);let r={};class s{static get defaultOptions(){return s.__defaultOptions||(s.__defaultOptions=new s),s.__defaultOptions}constructor(){this.cache=!0,this.defaultTimeout=100,this.namespace="",this.safeMode=!1,this.width="auto",this.height="auto",this.safePluginsList=["about","enter","backspace","size","bold","hotkeys"],this.license="",this.preset="custom",this.presets={inline:{inline:!0,toolbar:!1,toolbarInline:!0,toolbarInlineForSelection:!0,showXPathInStatusbar:!1,showCharsCounter:!1,showWordsCounter:!1,showPlaceholder:!1}},this.ownerDocument=o.globalDocument,this.ownerWindow=o.globalWindow,this.shadowRoot=null,this.nonce="",this.zIndex=0,this.readonly=!1,this.disabled=!1,this.activeButtonsInReadOnly=["source","fullsize","print","about","dots","selectall"],this.allowCommandsInReadOnly=["selectall","preview","print"],this.toolbarButtonSize="middle",this.allowTabNavigation=!1,this.inline=!1,this.theme="default",this.saveModeInStorage=!1,this.asyncStorage={},this.editorClassName=!1,this.className=!1,this.style=!1,this.containerStyle=!1,this.styleValues={},this.triggerChangeEvent=!0,this.direction="",this.language="auto",this.debugLanguage=!1,this.i18n=!1,this.tabIndex=-1,this.toolbar=!0,this.statusbar=!0,this.showTooltip=!0,this.showTooltipDelay=200,this.useNativeTooltip=!1,this.defaultActionOnPaste=o.INSERT_AS_HTML,this.enter=o.PARAGRAPH,this.iframe=!1,this.editHTMLDocumentMode=!1,this.enterBlock="br"!==this.enter?this.enter:o.PARAGRAPH,this.defaultMode=o.MODE_WYSIWYG,this.useSplitMode=!1,this.colors={greyscale:["#000000","#434343","#666666","#999999","#B7B7B7","#CCCCCC","#D9D9D9","#EFEFEF","#F3F3F3","#FFFFFF"],palette:["#980000","#FF0000","#FF9900","#FFFF00","#00F0F0","#00FFFF","#4A86E8","#0000FF","#9900FF","#FF00FF"],full:["#E6B8AF","#F4CCCC","#FCE5CD","#FFF2CC","#D9EAD3","#D0E0E3","#C9DAF8","#CFE2F3","#D9D2E9","#EAD1DC","#DD7E6B","#EA9999","#F9CB9C","#FFE599","#B6D7A8","#A2C4C9","#A4C2F4","#9FC5E8","#B4A7D6","#D5A6BD","#CC4125","#E06666","#F6B26B","#FFD966","#93C47D","#76A5AF","#6D9EEB","#6FA8DC","#8E7CC3","#C27BA0","#A61C00","#CC0000","#E69138","#F1C232","#6AA84F","#45818E","#3C78D8","#3D85C6","#674EA7","#A64D79","#85200C","#990000","#B45F06","#BF9000","#38761D","#134F5C","#1155CC","#0B5394","#351C75","#733554","#5B0F00","#660000","#783F04","#7F6000","#274E13","#0C343D","#1C4587","#073763","#20124D","#4C1130"]},this.colorPickerDefaultTab="background",this.imageDefaultWidth=300,this.removeButtons=[],this.disablePlugins=[],this.extraPlugins=[],this.extraButtons=[],this.extraIcons={},this.createAttributes={table:{style:"border-collapse:collapse;width: 100%;"}},this.sizeLG=900,this.sizeMD=700,this.sizeSM=400,this.buttons=[{group:"font-style",buttons:[]},{group:"list",buttons:[]},{group:"font",buttons:[]},"---",{group:"script",buttons:[]},{group:"media",buttons:[]},`
|
|
17
|
-
`,{group:"state",buttons:[]},{group:"clipboard",buttons:[]},{group:"insert",buttons:[]},{group:"indent",buttons:[]},{group:"color",buttons:[]},{group:"form",buttons:[]},"---",{group:"history",buttons:[]},{group:"search",buttons:[]},{group:"source",buttons:[]},{group:"other",buttons:[]},{group:"info",buttons:[]}],this.events={},this.textIcons=!1,this.popupRoot=null,this.showBrowserColorPicker=!0,Object.assign(this,r)}}r=s.prototype,s.prototype.controls={}},26992:function(t,i,n){"use strict";n.d(i,{Async:function(){return m}});var o=n(82758),r=n(91898),s=n(12045),a=n(23282),l=n(84767),c=n(72430),d=n(14773),u=n(70799),h=n(86068),p=n(38837),f=n(93661);class m{delay(t){return this.promise(i=>this.setTimeout(i,t))}setTimeout(t,i,...n){if(this.isDestructed)return 0;let o={};(0,h.isVoid)(i)&&(i=0),(0,l.isNumber)(i)||(i=(o=i).timeout||0),o.label&&this.clearLabel(o.label);let s=(0,r.setTimeout)(t,i,...n),a=o.label||s;return this.timers.set(a,s),this.__callbacks.set(a,t),s}updateTimeout(t,i){if((0,p.assert)(t&&this.timers.has(t),"Label does not exist"),!t||!this.timers.has(t))return null;let n=this.__callbacks.get(t);return(0,p.assert)((0,a.isFunction)(n),"Callback is not a function"),this.setTimeout(n,{label:t,timeout:i})}clearLabel(t){t&&this.timers.has(t)&&((0,r.clearTimeout)(this.timers.get(t)),this.timers.delete(t),this.__callbacks.delete(t))}clearTimeout(t){if((0,u.isString)(t))return this.clearLabel(t);(0,r.clearTimeout)(t),this.timers.delete(t),this.__callbacks.delete(t)}debounce(t,i,n=!1){let o=0,l=!1,u=[],h=(...i)=>{if(!l){o=0;let n=t(...i);if(l=!0,u.length){let t=()=>{u.forEach(t=>t()),u.length=0};(0,d.isPromise)(n)?n.finally(t):t()}}},p=(...s)=>{l=!1,i?(!o&&n&&h(...s),(0,r.clearTimeout)(o),o=this.setTimeout(()=>h(...s),(0,a.isFunction)(i)?i():i),this.timers.set(t,o)):h(...s)};return(0,c.isPlainObject)(i)&&i.promisify?(...t)=>{let i=this.promise(t=>{u.push(t)}).catch(t=>{if((0,s.isAbortError)(t))return null;throw t});return p(...t),i}:p}microDebounce(t,i=!1){let n,o=!1,r=!0;return(...s)=>{if(n=s,o){r=!0;return}r=!0,i&&(r=!1,t(...n)),o=!0,this.__queueMicrotaskNative(()=>{o=!1,!this.isDestructed&&r&&t(...n)})}}throttle(t,i,n=!1){let o=null,r,s,l;return(...n)=>{(r=!0,l=n,i)?o||(s=()=>{r?(t(...l),r=!1,o=this.setTimeout(s,(0,a.isFunction)(i)?i():i),this.timers.set(s,o)):o=null})():t(...l)}}promise(t){let i=()=>{},n=new Promise((n,o)=>{i=()=>o((0,f.abort)("Abort async")),this.promisesRejections.add(i),t(n,o)});return!n.finally&&"u">typeof process&&!o.IS_ES_NEXT&&(n.finally=t=>(n.then(t).catch(t),n)),n.finally(()=>{this.promisesRejections.delete(i)}).catch(()=>null),n.rejectCallback=i,n}promiseState(t){if(t.status)return t.status;if(!Promise.race)return new Promise(i=>{t.then(t=>(i("fulfilled"),t),t=>{throw i("rejected"),t}),this.setTimeout(()=>{i("pending")},100)});let i={};return Promise.race([t,i]).then(t=>t===i?"pending":"fulfilled",()=>"rejected")}requestIdleCallback(t,i={timeout:100}){let n=this.__requestIdleCallbackNative(t,i);return this.__requestsIdle.add(n),n}requestIdlePromise(t){return this.promise(i=>{let n=this.requestIdleCallback(()=>i(n),t)})}schedulerPostTask(t,i={delay:0,priority:"user-visible"}){let n=new AbortController;if(i.signal&&i.signal.addEventListener("abort",()=>n.abort()),this.__controllers.add(n),void 0!==globalThis.scheduler){let o=globalThis.scheduler.postTask(t,{...i,signal:n.signal});return o.finally(()=>{this.__controllers.delete(n)}).catch(()=>null),o}return this.promise((o,r)=>{let s=this.setTimeout(()=>{try{o(t())}catch(t){r(t)}this.__controllers.delete(n)},i.delay||1);n.signal.addEventListener("abort",()=>{this.clearTimeout(s),this.__controllers.delete(n),r((0,f.abort)())})})}schedulerYield(){return this.schedulerPostTask(()=>{},{priority:"user-visible"})}cancelIdleCallback(t){return this.__requestsIdle.delete(t),this.__cancelIdleCallbackNative(t)}requestAnimationFrame(t){let i=requestAnimationFrame(t);return this.__requestsRaf.add(i),i}cancelAnimationFrame(t){this.__requestsRaf.delete(t),cancelAnimationFrame(t)}clear(){this.__requestsIdle.forEach(t=>this.cancelIdleCallback(t)),this.__requestsRaf.forEach(t=>this.cancelAnimationFrame(t)),this.__controllers.forEach(t=>t.abort()),this.timers.forEach(t=>(0,r.clearTimeout)(this.timers.get(t))),this.timers.clear(),this.promisesRejections.forEach(t=>t()),this.promisesRejections.clear()}destruct(){this.clear(),this.isDestructed=!0}constructor(){var t,i,n,o,r;this.timers=new Map,this.__callbacks=new Map,this.__queueMicrotaskNative=null!=(t=null==queueMicrotask?void 0:queueMicrotask.bind(window))?t:Promise.resolve().then.bind(Promise.resolve()),this.promisesRejections=new Set,this.__requestsIdle=new Set,this.__controllers=new Set,this.__requestsRaf=new Set,this.__requestIdleCallbackNative=null!=(n=null==(i=window.requestIdleCallback)?void 0:i.bind(window))?n:(t,i)=>{var n;let o=Date.now();return this.setTimeout(()=>{t({didTimeout:!1,timeRemaining:()=>Math.max(0,50-(Date.now()-o))})},null!=(n=null==i?void 0:i.timeout)?n:1)},this.__cancelIdleCallbackNative=null!=(r=null==(o=window.cancelIdleCallback)?void 0:o.bind(window))?r:t=>{this.clearTimeout(t)},this.isDestructed=!1}}},8884:function(t,i,n){"use strict";n.d(i,{Async:function(){return o.Async}});var o=n(26992)},4012:function(t,i,n){"use strict";n.d(i,{Component:function(){return c}});var o=n(8884),r=n(78213),s=n(580),a=n(21537);let l=new Map;class c{get componentName(){return this.__componentName||(this.__componentName="jodit-"+(0,a.kebabCase)(((0,a.isFunction)(this.className)?this.className():"")||(0,a.getClassName)(this))),this.__componentName}getFullElName(t,i,n){let o=[this.componentName];return t&&o.push("__"+(t=t.replace(/[^a-z0-9-]/gi,"-"))),i&&(o.push("_",i),o.push("_",(0,a.isVoid)(n)?"true":n.toString())),o.join("")}get ownerDocument(){return this.ow.document}get od(){return this.ownerDocument}get ow(){return this.ownerWindow}get(t,i){return(0,a.get)(t,i||this)}get isReady(){return this.componentStatus===r.STATUSES.ready}get isDestructed(){return this.componentStatus===r.STATUSES.destructed}get isInDestruct(){return r.STATUSES.beforeDestruct===this.componentStatus||r.STATUSES.destructed===this.componentStatus}bindDestruct(t){return t.hookStatus(r.STATUSES.beforeDestruct,()=>!this.isInDestruct&&this.destruct()),this}destruct(){this.setStatus(r.STATUSES.destructed),this.async&&(this.async.destruct(),this.async=void 0),l.get(this)&&l.delete(this),this.ownerWindow=void 0}get componentStatus(){return this.__componentStatus}set componentStatus(t){this.setStatus(t)}setStatus(t){return this.setStatusComponent(t,this)}setStatusComponent(t,i){if(t===this.__componentStatus)return;i===this&&(this.__componentStatus=t);let n=Object.getPrototypeOf(this);n&&(0,a.isFunction)(n.setStatusComponent)&&n.setStatusComponent(t,i);let o=l.get(this),r=null==o?void 0:o[t];r&&r.length&&r.forEach(t=>t(i))}hookStatus(t,i){let n=l.get(this);n||(n={},l.set(this,n)),n[t]||(n[t]=[]),n[t].push(i)}static isInstanceOf(t,i){return t instanceof i}constructor(){this.async=new o.Async,this.ownerWindow=window,this.__componentStatus=r.STATUSES.beforeInit,this.uid="jodit-uid-"+(0,s.uniqueUid)()}}c.STATUSES=r.STATUSES},91907:function(t,i,n){"use strict";n.d(i,{Component:function(){return o.Component},STATUSES:function(){return r.STATUSES},ViewComponent:function(){return s.ViewComponent}});var o=n(4012),r=n(78213),s=n(80480)},78213:function(t,i,n){"use strict";n.d(i,{STATUSES:function(){return o}});let o={beforeInit:"beforeInit",ready:"ready",beforeDestruct:"beforeDestruct",destructed:"destructed"}},80480:function(t,i,n){"use strict";n.d(i,{ViewComponent:function(){return r}});var o=n(4012);class r extends o.Component{get j(){return this.jodit}get defaultTimeout(){return this.j.defaultTimeout}i18n(t,...i){return this.j.i18n(t,...i)}setParentView(t){return this.jodit=t,t.ow&&(this.ownerWindow=t.ow),t.components.add(this),this}destruct(){return this.j.components.delete(this),super.destruct()}constructor(t){super(),this.setParentView(t)}}},82758:function(t,i,n){"use strict";n.r(i),n.d(i,{ACCURACY:function(){return W},APP_VERSION:function(){return o},BASE_PATH:function(){return ef},BASE_PATH_IS_MIN:function(){return em},BR:function(){return G},CLIPBOARD_ID:function(){return ev},COMMAND_KEYS:function(){return $},EMULATE_DBLCLICK_TIMEOUT:function(){return en},ES:function(){return r},FAT_MODE:function(){return d},HOMEPAGE:function(){return u},INSEPARABLE_TAGS:function(){return j},INSERT_AS_HTML:function(){return eo},INSERT_AS_TEXT:function(){return es},INSERT_CLEAR_HTML:function(){return er},INSERT_ONLY_TEXT:function(){return ea},INVISIBLE_SPACE:function(){return f},INVISIBLE_SPACE_REG_EXP:function(){return g},INVISIBLE_SPACE_REG_EXP_END:function(){return b},INVISIBLE_SPACE_REG_EXP_START:function(){return y},IS_BLOCK:function(){return x},IS_ES_MODERN:function(){return s},IS_ES_NEXT:function(){return a},IS_IE:function(){return Z},IS_INLINE:function(){return I},IS_MAC:function(){return ec},IS_PROD:function(){return l},IS_TEST:function(){return c},KEY_ALIASES:function(){return ed},KEY_ALT:function(){return z},KEY_BACKSPACE:function(){return L},KEY_DELETE:function(){return U},KEY_DOWN:function(){return F},KEY_ENTER:function(){return M},KEY_ESC:function(){return R},KEY_F3:function(){return q},KEY_LEFT:function(){return B},KEY_META:function(){return P},KEY_RIGHT:function(){return O},KEY_SPACE:function(){return H},KEY_TAB:function(){return D},KEY_UP:function(){return N},LIST_TAGS:function(){return E},MARKER_CLASS:function(){return ei},MODE_SOURCE:function(){return J},MODE_SPLIT:function(){return X},MODE_WYSIWYG:function(){return Y},NBSP_SPACE:function(){return m},NEARBY:function(){return V},NO_EMPTY_TAGS:function(){return A},PARAGRAPH:function(){return K},PASSIVE_EVENTS:function(){return ew},SAFE_COUNT_CHANGE_CALL:function(){return el},SET_TEST:function(){return h},SOURCE_CONSUMER:function(){return ey},SPACE_REG_EXP:function(){return w},SPACE_REG_EXP_END:function(){return C},SPACE_REG_EXP_START:function(){return _},TEMP_ATTR:function(){return eg},TEXT_HTML:function(){return ee},TEXT_PLAIN:function(){return Q},TEXT_RTF:function(){return et},TOKENS:function(){return p},globalDocument:function(){return S},globalWindow:function(){return k},lang:function(){return eb}});let o="4.13.38",r="es2021",s=!0,a=!0,l=!0,c=!1,d=!0,u="https://xdsoft.net/jodit/pro/",h=()=>c=!0,p={},f="\uFEFF",m=" ",g=()=>/[\uFEFF]/g,b=()=>/[\uFEFF]+$/g,y=()=>/^[\uFEFF]+/g,w=()=>/[\s\n\t\r\uFEFF\u200b]+/g,_=()=>/^[\s\n\t\r\uFEFF\u200b]+/g,C=()=>/[\s\n\t\r\uFEFF\u200b]+$/g,k="u">typeof window?window:void 0,S="u">typeof document?document:void 0,x=/^(ADDRESS|ARTICLE|ASIDE|BLOCKQUOTE|CANVAS|DD|DFN|DIV|DL|DT|FIELDSET|FIGCAPTION|FIGURE|FOOTER|FORM|H[1-6]|HEADER|HGROUP|HR|LI|MAIN|NAV|NOSCRIPT|OUTPUT|P|PRE|RUBY|SCRIPT|STYLE|OBJECT|OL|SECTION|IFRAME|JODIT|JODIT-MEDIA|UL|TR|TD|TH|TBODY|THEAD|TFOOT|TABLE|BODY|HTML|VIDEO)$/i,I=/^(STRONG|SPAN|I|EM|B|SUP|SUB|A|U)$/i,E=new Set(["ul","ol"]),T=["img","video","svg","iframe","script","input","textarea","link","jodit","jodit-media"],j=new Set([...T,"br","hr"]),A=new Set(T),P="Meta",L="Backspace",D="Tab",M="Enter",R="Escape",z="Alt",B="ArrowLeft",N="ArrowUp",O="ArrowRight",F="ArrowDown",H="Space",U="Delete",q="F3",V=5,W=10,$=[P,L,U,N,F,O,B,M,R,q,D],G="br",K="p",Y=1,J=2,X=3,Z="u">typeof navigator&&(-1!==navigator.userAgent.indexOf("MSIE")||/rv:11.0/i.test(navigator.userAgent)),Q=Z?"text":"text/plain",ee=Z?"html":"text/html",et=Z?"rtf":"text/rtf",ei="jodit-selection_marker",en=300,eo="insert_as_html",er="insert_clear_html",es="insert_as_text",ea="insert_only_text",el=10,ec=void 0!==k&&/Mac|iPod|iPhone|iPad/.test(k.navigator.platform),ed={add:"+",break:"pause",cmd:"meta",command:"meta",ctl:"control",ctrl:"control",del:"delete",down:"arrowdown",esc:"escape",ins:"insert",left:"arrowleft",mod:ec?"meta":"control",opt:"alt",option:"alt",return:"enter",right:"arrowright",space:"space",spacebar:"space",up:"arrowup",win:"meta",windows:"meta"},eu=t=>{let i=t.split("/");return/\.js/.test(i[i.length-1])?{basePath:i.slice(0,i.length-1).join("/")+"/",isMin:!0}:{basePath:t,isMin:!0}},{basePath:eh,isMin:ep}=(()=>{if("u"<typeof document)return{basePath:"",isMin:!0};let t=S.currentScript;if(t)return eu(t.src);let i=S.querySelectorAll("script[src]");return i&&i.length?eu(i[i.length-1].src):eu(k.location.href)})(),ef=eh,em=ep,eg="data-jodit-temp",eb={},ev="clipboard",ey="source-consumer",ew=new Set(["touchstart","touchend","scroll","mousewheel","mousemove","touchmove"])},20218:function(t,i,n){"use strict";n.d(i,{Create:function(){return l}});var o=n(82758),r=n(2748),s=n(21537),a=n(38837);class l{get doc(){return(0,s.isFunction)(this.document)?this.document():this.document}element(t,i,n){let o=this.doc.createElement(t.toLowerCase());return this.applyCreateAttributes(o),i&&((0,s.isPlainObject)(i)?(0,s.attr)(o,i):n=i),n&&(0,s.asArray)(n).forEach(t=>o.appendChild((0,s.isString)(t)?this.fromHTML(t):t)),o}div(t,i,n){let o=this.element("div",i,n);return t&&(o.className=t),o}sandbox(){var t;let i=this.element("iframe",{sandbox:"allow-same-origin"});this.doc.body.appendChild(i);let n=null==(t=i.contentWindow)?void 0:t.document;if((0,a.assert)(n,"iframe.contentWindow.document"),!n)throw Error("Iframe error");return n.open(),n.write("<!DOCTYPE html><html><head></head><body></body></html>"),n.close(),[n.body,i]}span(t,i,n){let o=this.element("span",i,n);return t&&(o.className=t),o}a(t,i,n){let o=this.element("a",i,n);return t&&(o.className=t),o}text(t){return this.doc.createTextNode(t)}fake(){return this.text(o.INVISIBLE_SPACE)}fragment(){return this.doc.createDocumentFragment()}fromHTML(t,i){let n=this.div();n.innerHTML=t.toString();let o=n.firstChild===n.lastChild&&n.firstChild?n.firstChild:n;if(r.Dom.safeRemove(o),i){let t=(0,s.refs)(o);Object.keys(i).forEach(n=>{let o=t[n];o&&!1===i[n]&&r.Dom.hide(o)})}return o}applyCreateAttributes(t){if(this.createAttributes){let i=this.createAttributes;if(i&&i[t.tagName.toLowerCase()]){let n=i[t.tagName.toLowerCase()];(0,s.isFunction)(n)?n(t):(0,s.isPlainObject)(n)&&(0,s.attr)(t,n)}}}constructor(t,i){this.document=t,this.createAttributes=i}}},12060:function(t,i,n){"use strict";n.d(i,{Create:function(){return o.Create}});var o=n(20218)},45219:function(t,i,n){"use strict";n.d(i,{autobind:function(){return r}});var o=n(23282);function r(t,i,n){if(!(0,o.isFunction)(n.value))throw TypeError(`@autobind can only be applied to methods, but "${i}" is not a function`);let r=n.value;return{configurable:!0,get(){let t=r.bind(this);return Object.defineProperty(this,i,{value:t,configurable:!0,writable:!0}),t}}}},33433:function(t,i,n){"use strict";n.d(i,{cache:function(){return c},cacheHTML:function(){return d},cached:function(){return l}});var o=n(78213),r=n(2748),s=n(27613),a=n(82760);function l(t,i){let n=Object.getOwnPropertyDescriptor(t,i);return!n||(0,s.isFunction)(n.get)?null:n.value}function c(t,i,n){let o=n.get;if(!o)throw(0,a.error)("Getter property descriptor expected");n.get=function(){let t=o.call(this);return t&&!0===t.noCache||Object.defineProperty(this,i,{configurable:n.configurable,enumerable:n.enumerable,writable:!1,value:t}),t}}function d(t,i,n){let l=n.value;if(!(0,s.isFunction)(l))throw(0,a.error)("Handler must be a Function");let c=!0,d=new WeakMap;n.value=function(...t){var i;if(c&&d.has(this.constructor))return null==(i=d.get(this.constructor))?void 0:i.cloneNode(!0);let n=l.apply(this,t);return c&&r.Dom.isElement(n)&&d.set(this.constructor,n),c?n.cloneNode(!0):n},t.hookStatus(o.STATUSES.ready,t=>{c=!!((0,s.isViewObject)(t)?t:t.jodit).options.cache})}},87325:function(t,i,n){"use strict";n.d(i,{component:function(){return a},getComponentClass:function(){return l}});var o=n(82758),r=n(80568);let s=new Map;function a(t){class i extends t{constructor(...t){super(...t),this.constructor===i&&(this instanceof i||Object.setPrototypeOf(this,i.prototype),this.setStatus("ready"))}}let n=(0,r.getClassName)(t.prototype);if(s.has(n)&&!o.IS_PROD)throw Error(`Component with name "${n}" is already registered`);return s.set(n,i),i}function l(t){return s.get(t)}},81577:function(t,i,n){"use strict";n.d(i,{debounce:function(){return l},throttle:function(){return c}});var o=n(91907),r=n(27613),s=n(38837),a=n(89890);function l(t,i=!1,n="debounce"){return(l,c)=>{let d=l[c];if(!(0,r.isFunction)(d))throw(0,a.error)("Handler must be a Function");return l.hookStatus(o.STATUSES.ready,o=>{let{async:a}=o;(0,s.assert)(null!=a,`Component ${o.componentName||o.constructor.name} should have "async:IAsync" field`);let l=(0,r.isFunction)(t)?t(o):t,d=(0,r.isNumber)(l)||(0,r.isPlainObject)(l)?l:o.defaultTimeout;Object.defineProperty(o,c,{configurable:!0,value:a[n](o[c].bind(o),d,i)})}),{configurable:!0,get(){return d.bind(this)}}}}function c(t,i=!1){return l(t,i,"throttle")}},55153:function(t,i,n){"use strict";n.d(i,{derive:function(){return r}});var o=n(23282);function r(...t){return i=>{let n=i.prototype;for(let i=0;i<t.length;i++){let r=t[i],s=Object.getOwnPropertyNames(r.prototype);for(let t=0;t<s.length;t++){let i=s[t],a=Object.getOwnPropertyDescriptor(r.prototype,i);null!=a&&(0,o.isFunction)(a.value)&&!(0,o.isFunction)(n[i])&&Object.defineProperty(n,i,{enumerable:!0,configurable:!0,writable:!0,value:function(...t){return a.value.call(this,...t)}})}}}}},97357:function(t,i,n){"use strict";n.d(i,{hook:function(){return s}});var o=n(23282),r=n(89890);function s(t){return(i,n)=>{if(!(0,o.isFunction)(i[n]))throw(0,r.error)("Handler must be a Function");i.hookStatus(t,t=>{t[n].call(t)})}}},78927:function(t,i,n){"use strict";n.d(i,{idle:function(){return a}});var o=n(91907),r=n(23282),s=n(89890);function a(){return(t,i)=>{if(!(0,r.isFunction)(t[i]))throw(0,s.error)("Handler must be a Function");t.hookStatus(o.STATUSES.ready,t=>{let{async:n}=t,o=t[i];t[i]=(...i)=>n.requestIdleCallback(o.bind(t,...i))})}}},65478:function(t,i,n){"use strict";n.r(i),n.d(i,{autobind:function(){return o.autobind},cache:function(){return r.cache},cacheHTML:function(){return r.cacheHTML},cached:function(){return r.cached},component:function(){return s.component},debounce:function(){return a.debounce},derive:function(){return l.derive},getComponentClass:function(){return s.getComponentClass},hook:function(){return c.hook},idle:function(){return d.idle},nonenumerable:function(){return u.nonenumerable},persistent:function(){return h.persistent},throttle:function(){return a.throttle},wait:function(){return p.wait},watch:function(){return f.watch}});var o=n(45219),r=n(33433),s=n(87325),a=n(81577),l=n(55153),c=n(97357),d=n(78927),u=n(31589),h=n(53213),p=n(13525),f=n(37133)},31589:function(t,i,n){"use strict";n.d(i,{nonenumerable:function(){return o}});let o=(t,i)=>{!1!==(Object.getOwnPropertyDescriptor(t,i)||{}).enumerable&&Object.defineProperty(t,i,{enumerable:!1,set(t){Object.defineProperty(this,i,{enumerable:!1,writable:!0,value:t})}})}},53213:function(t,i,n){"use strict";n.d(i,{persistent:function(){return s}});var o=n(78213),r=n(39955);function s(t,i){t.hookStatus(o.STATUSES.ready,t=>{let n=(0,r.isViewObject)(t)?t:t.jodit,o=`${n.options.namespace}${t.componentName}_prop_${i}`,s=t[i];Object.defineProperty(t,i,{get(){var t;return null!=(t=n.storage.get(o))?t:s},set(t){n.storage.set(o,t)}})})}},13525:function(t,i,n){"use strict";n.d(i,{wait:function(){return a}});var o=n(78213),r=n(23282),s=n(89890);function a(t){return(i,n)=>{let a=i[n];if(!(0,r.isFunction)(a))throw(0,s.error)("Handler must be a Function");i.hookStatus(o.STATUSES.ready,i=>{let{async:o}=i,r=i[n],s=0;Object.defineProperty(i,n,{configurable:!0,value:function n(...a){o.clearTimeout(s),t(i)?r.apply(i,a):s=o.setTimeout(()=>n(...a),10)}})})}}},37133:function(t,i,n){"use strict";n.d(i,{watch:function(){return h}});var o=n(78213),r=n(73026),s=n(46559),a=n(23282),l=n(72430),c=n(39955),d=n(89890),u=n(37790);function h(t,i){return(n,h)=>{var p;if(!(0,a.isFunction)(n[h]))throw(0,d.error)("Handler must be a Function");let f=null==(p=null==i?void 0:i.immediately)||p,m=null==i?void 0:i.context,g=i=>{let o=(0,c.isViewObject)(i)?i:i.jodit,d=(t,...n)=>{if(!i.isInDestruct)return i[h](t,...n)};f||(d=i.async.microDebounce(d,!0)),(0,s.splitArray)(t).forEach(t=>{if(/:/.test(t)){let[n,r]=t.split(":"),s=m;n.length&&(s=i.get(n)),(0,a.isFunction)(s)&&(s=s(i)),o.events.on(s||i,r,d),s||o.events.on(r,d),i.hookStatus("beforeDestruct",()=>{o.events.off(s||i,r,d).off(r,d)});return}let s=t.split("."),[c]=s,h=s.slice(1),p=i[c];(0,l.isPlainObject)(p)&&(0,r.observable)(p).on("change."+h.join("."),d);let f=(0,u.getPropertyDescriptor)(n,c);Object.defineProperty(i,c,{configurable:!0,set(t){let n=p;n!==t&&(p=t,f&&f.set&&f.set.call(i,t),(0,l.isPlainObject)(p)&&(p=(0,r.observable)(p)).on("change."+h.join("."),d),d(c,n,p))},get:()=>f&&f.get?f.get.call(i):p})})};(0,a.isFunction)(n.hookStatus)?n.hookStatus(o.STATUSES.ready,g):g(n)}}},2748:function(t,i,n){"use strict";n.d(i,{Dom:function(){return _}});var o=n(82758),r=n(4510),s=n(68345),a=n(23282),l=n(58487),c=n(42320),d=n(70799),u=n(86068),h=n(49055),p=n(38837),f=n(29960),m=n(41180),g=n(86583),b=n(89890),y=n(37790);let w=RegExp(`<([a-z]+)[^>]+${o.TEMP_ATTR}[^>]*>(.+?)</\\1>`,"gi");class _{static detach(t){for(;t&&t.firstChild;)t.removeChild(t.firstChild)}static wrapNextInline(t,i,n){let o,r=t;n.s.save();let s=!1;do s=!1,(o=r.nextSibling)&&!_.isBlock(o)&&!_.isTag(o,"br")&&(s=!0,r=o);while(s)return _.__wrapElements(i,n,t,r)}static __wrapElements(t,i,n,o){let r=(0,d.isString)(t)?i.createInside.element(t):t;n.parentNode&&n.parentNode.insertBefore(r,n);let s=n;for(;s&&(s=n.nextSibling,r.appendChild(n),n!==o&&s);)n=s;return i.s.restore(),r}static wrapInline(t,i,n){let o,r=t,s=t;n.s.save();let a=!1;do a=!1,(o=r.previousSibling)&&!_.isBlock(o)&&(a=!0,r=o);while(a)do a=!1,(o=s.nextSibling)&&!_.isBlock(o)&&(a=!0,s=o);while(a)return _.__wrapElements(i,n,r,s)}static wrap(t,i,n){let o=(0,d.isString)(i)?n.element(i):i;if(_.isNode(t)){if(!t.parentNode)throw(0,b.error)("Element should be in DOM");t.parentNode.insertBefore(o,t),o.appendChild(t)}else{let i=t.extractContents();t.insertNode(o),o.appendChild(i)}return o}static unwrap(t){let i=t.parentNode;if(i){for(;t.firstChild;)i.insertBefore(t.firstChild,t);_.safeRemove(t)}}static between(t,i,n){let o=t;for(;o&&o!==i&&!(t!==o&&n(o));){let t=o.firstChild||o.nextSibling;if(!t){for(;o&&!o.nextSibling;)if((o=o.parentNode)===i)return;t=null==o?void 0:o.nextSibling}o=t}}static replace(t,i,n,o=!1,s=!1){let a;if((0,l.isHTML)(i)&&((0,p.assert)(n,"Need create instance for new tag"),i=n.fromHTML(i)),(0,d.isString)(i)?((0,p.assert)(n,"Need create instance for new tag"),a=n.element(i)):a=i,!s)for(;t.firstChild;)a.appendChild(t.firstChild);return o&&_.isElement(t)&&_.isElement(a)&&(0,r.toArray)(t.attributes).forEach(t=>{a.setAttribute(t.name,t.value)}),t.parentNode&&t.parentNode.replaceChild(a,t),a}static isEmptyTextNode(t){return _.isText(t)&&(!t.nodeValue||0===t.nodeValue.replace(o.INVISIBLE_SPACE_REG_EXP(),"").trim().length)}static isEmptyContent(t){return _.each(t,t=>_.isEmptyTextNode(t))}static isContentEditable(t,i){return _.isNode(t)&&!_.closest(t,t=>_.isElement(t)&&"false"===t.getAttribute("contenteditable"),i)}static isEmpty(t,i=o.NO_EMPTY_TAGS){let n;if(!t)return!0;n=(0,a.isFunction)(i)?i:t=>i.has(t.nodeName.toLowerCase());let r=t=>null==t.nodeValue||0===(0,h.trim)(t.nodeValue).length;return _.isText(t)?r(t):!(_.isElement(t)&&n(t))&&_.each(t,t=>{if(_.isText(t)&&!r(t)||_.isElement(t)&&n(t))return!1})}static isNode(t){return!!(t&&(0,d.isString)(t.nodeName)&&"number"==typeof t.nodeType&&t.childNodes&&(0,a.isFunction)(t.appendChild))}static isCell(t){return _.isNode(t)&&("TD"===t.nodeName||"TH"===t.nodeName)}static isList(t){return _.isTag(t,o.LIST_TAGS)}static isLeaf(t){return _.isTag(t,"li")}static isImage(t){return _.isNode(t)&&/^(img|svg|picture|canvas)$/i.test(t.nodeName)}static isBlock(t){return!(0,u.isVoid)(t)&&"object"==typeof t&&_.isNode(t)&&o.IS_BLOCK.test(t.nodeName)}static isText(t){return!!(t&&t.nodeType===Node.TEXT_NODE)}static isComment(t){return!!(t&&t.nodeType===Node.COMMENT_NODE)}static isElement(t){return!!_.isNode(t)&&t.nodeType===Node.ELEMENT_NODE}static isFragment(t){return!!_.isNode(t)&&t.nodeType===Node.DOCUMENT_FRAGMENT_NODE}static isHTMLElement(t){var i;if(!_.isNode(t))return!1;let n=null==(i=t.ownerDocument)?void 0:i.defaultView;return t instanceof(n?n.HTMLElement:HTMLElement)}static isInlineBlock(t){return _.isElement(t)&&!/^(BR|HR)$/i.test(t.tagName)&&-1!==["inline","inline-block"].indexOf((0,m.css)(t,"display").toString())}static canSplitBlock(t){return!(0,u.isVoid)(t)&&_.isHTMLElement(t)&&_.isBlock(t)&&!/^(TD|TH|CAPTION|FORM)$/.test(t.nodeName)&&void 0!==t.style&&!/^(fixed|absolute)/i.test(t.style.position)}static first(t,i){let n=null==t?void 0:t.firstChild;if(!n)return null;do{if(i(n))return n;let o=n.firstChild;if(o||(o=n.nextSibling),!o&&n.parentNode!==t){do n=n.parentNode;while(n&&!(null==n?void 0:n.nextSibling)&&n.parentNode!==t)o=null==n?void 0:n.nextSibling}n=o}while(n)return null}static last(t,i){let n=null==t?void 0:t.lastChild;if(!n)return null;do{if(i(n))return n;let o=n.lastChild;if(o||(o=n.previousSibling),!o&&n.parentNode!==t){do n=n.parentNode;while(n&&!(null==n?void 0:n.previousSibling)&&n.parentNode!==t)o=null==n?void 0:n.previousSibling}n=o}while(n)return null}static prev(t,i,n,o=!0){return _.find(t,i,n,!1,o)}static next(t,i,n,o=!0){return _.find(t,i,n,!0,o)}static prevWithClass(t,i){return _.prev(t,t=>_.isElement(t)&&t.classList.contains(i),t.parentNode)}static nextWithClass(t,i){return _.next(t,t=>_.isElement(t)&&t.classList.contains(i),t.parentNode)}static find(t,i,n,o=!0,r=!0){let s=this.nextGen(t,n,o,r),a=s.next();for(;!a.done;){if(i(a.value))return a.value;a=s.next()}return null}static*nextGen(t,i,n=!0,o=!0){let r=[],s=t;do{let i=n?s.nextSibling:s.previousSibling;for(;i;)r.push(i),i=n?i.nextSibling:i.previousSibling;r.reverse(),yield*this.runInStack(t,r,n,o),s=s.parentNode}while(s&&s!==i)return null}static each(t,i,n=!0){let o=this.eachGen(t,n),r=o.next();for(;!r.done;){if(!1===i(r.value))return!1;r=o.next()}return!0}static eachGen(t,i=!0){return this.runInStack(t,[t],i)}static*runInStack(t,i,n,o=!0){for(;i.length;){let r=i.pop();if(o){let t=n?r.lastChild:r.firstChild;for(;t;)i.push(t),t=n?t.previousSibling:t.nextSibling}t!==r&&(yield r)}}static findWithCurrent(t,i,n,o="nextSibling",r="firstChild"){let s=t;do{if(i(s))return s||null;if(r&&s&&s[r]){let t=_.findWithCurrent(s[r],i,s,o,r);if(t)return t}for(;s&&!s[o]&&s!==n;)s=s.parentNode;s&&s[o]&&s!==n&&(s=s[o])}while(s&&s!==n)return null}static findSibling(t,i=!0,n=t=>!_.isEmptyTextNode(t)){let o=_.sibling(t,i);for(;o&&!n(o);)o=_.sibling(o,i);return o&&n(o)?o:null}static findNotEmptySibling(t,i){return _.findSibling(t,i,t=>{var i;return!_.isEmptyTextNode(t)&&!!(!_.isText(t)||(null==(i=t.nodeValue)?void 0:i.length)&&(0,h.trim)(t.nodeValue))})}static findNotEmptyNeighbor(t,i,n){return(0,y.call)(i?_.prev:_.next,t,t=>!!(t&&(!(_.isText(t)||_.isComment(t))||(0,h.trim)((null==t?void 0:t.nodeValue)||"").length)),n)}static sibling(t,i){return i?t.previousSibling:t.nextSibling}static up(t,i,n,o=!1){let r=t;if(!r)return null;do{if(i(r))return r;if(r===n||!r.parentNode)break;r=r.parentNode}while(r&&r!==n)return r===n&&o&&i(r)?r:null}static closest(t,i,n){let o,r=t=>t.toLowerCase();if((0,a.isFunction)(i))o=i;else if((0,s.isArray)(i)||(0,c.isSet)(i)){let t=(0,c.isSet)(i)?i:new Set(i.map(r));o=i=>!!(i&&t.has(r(i.nodeName)))}else o=t=>!!(t&&r(i)===r(t.nodeName));return _.up(t,o,n)}static furthest(t,i,n){let o=null,r=null==t?void 0:t.parentElement;for(;r&&r!==n;)i(r)&&(o=r),r=null==r?void 0:r.parentElement;return o}static appendChildFirst(t,i){let n=t.firstChild;n?n!==i&&t.insertBefore(i,n):t.appendChild(i)}static after(t,i){let{parentNode:n}=t;n&&(n.lastChild===t?n.appendChild(i):n.insertBefore(i,t.nextSibling))}static before(t,i){let{parentNode:n}=t;n&&n.insertBefore(i,t)}static prepend(t,i){t.insertBefore(i,t.firstChild)}static append(t,i){(0,s.isArray)(i)?i.forEach(i=>{this.append(t,i)}):t.appendChild(i)}static moveContent(t,i,n=!1,s=()=>!0){let a=(t.ownerDocument||o.globalDocument).createDocumentFragment();(0,r.toArray)(t.childNodes).filter(t=>!!s(t)||(_.safeRemove(t),!1)).forEach(t=>{a.appendChild(t)}),n&&i.firstChild?i.insertBefore(a,i.firstChild):i.appendChild(a)}static isOrContains(t,i,n=!1){return t===i?!n:!!(i&&t&&this.up(i,i=>i===t,t,!0))}static safeRemove(...t){t.forEach(t=>_.isNode(t)&&t.parentNode&&t.parentNode.removeChild(t))}static safeInsertNode(t,i){t.collapsed||t.deleteContents();let n=_.isFragment(i)?i.lastChild:i;t.startContainer===t.endContainer&&t.collapsed&&_.isTag(t.startContainer,o.INSEPARABLE_TAGS)?_.after(t.startContainer,i):(t.insertNode(i),n&&t.setStartBefore(n)),t.collapse(!0),[i.nextSibling,i.previousSibling].forEach(t=>_.isText(t)&&!t.nodeValue&&_.safeRemove(t))}static hide(t){t&&((0,g.dataBind)(t,"__old_display",t.style.display),t.style.display="none")}static show(t){if(!t)return;let i=(0,g.dataBind)(t,"__old_display");"none"===t.style.display&&(t.style.display=i||"")}static isTag(t,i){if(Array.isArray(i))throw TypeError("Dom.isTag does not support array");if(!this.isElement(t))return!1;let n=t.tagName.toLowerCase();return i instanceof Set?i.has(n)||i.has(t.tagName.toUpperCase()):n===i||t.tagName.toUpperCase()===i}static markTemporary(t,i){return i&&(0,f.attr)(t,i),(0,f.attr)(t,o.TEMP_ATTR,!0),t}static isTemporary(t){return!!_.isElement(t)&&(_.isMarker(t)||"true"===(0,f.attr)(t,o.TEMP_ATTR))}static isMarker(t){return _.isNode(t)&&_.isTag(t,"span")&&t.hasAttribute("data-"+o.MARKER_CLASS)}static replaceTemporaryFromString(t){return t.replace(w,"$2")}static temporaryList(t){return(0,r.toArray)(t.querySelectorAll(`[${o.TEMP_ATTR}]`))}constructor(){throw Error("Dom is static module")}}},22732:function(t,i,n){"use strict";n.d(i,{Dom:function(){return o.Dom},LazyWalker:function(){return r.LazyWalker}});var o=n(2748),r=n(70071)},70071:function(t,i,n){"use strict";n.d(i,{LazyWalker:function(){return a}});var o=n(45219),r=n(2748),s=n(72757);class a extends s.Eventify{setWork(t){return this.isWorked?this.break():this.stop(),this.workNodes=r.Dom.eachGen(t,!this.options.reverse),this.isFinished=!1,this.hadAffect=!1,this._requestStarting(),this}_requestStarting(){this.__schedulerController=new AbortController,this.async.schedulerPostTask(this.__workPerform,{delay:this.options.timeout,signal:this.__schedulerController.signal}).catch(()=>null)}break(t){this.isWorked&&(this.stop(),this.emit("break",t))}end(){this.isWorked&&(this.stop(),this.emit("end",this.hadAffect),this.hadAffect=!1)}stop(){var t;this.isWorked=!1,this.isFinished=!0,this.workNodes=null,null==(t=this.__schedulerController)||t.abort(),this.__schedulerController=null}destruct(){super.destruct(),this.stop()}__workPerform(){var t;if(this.workNodes){this.isWorked=!0;let i=0,n=null!=(t=this.options.timeoutChunkSize)?t:50;for(;!this.isFinished&&i<n;){let t=this.workNodes.next();if(i+=1,this.visitNode(t.value)&&(this.hadAffect=!0),t.done)return void this.end()}}else this.end();this.isFinished||this._requestStarting()}visitNode(t){var i;return!!t&&(void 0===this.options.whatToShow||t.nodeType===this.options.whatToShow)&&null!=(i=this.emit("visit",t))&&i}constructor(t,i={}){super(),this.async=t,this.options=i,this.workNodes=null,this.hadAffect=!1,this.isWorked=!1,this.isFinished=!1,this.__schedulerController=null}}!function(t,i,n,o){var r,s=arguments.length,a=s<3?i:null===o?o=Object.getOwnPropertyDescriptor(i,n):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(t,i,n,o);else for(var l=t.length-1;l>=0;l--)(r=t[l])&&(a=(s<3?r(a):s>3?r(i,n,a):r(i,n))||a);s>3&&a&&Object.defineProperty(i,n,a)}([o.autobind],a.prototype,"__workPerform",null)},98220:function(t,i,n){"use strict";n.d(i,{EventEmitter:function(){return u}});var o=n(82758),r=n(46559),s=n(68345),a=n(23282),l=n(70799),c=n(89890),d=n(15738);class u{mute(t){return this.__mutedEvents.add(null!=t?t:"*"),this}isMuted(t){return!!(t&&this.__mutedEvents.has(t))||this.__mutedEvents.has("*")}unmute(t){return this.__mutedEvents.delete(null!=t?t:"*"),this}__eachEvent(t,i){(0,r.splitArray)(t).map(t=>t.trim()).forEach(t=>{let n=t.split("."),o=n[1]||d.defaultNameSpace;i.call(this,n[0],o)})}__getStore(t){if(!t)throw(0,c.error)("Need subject");if(void 0===t[this.__key]){let i=new d.EventHandlersStore;Object.defineProperty(t,this.__key,{enumerable:!1,configurable:!0,writable:!0,value:i})}return t[this.__key]}__removeStoreFromSubject(t){void 0!==t[this.__key]&&delete t[this.__key]}__triggerNativeEvent(t,i){let n=this.__doc.createEvent("HTMLEvents");(0,l.isString)(i)?n.initEvent(i,!0,!0):(n.initEvent(i.type,i.bubbles,i.cancelable),["screenX","screenY","clientX","clientY","target","srcElement","currentTarget","timeStamp","which","keyCode"].forEach(t=>{Object.defineProperty(n,t,{value:i[t],enumerable:!0})}),Object.defineProperty(n,"originalEvent",{value:i,enumerable:!0})),t.dispatchEvent(n)}get current(){return this.currents[this.currents.length-1]}on(t,i,n,r){let d,u,p,f;if((0,l.isString)(t)||(0,l.isStringArray)(t)?(d=this,u=t,p=i,f=n):(d=t,u=i,p=n,f=r),!((0,l.isString)(u)||(0,l.isStringArray)(u))||0===u.length)throw(0,c.error)("Need events names");if(!(0,a.isFunction)(p))throw(0,c.error)("Need event handler");if((0,s.isArray)(d))return d.forEach(t=>{this.on(t,u,p,f)}),this;let m=d,g=this.__getStore(m),b=this,y=function(t,...i){if(!b.isMuted(t))return p&&p.call(this,...i)};return h(m)&&(y=function(t){if(!b.isMuted(t.type)&&(b.__prepareEvent(t),p&&!1===p.call(this,t)))return t.preventDefault(),t.stopImmediatePropagation(),!1}),this.__eachEvent(u,(t,i)=>{var n,r;if(0===t.length)throw(0,c.error)("Need event name");if(!1===g.indexOf(t,i,p)){let s={event:t,originalCallback:p,syntheticCallback:y};if(g.set(t,i,s,null==f?void 0:f.top),h(m)){let i=o.PASSIVE_EVENTS.has(t)?{passive:!0,capture:null!=(n=null==f?void 0:f.capture)&&n}:null!=(r=null==f?void 0:f.capture)&&r;y.options=i,m.addEventListener(t,y,i),this.__memoryDOMSubjectToHandler(m,y)}}}),this}__memoryDOMSubjectToHandler(t,i){let n=this.__domEventsMap.get(t)||new Set;n.add(i),this.__domEventsMap.set(t,n)}__unmemoryDOMSubjectToHandler(t,i){let n=this.__domEventsMap,o=n.get(t)||new Set;o.delete(i),o.size?n.set(t,o):n.delete(t)}one(t,i,n,o){let r,s,a,c;(0,l.isString)(t)||(0,l.isStringArray)(t)?(r=this,s=t,a=i,c=n):(r=t,s=i,a=n,c=o);let d=(...t)=>(this.off(r,s,d),a(...t));return this.on(r,s,d,c),this}off(t,i,n){let o,r,c;if((0,l.isString)(t)||(0,l.isStringArray)(t)?(o=this,r=t,c=i):(o=t,r=i,c=n),(0,s.isArray)(o))return o.forEach(t=>{this.off(t,r,c)}),this;let u=o,p=this.__getStore(u);if(!((0,l.isString)(r)||(0,l.isStringArray)(r))||0===r.length)return p.namespaces().forEach(t=>{this.off(u,"."+t)}),this.__removeStoreFromSubject(u),this;let f=t=>{var i;h(u)&&(u.removeEventListener(t.event,t.syntheticCallback,null!=(i=t.syntheticCallback.options)&&i),this.__unmemoryDOMSubjectToHandler(u,t.syntheticCallback))},m=(t,i)=>{if(""===t)return void p.events(i).forEach(t=>{""!==t&&m(t,i)});let n=p.get(t,i);if(n&&n.length)if((0,a.isFunction)(c)){let o=p.indexOf(t,i,c);!1!==o&&(f(n[o]),n.splice(o,1),n.length||p.clearEvents(i,t))}else n.forEach(f),n.length=0,p.clearEvents(i,t)};return this.__eachEvent(r,(t,i)=>{i===d.defaultNameSpace?p.namespaces().forEach(i=>{m(t,i)}):m(t,i)}),p.isEmpty()&&this.__removeStoreFromSubject(u),this}stopPropagation(t,i){let n=(0,l.isString)(t)?this:t,o=(0,l.isString)(t)?t:i;if("string"!=typeof o)throw(0,c.error)("Need event names");let r=this.__getStore(n);this.__eachEvent(o,(t,i)=>{let o=r.get(t,i);o&&this.__stopped.push(o),i===d.defaultNameSpace&&r.namespaces(!0).forEach(i=>this.stopPropagation(n,t+"."+i))})}__removeStop(t){if(t){let i=this.__stopped.indexOf(t);-1!==i&&this.__stopped.splice(0,i+1)}}__isStopped(t){return void 0!==t&&-1!==this.__stopped.indexOf(t)}fire(t,i,...n){let o,r,s=(0,l.isString)(t)?this:t,a=(0,l.isString)(t)?t:i,u=(0,l.isString)(t)?[i,...n]:n;if(!h(s)&&!(0,l.isString)(a))throw(0,c.error)("Need events names");let p=this.__getStore(s);return!(0,l.isString)(a)&&h(s)?this.__triggerNativeEvent(s,i):this.__eachEvent(a,(t,i)=>{if(h(s))this.__triggerNativeEvent(s,t);else{let n=p.get(t,i);if(n)try{[...n].every(i=>!this.__isStopped(n)&&(this.currents.push(t),r=i.syntheticCallback.call(s,t,...u),this.currents.pop(),void 0!==r&&(o=r),!0))}finally{this.__removeStop(n)}i!==d.defaultNameSpace||h(s)||p.namespaces().filter(t=>t!==i).forEach(i=>{let n=this.fire.apply(this,[s,t+"."+i,...u]);void 0!==n&&(o=n)})}}),o}destruct(){this.__isDestructed||(this.__isDestructed=!0,this.__domEventsMap.forEach((t,i)=>{this.off(i)}),this.__domEventsMap.clear(),this.__mutedEvents.clear(),this.currents.length=0,this.__stopped.length=0,this.off(this),this.__getStore(this).clear(),this.__removeStoreFromSubject(this))}constructor(t){this.__domEventsMap=new Map,this.__mutedEvents=new Set,this.__key="__JoditEventEmitterNamespaces",this.__doc=o.globalDocument,this.__prepareEvent=t=>{!t.cancelBubble&&(t.composed&&(0,a.isFunction)(t.composedPath)&&t.composedPath()[0]&&Object.defineProperty(t,"target",{value:t.composedPath()[0],configurable:!0,enumerable:!0}),t.type.match(/^touch/)&&t.changedTouches&&t.changedTouches.length&&["clientX","clientY","pageX","pageY"].forEach(i=>{Object.defineProperty(t,i,{value:t.changedTouches[0][i],configurable:!0,enumerable:!0})}),t.originalEvent||(t.originalEvent=t),"paste"===t.type&&void 0===t.clipboardData&&this.__doc.defaultView.clipboardData&&Object.defineProperty(t,"clipboardData",{get:()=>this.__doc.defaultView.clipboardData,configurable:!0,enumerable:!0}))},this.currents=[],this.__stopped=[],this.__isDestructed=!1,t&&(this.__doc=t),this.__key+=new Date().getTime()}}function h(t){return t&&(0,a.isFunction)(t.addEventListener)}},72757:function(t,i,n){"use strict";n.d(i,{Eventify:function(){return o}});class o{on(t,i){var n;return this.__map.has(t)||this.__map.set(t,new Set),null==(n=this.__map.get(t))||n.add(i),this}off(t,i){var n;return this.__map.has(t)&&(null==(n=this.__map.get(t))||n.delete(i)),this}destruct(){this.__map.clear()}emit(t,...i){var n;let o;return this.__map.has(t)&&(null==(n=this.__map.get(t))||n.forEach(t=>{o=t(...i)})),o}constructor(){this.__map=new Map}}},57012:function(t,i,n){"use strict";n.d(i,{eventEmitter:function(){return o}});let o=new(n(98220)).EventEmitter},3827:function(t,i,n){"use strict";n.d(i,{EventEmitter:function(){return o.EventEmitter},EventHandlersStore:function(){return a.EventHandlersStore},Eventify:function(){return r.Eventify},defaultNameSpace:function(){return a.defaultNameSpace},observable:function(){return s.observable}});var o=n(98220),r=n(72757),s=n(73026),a=n(15738)},73026:function(t,i,n){"use strict";n.d(i,{observable:function(){return d}});var o=n(68345),r=n(59292),s=n(72430),a=n(37790);let l=Symbol("observable-object");function c(t){return void 0!==t[l]}function d(t){if(c(t))return t;let i={},n={},d=(i,r)=>((0,o.isArray)(i)?i.map(t=>d(t,r)):(n[i]||(n[i]=[]),n[i].push(r)),t),u=(r,...s)=>{if((0,o.isArray)(r))return void r.map(t=>u(t,...s));try{!i[r]&&n[r]&&(i[r]=!0,n[r].forEach(i=>i.call(t,...s)))}finally{i[r]=!1}},h=(i,n=[])=>{let o={};c(i)||(Object.defineProperty(i,l,{enumerable:!1,value:!0}),Object.keys(i).forEach(l=>{let c=n.concat(l).filter(t=>t.length);o[l]=i[l];let d=(0,a.getPropertyDescriptor)(i,l);Object.defineProperty(i,l,{set(i){let n=o[l];if(!(0,r.isFastEqual)(o[l],i)){u(["beforeChange","beforeChange."+c.join(".")],l,i),(0,s.isPlainObject)(i)&&h(i,c),d&&d.set?d.set.call(t,i):o[l]=i;let r=[];u(["change",...c.reduce((t,i)=>(r.push(i),t.push("change."+r.join(".")),t),[])],c.join("."),n,(null==i?void 0:i.valueOf)?i.valueOf():i)}},get:()=>d&&d.get?d.get.call(t):o[l],enumerable:!0,configurable:!0}),(0,s.isPlainObject)(o[l])&&h(o[l],c)}),Object.defineProperty(t,"on",{value:d}))};return h(t),t}},15738:function(t,i,n){"use strict";n.d(i,{EventHandlersStore:function(){return a},defaultNameSpace:function(){return s}});var o=n(4510),r=n(38837);let s="JoditEventDefaultNamespace";class a{get(t,i){if(this.__store.has(i)){let n=this.__store.get(i);return(0,r.assert)(n,"-"),n[t]}}indexOf(t,i,n){let o=this.get(t,i);if(o){for(let t=0;t<o.length;t+=1)if(o[t].originalCallback===n)return t}return!1}namespaces(t=!1){let i=(0,o.toArray)(this.__store.keys());return t?i.filter(t=>t!==s):i}events(t){let i=this.__store.get(t);return i?Object.keys(i):[]}set(t,i,n,o=!1){let r=this.__store.get(i);r||(r={},this.__store.set(i,r)),void 0===r[t]&&(r[t]=[]),o?r[t].unshift(n):r[t].push(n)}clear(){this.__store.clear()}clearEvents(t,i){let n=this.__store.get(t);n&&n[i]&&(delete n[i],Object.keys(n).length||this.__store.delete(t))}isEmpty(){return 0===this.__store.size}constructor(){this.__store=new Map}}},580:function(t,i,n){"use strict";n.d(i,{eventEmitter:function(){return x},extendLang:function(){return _},getContainer:function(){return k},getPopupViewRoot:function(){return S},instances:function(){return f},modules:function(){return w},pluginSystem:function(){return y},uniqueUid:function(){return b}});var o=n(19306),r=n(70799),s=n(39955),a=n(12475),l=n(41180),c=n(80568),d=n(41876),u=n(57012),h=n(82758),p=n(22732);let f={},m=1,g=new Set;function b(){function t(){return Math.round(m+=10*(Math.random()+1)).toString(16)}let i=t();for(;g.has(i);)i=t();return g.add(i),i}let y=new d.PluginSystem({getContainer:k}),w={},_=t=>{Object.keys(t).forEach(i=>{h.lang[i]?Object.assign(h.lang[i],t[i]):h.lang[i]=t[i]})},C=new WeakMap;function k(t,i,n="div",l=!1){let d=(0,r.isString)(i)?i:i?(0,c.getClassName)(i.prototype):"jodit-utils",u=C.get(t)||{},h=d+n,f=(0,s.isViewObject)(t)?t:t.j,m=null;if(!u[h]){let i=f.c;if(m=S(f.o,f.container,t.od.body),l&&(0,o.isJoditObject)(t)&&t.od!==t.ed){i=t.createInside;let r="style"===n?t.ed.head:t.ed.body;m=(0,o.isJoditObject)(t)&&t.o.shadowRoot?t.o.shadowRoot:r}let r=i.element(n,{className:`jodit jodit-${(0,a.kebabCase)(d)}-container jodit-box`});f.o.nonce&&("style"===n||"script"===n)&&r.setAttribute("nonce",f.o.nonce),r.classList.add("jodit_theme_"+(f.o.theme||"default")),m.appendChild(r),u[h]=r,t.hookStatus("beforeDestruct",()=>{f.events.off(r),p.Dom.safeRemove(r),delete u[h],Object.keys(u).length&&C.delete(t)}),C.set(t,u),f.events.fire("getContainer",r)}return u[h].classList.remove("jodit_theme_default","jodit_theme_dark"),u[h].classList.add("jodit_theme_"+(f.o.theme||"default")),u[h]}function S(t,i,n){var o,r,s;return null!=(s=null!=(r=null!=(o=t.popupRoot)?o:t.shadowRoot)?r:p.Dom.closest(i,t=>p.Dom.isHTMLElement(t)&&(p.Dom.isTag(t,"dialog")||["fixed","absolute"].includes((0,l.css)(t,"position"))),n))?s:n}let x=u.eventEmitter},29999:function(t,i,n){"use strict";n.d(i,{asArray:function(){return r}});var o=n(68345);let r=t=>(0,o.isArray)(t)?t:[t]},76855:function(t,i,n){"use strict";n.d(i,{asArray:function(){return o.asArray},splitArray:function(){return r.splitArray},toArray:function(){return s.toArray}});var o=n(29999),r=n(46559),s=n(4510)},46559:function(t,i,n){"use strict";function o(t){return Array.isArray(t)?t:t.split(/[,\s]+/)}n.d(i,{splitArray:function(){return o}})},4510:function(t,i,n){"use strict";n.d(i,{toArray:function(){return s}});var o=n(70722),r=n(58844);let s=function(...t){var i;return((0,o.isNativeFunction)(Array.from)?Array.from:null!=(i=(0,r.reset)("Array.from"))?i:Array.from).apply(Array,t)}},91898:function(t,i,n){"use strict";n.d(i,{clearTimeout:function(){return o.clearTimeout},setTimeout:function(){return o.setTimeout}});var o=n(13252)},13252:function(t,i,n){"use strict";n.d(i,{clearTimeout:function(){return s},setTimeout:function(){return r}});var o=n(82758);function r(t,i,...n){return i?o.globalWindow.setTimeout(t,i,...n):(t.call(null,...n),0)}function s(t){o.globalWindow.clearTimeout(t)}},54765:function(t,i,n){"use strict";n.d(i,{hasBrowserColorPicker:function(){return r}});var o=n(82758);function r(){let t=!0;try{let i=o.globalDocument.createElement("input");i.type="color",i.value="!",t="color"===i.type&&"!"!==i.value}catch(i){t=!1}return t}},27613:function(t,i,n){"use strict";n.d(i,{hasBrowserColorPicker:function(){return o.hasBrowserColorPicker},hasContainer:function(){return h.hasContainer},isAbortError:function(){return r.isAbortError},isArray:function(){return s.isArray},isBoolean:function(){return a.isBoolean},isDestructable:function(){return h.isDestructable},isEqual:function(){return l.isEqual},isFastEqual:function(){return l.isFastEqual},isFunction:function(){return c.isFunction},isHTML:function(){return d.isHTML},isHtmlFromWord:function(){return u.isHtmlFromWord},isInitable:function(){return h.isInitable},isInt:function(){return p.isInt},isJoditObject:function(){return f.isJoditObject},isLicense:function(){return m.isLicense},isMarker:function(){return g.isMarker},isNativeFunction:function(){return b.isNativeFunction},isNumber:function(){return y.isNumber},isNumeric:function(){return w.isNumeric},isPlainObject:function(){return _.isPlainObject},isPromise:function(){return C.isPromise},isSet:function(){return k.isSet},isString:function(){return S.isString},isStringArray:function(){return S.isStringArray},isURL:function(){return x.isURL},isValidName:function(){return I.isValidName},isViewObject:function(){return E.isViewObject},isVoid:function(){return T.isVoid},isWindow:function(){return j.isWindow}});var o=n(54765),r=n(12045),s=n(68345),a=n(87612),l=n(59292),c=n(23282),d=n(58487),u=n(29673),h=n(60132),p=n(72913),f=n(19306),m=n(45603),g=n(78116),b=n(70722),y=n(84767),w=n(29807),_=n(72430),C=n(14773),k=n(42320),S=n(70799),x=n(26049),I=n(37508),E=n(39955),T=n(86068),j=n(52742)},12045:function(t,i,n){"use strict";function o(t){return!!t&&t instanceof DOMException&&"AbortError"===t.name}n.d(i,{isAbortError:function(){return o}})},68345:function(t,i,n){"use strict";function o(t){return Array.isArray(t)}n.d(i,{isArray:function(){return o}})},87612:function(t,i,n){"use strict";function o(t){return"boolean"==typeof t}n.d(i,{isBoolean:function(){return o}})},59292:function(t,i,n){"use strict";n.d(i,{isEqual:function(){return r},isFastEqual:function(){return s}});var o=n(67462);function r(t,i){return t===i||(0,o.stringify)(t)===(0,o.stringify)(i)}function s(t,i){return t===i}},23282:function(t,i,n){"use strict";function o(t){return"function"==typeof t}n.d(i,{isFunction:function(){return o}})},29673:function(t,i,n){"use strict";function o(t){return -1!==t.search(/<meta.*?Microsoft Excel\s[\d].*?>/)||-1!==t.search(/<meta.*?Microsoft Word\s[\d].*?>/)||-1!==t.search(/<meta[^>]*?ProgId[^>]*?(Word|Excel)\./i)||-1!==t.search(/<meta[^>]*?(LibreOffice|OpenOffice)/i)||-1!==t.search(/urn:schemas-microsoft-com:office:(word|excel)/)||-1!==t.search(/<\w[^>]*\sclass=("|')?Mso/)||-1!==t.search(/style='[^']*mso-/)||-1!==t.search(/style="[^"]*mso-/)&&-1!==t.search(/<font/)}n.d(i,{isHtmlFromWord:function(){return o}})},58487:function(t,i,n){"use strict";n.d(i,{isHTML:function(){return r}});var o=n(70799);let r=t=>(0,o.isString)(t)&&/<([A-Za-z][A-Za-z0-9]*)\b[^>]*>(.*?)<\/\1>/m.test(t.replace(/[\r\n]/g,""))},60132:function(t,i,n){"use strict";n.d(i,{hasContainer:function(){return c},isDestructable:function(){return l},isInitable:function(){return a}});var o=n(2748),r=n(23282),s=n(86068);function a(t){return!(0,s.isVoid)(t)&&(0,r.isFunction)(t.init)}function l(t){return!(0,s.isVoid)(t)&&(0,r.isFunction)(t.destruct)}function c(t){return!(0,s.isVoid)(t)&&o.Dom.isElement(t.container)}},72913:function(t,i,n){"use strict";n.d(i,{isInt:function(){return s}});var o=n(29807),r=n(70799);function s(t){return(0,r.isString)(t)&&(0,o.isNumeric)(t)&&(t=parseFloat(t)),"number"==typeof t&&Number.isFinite(t)&&!(t%1)}},19306:function(t,i,n){"use strict";n.d(i,{isJoditObject:function(){return r}});var o=n(23282);function r(t){return!!(t&&t instanceof Object&&(0,o.isFunction)(t.constructor)&&("u">typeof Jodit&&t instanceof Jodit||t.isJodit))}},45603:function(t,i,n){"use strict";n.d(i,{isLicense:function(){return r}});var o=n(70799);let r=t=>(0,o.isString)(t)&&23===t.length&&/^[a-z0-9]{5}-[a-z0-9]{5}-[a-z0-9]{5}-[a-z0-9]{5}$/i.test(t)},78116:function(t,i,n){"use strict";n.d(i,{isMarker:function(){return r}});var o=n(2748);function r(t){return o.Dom.isMarker(t)}},70722:function(t,i,n){"use strict";function o(t){return!!t&&"function"===(typeof t).toLowerCase()&&(t===Function.prototype||/^\s*function\s*(\b[a-z$_][a-z0-9$_]*\b)*\s*\((|([a-z$_][a-z0-9$_]*)(\s*,[a-z$_][a-z0-9$_]*)*)\)\s*{\s*\[native code]\s*}\s*$/i.test(t+""))}n.d(i,{isNativeFunction:function(){return o}})},84767:function(t,i,n){"use strict";function o(t){return"number"==typeof t&&!isNaN(t)&&isFinite(t)}n.d(i,{isNumber:function(){return o}})},29807:function(t,i,n){"use strict";n.d(i,{isNumeric:function(){return r}});var o=n(70799);function r(t){if((0,o.isString)(t)){if(!t.match(/^([+-])?[0-9]+(\.?)([0-9]+)?(e[0-9]+)?$/))return!1;t=parseFloat(t)}return"number"==typeof t&&!isNaN(t)&&isFinite(t)}},72430:function(t,i,n){"use strict";n.d(i,{isPlainObject:function(){return r}});var o=n(52742);function r(t){return!(!t||"object"!=typeof t||t.nodeType||(0,o.isWindow)(t))&&!(t.constructor&&!({}).hasOwnProperty.call(t.constructor.prototype,"isPrototypeOf"))}},14773:function(t,i,n){"use strict";function o(t){return t&&"function"==typeof t.then}n.d(i,{isPromise:function(){return o}})},42320:function(t,i,n){"use strict";n.d(i,{isSet:function(){return r}});var o=n(23282);function r(t){return!!t&&(0,o.isFunction)(t.has)&&(0,o.isFunction)(t.add)&&(0,o.isFunction)(t.delete)}},70799:function(t,i,n){"use strict";n.d(i,{isString:function(){return r},isStringArray:function(){return s}});var o=n(68345);function r(t){return"string"==typeof t}function s(t){return(0,o.isArray)(t)&&r(t[0])}},26049:function(t,i,n){"use strict";n.d(i,{isURL:function(){return r}});var o=n(82758);function r(t){if(t.includes(" "))return!1;if("u">typeof URL)try{let i=new URL(t);return["https:","http:","ftp:","file:","rtmp:"].includes(i.protocol)}catch(t){return!1}let i=o.globalDocument.createElement("a");return i.href=t,!!i.hostname}},37508:function(t,i,n){"use strict";function o(t){return!!t.length&&!/[^0-9A-Za-zа-яА-ЯЁё\w\-_. ]/.test(t)&&t.trim().length>0}n.d(i,{isValidName:function(){return o}})},39955:function(t,i,n){"use strict";n.d(i,{isViewObject:function(){return r}});var o=n(23282);function r(t){return!!(t&&t instanceof Object&&(0,o.isFunction)(t.constructor)&&t.isView)}},86068:function(t,i,n){"use strict";function o(t){return null==t}n.d(i,{isVoid:function(){return o}})},52742:function(t,i,n){"use strict";function o(t){return null!=t&&t===t.window}n.d(i,{isWindow:function(){return o}})},35278:function(t,i,n){"use strict";n.d(i,{colorToHex:function(){return o}});let o=t=>{if("rgba(0, 0, 0, 0)"===t||""===t)return!1;if(!t)return"#000000";if("#"===t.substr(0,1))return t;let i=/([\s\n\t\r]*?)rgb\((\d+), (\d+), (\d+)\)/.exec(t)||/([\s\n\t\r]*?)rgba\((\d+), (\d+), (\d+), ([\d.]+)\)/.exec(t);if(!i)return"#000000";let n=parseInt(i[2],10),o=parseInt(i[3],10),r=(parseInt(i[4],10)|o<<8|n<<16).toString(16).toUpperCase();for(;r.length<6;)r="0"+r;return i[1]+"#"+r}},58149:function(t,i,n){"use strict";n.d(i,{colorToHex:function(){return o.colorToHex}});var o=n(35278)},32574:function(t,i,n){"use strict";n.d(i,{applyStyles:function(){return c}});var o=n(82758),r=n(2748),s=n(49055),a=n(76078);function l(t){return t.replace(/mso-[a-z-]+:[\s]*[^;]+;/gi,"").replace(/mso-[a-z-]+:[\s]*[^";']+$/gi,"").replace(/border[a-z-]*:[\s]*[^;]+;/gi,"").replace(/([0-9.]+)(pt|cm)/gi,(t,i,n)=>{switch(n.toLowerCase()){case"pt":return(1.328*parseFloat(i)).toFixed(0)+"px";case"cm":return(.02645833*parseFloat(i)).toFixed(0)+"px"}return t})}function c(t){let i=/<html(?:\s[^>]*)?>/i.exec(t);if(!i)return t;let n=(t=t.substring(i.index)).toLowerCase().lastIndexOf("</html>");-1!==n&&(t=t.substring(0,n+7));let c=o.globalDocument.createElement("iframe");c.style.display="none",o.globalDocument.body.appendChild(c);let d="";try{let i=c.contentDocument||(c.contentWindow?c.contentWindow.document:null);if(i){i.open(),i.write(t),i.close(),r.Dom.each(i.body,t=>{r.Dom.isElement(t)&&/mso-list:\s*ignore/i.test(t.getAttribute("style")||"")&&r.Dom.safeRemove(t)});try{for(let t=0;t<i.styleSheets.length;t+=1){let n=i.styleSheets[t].cssRules;for(let t=0;t<n.length;t+=1)""!==n[t].selectorText&&(0,a.$$)(n[t].selectorText,i.body).forEach(i=>{i.style.cssText=l(n[t].style.cssText+";"+i.style.cssText)})}}catch(t){if(!o.IS_PROD)throw t}r.Dom.each(i.body,t=>{if(r.Dom.isElement(t)){let i=t.getAttribute("style");i&&(t.style.cssText=l(i)),t.hasAttribute("style")&&!t.getAttribute("style")&&t.removeAttribute("style")}}),d=i.firstChild?(0,s.trim)(i.body.innerHTML):""}}catch(t){}finally{r.Dom.safeRemove(c)}return d&&(t=d),(0,s.trim)(t.replace(/<(\/)?(html|colgroup|col|o:p)[^>]*>/g,"").replace(/<!--[^>]*>/g,""))}},53212:function(t,i,n){"use strict";n.d(i,{cleanFromWord:function(){return l}});var o=n(82758),r=n(2748),s=n(4510),a=n(49055);function l(t){-1!==t.indexOf("<html ")&&(t=(t=t.substring(t.indexOf("<html "),t.length)).substring(0,t.lastIndexOf("</html>")+7));let i="";try{let n=o.globalDocument.createElement("div");n.innerHTML=t;let a=[];n.firstChild&&r.Dom.each(n,t=>{if(t)switch(t.nodeType){case Node.ELEMENT_NODE:switch(t.nodeName){case"STYLE":case"LINK":case"META":a.push(t);break;case"W:SDT":case"W:SDTPR":case"FONT":r.Dom.unwrap(t);break;default:if(/mso-list:\s*ignore/i.test(t.getAttribute("style")||"")){a.push(t);break}(0,s.toArray)(t.attributes).forEach(i=>{-1===["src","href","rel","content"].indexOf(i.name.toLowerCase())&&t.removeAttribute(i.name)})}break;case Node.TEXT_NODE:break;default:a.push(t)}}),r.Dom.safeRemove.apply(null,a),i=n.innerHTML}catch(t){}return i&&(t=i),(t=t.split(/(\n)/).filter(a.trim).join(`
|
|
17
|
+
`,{group:"state",buttons:[]},{group:"clipboard",buttons:[]},{group:"insert",buttons:[]},{group:"indent",buttons:[]},{group:"color",buttons:[]},{group:"form",buttons:[]},"---",{group:"history",buttons:[]},{group:"search",buttons:[]},{group:"source",buttons:[]},{group:"other",buttons:[]},{group:"info",buttons:[]}],this.events={},this.textIcons=!1,this.popupRoot=null,this.showBrowserColorPicker=!0,Object.assign(this,r)}}r=s.prototype,s.prototype.controls={}},26992:function(t,i,n){"use strict";n.d(i,{Async:function(){return m}});var o=n(82758),r=n(91898),s=n(12045),a=n(23282),l=n(84767),c=n(72430),d=n(14773),u=n(70799),h=n(86068),p=n(38837),f=n(93661);class m{delay(t){return this.promise(i=>this.setTimeout(i,t))}setTimeout(t,i,...n){if(this.isDestructed)return 0;let o={};(0,h.isVoid)(i)&&(i=0),(0,l.isNumber)(i)||(i=(o=i).timeout||0),o.label&&this.clearLabel(o.label);let s=(0,r.setTimeout)(t,i,...n),a=o.label||s;return this.timers.set(a,s),this.__callbacks.set(a,t),s}updateTimeout(t,i){if((0,p.assert)(t&&this.timers.has(t),"Label does not exist"),!t||!this.timers.has(t))return null;let n=this.__callbacks.get(t);return(0,p.assert)((0,a.isFunction)(n),"Callback is not a function"),this.setTimeout(n,{label:t,timeout:i})}clearLabel(t){t&&this.timers.has(t)&&((0,r.clearTimeout)(this.timers.get(t)),this.timers.delete(t),this.__callbacks.delete(t))}clearTimeout(t){if((0,u.isString)(t))return this.clearLabel(t);(0,r.clearTimeout)(t),this.timers.delete(t),this.__callbacks.delete(t)}debounce(t,i,n=!1){let o=0,l=!1,u=[],h=(...i)=>{if(!l){o=0;let n=t(...i);if(l=!0,u.length){let t=()=>{u.forEach(t=>t()),u.length=0};(0,d.isPromise)(n)?n.finally(t):t()}}},p=(...s)=>{l=!1,i?(!o&&n&&h(...s),(0,r.clearTimeout)(o),o=this.setTimeout(()=>h(...s),(0,a.isFunction)(i)?i():i),this.timers.set(t,o)):h(...s)};return(0,c.isPlainObject)(i)&&i.promisify?(...t)=>{let i=this.promise(t=>{u.push(t)}).catch(t=>{if((0,s.isAbortError)(t))return null;throw t});return p(...t),i}:p}microDebounce(t,i=!1){let n,o=!1,r=!0;return(...s)=>{if(n=s,o){r=!0;return}r=!0,i&&(r=!1,t(...n)),o=!0,this.__queueMicrotaskNative(()=>{o=!1,!this.isDestructed&&r&&t(...n)})}}throttle(t,i,n=!1){let o=null,r,s,l;return(...n)=>{(r=!0,l=n,i)?o||(s=()=>{r?(t(...l),r=!1,o=this.setTimeout(s,(0,a.isFunction)(i)?i():i),this.timers.set(s,o)):o=null})():t(...l)}}promise(t){let i=()=>{},n=new Promise((n,o)=>{i=()=>o((0,f.abort)("Abort async")),this.promisesRejections.add(i),t(n,o)});return!n.finally&&"u">typeof process&&!o.IS_ES_NEXT&&(n.finally=t=>(n.then(t).catch(t),n)),n.finally(()=>{this.promisesRejections.delete(i)}).catch(()=>null),n.rejectCallback=i,n}promiseState(t){if(t.status)return t.status;if(!Promise.race)return new Promise(i=>{t.then(t=>(i("fulfilled"),t),t=>{throw i("rejected"),t}),this.setTimeout(()=>{i("pending")},100)});let i={};return Promise.race([t,i]).then(t=>t===i?"pending":"fulfilled",()=>"rejected")}requestIdleCallback(t,i={timeout:100}){let n=this.__requestIdleCallbackNative(t,i);return this.__requestsIdle.add(n),n}requestIdlePromise(t){return this.promise(i=>{let n=this.requestIdleCallback(()=>i(n),t)})}schedulerPostTask(t,i={delay:0,priority:"user-visible"}){let n=new AbortController;if(i.signal&&i.signal.addEventListener("abort",()=>n.abort()),this.__controllers.add(n),void 0!==globalThis.scheduler){let o=globalThis.scheduler.postTask(t,{...i,signal:n.signal});return o.finally(()=>{this.__controllers.delete(n)}).catch(()=>null),o}return this.promise((o,r)=>{let s=this.setTimeout(()=>{try{o(t())}catch(t){r(t)}this.__controllers.delete(n)},i.delay||1);n.signal.addEventListener("abort",()=>{this.clearTimeout(s),this.__controllers.delete(n),r((0,f.abort)())})})}schedulerYield(){return this.schedulerPostTask(()=>{},{priority:"user-visible"})}cancelIdleCallback(t){return this.__requestsIdle.delete(t),this.__cancelIdleCallbackNative(t)}requestAnimationFrame(t){let i=requestAnimationFrame(t);return this.__requestsRaf.add(i),i}cancelAnimationFrame(t){this.__requestsRaf.delete(t),cancelAnimationFrame(t)}clear(){this.__requestsIdle.forEach(t=>this.cancelIdleCallback(t)),this.__requestsRaf.forEach(t=>this.cancelAnimationFrame(t)),this.__controllers.forEach(t=>t.abort()),this.timers.forEach(t=>(0,r.clearTimeout)(this.timers.get(t))),this.timers.clear(),this.promisesRejections.forEach(t=>t()),this.promisesRejections.clear()}destruct(){this.clear(),this.isDestructed=!0}constructor(){var t,i,n,o,r;this.timers=new Map,this.__callbacks=new Map,this.__queueMicrotaskNative=null!=(t=null==queueMicrotask?void 0:queueMicrotask.bind(window))?t:Promise.resolve().then.bind(Promise.resolve()),this.promisesRejections=new Set,this.__requestsIdle=new Set,this.__controllers=new Set,this.__requestsRaf=new Set,this.__requestIdleCallbackNative=null!=(n=null==(i=window.requestIdleCallback)?void 0:i.bind(window))?n:(t,i)=>{var n;let o=Date.now();return this.setTimeout(()=>{t({didTimeout:!1,timeRemaining:()=>Math.max(0,50-(Date.now()-o))})},null!=(n=null==i?void 0:i.timeout)?n:1)},this.__cancelIdleCallbackNative=null!=(r=null==(o=window.cancelIdleCallback)?void 0:o.bind(window))?r:t=>{this.clearTimeout(t)},this.isDestructed=!1}}},8884:function(t,i,n){"use strict";n.d(i,{Async:function(){return o.Async}});var o=n(26992)},4012:function(t,i,n){"use strict";n.d(i,{Component:function(){return c}});var o=n(8884),r=n(78213),s=n(580),a=n(21537);let l=new Map;class c{get componentName(){return this.__componentName||(this.__componentName="jodit-"+(0,a.kebabCase)(((0,a.isFunction)(this.className)?this.className():"")||(0,a.getClassName)(this))),this.__componentName}getFullElName(t,i,n){let o=[this.componentName];return t&&o.push("__"+(t=t.replace(/[^a-z0-9-]/gi,"-"))),i&&(o.push("_",i),o.push("_",(0,a.isVoid)(n)?"true":n.toString())),o.join("")}get ownerDocument(){return this.ow.document}get od(){return this.ownerDocument}get ow(){return this.ownerWindow}get(t,i){return(0,a.get)(t,i||this)}get isReady(){return this.componentStatus===r.STATUSES.ready}get isDestructed(){return this.componentStatus===r.STATUSES.destructed}get isInDestruct(){return r.STATUSES.beforeDestruct===this.componentStatus||r.STATUSES.destructed===this.componentStatus}bindDestruct(t){return t.hookStatus(r.STATUSES.beforeDestruct,()=>!this.isInDestruct&&this.destruct()),this}destruct(){this.setStatus(r.STATUSES.destructed),this.async&&(this.async.destruct(),this.async=void 0),l.get(this)&&l.delete(this),this.ownerWindow=void 0}get componentStatus(){return this.__componentStatus}set componentStatus(t){this.setStatus(t)}setStatus(t){return this.setStatusComponent(t,this)}setStatusComponent(t,i){if(t===this.__componentStatus)return;i===this&&(this.__componentStatus=t);let n=Object.getPrototypeOf(this);n&&(0,a.isFunction)(n.setStatusComponent)&&n.setStatusComponent(t,i);let o=l.get(this),r=null==o?void 0:o[t];r&&r.length&&r.forEach(t=>t(i))}hookStatus(t,i){let n=l.get(this);n||(n={},l.set(this,n)),n[t]||(n[t]=[]),n[t].push(i)}static isInstanceOf(t,i){return t instanceof i}constructor(){this.async=new o.Async,this.ownerWindow=window,this.__componentStatus=r.STATUSES.beforeInit,this.uid="jodit-uid-"+(0,s.uniqueUid)()}}c.STATUSES=r.STATUSES},91907:function(t,i,n){"use strict";n.d(i,{Component:function(){return o.Component},STATUSES:function(){return r.STATUSES},ViewComponent:function(){return s.ViewComponent}});var o=n(4012),r=n(78213),s=n(80480)},78213:function(t,i,n){"use strict";n.d(i,{STATUSES:function(){return o}});let o={beforeInit:"beforeInit",ready:"ready",beforeDestruct:"beforeDestruct",destructed:"destructed"}},80480:function(t,i,n){"use strict";n.d(i,{ViewComponent:function(){return r}});var o=n(4012);class r extends o.Component{get j(){return this.jodit}get defaultTimeout(){return this.j.defaultTimeout}i18n(t,...i){return this.j.i18n(t,...i)}setParentView(t){return this.jodit=t,t.ow&&(this.ownerWindow=t.ow),t.components.add(this),this}destruct(){return this.j.components.delete(this),super.destruct()}constructor(t){super(),this.setParentView(t)}}},82758:function(t,i,n){"use strict";n.r(i),n.d(i,{ACCURACY:function(){return W},APP_VERSION:function(){return o},BASE_PATH:function(){return ef},BASE_PATH_IS_MIN:function(){return em},BR:function(){return G},CLIPBOARD_ID:function(){return ev},COMMAND_KEYS:function(){return $},EMULATE_DBLCLICK_TIMEOUT:function(){return en},ES:function(){return r},FAT_MODE:function(){return d},HOMEPAGE:function(){return u},INSEPARABLE_TAGS:function(){return j},INSERT_AS_HTML:function(){return eo},INSERT_AS_TEXT:function(){return es},INSERT_CLEAR_HTML:function(){return er},INSERT_ONLY_TEXT:function(){return ea},INVISIBLE_SPACE:function(){return f},INVISIBLE_SPACE_REG_EXP:function(){return g},INVISIBLE_SPACE_REG_EXP_END:function(){return b},INVISIBLE_SPACE_REG_EXP_START:function(){return y},IS_BLOCK:function(){return x},IS_ES_MODERN:function(){return s},IS_ES_NEXT:function(){return a},IS_IE:function(){return Z},IS_INLINE:function(){return I},IS_MAC:function(){return ec},IS_PROD:function(){return l},IS_TEST:function(){return c},KEY_ALIASES:function(){return ed},KEY_ALT:function(){return z},KEY_BACKSPACE:function(){return L},KEY_DELETE:function(){return U},KEY_DOWN:function(){return F},KEY_ENTER:function(){return M},KEY_ESC:function(){return R},KEY_F3:function(){return q},KEY_LEFT:function(){return B},KEY_META:function(){return P},KEY_RIGHT:function(){return O},KEY_SPACE:function(){return H},KEY_TAB:function(){return D},KEY_UP:function(){return N},LIST_TAGS:function(){return E},MARKER_CLASS:function(){return ei},MODE_SOURCE:function(){return J},MODE_SPLIT:function(){return X},MODE_WYSIWYG:function(){return Y},NBSP_SPACE:function(){return m},NEARBY:function(){return V},NO_EMPTY_TAGS:function(){return A},PARAGRAPH:function(){return K},PASSIVE_EVENTS:function(){return ew},SAFE_COUNT_CHANGE_CALL:function(){return el},SET_TEST:function(){return h},SOURCE_CONSUMER:function(){return ey},SPACE_REG_EXP:function(){return w},SPACE_REG_EXP_END:function(){return C},SPACE_REG_EXP_START:function(){return _},TEMP_ATTR:function(){return eg},TEXT_HTML:function(){return ee},TEXT_PLAIN:function(){return Q},TEXT_RTF:function(){return et},TOKENS:function(){return p},globalDocument:function(){return S},globalWindow:function(){return k},lang:function(){return eb}});let o="4.13.44",r="es2021",s=!0,a=!0,l=!0,c=!1,d=!0,u="https://xdsoft.net/jodit/pro/",h=()=>c=!0,p={},f="\uFEFF",m=" ",g=()=>/[\uFEFF]/g,b=()=>/[\uFEFF]+$/g,y=()=>/^[\uFEFF]+/g,w=()=>/[\s\n\t\r\uFEFF\u200b]+/g,_=()=>/^[\s\n\t\r\uFEFF\u200b]+/g,C=()=>/[\s\n\t\r\uFEFF\u200b]+$/g,k="u">typeof window?window:void 0,S="u">typeof document?document:void 0,x=/^(ADDRESS|ARTICLE|ASIDE|BLOCKQUOTE|CANVAS|DD|DFN|DIV|DL|DT|FIELDSET|FIGCAPTION|FIGURE|FOOTER|FORM|H[1-6]|HEADER|HGROUP|HR|LI|MAIN|NAV|NOSCRIPT|OUTPUT|P|PRE|RUBY|SCRIPT|STYLE|OBJECT|OL|SECTION|IFRAME|JODIT|JODIT-MEDIA|UL|TR|TD|TH|TBODY|THEAD|TFOOT|TABLE|BODY|HTML|VIDEO)$/i,I=/^(STRONG|SPAN|I|EM|B|SUP|SUB|A|U)$/i,E=new Set(["ul","ol"]),T=["img","video","svg","iframe","script","input","textarea","link","jodit","jodit-media"],j=new Set([...T,"br","hr"]),A=new Set(T),P="Meta",L="Backspace",D="Tab",M="Enter",R="Escape",z="Alt",B="ArrowLeft",N="ArrowUp",O="ArrowRight",F="ArrowDown",H="Space",U="Delete",q="F3",V=5,W=10,$=[P,L,U,N,F,O,B,M,R,q,D],G="br",K="p",Y=1,J=2,X=3,Z="u">typeof navigator&&(-1!==navigator.userAgent.indexOf("MSIE")||/rv:11.0/i.test(navigator.userAgent)),Q=Z?"text":"text/plain",ee=Z?"html":"text/html",et=Z?"rtf":"text/rtf",ei="jodit-selection_marker",en=300,eo="insert_as_html",er="insert_clear_html",es="insert_as_text",ea="insert_only_text",el=10,ec=void 0!==k&&/Mac|iPod|iPhone|iPad/.test(k.navigator.platform),ed={add:"+",break:"pause",cmd:"meta",command:"meta",ctl:"control",ctrl:"control",del:"delete",down:"arrowdown",esc:"escape",ins:"insert",left:"arrowleft",mod:ec?"meta":"control",opt:"alt",option:"alt",return:"enter",right:"arrowright",space:"space",spacebar:"space",up:"arrowup",win:"meta",windows:"meta"},eu=t=>{let i=t.split("/");return/\.js/.test(i[i.length-1])?{basePath:i.slice(0,i.length-1).join("/")+"/",isMin:!0}:{basePath:t,isMin:!0}},{basePath:eh,isMin:ep}=(()=>{if("u"<typeof document)return{basePath:"",isMin:!0};let t=S.currentScript;if(t)return eu(t.src);let i=S.querySelectorAll("script[src]");return i&&i.length?eu(i[i.length-1].src):eu(k.location.href)})(),ef=eh,em=ep,eg="data-jodit-temp",eb={},ev="clipboard",ey="source-consumer",ew=new Set(["touchstart","touchend","scroll","mousewheel","mousemove","touchmove"])},20218:function(t,i,n){"use strict";n.d(i,{Create:function(){return l}});var o=n(82758),r=n(2748),s=n(21537),a=n(38837);class l{get doc(){return(0,s.isFunction)(this.document)?this.document():this.document}element(t,i,n){let o=this.doc.createElement(t.toLowerCase());return this.applyCreateAttributes(o),i&&((0,s.isPlainObject)(i)?(0,s.attr)(o,i):n=i),n&&(0,s.asArray)(n).forEach(t=>o.appendChild((0,s.isString)(t)?this.fromHTML(t):t)),o}div(t,i,n){let o=this.element("div",i,n);return t&&(o.className=t),o}sandbox(){var t;let i=this.element("iframe",{sandbox:"allow-same-origin"});this.doc.body.appendChild(i);let n=null==(t=i.contentWindow)?void 0:t.document;if((0,a.assert)(n,"iframe.contentWindow.document"),!n)throw Error("Iframe error");return n.open(),n.write("<!DOCTYPE html><html><head></head><body></body></html>"),n.close(),[n.body,i]}span(t,i,n){let o=this.element("span",i,n);return t&&(o.className=t),o}a(t,i,n){let o=this.element("a",i,n);return t&&(o.className=t),o}text(t){return this.doc.createTextNode(t)}fake(){return this.text(o.INVISIBLE_SPACE)}fragment(){return this.doc.createDocumentFragment()}fromHTML(t,i){let n=this.div();n.innerHTML=t.toString();let o=n.firstChild===n.lastChild&&n.firstChild?n.firstChild:n;if(r.Dom.safeRemove(o),i){let t=(0,s.refs)(o);Object.keys(i).forEach(n=>{let o=t[n];o&&!1===i[n]&&r.Dom.hide(o)})}return o}applyCreateAttributes(t){if(this.createAttributes){let i=this.createAttributes;if(i&&i[t.tagName.toLowerCase()]){let n=i[t.tagName.toLowerCase()];(0,s.isFunction)(n)?n(t):(0,s.isPlainObject)(n)&&(0,s.attr)(t,n)}}}constructor(t,i){this.document=t,this.createAttributes=i}}},12060:function(t,i,n){"use strict";n.d(i,{Create:function(){return o.Create}});var o=n(20218)},45219:function(t,i,n){"use strict";n.d(i,{autobind:function(){return r}});var o=n(23282);function r(t,i,n){if(!(0,o.isFunction)(n.value))throw TypeError(`@autobind can only be applied to methods, but "${i}" is not a function`);let r=n.value;return{configurable:!0,get(){let t=r.bind(this);return Object.defineProperty(this,i,{value:t,configurable:!0,writable:!0}),t}}}},33433:function(t,i,n){"use strict";n.d(i,{cache:function(){return c},cacheHTML:function(){return d},cached:function(){return l}});var o=n(78213),r=n(2748),s=n(27613),a=n(82760);function l(t,i){let n=Object.getOwnPropertyDescriptor(t,i);return!n||(0,s.isFunction)(n.get)?null:n.value}function c(t,i,n){let o=n.get;if(!o)throw(0,a.error)("Getter property descriptor expected");n.get=function(){let t=o.call(this);return t&&!0===t.noCache||Object.defineProperty(this,i,{configurable:n.configurable,enumerable:n.enumerable,writable:!1,value:t}),t}}function d(t,i,n){let l=n.value;if(!(0,s.isFunction)(l))throw(0,a.error)("Handler must be a Function");let c=!0,d=new WeakMap;n.value=function(...t){var i;if(c&&d.has(this.constructor))return null==(i=d.get(this.constructor))?void 0:i.cloneNode(!0);let n=l.apply(this,t);return c&&r.Dom.isElement(n)&&d.set(this.constructor,n),c?n.cloneNode(!0):n},t.hookStatus(o.STATUSES.ready,t=>{c=!!((0,s.isViewObject)(t)?t:t.jodit).options.cache})}},87325:function(t,i,n){"use strict";n.d(i,{component:function(){return a},getComponentClass:function(){return l}});var o=n(82758),r=n(80568);let s=new Map;function a(t){class i extends t{constructor(...t){super(...t),this.constructor===i&&(this instanceof i||Object.setPrototypeOf(this,i.prototype),this.setStatus("ready"))}}let n=(0,r.getClassName)(t.prototype);if(s.has(n)&&!o.IS_PROD)throw Error(`Component with name "${n}" is already registered`);return s.set(n,i),i}function l(t){return s.get(t)}},81577:function(t,i,n){"use strict";n.d(i,{debounce:function(){return l},throttle:function(){return c}});var o=n(91907),r=n(27613),s=n(38837),a=n(89890);function l(t,i=!1,n="debounce"){return(l,c)=>{let d=l[c];if(!(0,r.isFunction)(d))throw(0,a.error)("Handler must be a Function");return l.hookStatus(o.STATUSES.ready,o=>{let{async:a}=o;(0,s.assert)(null!=a,`Component ${o.componentName||o.constructor.name} should have "async:IAsync" field`);let l=(0,r.isFunction)(t)?t(o):t,d=(0,r.isNumber)(l)||(0,r.isPlainObject)(l)?l:o.defaultTimeout;Object.defineProperty(o,c,{configurable:!0,value:a[n](o[c].bind(o),d,i)})}),{configurable:!0,get(){return d.bind(this)}}}}function c(t,i=!1){return l(t,i,"throttle")}},55153:function(t,i,n){"use strict";n.d(i,{derive:function(){return r}});var o=n(23282);function r(...t){return i=>{let n=i.prototype;for(let i=0;i<t.length;i++){let r=t[i],s=Object.getOwnPropertyNames(r.prototype);for(let t=0;t<s.length;t++){let i=s[t],a=Object.getOwnPropertyDescriptor(r.prototype,i);null!=a&&(0,o.isFunction)(a.value)&&!(0,o.isFunction)(n[i])&&Object.defineProperty(n,i,{enumerable:!0,configurable:!0,writable:!0,value:function(...t){return a.value.call(this,...t)}})}}}}},97357:function(t,i,n){"use strict";n.d(i,{hook:function(){return s}});var o=n(23282),r=n(89890);function s(t){return(i,n)=>{if(!(0,o.isFunction)(i[n]))throw(0,r.error)("Handler must be a Function");i.hookStatus(t,t=>{t[n].call(t)})}}},78927:function(t,i,n){"use strict";n.d(i,{idle:function(){return a}});var o=n(91907),r=n(23282),s=n(89890);function a(){return(t,i)=>{if(!(0,r.isFunction)(t[i]))throw(0,s.error)("Handler must be a Function");t.hookStatus(o.STATUSES.ready,t=>{let{async:n}=t,o=t[i];t[i]=(...i)=>n.requestIdleCallback(o.bind(t,...i))})}}},65478:function(t,i,n){"use strict";n.r(i),n.d(i,{autobind:function(){return o.autobind},cache:function(){return r.cache},cacheHTML:function(){return r.cacheHTML},cached:function(){return r.cached},component:function(){return s.component},debounce:function(){return a.debounce},derive:function(){return l.derive},getComponentClass:function(){return s.getComponentClass},hook:function(){return c.hook},idle:function(){return d.idle},nonenumerable:function(){return u.nonenumerable},persistent:function(){return h.persistent},throttle:function(){return a.throttle},wait:function(){return p.wait},watch:function(){return f.watch}});var o=n(45219),r=n(33433),s=n(87325),a=n(81577),l=n(55153),c=n(97357),d=n(78927),u=n(31589),h=n(53213),p=n(13525),f=n(37133)},31589:function(t,i,n){"use strict";n.d(i,{nonenumerable:function(){return o}});let o=(t,i)=>{!1!==(Object.getOwnPropertyDescriptor(t,i)||{}).enumerable&&Object.defineProperty(t,i,{enumerable:!1,set(t){Object.defineProperty(this,i,{enumerable:!1,writable:!0,value:t})}})}},53213:function(t,i,n){"use strict";n.d(i,{persistent:function(){return s}});var o=n(78213),r=n(39955);function s(t,i){t.hookStatus(o.STATUSES.ready,t=>{let n=(0,r.isViewObject)(t)?t:t.jodit,o=`${n.options.namespace}${t.componentName}_prop_${i}`,s=t[i];Object.defineProperty(t,i,{get(){var t;return null!=(t=n.storage.get(o))?t:s},set(t){n.storage.set(o,t)}})})}},13525:function(t,i,n){"use strict";n.d(i,{wait:function(){return a}});var o=n(78213),r=n(23282),s=n(89890);function a(t){return(i,n)=>{let a=i[n];if(!(0,r.isFunction)(a))throw(0,s.error)("Handler must be a Function");i.hookStatus(o.STATUSES.ready,i=>{let{async:o}=i,r=i[n],s=0;Object.defineProperty(i,n,{configurable:!0,value:function n(...a){o.clearTimeout(s),t(i)?r.apply(i,a):s=o.setTimeout(()=>n(...a),10)}})})}}},37133:function(t,i,n){"use strict";n.d(i,{watch:function(){return h}});var o=n(78213),r=n(73026),s=n(46559),a=n(23282),l=n(72430),c=n(39955),d=n(89890),u=n(37790);function h(t,i){return(n,h)=>{var p;if(!(0,a.isFunction)(n[h]))throw(0,d.error)("Handler must be a Function");let f=null==(p=null==i?void 0:i.immediately)||p,m=null==i?void 0:i.context,g=i=>{let o=(0,c.isViewObject)(i)?i:i.jodit,d=(t,...n)=>{if(!i.isInDestruct)return i[h](t,...n)};f||(d=i.async.microDebounce(d,!0)),(0,s.splitArray)(t).forEach(t=>{if(/:/.test(t)){let[n,r]=t.split(":"),s=m;n.length&&(s=i.get(n)),(0,a.isFunction)(s)&&(s=s(i)),o.events.on(s||i,r,d),s||o.events.on(r,d),i.hookStatus("beforeDestruct",()=>{o.events.off(s||i,r,d).off(r,d)});return}let s=t.split("."),[c]=s,h=s.slice(1),p=i[c];(0,l.isPlainObject)(p)&&(0,r.observable)(p).on("change."+h.join("."),d);let f=(0,u.getPropertyDescriptor)(n,c);Object.defineProperty(i,c,{configurable:!0,set(t){let n=p;n!==t&&(p=t,f&&f.set&&f.set.call(i,t),(0,l.isPlainObject)(p)&&(p=(0,r.observable)(p)).on("change."+h.join("."),d),d(c,n,p))},get:()=>f&&f.get?f.get.call(i):p})})};(0,a.isFunction)(n.hookStatus)?n.hookStatus(o.STATUSES.ready,g):g(n)}}},2748:function(t,i,n){"use strict";n.d(i,{Dom:function(){return _}});var o=n(82758),r=n(4510),s=n(68345),a=n(23282),l=n(58487),c=n(42320),d=n(70799),u=n(86068),h=n(49055),p=n(38837),f=n(29960),m=n(41180),g=n(86583),b=n(89890),y=n(37790);let w=RegExp(`<([a-z]+)[^>]+${o.TEMP_ATTR}[^>]*>(.+?)</\\1>`,"gi");class _{static detach(t){for(;t&&t.firstChild;)t.removeChild(t.firstChild)}static wrapNextInline(t,i,n){let o,r=t;n.s.save();let s=!1;do s=!1,(o=r.nextSibling)&&!_.isBlock(o)&&!_.isTag(o,"br")&&(s=!0,r=o);while(s)return _.__wrapElements(i,n,t,r)}static __wrapElements(t,i,n,o){let r=(0,d.isString)(t)?i.createInside.element(t):t;n.parentNode&&n.parentNode.insertBefore(r,n);let s=n;for(;s&&(s=n.nextSibling,r.appendChild(n),n!==o&&s);)n=s;return i.s.restore(),r}static wrapInline(t,i,n){let o,r=t,s=t;n.s.save();let a=!1;do a=!1,(o=r.previousSibling)&&!_.isBlock(o)&&(a=!0,r=o);while(a)do a=!1,(o=s.nextSibling)&&!_.isBlock(o)&&(a=!0,s=o);while(a)return _.__wrapElements(i,n,r,s)}static wrap(t,i,n){let o=(0,d.isString)(i)?n.element(i):i;if(_.isNode(t)){if(!t.parentNode)throw(0,b.error)("Element should be in DOM");t.parentNode.insertBefore(o,t),o.appendChild(t)}else{let i=t.extractContents();t.insertNode(o),o.appendChild(i)}return o}static unwrap(t){let i=t.parentNode;if(i){for(;t.firstChild;)i.insertBefore(t.firstChild,t);_.safeRemove(t)}}static between(t,i,n){let o=t;for(;o&&o!==i&&!(t!==o&&n(o));){let t=o.firstChild||o.nextSibling;if(!t){for(;o&&!o.nextSibling;)if((o=o.parentNode)===i)return;t=null==o?void 0:o.nextSibling}o=t}}static replace(t,i,n,o=!1,s=!1){let a;if((0,l.isHTML)(i)&&((0,p.assert)(n,"Need create instance for new tag"),i=n.fromHTML(i)),(0,d.isString)(i)?((0,p.assert)(n,"Need create instance for new tag"),a=n.element(i)):a=i,!s)for(;t.firstChild;)a.appendChild(t.firstChild);return o&&_.isElement(t)&&_.isElement(a)&&(0,r.toArray)(t.attributes).forEach(t=>{a.setAttribute(t.name,t.value)}),t.parentNode&&t.parentNode.replaceChild(a,t),a}static isEmptyTextNode(t){return _.isText(t)&&(!t.nodeValue||0===t.nodeValue.replace(o.INVISIBLE_SPACE_REG_EXP(),"").trim().length)}static isEmptyContent(t){return _.each(t,t=>_.isEmptyTextNode(t))}static isContentEditable(t,i){return _.isNode(t)&&!_.closest(t,t=>_.isElement(t)&&"false"===t.getAttribute("contenteditable"),i)}static isEmpty(t,i=o.NO_EMPTY_TAGS){let n;if(!t)return!0;n=(0,a.isFunction)(i)?i:t=>i.has(t.nodeName.toLowerCase());let r=t=>null==t.nodeValue||0===(0,h.trim)(t.nodeValue).length;return _.isText(t)?r(t):!(_.isElement(t)&&n(t))&&_.each(t,t=>{if(_.isText(t)&&!r(t)||_.isElement(t)&&n(t))return!1})}static isNode(t){return!!(t&&(0,d.isString)(t.nodeName)&&"number"==typeof t.nodeType&&t.childNodes&&(0,a.isFunction)(t.appendChild))}static isCell(t){return _.isNode(t)&&("TD"===t.nodeName||"TH"===t.nodeName)}static isList(t){return _.isTag(t,o.LIST_TAGS)}static isLeaf(t){return _.isTag(t,"li")}static isImage(t){return _.isNode(t)&&/^(img|svg|picture|canvas)$/i.test(t.nodeName)}static isBlock(t){return!(0,u.isVoid)(t)&&"object"==typeof t&&_.isNode(t)&&o.IS_BLOCK.test(t.nodeName)}static isText(t){return!!(t&&t.nodeType===Node.TEXT_NODE)}static isComment(t){return!!(t&&t.nodeType===Node.COMMENT_NODE)}static isElement(t){return!!_.isNode(t)&&t.nodeType===Node.ELEMENT_NODE}static isFragment(t){return!!_.isNode(t)&&t.nodeType===Node.DOCUMENT_FRAGMENT_NODE}static isHTMLElement(t){var i;if(!_.isNode(t))return!1;let n=null==(i=t.ownerDocument)?void 0:i.defaultView;return t instanceof(n?n.HTMLElement:HTMLElement)}static isInlineBlock(t){return _.isElement(t)&&!/^(BR|HR)$/i.test(t.tagName)&&-1!==["inline","inline-block"].indexOf((0,m.css)(t,"display").toString())}static canSplitBlock(t){return!(0,u.isVoid)(t)&&_.isHTMLElement(t)&&_.isBlock(t)&&!/^(TD|TH|CAPTION|FORM)$/.test(t.nodeName)&&void 0!==t.style&&!/^(fixed|absolute)/i.test(t.style.position)}static first(t,i){let n=null==t?void 0:t.firstChild;if(!n)return null;do{if(i(n))return n;let o=n.firstChild;if(o||(o=n.nextSibling),!o&&n.parentNode!==t){do n=n.parentNode;while(n&&!(null==n?void 0:n.nextSibling)&&n.parentNode!==t)o=null==n?void 0:n.nextSibling}n=o}while(n)return null}static last(t,i){let n=null==t?void 0:t.lastChild;if(!n)return null;do{if(i(n))return n;let o=n.lastChild;if(o||(o=n.previousSibling),!o&&n.parentNode!==t){do n=n.parentNode;while(n&&!(null==n?void 0:n.previousSibling)&&n.parentNode!==t)o=null==n?void 0:n.previousSibling}n=o}while(n)return null}static prev(t,i,n,o=!0){return _.find(t,i,n,!1,o)}static next(t,i,n,o=!0){return _.find(t,i,n,!0,o)}static prevWithClass(t,i){return _.prev(t,t=>_.isElement(t)&&t.classList.contains(i),t.parentNode)}static nextWithClass(t,i){return _.next(t,t=>_.isElement(t)&&t.classList.contains(i),t.parentNode)}static find(t,i,n,o=!0,r=!0){let s=this.nextGen(t,n,o,r),a=s.next();for(;!a.done;){if(i(a.value))return a.value;a=s.next()}return null}static*nextGen(t,i,n=!0,o=!0){let r=[],s=t;do{let i=n?s.nextSibling:s.previousSibling;for(;i;)r.push(i),i=n?i.nextSibling:i.previousSibling;r.reverse(),yield*this.runInStack(t,r,n,o),s=s.parentNode}while(s&&s!==i)return null}static each(t,i,n=!0){let o=this.eachGen(t,n),r=o.next();for(;!r.done;){if(!1===i(r.value))return!1;r=o.next()}return!0}static eachGen(t,i=!0){return this.runInStack(t,[t],i)}static*runInStack(t,i,n,o=!0){for(;i.length;){let r=i.pop();if(o){let t=n?r.lastChild:r.firstChild;for(;t;)i.push(t),t=n?t.previousSibling:t.nextSibling}t!==r&&(yield r)}}static findWithCurrent(t,i,n,o="nextSibling",r="firstChild"){let s=t;do{if(i(s))return s||null;if(r&&s&&s[r]){let t=_.findWithCurrent(s[r],i,s,o,r);if(t)return t}for(;s&&!s[o]&&s!==n;)s=s.parentNode;s&&s[o]&&s!==n&&(s=s[o])}while(s&&s!==n)return null}static findSibling(t,i=!0,n=t=>!_.isEmptyTextNode(t)){let o=_.sibling(t,i);for(;o&&!n(o);)o=_.sibling(o,i);return o&&n(o)?o:null}static findNotEmptySibling(t,i){return _.findSibling(t,i,t=>{var i;return!_.isEmptyTextNode(t)&&!!(!_.isText(t)||(null==(i=t.nodeValue)?void 0:i.length)&&(0,h.trim)(t.nodeValue))})}static findNotEmptyNeighbor(t,i,n){return(0,y.call)(i?_.prev:_.next,t,t=>!!(t&&(!(_.isText(t)||_.isComment(t))||(0,h.trim)((null==t?void 0:t.nodeValue)||"").length)),n)}static sibling(t,i){return i?t.previousSibling:t.nextSibling}static up(t,i,n,o=!1){let r=t;if(!r)return null;do{if(i(r))return r;if(r===n||!r.parentNode)break;r=r.parentNode}while(r&&r!==n)return r===n&&o&&i(r)?r:null}static closest(t,i,n){let o,r=t=>t.toLowerCase();if((0,a.isFunction)(i))o=i;else if((0,s.isArray)(i)||(0,c.isSet)(i)){let t=(0,c.isSet)(i)?i:new Set(i.map(r));o=i=>!!(i&&t.has(r(i.nodeName)))}else o=t=>!!(t&&r(i)===r(t.nodeName));return _.up(t,o,n)}static furthest(t,i,n){let o=null,r=null==t?void 0:t.parentElement;for(;r&&r!==n;)i(r)&&(o=r),r=null==r?void 0:r.parentElement;return o}static appendChildFirst(t,i){let n=t.firstChild;n?n!==i&&t.insertBefore(i,n):t.appendChild(i)}static after(t,i){let{parentNode:n}=t;n&&(n.lastChild===t?n.appendChild(i):n.insertBefore(i,t.nextSibling))}static before(t,i){let{parentNode:n}=t;n&&n.insertBefore(i,t)}static prepend(t,i){t.insertBefore(i,t.firstChild)}static append(t,i){(0,s.isArray)(i)?i.forEach(i=>{this.append(t,i)}):t.appendChild(i)}static moveContent(t,i,n=!1,s=()=>!0){let a=(t.ownerDocument||o.globalDocument).createDocumentFragment();(0,r.toArray)(t.childNodes).filter(t=>!!s(t)||(_.safeRemove(t),!1)).forEach(t=>{a.appendChild(t)}),n&&i.firstChild?i.insertBefore(a,i.firstChild):i.appendChild(a)}static isOrContains(t,i,n=!1){return t===i?!n:!!(i&&t&&this.up(i,i=>i===t,t,!0))}static safeRemove(...t){t.forEach(t=>_.isNode(t)&&t.parentNode&&t.parentNode.removeChild(t))}static safeInsertNode(t,i){t.collapsed||t.deleteContents();let n=_.isFragment(i)?i.lastChild:i;t.startContainer===t.endContainer&&t.collapsed&&_.isTag(t.startContainer,o.INSEPARABLE_TAGS)?_.after(t.startContainer,i):(t.insertNode(i),n&&t.setStartBefore(n)),t.collapse(!0),[i.nextSibling,i.previousSibling].forEach(t=>_.isText(t)&&!t.nodeValue&&_.safeRemove(t))}static hide(t){t&&((0,g.dataBind)(t,"__old_display",t.style.display),t.style.display="none")}static show(t){if(!t)return;let i=(0,g.dataBind)(t,"__old_display");"none"===t.style.display&&(t.style.display=i||"")}static isTag(t,i){if(Array.isArray(i))throw TypeError("Dom.isTag does not support array");if(!this.isElement(t))return!1;let n=t.tagName.toLowerCase();return i instanceof Set?i.has(n)||i.has(t.tagName.toUpperCase()):n===i||t.tagName.toUpperCase()===i}static markTemporary(t,i){return i&&(0,f.attr)(t,i),(0,f.attr)(t,o.TEMP_ATTR,!0),t}static isTemporary(t){return!!_.isElement(t)&&(_.isMarker(t)||"true"===(0,f.attr)(t,o.TEMP_ATTR))}static isMarker(t){return _.isNode(t)&&_.isTag(t,"span")&&t.hasAttribute("data-"+o.MARKER_CLASS)}static replaceTemporaryFromString(t){return t.replace(w,"$2")}static temporaryList(t){return(0,r.toArray)(t.querySelectorAll(`[${o.TEMP_ATTR}]`))}constructor(){throw Error("Dom is static module")}}},22732:function(t,i,n){"use strict";n.d(i,{Dom:function(){return o.Dom},LazyWalker:function(){return r.LazyWalker}});var o=n(2748),r=n(70071)},70071:function(t,i,n){"use strict";n.d(i,{LazyWalker:function(){return a}});var o=n(45219),r=n(2748),s=n(72757);class a extends s.Eventify{setWork(t){return this.isWorked?this.break():this.stop(),this.workNodes=r.Dom.eachGen(t,!this.options.reverse),this.isFinished=!1,this.hadAffect=!1,this._requestStarting(),this}_requestStarting(){this.__schedulerController=new AbortController,this.async.schedulerPostTask(this.__workPerform,{delay:this.options.timeout,signal:this.__schedulerController.signal}).catch(()=>null)}break(t){this.isWorked&&(this.stop(),this.emit("break",t))}end(){this.isWorked&&(this.stop(),this.emit("end",this.hadAffect),this.hadAffect=!1)}stop(){var t;this.isWorked=!1,this.isFinished=!0,this.workNodes=null,null==(t=this.__schedulerController)||t.abort(),this.__schedulerController=null}destruct(){super.destruct(),this.stop()}__workPerform(){var t;if(this.workNodes){this.isWorked=!0;let i=0,n=null!=(t=this.options.timeoutChunkSize)?t:50;for(;!this.isFinished&&i<n;){let t=this.workNodes.next();if(i+=1,this.visitNode(t.value)&&(this.hadAffect=!0),t.done)return void this.end()}}else this.end();this.isFinished||this._requestStarting()}visitNode(t){var i;return!!t&&(void 0===this.options.whatToShow||t.nodeType===this.options.whatToShow)&&null!=(i=this.emit("visit",t))&&i}constructor(t,i={}){super(),this.async=t,this.options=i,this.workNodes=null,this.hadAffect=!1,this.isWorked=!1,this.isFinished=!1,this.__schedulerController=null}}!function(t,i,n,o){var r,s=arguments.length,a=s<3?i:null===o?o=Object.getOwnPropertyDescriptor(i,n):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(t,i,n,o);else for(var l=t.length-1;l>=0;l--)(r=t[l])&&(a=(s<3?r(a):s>3?r(i,n,a):r(i,n))||a);s>3&&a&&Object.defineProperty(i,n,a)}([o.autobind],a.prototype,"__workPerform",null)},98220:function(t,i,n){"use strict";n.d(i,{EventEmitter:function(){return u}});var o=n(82758),r=n(46559),s=n(68345),a=n(23282),l=n(70799),c=n(89890),d=n(15738);class u{mute(t){return this.__mutedEvents.add(null!=t?t:"*"),this}isMuted(t){return!!(t&&this.__mutedEvents.has(t))||this.__mutedEvents.has("*")}unmute(t){return this.__mutedEvents.delete(null!=t?t:"*"),this}__eachEvent(t,i){(0,r.splitArray)(t).map(t=>t.trim()).forEach(t=>{let n=t.split("."),o=n[1]||d.defaultNameSpace;i.call(this,n[0],o)})}__getStore(t){if(!t)throw(0,c.error)("Need subject");if(void 0===t[this.__key]){let i=new d.EventHandlersStore;Object.defineProperty(t,this.__key,{enumerable:!1,configurable:!0,writable:!0,value:i})}return t[this.__key]}__removeStoreFromSubject(t){void 0!==t[this.__key]&&delete t[this.__key]}__triggerNativeEvent(t,i){let n=this.__doc.createEvent("HTMLEvents");(0,l.isString)(i)?n.initEvent(i,!0,!0):(n.initEvent(i.type,i.bubbles,i.cancelable),["screenX","screenY","clientX","clientY","target","srcElement","currentTarget","timeStamp","which","keyCode"].forEach(t=>{Object.defineProperty(n,t,{value:i[t],enumerable:!0})}),Object.defineProperty(n,"originalEvent",{value:i,enumerable:!0})),t.dispatchEvent(n)}get current(){return this.currents[this.currents.length-1]}on(t,i,n,r){let d,u,p,f;if((0,l.isString)(t)||(0,l.isStringArray)(t)?(d=this,u=t,p=i,f=n):(d=t,u=i,p=n,f=r),!((0,l.isString)(u)||(0,l.isStringArray)(u))||0===u.length)throw(0,c.error)("Need events names");if(!(0,a.isFunction)(p))throw(0,c.error)("Need event handler");if((0,s.isArray)(d))return d.forEach(t=>{this.on(t,u,p,f)}),this;let m=d,g=this.__getStore(m),b=this,y=function(t,...i){if(!b.isMuted(t))return p&&p.call(this,...i)};return h(m)&&(y=function(t){if(!b.isMuted(t.type)&&(b.__prepareEvent(t),p&&!1===p.call(this,t)))return t.preventDefault(),t.stopImmediatePropagation(),!1}),this.__eachEvent(u,(t,i)=>{var n,r;if(0===t.length)throw(0,c.error)("Need event name");if(!1===g.indexOf(t,i,p)){let s={event:t,originalCallback:p,syntheticCallback:y};if(g.set(t,i,s,null==f?void 0:f.top),h(m)){let i=o.PASSIVE_EVENTS.has(t)?{passive:!0,capture:null!=(n=null==f?void 0:f.capture)&&n}:null!=(r=null==f?void 0:f.capture)&&r;y.options=i,m.addEventListener(t,y,i),this.__memoryDOMSubjectToHandler(m,y)}}}),this}__memoryDOMSubjectToHandler(t,i){let n=this.__domEventsMap.get(t)||new Set;n.add(i),this.__domEventsMap.set(t,n)}__unmemoryDOMSubjectToHandler(t,i){let n=this.__domEventsMap,o=n.get(t)||new Set;o.delete(i),o.size?n.set(t,o):n.delete(t)}one(t,i,n,o){let r,s,a,c;(0,l.isString)(t)||(0,l.isStringArray)(t)?(r=this,s=t,a=i,c=n):(r=t,s=i,a=n,c=o);let d=(...t)=>(this.off(r,s,d),a(...t));return this.on(r,s,d,c),this}off(t,i,n){let o,r,c;if((0,l.isString)(t)||(0,l.isStringArray)(t)?(o=this,r=t,c=i):(o=t,r=i,c=n),(0,s.isArray)(o))return o.forEach(t=>{this.off(t,r,c)}),this;let u=o,p=this.__getStore(u);if(!((0,l.isString)(r)||(0,l.isStringArray)(r))||0===r.length)return p.namespaces().forEach(t=>{this.off(u,"."+t)}),this.__removeStoreFromSubject(u),this;let f=t=>{var i;h(u)&&(u.removeEventListener(t.event,t.syntheticCallback,null!=(i=t.syntheticCallback.options)&&i),this.__unmemoryDOMSubjectToHandler(u,t.syntheticCallback))},m=(t,i)=>{if(""===t)return void p.events(i).forEach(t=>{""!==t&&m(t,i)});let n=p.get(t,i);if(n&&n.length)if((0,a.isFunction)(c)){let o=p.indexOf(t,i,c);!1!==o&&(f(n[o]),n.splice(o,1),n.length||p.clearEvents(i,t))}else n.forEach(f),n.length=0,p.clearEvents(i,t)};return this.__eachEvent(r,(t,i)=>{i===d.defaultNameSpace?p.namespaces().forEach(i=>{m(t,i)}):m(t,i)}),p.isEmpty()&&this.__removeStoreFromSubject(u),this}stopPropagation(t,i){let n=(0,l.isString)(t)?this:t,o=(0,l.isString)(t)?t:i;if("string"!=typeof o)throw(0,c.error)("Need event names");let r=this.__getStore(n);this.__eachEvent(o,(t,i)=>{let o=r.get(t,i);o&&this.__stopped.push(o),i===d.defaultNameSpace&&r.namespaces(!0).forEach(i=>this.stopPropagation(n,t+"."+i))})}__removeStop(t){if(t){let i=this.__stopped.indexOf(t);-1!==i&&this.__stopped.splice(0,i+1)}}__isStopped(t){return void 0!==t&&-1!==this.__stopped.indexOf(t)}fire(t,i,...n){let o,r,s=(0,l.isString)(t)?this:t,a=(0,l.isString)(t)?t:i,u=(0,l.isString)(t)?[i,...n]:n;if(!h(s)&&!(0,l.isString)(a))throw(0,c.error)("Need events names");let p=this.__getStore(s);return!(0,l.isString)(a)&&h(s)?this.__triggerNativeEvent(s,i):this.__eachEvent(a,(t,i)=>{if(h(s))this.__triggerNativeEvent(s,t);else{let n=p.get(t,i);if(n)try{[...n].every(i=>!this.__isStopped(n)&&(this.currents.push(t),r=i.syntheticCallback.call(s,t,...u),this.currents.pop(),void 0!==r&&(o=r),!0))}finally{this.__removeStop(n)}i!==d.defaultNameSpace||h(s)||p.namespaces().filter(t=>t!==i).forEach(i=>{let n=this.fire.apply(this,[s,t+"."+i,...u]);void 0!==n&&(o=n)})}}),o}destruct(){this.__isDestructed||(this.__isDestructed=!0,this.__domEventsMap.forEach((t,i)=>{this.off(i)}),this.__domEventsMap.clear(),this.__mutedEvents.clear(),this.currents.length=0,this.__stopped.length=0,this.off(this),this.__getStore(this).clear(),this.__removeStoreFromSubject(this))}constructor(t){this.__domEventsMap=new Map,this.__mutedEvents=new Set,this.__key="__JoditEventEmitterNamespaces",this.__doc=o.globalDocument,this.__prepareEvent=t=>{!t.cancelBubble&&(t.composed&&(0,a.isFunction)(t.composedPath)&&t.composedPath()[0]&&Object.defineProperty(t,"target",{value:t.composedPath()[0],configurable:!0,enumerable:!0}),t.type.match(/^touch/)&&t.changedTouches&&t.changedTouches.length&&["clientX","clientY","pageX","pageY"].forEach(i=>{Object.defineProperty(t,i,{value:t.changedTouches[0][i],configurable:!0,enumerable:!0})}),t.originalEvent||(t.originalEvent=t),"paste"===t.type&&void 0===t.clipboardData&&this.__doc.defaultView.clipboardData&&Object.defineProperty(t,"clipboardData",{get:()=>this.__doc.defaultView.clipboardData,configurable:!0,enumerable:!0}))},this.currents=[],this.__stopped=[],this.__isDestructed=!1,t&&(this.__doc=t),this.__key+=new Date().getTime()}}function h(t){return t&&(0,a.isFunction)(t.addEventListener)}},72757:function(t,i,n){"use strict";n.d(i,{Eventify:function(){return o}});class o{on(t,i){var n;return this.__map.has(t)||this.__map.set(t,new Set),null==(n=this.__map.get(t))||n.add(i),this}off(t,i){var n;return this.__map.has(t)&&(null==(n=this.__map.get(t))||n.delete(i)),this}destruct(){this.__map.clear()}emit(t,...i){var n;let o;return this.__map.has(t)&&(null==(n=this.__map.get(t))||n.forEach(t=>{o=t(...i)})),o}constructor(){this.__map=new Map}}},57012:function(t,i,n){"use strict";n.d(i,{eventEmitter:function(){return o}});let o=new(n(98220)).EventEmitter},3827:function(t,i,n){"use strict";n.d(i,{EventEmitter:function(){return o.EventEmitter},EventHandlersStore:function(){return a.EventHandlersStore},Eventify:function(){return r.Eventify},defaultNameSpace:function(){return a.defaultNameSpace},observable:function(){return s.observable}});var o=n(98220),r=n(72757),s=n(73026),a=n(15738)},73026:function(t,i,n){"use strict";n.d(i,{observable:function(){return d}});var o=n(68345),r=n(59292),s=n(72430),a=n(37790);let l=Symbol("observable-object");function c(t){return void 0!==t[l]}function d(t){if(c(t))return t;let i={},n={},d=(i,r)=>((0,o.isArray)(i)?i.map(t=>d(t,r)):(n[i]||(n[i]=[]),n[i].push(r)),t),u=(r,...s)=>{if((0,o.isArray)(r))return void r.map(t=>u(t,...s));try{!i[r]&&n[r]&&(i[r]=!0,n[r].forEach(i=>i.call(t,...s)))}finally{i[r]=!1}},h=(i,n=[])=>{let o={};c(i)||(Object.defineProperty(i,l,{enumerable:!1,value:!0}),Object.keys(i).forEach(l=>{let c=n.concat(l).filter(t=>t.length);o[l]=i[l];let d=(0,a.getPropertyDescriptor)(i,l);Object.defineProperty(i,l,{set(i){let n=o[l];if(!(0,r.isFastEqual)(o[l],i)){u(["beforeChange","beforeChange."+c.join(".")],l,i),(0,s.isPlainObject)(i)&&h(i,c),d&&d.set?d.set.call(t,i):o[l]=i;let r=[];u(["change",...c.reduce((t,i)=>(r.push(i),t.push("change."+r.join(".")),t),[])],c.join("."),n,(null==i?void 0:i.valueOf)?i.valueOf():i)}},get:()=>d&&d.get?d.get.call(t):o[l],enumerable:!0,configurable:!0}),(0,s.isPlainObject)(o[l])&&h(o[l],c)}),Object.defineProperty(t,"on",{value:d}))};return h(t),t}},15738:function(t,i,n){"use strict";n.d(i,{EventHandlersStore:function(){return a},defaultNameSpace:function(){return s}});var o=n(4510),r=n(38837);let s="JoditEventDefaultNamespace";class a{get(t,i){if(this.__store.has(i)){let n=this.__store.get(i);return(0,r.assert)(n,"-"),n[t]}}indexOf(t,i,n){let o=this.get(t,i);if(o){for(let t=0;t<o.length;t+=1)if(o[t].originalCallback===n)return t}return!1}namespaces(t=!1){let i=(0,o.toArray)(this.__store.keys());return t?i.filter(t=>t!==s):i}events(t){let i=this.__store.get(t);return i?Object.keys(i):[]}set(t,i,n,o=!1){let r=this.__store.get(i);r||(r={},this.__store.set(i,r)),void 0===r[t]&&(r[t]=[]),o?r[t].unshift(n):r[t].push(n)}clear(){this.__store.clear()}clearEvents(t,i){let n=this.__store.get(t);n&&n[i]&&(delete n[i],Object.keys(n).length||this.__store.delete(t))}isEmpty(){return 0===this.__store.size}constructor(){this.__store=new Map}}},580:function(t,i,n){"use strict";n.d(i,{eventEmitter:function(){return x},extendLang:function(){return _},getContainer:function(){return k},getPopupViewRoot:function(){return S},instances:function(){return f},modules:function(){return w},pluginSystem:function(){return y},uniqueUid:function(){return b}});var o=n(19306),r=n(70799),s=n(39955),a=n(12475),l=n(41180),c=n(80568),d=n(41876),u=n(57012),h=n(82758),p=n(22732);let f={},m=1,g=new Set;function b(){function t(){return Math.round(m+=10*(Math.random()+1)).toString(16)}let i=t();for(;g.has(i);)i=t();return g.add(i),i}let y=new d.PluginSystem({getContainer:k}),w={},_=t=>{Object.keys(t).forEach(i=>{h.lang[i]?Object.assign(h.lang[i],t[i]):h.lang[i]=t[i]})},C=new WeakMap;function k(t,i,n="div",l=!1){let d=(0,r.isString)(i)?i:i?(0,c.getClassName)(i.prototype):"jodit-utils",u=C.get(t)||{},h=d+n,f=(0,s.isViewObject)(t)?t:t.j,m=null;if(!u[h]){let i=f.c;if(m=S(f.o,f.container,t.od.body),l&&(0,o.isJoditObject)(t)&&t.od!==t.ed){i=t.createInside;let r="style"===n?t.ed.head:t.ed.body;m=(0,o.isJoditObject)(t)&&t.o.shadowRoot?t.o.shadowRoot:r}let r=i.element(n,{className:`jodit jodit-${(0,a.kebabCase)(d)}-container jodit-box`});f.o.nonce&&("style"===n||"script"===n)&&r.setAttribute("nonce",f.o.nonce),r.classList.add("jodit_theme_"+(f.o.theme||"default")),m.appendChild(r),u[h]=r,t.hookStatus("beforeDestruct",()=>{f.events.off(r),p.Dom.safeRemove(r),delete u[h],Object.keys(u).length&&C.delete(t)}),C.set(t,u),f.events.fire("getContainer",r)}return u[h].classList.remove("jodit_theme_default","jodit_theme_dark"),u[h].classList.add("jodit_theme_"+(f.o.theme||"default")),u[h]}function S(t,i,n){var o,r,s;return null!=(s=null!=(r=null!=(o=t.popupRoot)?o:t.shadowRoot)?r:p.Dom.closest(i,t=>p.Dom.isHTMLElement(t)&&(p.Dom.isTag(t,"dialog")||["fixed","absolute"].includes((0,l.css)(t,"position"))),n))?s:n}let x=u.eventEmitter},29999:function(t,i,n){"use strict";n.d(i,{asArray:function(){return r}});var o=n(68345);let r=t=>(0,o.isArray)(t)?t:[t]},76855:function(t,i,n){"use strict";n.d(i,{asArray:function(){return o.asArray},splitArray:function(){return r.splitArray},toArray:function(){return s.toArray}});var o=n(29999),r=n(46559),s=n(4510)},46559:function(t,i,n){"use strict";function o(t){return Array.isArray(t)?t:t.split(/[,\s]+/)}n.d(i,{splitArray:function(){return o}})},4510:function(t,i,n){"use strict";n.d(i,{toArray:function(){return s}});var o=n(70722),r=n(58844);let s=function(...t){var i;return((0,o.isNativeFunction)(Array.from)?Array.from:null!=(i=(0,r.reset)("Array.from"))?i:Array.from).apply(Array,t)}},91898:function(t,i,n){"use strict";n.d(i,{clearTimeout:function(){return o.clearTimeout},setTimeout:function(){return o.setTimeout}});var o=n(13252)},13252:function(t,i,n){"use strict";n.d(i,{clearTimeout:function(){return s},setTimeout:function(){return r}});var o=n(82758);function r(t,i,...n){return i?o.globalWindow.setTimeout(t,i,...n):(t.call(null,...n),0)}function s(t){o.globalWindow.clearTimeout(t)}},54765:function(t,i,n){"use strict";n.d(i,{hasBrowserColorPicker:function(){return r}});var o=n(82758);function r(){let t=!0;try{let i=o.globalDocument.createElement("input");i.type="color",i.value="!",t="color"===i.type&&"!"!==i.value}catch(i){t=!1}return t}},27613:function(t,i,n){"use strict";n.d(i,{hasBrowserColorPicker:function(){return o.hasBrowserColorPicker},hasContainer:function(){return h.hasContainer},isAbortError:function(){return r.isAbortError},isArray:function(){return s.isArray},isBoolean:function(){return a.isBoolean},isDestructable:function(){return h.isDestructable},isEqual:function(){return l.isEqual},isFastEqual:function(){return l.isFastEqual},isFunction:function(){return c.isFunction},isHTML:function(){return d.isHTML},isHtmlFromWord:function(){return u.isHtmlFromWord},isInitable:function(){return h.isInitable},isInt:function(){return p.isInt},isJoditObject:function(){return f.isJoditObject},isLicense:function(){return m.isLicense},isMarker:function(){return g.isMarker},isNativeFunction:function(){return b.isNativeFunction},isNumber:function(){return y.isNumber},isNumeric:function(){return w.isNumeric},isPlainObject:function(){return _.isPlainObject},isPromise:function(){return C.isPromise},isSet:function(){return k.isSet},isString:function(){return S.isString},isStringArray:function(){return S.isStringArray},isURL:function(){return x.isURL},isValidName:function(){return I.isValidName},isViewObject:function(){return E.isViewObject},isVoid:function(){return T.isVoid},isWindow:function(){return j.isWindow}});var o=n(54765),r=n(12045),s=n(68345),a=n(87612),l=n(59292),c=n(23282),d=n(58487),u=n(29673),h=n(60132),p=n(72913),f=n(19306),m=n(45603),g=n(78116),b=n(70722),y=n(84767),w=n(29807),_=n(72430),C=n(14773),k=n(42320),S=n(70799),x=n(26049),I=n(37508),E=n(39955),T=n(86068),j=n(52742)},12045:function(t,i,n){"use strict";function o(t){return!!t&&t instanceof DOMException&&"AbortError"===t.name}n.d(i,{isAbortError:function(){return o}})},68345:function(t,i,n){"use strict";function o(t){return Array.isArray(t)}n.d(i,{isArray:function(){return o}})},87612:function(t,i,n){"use strict";function o(t){return"boolean"==typeof t}n.d(i,{isBoolean:function(){return o}})},59292:function(t,i,n){"use strict";n.d(i,{isEqual:function(){return r},isFastEqual:function(){return s}});var o=n(67462);function r(t,i){return t===i||(0,o.stringify)(t)===(0,o.stringify)(i)}function s(t,i){return t===i}},23282:function(t,i,n){"use strict";function o(t){return"function"==typeof t}n.d(i,{isFunction:function(){return o}})},29673:function(t,i,n){"use strict";function o(t){return -1!==t.search(/<meta.*?Microsoft Excel\s[\d].*?>/)||-1!==t.search(/<meta.*?Microsoft Word\s[\d].*?>/)||-1!==t.search(/<meta[^>]*?ProgId[^>]*?(Word|Excel)\./i)||-1!==t.search(/<meta[^>]*?(LibreOffice|OpenOffice)/i)||-1!==t.search(/urn:schemas-microsoft-com:office:(word|excel)/)||-1!==t.search(/<\w[^>]*\sclass=("|')?Mso/)||-1!==t.search(/style='[^']*mso-/)||-1!==t.search(/style="[^"]*mso-/)&&-1!==t.search(/<font/)}n.d(i,{isHtmlFromWord:function(){return o}})},58487:function(t,i,n){"use strict";n.d(i,{isHTML:function(){return r}});var o=n(70799);let r=t=>(0,o.isString)(t)&&/<([A-Za-z][A-Za-z0-9]*)\b[^>]*>(.*?)<\/\1>/m.test(t.replace(/[\r\n]/g,""))},60132:function(t,i,n){"use strict";n.d(i,{hasContainer:function(){return c},isDestructable:function(){return l},isInitable:function(){return a}});var o=n(2748),r=n(23282),s=n(86068);function a(t){return!(0,s.isVoid)(t)&&(0,r.isFunction)(t.init)}function l(t){return!(0,s.isVoid)(t)&&(0,r.isFunction)(t.destruct)}function c(t){return!(0,s.isVoid)(t)&&o.Dom.isElement(t.container)}},72913:function(t,i,n){"use strict";n.d(i,{isInt:function(){return s}});var o=n(29807),r=n(70799);function s(t){return(0,r.isString)(t)&&(0,o.isNumeric)(t)&&(t=parseFloat(t)),"number"==typeof t&&Number.isFinite(t)&&!(t%1)}},19306:function(t,i,n){"use strict";n.d(i,{isJoditObject:function(){return r}});var o=n(23282);function r(t){return!!(t&&t instanceof Object&&(0,o.isFunction)(t.constructor)&&("u">typeof Jodit&&t instanceof Jodit||t.isJodit))}},45603:function(t,i,n){"use strict";n.d(i,{isLicense:function(){return r}});var o=n(70799);let r=t=>(0,o.isString)(t)&&23===t.length&&/^[a-z0-9]{5}-[a-z0-9]{5}-[a-z0-9]{5}-[a-z0-9]{5}$/i.test(t)},78116:function(t,i,n){"use strict";n.d(i,{isMarker:function(){return r}});var o=n(2748);function r(t){return o.Dom.isMarker(t)}},70722:function(t,i,n){"use strict";function o(t){return!!t&&"function"===(typeof t).toLowerCase()&&(t===Function.prototype||/^\s*function\s*(\b[a-z$_][a-z0-9$_]*\b)*\s*\((|([a-z$_][a-z0-9$_]*)(\s*,[a-z$_][a-z0-9$_]*)*)\)\s*{\s*\[native code]\s*}\s*$/i.test(t+""))}n.d(i,{isNativeFunction:function(){return o}})},84767:function(t,i,n){"use strict";function o(t){return"number"==typeof t&&!isNaN(t)&&isFinite(t)}n.d(i,{isNumber:function(){return o}})},29807:function(t,i,n){"use strict";n.d(i,{isNumeric:function(){return r}});var o=n(70799);function r(t){if((0,o.isString)(t)){if(!t.match(/^([+-])?[0-9]+(\.?)([0-9]+)?(e[0-9]+)?$/))return!1;t=parseFloat(t)}return"number"==typeof t&&!isNaN(t)&&isFinite(t)}},72430:function(t,i,n){"use strict";n.d(i,{isPlainObject:function(){return r}});var o=n(52742);function r(t){return!(!t||"object"!=typeof t||t.nodeType||(0,o.isWindow)(t))&&!(t.constructor&&!({}).hasOwnProperty.call(t.constructor.prototype,"isPrototypeOf"))}},14773:function(t,i,n){"use strict";function o(t){return t&&"function"==typeof t.then}n.d(i,{isPromise:function(){return o}})},42320:function(t,i,n){"use strict";n.d(i,{isSet:function(){return r}});var o=n(23282);function r(t){return!!t&&(0,o.isFunction)(t.has)&&(0,o.isFunction)(t.add)&&(0,o.isFunction)(t.delete)}},70799:function(t,i,n){"use strict";n.d(i,{isString:function(){return r},isStringArray:function(){return s}});var o=n(68345);function r(t){return"string"==typeof t}function s(t){return(0,o.isArray)(t)&&r(t[0])}},26049:function(t,i,n){"use strict";n.d(i,{isURL:function(){return r}});var o=n(82758);function r(t){if(t.includes(" "))return!1;if("u">typeof URL)try{let i=new URL(t);return["https:","http:","ftp:","file:","rtmp:"].includes(i.protocol)}catch(t){return!1}let i=o.globalDocument.createElement("a");return i.href=t,!!i.hostname}},37508:function(t,i,n){"use strict";function o(t){return!!t.length&&!/[^0-9A-Za-zа-яА-ЯЁё\w\-_. ]/.test(t)&&t.trim().length>0}n.d(i,{isValidName:function(){return o}})},39955:function(t,i,n){"use strict";n.d(i,{isViewObject:function(){return r}});var o=n(23282);function r(t){return!!(t&&t instanceof Object&&(0,o.isFunction)(t.constructor)&&t.isView)}},86068:function(t,i,n){"use strict";function o(t){return null==t}n.d(i,{isVoid:function(){return o}})},52742:function(t,i,n){"use strict";function o(t){return null!=t&&t===t.window}n.d(i,{isWindow:function(){return o}})},35278:function(t,i,n){"use strict";n.d(i,{colorToHex:function(){return o}});let o=t=>{if("rgba(0, 0, 0, 0)"===t||""===t)return!1;if(!t)return"#000000";if("#"===t.substr(0,1))return t;let i=/([\s\n\t\r]*?)rgb\((\d+), (\d+), (\d+)\)/.exec(t)||/([\s\n\t\r]*?)rgba\((\d+), (\d+), (\d+), ([\d.]+)\)/.exec(t);if(!i)return"#000000";let n=parseInt(i[2],10),o=parseInt(i[3],10),r=(parseInt(i[4],10)|o<<8|n<<16).toString(16).toUpperCase();for(;r.length<6;)r="0"+r;return i[1]+"#"+r}},58149:function(t,i,n){"use strict";n.d(i,{colorToHex:function(){return o.colorToHex}});var o=n(35278)},32574:function(t,i,n){"use strict";n.d(i,{applyStyles:function(){return c}});var o=n(82758),r=n(2748),s=n(49055),a=n(76078);function l(t){return t.replace(/mso-[a-z-]+:[\s]*[^;]+;/gi,"").replace(/mso-[a-z-]+:[\s]*[^";']+$/gi,"").replace(/border[a-z-]*:[\s]*[^;]+;/gi,"").replace(/([0-9.]+)(pt|cm)/gi,(t,i,n)=>{switch(n.toLowerCase()){case"pt":return(1.328*parseFloat(i)).toFixed(0)+"px";case"cm":return(.02645833*parseFloat(i)).toFixed(0)+"px"}return t})}function c(t){let i=/<html(?:\s[^>]*)?>/i.exec(t);if(!i)return t;let n=(t=t.substring(i.index)).toLowerCase().lastIndexOf("</html>");-1!==n&&(t=t.substring(0,n+7));let c=o.globalDocument.createElement("iframe");c.style.display="none",o.globalDocument.body.appendChild(c);let d="";try{let i=c.contentDocument||(c.contentWindow?c.contentWindow.document:null);if(i){i.open(),i.write(t),i.close(),r.Dom.each(i.body,t=>{r.Dom.isElement(t)&&/mso-list:\s*ignore/i.test(t.getAttribute("style")||"")&&r.Dom.safeRemove(t)});try{for(let t=0;t<i.styleSheets.length;t+=1){let n=i.styleSheets[t].cssRules;for(let t=0;t<n.length;t+=1)""!==n[t].selectorText&&(0,a.$$)(n[t].selectorText,i.body).forEach(i=>{i.style.cssText=l(n[t].style.cssText+";"+i.style.cssText)})}}catch(t){if(!o.IS_PROD)throw t}r.Dom.each(i.body,t=>{if(r.Dom.isElement(t)){let i=t.getAttribute("style");i&&(t.style.cssText=l(i)),t.hasAttribute("style")&&!t.getAttribute("style")&&t.removeAttribute("style")}}),d=i.firstChild?(0,s.trim)(i.body.innerHTML):""}}catch(t){}finally{r.Dom.safeRemove(c)}return d&&(t=d),(0,s.trim)(t.replace(/<(\/)?(html|colgroup|col|o:p)[^>]*>/g,"").replace(/<!--[^>]*>/g,""))}},53212:function(t,i,n){"use strict";n.d(i,{cleanFromWord:function(){return l}});var o=n(82758),r=n(2748),s=n(4510),a=n(49055);function l(t){-1!==t.indexOf("<html ")&&(t=(t=t.substring(t.indexOf("<html "),t.length)).substring(0,t.lastIndexOf("</html>")+7));let i="";try{let n=o.globalDocument.createElement("div");n.innerHTML=t;let a=[];n.firstChild&&r.Dom.each(n,t=>{if(t)switch(t.nodeType){case Node.ELEMENT_NODE:switch(t.nodeName){case"STYLE":case"LINK":case"META":a.push(t);break;case"W:SDT":case"W:SDTPR":case"FONT":r.Dom.unwrap(t);break;default:if(/mso-list:\s*ignore/i.test(t.getAttribute("style")||"")){a.push(t);break}(0,s.toArray)(t.attributes).forEach(i=>{-1===["src","href","rel","content"].indexOf(i.name.toLowerCase())&&t.removeAttribute(i.name)})}break;case Node.TEXT_NODE:break;default:a.push(t)}}),r.Dom.safeRemove.apply(null,a),i=n.innerHTML}catch(t){}return i&&(t=i),(t=t.split(/(\n)/).filter(a.trim).join(`
|
|
18
18
|
`)).replace(/<(\/)?(html|colgroup|col|o:p)[^>]*>/g,"").replace(/<!--[^>]*>/g,"")}},53326:function(t,i,n){"use strict";n.d(i,{htmlspecialchars:function(){return r}});var o=n(82758);function r(t){let i=o.globalDocument.createElement("div");return i.textContent=t,i.innerHTML}},75275:function(t,i,n){"use strict";n.d(i,{applyStyles:function(){return o.applyStyles},cleanFromWord:function(){return r.cleanFromWord},htmlspecialchars:function(){return s.htmlspecialchars},nl2br:function(){return a.nl2br},safeHTML:function(){return l.safeHTML},sanitizeHTMLElement:function(){return l.sanitizeHTMLElement},stripTags:function(){return c.stripTags}});var o=n(32574),r=n(53212),s=n(53326),a=n(45971),l=n(86518),c=n(91003)},45971:function(t,i,n){"use strict";function o(t){return t.replace(/\r\n|\r|\n/g,"<br/>")}n.d(i,{nl2br:function(){return o}})},86518:function(t,i,n){"use strict";n.d(i,{safeHTML:function(){return a},sanitizeHTMLElement:function(){return u}});var o=n(2748),r=n(43555);let s=new Set(["foreignobject","annotation-xml","desc","title"]);function a(t,i){var n;if(!o.Dom.isElement(t)&&!o.Dom.isFragment(t))return;let a=t.querySelectorAll("math *, svg *");for(let i=0;i<a.length;i++)t.contains(a[i])&&function(t){if("http://www.w3.org/1999/xhtml"!==t.namespaceURI||null==t.closest("math,svg"))return!1;for(let i=t.parentElement;i;i=i.parentElement){let t=i.nodeName.toLowerCase();if("math"===t||"svg"===t)break;if(s.has(t))return!1}return!0}(a[i])&&o.Dom.safeRemove(a[i]);let l=null!=(n=i.removeEventAttributes)?n:i.removeOnError,c=t=>{if(o.Dom.isElement(t)&&(l&&function(t){if(!o.Dom.isElement(t))return;let i=[];for(let n=0;n<t.attributes.length;n++)t.attributes[n].name.toLowerCase().startsWith("on")&&i.push(t.attributes[n].name);for(let n of i)t.removeAttribute(n)}(t),u(t,i),i.safeLinksTarget&&"A"===t.nodeName&&"_blank"===t.getAttribute("target"))){let i=(t.getAttribute("rel")||"").split(/\s+/).filter(Boolean);i.includes("noopener")||i.push("noopener"),i.includes("noreferrer")||i.push("noreferrer"),(0,r.attr)(t,"rel",i.join(" "))}};c(t),o.Dom.each(t,c)}let l=["src","data","action","formaction","poster","background","xlink:href"],c=new Set(["iframe","frame","object","embed"]);function d(t,i){let n=t.replace(/[\u0000-\u0020]+/g,"").toLowerCase();return!!(/^(?:javascript|vbscript|livescript|mocha):/.test(n)||/^data:(?:text\/html|application\/xhtml)/.test(n))||/^data:image\/svg/.test(n)&&c.has(i)}function u(t,{safeJavaScriptLink:i,removeOnError:n}={safeJavaScriptLink:!0,removeOnError:!0}){if(!o.Dom.isElement(t))return!1;let s=!1;n&&t.hasAttribute("onerror")&&((0,r.attr)(t,"onerror",null),s=!0);let a=t.nodeName.toLowerCase(),c=t.getAttribute("href");if(i&&c&&d(c,a)){let i="u">typeof location?location.protocol:"http:";(0,r.attr)(t,"href",i+"//"+c),s=!0}if(i)for(let i of(t.hasAttribute("srcdoc")&&((0,r.attr)(t,"srcdoc",null),s=!0),l)){let n=t.getAttribute(i);n&&d(n,a)&&((0,r.attr)(t,i,null),s=!0)}return s}},91003:function(t,i,n){"use strict";n.d(i,{stripTags:function(){return function t(i,n=document,u=null,h=!1){let p=n.createElement("div");return(0,r.isString)(i)?p.innerHTML=i:p.appendChild(i),(0,a.$$)("*",p).forEach(i=>{let r=i.parentNode;if(!r)return;if(u&&o.Dom.isTag(i,u)){let r=i.nodeName.toLowerCase(),s=o.Dom.isTag(i,d)?`%%%jodit-single-${r}%%%`:`%%%jodit-${r}%%%${t(i.innerHTML,n,u,h)}%%%/jodit-${r}%%%`;o.Dom.before(i,n.createTextNode(s)),o.Dom.safeRemove(i);return}if(o.Dom.isTag(i,c))return void o.Dom.safeRemove(i);if(!o.Dom.isTag(i,l))return;let s=i.nextSibling;!(o.Dom.isText(s)&&/^\s/.test(s.nodeValue||""))&&s&&r.insertBefore(n.createTextNode(h?"%%%jodit-single-br%%%":" "),s)}),(0,s.trim)(p.innerText).replace(/%%%(\/)?jodit(-single)?-([\w\n]+)%%%/g,(t,i,n,o)=>`<${i?"/":""}${o}>`)}}});var o=n(2748),r=n(70799),s=n(49055),a=n(43555);let l=new Set(["div","p","br","h1","h2","h3","h4","h5","h6","hr"]),c=new Set(["script","style"]),d=new Set(["br","hr","input"])},21537:function(t,i,n){"use strict";n.r(i),n.d(i,{$$:function(){return h.$$},CamelCaseToKebabCase:function(){return u.CamelCaseToKebabCase},ConfigDeepFlatten:function(){return h.ConfigDeepFlatten},ConfigFlatten:function(){return h.ConfigFlatten},ConfigMerge:function(){return h.ConfigMerge},ConfigProto:function(){return h.ConfigProto},ConnectionError:function(){return h.ConnectionError},LimitedStack:function(){return h.LimitedStack},NUMBER_FIELDS_REG:function(){return c.NUMBER_FIELDS_REG},OptionsError:function(){return h.OptionsError},UNSAFE_PROTO_KEYS:function(){return h.UNSAFE_PROTO_KEYS},abort:function(){return h.abort},alignElement:function(){return h.alignElement},alreadyLoadedList:function(){return h.alreadyLoadedList},appendScriptAsync:function(){return h.appendScriptAsync},appendStyleAsync:function(){return h.appendStyleAsync},applyStyles:function(){return l.applyStyles},asArray:function(){return o.asArray},assert:function(){return h.assert},attr:function(){return h.attr},browser:function(){return h.browser},buildQuery:function(){return h.buildQuery},call:function(){return h.call},callPromise:function(){return h.callPromise},callThis:function(){return h.callThis},camelCase:function(){return u.camelCase},cleanFromWord:function(){return l.cleanFromWord},clearAlign:function(){return h.clearAlign},clearCenterAlign:function(){return h.clearCenterAlign},clearTimeout:function(){return r.clearTimeout},cns:function(){return h.cns},colorToHex:function(){return a.colorToHex},completeUrl:function(){return h.completeUrl},connection:function(){return h.connection},convertMediaUrlToVideoEmbed:function(){return h.convertMediaUrlToVideoEmbed},css:function(){return h.css},cssPath:function(){return h.cssPath},ctrlKey:function(){return h.ctrlKey},dataBind:function(){return h.dataBind},defaultLanguage:function(){return h.defaultLanguage},error:function(){return h.error},fastClone:function(){return h.fastClone},fuzzySearchIndex:function(){return u.fuzzySearchIndex},get:function(){return h.get},getClassName:function(){return h.getClassName},getContentWidth:function(){return d.getContentWidth},getDataTransfer:function(){return h.getDataTransfer},getFixedPositionOffset:function(){return d.getFixedPositionOffset},getPropertyDescriptor:function(){return h.getPropertyDescriptor},getScrollParent:function(){return d.getScrollParent},getXPathByElement:function(){return h.getXPathByElement},hAlignElement:function(){return h.hAlignElement},hasBrowserColorPicker:function(){return s.hasBrowserColorPicker},hasContainer:function(){return s.hasContainer},htmlspecialchars:function(){return l.htmlspecialchars},humanSizeToBytes:function(){return h.humanSizeToBytes},i18n:function(){return u.i18n},inView:function(){return h.inView},innerWidth:function(){return d.innerWidth},isAbortError:function(){return s.isAbortError},isArray:function(){return s.isArray},isAtom:function(){return h.isAtom},isBoolean:function(){return s.isBoolean},isDestructable:function(){return s.isDestructable},isEqual:function(){return s.isEqual},isFastEqual:function(){return s.isFastEqual},isFunction:function(){return s.isFunction},isHTML:function(){return s.isHTML},isHtmlFromWord:function(){return s.isHtmlFromWord},isInitable:function(){return s.isInitable},isInt:function(){return s.isInt},isJoditObject:function(){return s.isJoditObject},isLicense:function(){return s.isLicense},isMarker:function(){return s.isMarker},isNativeFunction:function(){return s.isNativeFunction},isNumber:function(){return s.isNumber},isNumeric:function(){return s.isNumeric},isPlainObject:function(){return s.isPlainObject},isPromise:function(){return s.isPromise},isSet:function(){return s.isSet},isString:function(){return s.isString},isStringArray:function(){return s.isStringArray},isURL:function(){return s.isURL},isUnsafeProtoKey:function(){return h.isUnsafeProtoKey},isValidName:function(){return s.isValidName},isViewObject:function(){return s.isViewObject},isVoid:function(){return s.isVoid},isWindow:function(){return s.isWindow},kebabCase:function(){return u.kebabCase},keepNames:function(){return h.keepNames},keys:function(){return h.keys},loadImage:function(){return h.loadImage},loadNext:function(){return h.loadNext},loadNextStyle:function(){return h.loadNextStyle},markAsAtomic:function(){return h.markAsAtomic},markDeprecated:function(){return h.markDeprecated},markOwner:function(){return h.markOwner},memorizeExec:function(){return h.memorizeExec},nl2br:function(){return l.nl2br},normalizeColor:function(){return c.normalizeColor},normalizeCssNumericValue:function(){return c.normalizeCssNumericValue},normalizeCssValue:function(){return c.normalizeCssValue},normalizeKeyAliases:function(){return c.normalizeKeyAliases},normalizeLicense:function(){return c.normalizeLicense},normalizePath:function(){return c.normalizePath},normalizeRelativePath:function(){return c.normalizeRelativePath},normalizeSize:function(){return c.normalizeSize},normalizeUrl:function(){return c.normalizeUrl},offset:function(){return d.offset},options:function(){return h.options},parseQuery:function(){return h.parseQuery},position:function(){return d.position},previewBox:function(){return h.previewBox},refs:function(){return h.refs},reset:function(){return h.reset},resolveElement:function(){return h.resolveElement},safeHTML:function(){return l.safeHTML},sanitizeHTMLElement:function(){return l.sanitizeHTMLElement},scrollIntoViewIfNeeded:function(){return h.scrollIntoViewIfNeeded},set:function(){return h.set},setTimeout:function(){return r.setTimeout},size:function(){return d.size},splitArray:function(){return o.splitArray},sprintf:function(){return u.sprintf},stringify:function(){return u.stringify},stripTags:function(){return l.stripTags},toArray:function(){return o.toArray},trim:function(){return u.trim},trimChars:function(){return u.trimChars},trimInv:function(){return u.trimInv},ucfirst:function(){return u.ucfirst}});var o=n(76855),r=n(91898),s=n(27613),a=n(58149),l=n(75275),c=n(71521),d=n(56175),u=n(59007),h=n(43555)},71521:function(t,i,n){"use strict";n.d(i,{NUMBER_FIELDS_REG:function(){return r.NUMBER_FIELDS_REG},normalizeColor:function(){return o.normalizeColor},normalizeCssNumericValue:function(){return r.normalizeCssNumericValue},normalizeCssValue:function(){return r.normalizeCssValue},normalizeKeyAliases:function(){return s.normalizeKeyAliases},normalizeLicense:function(){return a.normalizeLicense},normalizePath:function(){return l.normalizePath},normalizeRelativePath:function(){return c.normalizeRelativePath},normalizeSize:function(){return d.normalizeSize},normalizeUrl:function(){return u.normalizeUrl}});var o=n(21224),r=n(3760),s=n(49033),a=n(12972),l=n(9992),c=n(70091),d=n(46334),u=n(37406)},21224:function(t,i,n){"use strict";n.d(i,{normalizeColor:function(){return s}});var o=n(35278),r=n(49055);let s=t=>{let i=["#"],n=(0,o.colorToHex)(t);if(!n)return!1;if(3===(n=(n=(0,r.trim)(n.toUpperCase())).substring(1)).length){for(let t=0;t<3;t+=1)i.push(n[t]),i.push(n[t]);return i.join("")}return n.length>6&&(n=n.slice(0,6)),"#"+n}},3760:function(t,i,n){"use strict";n.d(i,{NUMBER_FIELDS_REG:function(){return l},normalizeCssNumericValue:function(){return c},normalizeCssValue:function(){return d}});var o=n(29807),r=n(86068),s=n(35278),a=n(12475);let l=/^(left|top|bottom|right|width|min|max|height|margin|padding|fontsize|font-size)/i;function c(t,i){return!(0,r.isVoid)(i)&&l.test(t)&&(0,o.isNumeric)(i.toString())?parseInt(i.toString(),10)+"px":i}function d(t,i){if("font-weight"===(0,a.kebabCase)(t)){switch(i.toString().toLowerCase()){case"700":case"bold":return 700;case"400":case"normal":return 400;case"900":case"heavy":return 900}return(0,o.isNumeric)(i)?Number(i):i}return/color/i.test(t)&&/^rgb/i.test(i.toString())&&(0,s.colorToHex)(i.toString())||i}},49033:function(t,i,n){"use strict";n.d(i,{normalizeKeyAliases:function(){return s}});var o=n(82758),r=n(49055);function s(t){let i={},n={meta:1,ctrl:2,control:2,alt:3,shift:4,space:5};return t.replace(/\+\+/g,"+add").split(/[\s]*\+[\s]*/).map(t=>(0,r.trim)(t.toLowerCase())).map(t=>o.KEY_ALIASES[t]||t).sort((t,i)=>n[t]&&!n[i]?-1:!n[t]&&n[i]?1:n[t]&&n[i]?n[t]-n[i]:t>i?1:-1).filter(t=>!i[t]&&""!==t&&(i[t]=!0)).join("+")}},12972:function(t,i,n){"use strict";n.d(i,{normalizeLicense:function(){return o}});let o=(t,i=8)=>{let n=[];for(;t.length;)n.push(t.substr(0,i)),t=t.substr(i);return n[1]=n[1].replace(/./g,"*"),n[2]=n[2].replace(/./g,"*"),n.join("-")}},9992:function(t,i,n){"use strict";n.d(i,{normalizePath:function(){return r}});var o=n(49055);let r=(...t)=>t.filter(t=>(0,o.trim)(t).length).map((i,n)=>(i=i.replace(/([^:])[\\/]+/g,"$1/"),n&&(i=i.replace(/^\//,"")),n!==t.length-1&&(i=i.replace(/\/$/,"")),i)).join("/")},70091:function(t,i,n){"use strict";n.d(i,{normalizeRelativePath:function(){return o}});let o=t=>t.split("/").reduce((t,i)=>{switch(i){case"":case".":break;case"..":t.pop();break;default:t.push(i)}return t},[]).join("/")+(t.endsWith("/")?"/":"")},46334:function(t,i,n){"use strict";n.d(i,{normalizeSize:function(){return o}});let o=(t,i)=>/^[0-9]+$/.test(t.toString())?t+i:t.toString()},37406:function(t,i,n){"use strict";n.d(i,{normalizeUrl:function(){return o}});let o=(...t)=>t.filter(t=>t.length).map(t=>t.replace(/\/$/,"")).join("/").replace(/([^:])[\\/]+/g,"$1/")},44506:function(t,i,n){"use strict";n.d(i,{getContentWidth:function(){return o}});let o=(t,i)=>{let n=i.getComputedStyle(t);return t.offsetWidth-parseInt(n.getPropertyValue("padding-left")||"0",10)-parseInt(n.getPropertyValue("padding-right")||"0",10)}},35224:function(t,i,n){"use strict";function o(t){var i,n;let o=null==(i=t.ownerDocument)?void 0:i.defaultView,r=t.parentElement;for(;o&&r;){if(""!==(n=o.getComputedStyle(r)).transform&&"none"!==n.transform||""!==n.perspective&&"none"!==n.perspective||""!==n.filter&&"none"!==n.filter||"transform"===n.willChange||"perspective"===n.willChange||"filter"===n.willChange||"paint"===n.contain||"layout"===n.contain||"strict"===n.contain||"content"===n.contain){let t=r.getBoundingClientRect();return{x:t.left,y:t.top}}r=r.parentElement}return{x:0,y:0}}n.d(i,{getFixedPositionOffset:function(){return o}})},16442:function(t,i,n){"use strict";n.d(i,{getScrollParent:function(){return function t(i){if(!i)return null;let n=r.Dom.isHTMLElement(i),a=n&&(0,s.css)(i,"overflowY");return n&&"visible"!==a&&"hidden"!==a&&i.scrollHeight>=i.clientHeight?i:t(i.parentNode)||o.globalDocument.scrollingElement||o.globalDocument.body}}});var o=n(82758),r=n(2748),s=n(43555)},56175:function(t,i,n){"use strict";n.d(i,{getContentWidth:function(){return o.getContentWidth},getFixedPositionOffset:function(){return r.getFixedPositionOffset},getScrollParent:function(){return s.getScrollParent},innerWidth:function(){return a.innerWidth},offset:function(){return c.offset},position:function(){return d.position},size:function(){return l.size}});var o=n(44506),r=n(35224),s=n(16442),a=n(81630),l=n(21496),c=n(81284),d=n(5700)},81630:function(t,i,n){"use strict";n.d(i,{innerWidth:function(){return o}});let o=(t,i)=>{let n=i.getComputedStyle(t);return t.clientWidth-(parseFloat(n.paddingLeft||"0")+parseFloat(n.paddingRight||"0"))}},21496:function(t,i,n){"use strict";n.d(i,{size:function(){return r}});var o=n(27613);function r(t){return(0,o.isString)(t)||(0,o.isArray)(t)?t.length:(0,o.isPlainObject)(t)?Object.keys(t).length:0}},81284:function(t,i,n){"use strict";n.d(i,{offset:function(){return o}});let o=(t,i,n,r=!1)=>{let s,a,l;try{s=t.getBoundingClientRect()}catch(t){s={top:0,bottom:0,left:0,right:0,width:0,height:0}}let c=n.body,d=n.documentElement||{clientTop:0,clientLeft:0,scrollTop:0,scrollLeft:0},u=n.defaultView||n.parentWindow,h=u.pageYOffset||d.scrollTop||c.scrollTop,p=u.pageXOffset||d.scrollLeft||c.scrollLeft,f=d.clientTop||c.clientTop||0,m=d.clientLeft||c.clientLeft||0,g=i.iframe;if(!r&&i&&i.options&&i.o.iframe&&g){let{top:t,left:n}=o(g,i,i.od,!0);a=s.top+t,l=s.left+n}else a=s.top+h-f,l=s.left+p-m;return{top:Math.round(a),left:Math.round(l),width:s.width,height:s.height}}},5700:function(t,i,n){"use strict";n.d(i,{position:function(){return function t(i,n,r=!1){var s,a;let l=i.getBoundingClientRect(),c=l.left,d=l.top;if((0,o.isJoditObject)(n)&&n.iframe&&n.ed.body.contains(i)&&!r){let{left:i,top:o}=t(n.iframe,n,!0);c+=i,d+=o}return{left:Math.round(c),top:Math.round(d),width:Math.round(null!=(s=i.offsetWidth)?s:l.width),height:Math.round(null!=(a=i.offsetHeight)?a:l.height)}}}});var o=n(19306)},87058:function(t,i,n){"use strict";n.d(i,{camelCase:function(){return o}});let o=t=>t.replace(/([-_])(.)/g,(t,i,n)=>n.toUpperCase())},67477:function(t,i,n){"use strict";n.d(i,{fuzzySearchIndex:function(){return r}});var o=n(82758);function r(t,i,n=0,s=1){let a=0,l=0,c=-1,d=0,u=0;for(l=n;a<t.length&&l<i.length;)t[a].toLowerCase()===i[l].toLowerCase()?(a++,d++,u=0,-1===c&&(c=l)):a>0&&(u>=s&&i[l]!==o.INVISIBLE_SPACE?(a=0,c=-1,d=0,u=0,l--):(u++,d++)),l++;return a===t.length?[c,d]:[-1,0]}},56967:function(t,i,n){"use strict";n.d(i,{i18n:function(){return d},sprintf:function(){return c}});var o=n(82758),r=n(70799),s=n(36409),a=n(43555),l=n(6441);let c=(t,i)=>{if(!i||!i.length)return t;let n=/%([sd])/g,o=n.exec(t),r=t,s=0;for(;o&&void 0!==i[s];)r=r.replace(o[0],i[s].toString()),s+=1,o=n.exec(t);return r};function d(t,i,n){if(!(0,r.isString)(t))throw(0,a.error)("i18n: Need string in first argument");if(!t.length)return t;let d=!!(null==n?void 0:n.debugLanguage),u={},h=t=>i&&i.length?c(t,i):t,p=(0,a.defaultLanguage)(l.Config.defaultOptions.language,l.Config.defaultOptions.language),f=(0,a.defaultLanguage)(null==n?void 0:n.language,p),m=i=>{if(!i)return;if((0,r.isString)(i[t]))return h(i[t]);let n=t.toLowerCase();if((0,r.isString)(i[n]))return h(i[n]);let o=(0,s.ucfirst)(t);if((0,r.isString)(i[o]))return h(i[o])};void 0!==o.lang[f]?u=o.lang[f]:d||(u=void 0!==o.lang[p]?o.lang[p]:o.lang.en);let g=null==n?void 0:n.i18n;if(g&&g[f]){let t=m(g[f]);if(t)return t}return m(u)||(!d&&o.lang.en&&(0,r.isString)(o.lang.en[t])&&o.lang.en[t]?h(o.lang.en[t]):d?"{"+t+"}":(o.IS_PROD,h(t)))}},59007:function(t,i,n){"use strict";n.d(i,{CamelCaseToKebabCase:function(){return a.CamelCaseToKebabCase},camelCase:function(){return o.camelCase},fuzzySearchIndex:function(){return r.fuzzySearchIndex},i18n:function(){return s.i18n},kebabCase:function(){return a.kebabCase},sprintf:function(){return s.sprintf},stringify:function(){return l.stringify},trim:function(){return c.trim},trimChars:function(){return c.trimChars},trimInv:function(){return c.trimInv},ucfirst:function(){return d.ucfirst}});var o=n(87058),r=n(67477),s=n(56967),a=n(12475),l=n(67462),c=n(49055),d=n(36409)},12475:function(t,i,n){"use strict";n.d(i,{CamelCaseToKebabCase:function(){return r},kebabCase:function(){return o}});let o=t=>t.replace(/([A-Z])([A-Z])([a-z])/g,"$1-$2$3").replace(/([a-z])([A-Z])/g,"$1-$2").replace(/[\s_]+/g,"-").toLowerCase(),r=t=>t.replace(/([A-Z])([A-Z])([a-z])/g,"$1-$2$3").replace(/([a-z])([A-Z])/g,"$1-$2").toLowerCase()},67462:function(t,i,n){"use strict";function o(t,i={}){if("object"!=typeof t)return t+"";let n=new Set(i.excludeKeys),r=new WeakMap;return JSON.stringify(t,(t,i)=>{if(!n.has(t)){if("object"==typeof i&&null!=i){if(r.get(i))return"[refObject]";r.set(i,!0)}return i}},i.prettify)}n.d(i,{stringify:function(){return o}})},49055:function(t,i,n){"use strict";n.d(i,{trim:function(){return r},trimChars:function(){return s},trimInv:function(){return a}});var o=n(82758);function r(t){return t.replace((0,o.SPACE_REG_EXP_END)(),"").replace((0,o.SPACE_REG_EXP_START)(),"")}function s(t,i){return t.replace(RegExp(`[${i}]+$`),"").replace(RegExp(`^[${i}]+`),"")}function a(t){return t.replace((0,o.INVISIBLE_SPACE_REG_EXP_END)(),"").replace((0,o.INVISIBLE_SPACE_REG_EXP_START)(),"")}},36409:function(t,i,n){"use strict";function o(t){return t.length?t[0].toUpperCase()+t.substring(1):""}n.d(i,{ucfirst:function(){return o}})},25726:function(t,i,n){"use strict";n.d(i,{alignElement:function(){return l},clearAlign:function(){return a},hAlignElement:function(){return s}});var o=n(22732),r=n(41180);function s(t,i){i&&"normal"!==i?"center"!==i?((0,r.css)(t,"float",i),(0,r.clearCenterAlign)(t)):(0,r.css)(t,{float:"",display:"block",marginLeft:"auto",marginRight:"auto"}):((0,r.css)(t,"float")&&-1!==["right","left"].indexOf((0,r.css)(t,"float").toString().toLowerCase())&&(0,r.css)(t,"float",""),(0,r.clearCenterAlign)(t))}function a(t){o.Dom.each(t,t=>{o.Dom.isHTMLElement(t)&&t.style.textAlign&&(t.style.textAlign="",t.style.cssText.trim().length||t.removeAttribute("style"))})}function l(t,i){if(o.Dom.isNode(i)&&o.Dom.isElement(i))switch(a(i),t.toLowerCase()){case"justifyfull":i.style.textAlign="justify";break;case"justifyright":i.style.textAlign="right";break;case"justifyleft":i.style.textAlign="left";break;case"justifycenter":i.style.textAlign="center"}}},63799:function(t,i,n){"use strict";n.d(i,{alreadyLoadedList:function(){return s},appendScriptAsync:function(){return l},appendStyleAsync:function(){return c},loadNext:function(){return function t(i,n,r=0){return(0,o.isString)(n[r])?l(i,n[r]).then(()=>t(i,n,r+1)):Promise.resolve()}},loadNextStyle:function(){return function t(i,n,r=0){return(0,o.isString)(n[r])?c(i,n[r]).then(()=>t(i,n,r+1)):Promise.resolve()}}});var o=n(70799),r=n(66292);let s=new Map,a=t=>(i,n)=>{if(s.has(n))return s.get(n);let o=t(i,n);return s.set(n,o),o},l=a((t,i)=>t.async.promise((n,o)=>{if(t.isInDestruct)return o();let s=t.c.element("script",{type:"text/javascript",crossorigin:"anonymous",referrerpolicy:"no-referrer",async:!0,src:(0,r.completeUrl)(i)});t.o.nonce&&s.setAttribute("nonce",t.o.nonce),t.e.one(s,"error",o).one(s,"load",n),t.od.body.appendChild(s)})),c=a((t,i)=>t.async.promise((n,o)=>{if(t.isInDestruct)return o();let s=t.c.element("link");s.rel="stylesheet",s.media="all",s.crossOrigin="anonymous",t.o.nonce&&s.setAttribute("nonce",t.o.nonce),t.isInDestruct||t.e.on(s,"load",()=>n(s)).on(s,"error",o),s.href=(0,r.completeUrl)(i),t.o.shadowRoot?t.o.shadowRoot.appendChild(s):t.od.body.appendChild(s)}))},38837:function(t,i,n){"use strict";n.d(i,{assert:function(){return r}});class o extends Error{constructor(t){super(t),this.name="AssertionError"}}function r(t,i){if(!t)throw new o("Assertion failed: "+i)}},29960:function(t,i,n){"use strict";n.d(i,{attr:function(){return function t(i,n,c){if(!i||!(0,o.isFunction)(i.getAttribute))return null;if(!(0,s.isString)(n))return Object.keys(n).forEach(o=>{let s=n[o];(0,r.isPlainObject)(s)&&"style"===o?(0,l.css)(i,s):("className"===o&&(o="class"),t(i,o,s))}),null;let d=(0,a.CamelCaseToKebabCase)(n);if(/^-/.test(d)){let n=t(i,"data"+d);if(n)return n;d=d.substr(1)}if(void 0!==c)if(null==c)i.hasAttribute(d)&&i.removeAttribute(d);else{let t=c.toString();return"IMG"===i.nodeName&&("width"===d||"height"===d)&&(t=t.replace("px","")),i.setAttribute(d,t),t}return i.getAttribute(d)}}});var o=n(23282),r=n(72430),s=n(70799),a=n(12475),l=n(41180)},97639:function(t,i,n){"use strict";n.d(i,{browser:function(){return o}});let o=t=>{let i=navigator.userAgent.toLowerCase(),n=/(firefox)[\s/]([\w.]+)/.exec(i)||/(chrome)[\s/]([\w.]+)/.exec(i)||/(webkit)[\s/]([\w.]+)/.exec(i)||/(opera)(?:.*version)[\s/]([\w.]+)/.exec(i)||/(msie)[\s]([\w.]+)/.exec(i)||/(trident)\/([\w.]+)/.exec(i)||0>i.indexOf("compatible")||[];return"version"===t?n[2]:"webkit"===t?"chrome"===n[1]||"webkit"===n[1]:"ff"===t?"firefox"===n[1]:"msie"===t?"trident"===n[1]||"msie"===n[1]:n[1]===t}},44710:function(t,i,n){"use strict";n.d(i,{buildQuery:function(){return r}});var o=n(72430);let r=(t,i)=>{let n=[],s=encodeURIComponent;for(let a in t)if(Object.prototype.hasOwnProperty.call(t,a)){let l=i?i+"["+a+"]":a,c=t[a];n.push((0,o.isPlainObject)(c)?r(c,l):s(l)+"="+s(c))}return n.join("&")}},66292:function(t,i,n){"use strict";n.d(i,{completeUrl:function(){return r}});var o=n(82758);let r=t=>("file:"===o.globalWindow.location.protocol&&/^\/\//.test(t)&&(t="https:"+t),t)},68934:function(t,i,n){"use strict";n.d(i,{ConfigDeepFlatten:function(){return function t(i){return(0,u.keys)(i,!1).reduce((n,o)=>(n[o]=(0,r.isPlainObject)(i[o])?t(i[o]):i[o],n),{})}},ConfigFlatten:function(){return h},ConfigMerge:function(){return function t(i,n){Object.keys(n).forEach(o=>{if((0,d.isUnsafeProtoKey)(o))return;let s=n[o],a=i[o];(0,r.isPlainObject)(s)&&(0,r.isPlainObject)(a)&&!(0,c.isAtom)(s)?t(a,s):i[o]=s})}},ConfigProto:function(){return function t(i,n,u=0){if(Object.getPrototypeOf(i)!==Object.prototype)return i;let h=l.Config.defaultOptions;if((0,s.isString)(i.preset)){if(void 0!==h.presets[i.preset]){let t=h.presets[i.preset];Object.keys(t).forEach(n=>{(0,a.isVoid)(i[n])&&(i[n]=t[n])})}delete i.preset}let p={};return Object.keys(i).forEach(s=>{if((0,d.isUnsafeProtoKey)(s))return;let a=i[s],l=n?n[s]:null;if((0,r.isPlainObject)(a)&&(0,r.isPlainObject)(l)&&!(0,c.isAtom)(a)){p[s]=t(a,l,u+1);return}if(0!==u&&(0,o.isArray)(a)&&!(0,c.isAtom)(a)&&(0,o.isArray)(l)){p[s]=[...a,...l.slice(a.length)];return}p[s]=a}),Object.setPrototypeOf(p,n),p}}});var o=n(68345),r=n(72430),s=n(70799),a=n(86068),l=n(6441),c=n(97735),d=n(69175),u=n(37790);function h(t){return(0,u.keys)(t,!1).reduce((i,n)=>(i[n]=t[n],i),{})}},55877:function(t,i,n){"use strict";n.d(i,{convertMediaUrlToVideoEmbed:function(){return a}});var o=n(82758),r=n(26049),s=n(82501);let a=(t,{width:i=400,height:n=345}={})=>{if(!(0,r.isURL)(t))return t;let a=o.globalDocument.createElement("a");a.href=t,i||(i=400),n||(n=345);let l=a.protocol||"";switch(a.hostname){case"www.vimeo.com":case"vimeo.com":{let o=a.pathname.split("/").filter(Boolean),r=o.findIndex(t=>/^\d+$/.test(t));if(-1===r)return t;let s=o[r],c=o[r+1];return c&&0===r&&(s+="/"+c),'<iframe width="'+i+'" height="'+n+'" src="'+l+"//player.vimeo.com/video/"+s+'" frameborder="0" allowfullscreen></iframe>'}case"youtube.com":case"www.youtube.com":case"m.youtube.com":case"music.youtube.com":case"youtu.be":case"www.youtu.be":{let o=(a.search?(0,s.parseQuery)(a.search):{}).v||a.pathname.substring(1);return(o=o.replace(/^(watch|embed|shorts|live|v)\//,"").replace(/\/$/,""))?'<iframe width="'+i+'" height="'+n+'" src="'+l+"//www.youtube.com/embed/"+o+'" frameborder="0" allowfullscreen></iframe>':t}}return t}},41180:function(t,i,n){"use strict";n.d(i,{clearCenterAlign:function(){return d},css:function(){return c}});var o=n(87612),r=n(72430),s=n(3760),a=n(87058),l=n(12475);function c(t,i,n,d=!1){if((0,o.isBoolean)(n)&&(d=n,n=void 0),(0,r.isPlainObject)(i)||void 0!==n){let o=(t,i,n)=>{void 0!==(n=(0,s.normalizeCssNumericValue)(i,n))&&(null==n||c(t,i,!0)!==(0,s.normalizeCssValue)(i,n))&&(t.style[i]=n)};if((0,r.isPlainObject)(i)){let n=Object.keys(i);for(let r=0;r<n.length;r+=1)o(t,(0,a.camelCase)(n[r]),i[n[r]])}else o(t,(0,a.camelCase)(i),n);return""}let u=(0,l.kebabCase)(i),h=t.ownerDocument||document,p=!!h&&(h.defaultView||h.parentWindow),f=t.style[i],m="";return void 0!==f&&""!==f?m=f:p&&!d&&(m=p.getComputedStyle(t).getPropertyValue(u)),s.NUMBER_FIELDS_REG.test(i)&&/^[-+]?[0-9.]+px$/.test(m.toString())&&(m=parseInt(m.toString(),10)),(0,s.normalizeCssValue)(i,m)}let d=t=>{"block"===c(t,"display")&&c(t,"display","");let{style:i}=t;"auto"===i.marginLeft&&"auto"===i.marginRight&&(i.marginLeft="",i.marginRight="")}},15456:function(t,i,n){"use strict";n.d(i,{ctrlKey:function(){return o}});let o=t=>{if("u">typeof navigator&&-1!==navigator.userAgent.indexOf("Mac OS X")){if(t.metaKey&&!t.altKey)return!0}else if(t.ctrlKey&&!t.altKey)return!0;return!1}},86583:function(t,i,n){"use strict";n.d(i,{dataBind:function(){return s}});var o=n(39955);let r=new WeakMap,s=(t,i,n)=>{let s=r.get(t);if(!s){s={},r.set(t,s);let i=null;(0,o.isViewObject)(t.j)&&(i=t.j.e),(0,o.isViewObject)(t)&&(i=t.e),i&&i.on("beforeDestruct",()=>{r.delete(t)})}return void 0===n?s[i]:(s[i]=n,n)}},96325:function(t,i,n){"use strict";n.d(i,{defaultLanguage:function(){return s}});var o=n(82758),r=n(70799);let s=(t,i="en")=>"auto"!==t&&(0,r.isString)(t)?t:o.globalDocument.documentElement&&o.globalDocument.documentElement.lang?o.globalDocument.documentElement.lang:navigator.language?navigator.language.substring(0,2):i},82760:function(t,i,n){"use strict";n.d(i,{connection:function(){return s},error:function(){return r},options:function(){return a}});var o=n(32880);function r(t){return TypeError(t)}function s(t){return new o.ConnectionError(t)}function a(t){return new o.OptionsError(t)}},93661:function(t,i,n){"use strict";function o(t="Aborted"){return new DOMException(t,"AbortError")}n.d(i,{abort:function(){return o}})},86397:function(t,i,n){"use strict";n.d(i,{ConnectionError:function(){return o}});class o extends Error{constructor(t){super(t),Object.setPrototypeOf(this,o.prototype)}}},32880:function(t,i,n){"use strict";n.d(i,{ConnectionError:function(){return r.ConnectionError},OptionsError:function(){return s.OptionsError},abort:function(){return o.abort}});var o=n(93661),r=n(86397),s=n(57865)},57865:function(t,i,n){"use strict";n.d(i,{OptionsError:function(){return o}});class o extends TypeError{constructor(t){super(t),Object.setPrototypeOf(this,o.prototype)}}},89890:function(t,i,n){"use strict";n.d(i,{ConnectionError:function(){return r.ConnectionError},OptionsError:function(){return r.OptionsError},abort:function(){return r.abort},connection:function(){return o.connection},error:function(){return o.error},options:function(){return o.options}});var o=n(82760),r=n(32880)},97735:function(t,i,n){"use strict";n.d(i,{fastClone:function(){return a},isAtom:function(){return r},markAsAtomic:function(){return s}});var o=n(67462);function r(t){return t&&t.isAtom}function s(t){return Object.defineProperty(t,"isAtom",{enumerable:!1,value:!0,configurable:!1}),t}function a(t){return JSON.parse((0,o.stringify)(t))}},80568:function(t,i,n){"use strict";n.d(i,{getClassName:function(){return s},keepNames:function(){return r}});var o=n(23282);let r=new Map,s=t=>{var i;if((0,o.isFunction)(t.className))return t.className();let n=(null==(i=t.constructor)?void 0:i.originalConstructor)||t.constructor;if(r.has(n))return r.get(n);if(n.name)return n.name;let s=new RegExp(/^\s*function\s*(\S*)\s*\(/),a=n.toString().match(s);return a?a[1]:""}},94643:function(t,i,n){"use strict";n.d(i,{get:function(){return s}});var o=n(70799),r=n(86068);function s(t,i){if(!(0,o.isString)(t)||!t.length)return null;let n=t.split("."),s=i;try{for(let t of n){if((0,r.isVoid)(s[t]))return null;s=s[t]}}catch(t){return null}return(0,r.isVoid)(s)?null:s}},38420:function(t,i,n){"use strict";n.d(i,{humanSizeToBytes:function(){return o}});let o=t=>{if(/^[0-9.]+$/.test(t.toString()))return parseFloat(t);let i=t.substr(-2,2).toUpperCase(),n=["KB","MB","GB","TB"],o=parseFloat(t.substr(0,t.length-2));return -1!==n.indexOf(i)?o*Math.pow(1024,n.indexOf(i)+1):parseInt(t,10)}},43555:function(t,i,n){"use strict";n.d(i,{$$:function(){return j.$$},ConfigDeepFlatten:function(){return u.ConfigDeepFlatten},ConfigFlatten:function(){return u.ConfigFlatten},ConfigMerge:function(){return u.ConfigMerge},ConfigProto:function(){return u.ConfigProto},ConnectionError:function(){return b.ConnectionError},LimitedStack:function(){return P.LimitedStack},OptionsError:function(){return b.OptionsError},UNSAFE_PROTO_KEYS:function(){return k.UNSAFE_PROTO_KEYS},abort:function(){return b.abort},alignElement:function(){return o.alignElement},alreadyLoadedList:function(){return r.alreadyLoadedList},appendScriptAsync:function(){return r.appendScriptAsync},appendStyleAsync:function(){return r.appendStyleAsync},assert:function(){return s.assert},attr:function(){return a.attr},browser:function(){return l.browser},buildQuery:function(){return c.buildQuery},call:function(){return L.call},callPromise:function(){return L.callPromise},callThis:function(){return L.callThis},clearAlign:function(){return o.clearAlign},clearCenterAlign:function(){return p.clearCenterAlign},cns:function(){return S.cns},completeUrl:function(){return d.completeUrl},connection:function(){return b.connection},convertMediaUrlToVideoEmbed:function(){return h.convertMediaUrlToVideoEmbed},css:function(){return p.css},cssPath:function(){return j.cssPath},ctrlKey:function(){return f.ctrlKey},dataBind:function(){return m.dataBind},defaultLanguage:function(){return g.defaultLanguage},error:function(){return b.error},fastClone:function(){return y.fastClone},get:function(){return w.get},getClassName:function(){return _.getClassName},getDataTransfer:function(){return L.getDataTransfer},getPropertyDescriptor:function(){return L.getPropertyDescriptor},getXPathByElement:function(){return j.getXPathByElement},hAlignElement:function(){return o.hAlignElement},humanSizeToBytes:function(){return C.humanSizeToBytes},inView:function(){return T.inView},isAtom:function(){return y.isAtom},isUnsafeProtoKey:function(){return k.isUnsafeProtoKey},keepNames:function(){return _.keepNames},keys:function(){return L.keys},loadImage:function(){return L.loadImage},loadNext:function(){return r.loadNext},loadNextStyle:function(){return r.loadNextStyle},markAsAtomic:function(){return y.markAsAtomic},markDeprecated:function(){return S.markDeprecated},markOwner:function(){return L.markOwner},memorizeExec:function(){return L.memorizeExec},options:function(){return b.options},parseQuery:function(){return x.parseQuery},previewBox:function(){return I.previewBox},refs:function(){return j.refs},reset:function(){return E.reset},resolveElement:function(){return j.resolveElement},scrollIntoViewIfNeeded:function(){return T.scrollIntoViewIfNeeded},set:function(){return A.set}});var o=n(25726),r=n(63799),s=n(38837),a=n(29960),l=n(97639),c=n(44710),d=n(66292),u=n(68934),h=n(55877),p=n(41180),f=n(15456),m=n(86583),g=n(96325),b=n(89890),y=n(97735),w=n(94643),_=n(80568),C=n(38420),k=n(69175),S=n(95942),x=n(82501),I=n(11628),E=n(58844),T=n(26395),j=n(76078),A=n(3703),P=n(50535),L=n(37790)},69175:function(t,i,n){"use strict";n.d(i,{UNSAFE_PROTO_KEYS:function(){return o},isUnsafeProtoKey:function(){return r}});let o=["__proto__","constructor","prototype"];function r(t){return -1!==o.indexOf(t)}},95942:function(t,i,n){"use strict";n.d(i,{cns:function(){return o},markDeprecated:function(){return r}});let o=console;function r(t,i=[""],n=null){return(...r)=>(o.warn(`Method "${i[0]}" deprecated.`+(i[1]?` Use "${i[1]}" instead`:"")),t.call(n,...r))}},82501:function(t,i,n){"use strict";n.d(i,{parseQuery:function(){return o}});let o=t=>{let i={},n=t.substring(1).split("&");for(let t=0;t<n.length;t+=1){let o=n[t].split("=");i[decodeURIComponent(o[0])]=decodeURIComponent(o[1]||"")}return i}},11628:function(t,i,n){"use strict";n.d(i,{previewBox:function(){return c}});var o=n(2748),r=n(70799),s=n(29960),a=n(41180),l=n(76078);function c(t,i,n="px",d=null){let u=[],h=function(t,i){let n=[];try{(0,l.$$)("img",t.editor).forEach(r=>{let a=[(0,s.attr)(r,"width"),(0,s.attr)(r,"height"),r.src];(0,s.attr)(r,{width:r.offsetWidth+i,height:r.offsetHeight+i});let l=t.createInside.a();t.ed.body.appendChild(l),l.href=r.src,r.src=l.href,o.Dom.safeRemove(l),n.push(()=>{var t;r.src=null!=(t=a[2])?t:"",(0,s.attr)(r,{width:a[0]||null,height:a[1]||null})})})}catch(t){throw n.forEach(t=>t()),n.length=0,t}return n}(t,n);try{let l=t.e.fire("beforePreviewBox",i,n);if(null!=l)return l;let c=t.c.div("jodit__preview-box jodit-context");d&&d.appendChild(c),(0,a.css)(c,{position:"relative",padding:16});let h=t.value||`<div style='position: absolute;left:50%;top:50%;transform: translateX(-50%) translateY(-50%);color:#ccc;'>${t.i18n("Empty")}</div>`;if(t.iframe){let i=t.create.element("iframe");(0,a.css)(i,{minWidth:800,minHeight:600,border:0}),c.appendChild(i);let n=i.contentWindow;if(n&&(t.e.fire("generateDocumentStructure.iframe",n.document,t),c=n.document.body,"function"==typeof ResizeObserver)){let o=!1,r=n.document.body,s=new ResizeObserver(t.async.debounce(()=>{s.unobserve(r),i.style.height=`${r.offsetHeight+20}px`,t.async.requestAnimationFrame(()=>{o||s.observe(r)})},100)),a=()=>{o=!0,s.unobserve(r),s.disconnect(),t.e.off("beforeDestruct",a)};u.push(a),t.e.on("beforeDestruct",a)}}else(0,a.css)(c,{minWidth:1024,minHeight:600,border:0});let p=(i,n)=>{let a=(0,r.isString)(n)?t.c.div():n;(0,r.isString)(n)&&(a.innerHTML=n);for(let t=0;t<a.childNodes.length;t+=1){let n=a.childNodes[t];if(o.Dom.isElement(n)){let t=i.ownerDocument.createElement(n.nodeName);for(let i=0;i<n.attributes.length;i+=1)(0,s.attr)(t,n.attributes[i].nodeName,n.attributes[i].nodeValue);0===n.childNodes.length||o.Dom.isTag(n,"table")?"SCRIPT"===n.nodeName?n.textContent&&(t.textContent=n.textContent):n.innerHTML&&(t.innerHTML=n.innerHTML):p(t,n);try{i.appendChild(t)}catch(t){}}else try{i.appendChild(n.cloneNode(!0))}catch(t){}}};return p(c,h),t.e.fire("afterPreviewBox",c),[c,()=>{u.forEach(t=>t())}]}finally{h.forEach(t=>t())}}},58844:function(t,i,n){"use strict";n.d(i,{reset:function(){return l}});var o=n(82758),r=n(23282),s=n(94643);let a={};function l(t){var i,n;if(!(t in a)){let n=o.globalDocument.createElement("iframe");try{if(n.src="about:blank",o.globalDocument.body.appendChild(n),!n.contentWindow)return null;let i=(0,s.get)(t,n.contentWindow),l=(0,s.get)(t.split(".").slice(0,-1).join("."),n.contentWindow);(0,r.isFunction)(i)&&(a[t]=i.bind(l))}catch(t){if(!o.IS_PROD)throw t}finally{null==(i=n.parentNode)||i.removeChild(n)}}return null!=(n=a[t])?n:null}},26395:function(t,i,n){"use strict";n.d(i,{inView:function(){return r},scrollIntoViewIfNeeded:function(){return s}});var o=n(2748);function r(t,i,n){let o=t.getBoundingClientRect(),r=t,s=o.top,a=o.height;for(;r&&r!==i&&r.parentNode;)if(s+a>(o=(r=r.parentNode).getBoundingClientRect()).bottom+1&&s>o.top||s+a<=o.top)return!1;return(s+a<=(n.documentElement&&n.documentElement.clientHeight||0)+1||s<=0)&&s+a>=0}function s(t,i,n){if(o.Dom.isHTMLElement(t)&&!r(t,i,n)){if(i.clientHeight!==i.scrollHeight){let n=t.offsetTop+t.offsetHeight-i.clientHeight;i.scrollTop=i.scrollTop<n?n:t.offsetTop}r(t,i,n)||t.scrollIntoView({block:"nearest"})}}},76078:function(t,i,n){"use strict";n.d(i,{$$:function(){return h},cssPath:function(){return m},getXPathByElement:function(){return p},refs:function(){return f},resolveElement:function(){return g}});var o=n(82758),r=n(2748),s=n(4510),a=n(70799),l=n(87058),c=n(29960),d=n(89890);let u=1;function h(t,i){let n;if(!o.IS_ES_NEXT&&/:scope/.test(t)&&o.IS_IE&&!(i&&i.nodeType===Node.DOCUMENT_NODE)){let o=i.id,r=o||"_selector_id_"+(Math.random()+"").slice(2)+ ++u;t=t.replace(/:scope/g,"#"+r),o||i.setAttribute("id",r),n=i.parentNode.querySelectorAll(t),o||i.removeAttribute("id")}else n=i.querySelectorAll(t);return[].slice.call(n)}let p=(t,i)=>{if(!t||t.nodeType!==Node.ELEMENT_NODE||!t.parentNode||i===t)return"";if(t.id)return"//*[@id='"+t.id+"']";let n=[].filter.call(t.parentNode.childNodes,i=>i.nodeName===t.nodeName);return p(t.parentNode,i)+"/"+t.nodeName.toLowerCase()+(n.length>1?"["+((0,s.toArray)(n).indexOf(t)+1)+"]":"")},f=t=>("container"in t&&(t=t.container),h("[ref],[data-ref]",t).reduce((t,i)=>{let n=(0,c.attr)(i,"-ref");return n&&(0,a.isString)(n)&&(t[(0,l.camelCase)(n)]=i,t[n]=i),t},{})),m=t=>{if(!r.Dom.isElement(t))return null;let i=[],n=t;for(;n&&n.nodeType===Node.ELEMENT_NODE;){let t=n.nodeName.toLowerCase();if(n.id){t+="#"+n.id,i.unshift(t);break}{let i=n,o=1;do(i=i.previousElementSibling)&&i.nodeName.toLowerCase()===t&&o++;while(i)t+=":nth-of-type("+o+")"}i.unshift(t),n=n.parentNode}return i.join(" > ")};function g(t,i){let n=t;if((0,a.isString)(t))try{n=i.querySelector(t)}catch(i){throw(0,d.error)('String "'+t+'" should be valid HTML selector')}if(!n||"object"!=typeof n||!r.Dom.isElement(n)||!n.cloneNode)throw(0,d.error)('Element "'+t+'" should be string or HTMLElement instance');return n}},3703:function(t,i,n){"use strict";n.d(i,{set:function(){return c}});var o=n(68345),r=n(29807),s=n(72430),a=n(70799),l=n(69175);function c(t,i,n){if(!(0,a.isString)(t)||!t.length)return;let c=t.split(".");if(c.some(l.isUnsafeProtoKey))return;let d=n,u=c[0];for(let t=0;t<c.length-1;t+=1)u=c[t],(0,o.isArray)(d[u])||(0,s.isPlainObject)(d[u])||(d[u]=(0,r.isNumeric)(c[t+1])?[]:{}),d=d[u];d&&(d[c[c.length-1]]=i)}},50535:function(t,i,n){"use strict";n.d(i,{LimitedStack:function(){return o}});class o{push(t){return this.stack.push(t),this.stack.length>this.limit&&this.stack.shift(),this}pop(){return this.stack.pop()}find(t){return this.stack.find(t)}constructor(t){this.limit=t,this.stack=[]}}},37790:function(t,i,n){"use strict";n.d(i,{call:function(){return l},callPromise:function(){return u},callThis:function(){return c},getDataTransfer:function(){return m},getPropertyDescriptor:function(){return g},keys:function(){return p},loadImage:function(){return h},markOwner:function(){return d},memorizeExec:function(){return f}});var o=n(14773),r=n(86068),s=n(29960),a=n(86583);function l(t,...i){return t(...i)}function c(t,i,...n){return t.apply(i,n)}function d(t,i){(0,s.attr)(i,"data-editor_id",t.id),i.component||Object.defineProperty(i,"jodit",{value:t})}function u(t,i){return(0,o.isPromise)(t)?t.then(t=>t,()=>null).finally(i):null==i?void 0:i()}let h=(t,i)=>i.async.promise((n,o)=>{let r=new Image,s=()=>{i.e.off(r),null==o||o()},a=()=>{i.e.off(r),n(r)};i.e.one(r,"load",a).one(r,"error",s).one(r,"abort",s),r.src=t,r.complete&&a()}),p=(t,i=!0)=>{if(i)return Object.keys(t);let n=[];for(let i in t)n.push(i);return n},f=(t,i,{control:n},o)=>{var s;let l="button"+n.command,c=null!=(s=n.args&&n.args[0])?s:(0,a.dataBind)(t,l);if((0,r.isVoid)(c))return!1;(0,a.dataBind)(t,l,c),o&&(c=o(c)),t.execCommand(n.command,!1,null!=c?c:void 0)},m=t=>{if(t.clipboardData)return t.clipboardData;try{return t.dataTransfer||new DataTransfer}catch(t){return null}};function g(t,i){let n;do n=Object.getOwnPropertyDescriptor(t,i),t=Object.getPrototypeOf(t);while(!n&&t)return n}},31359:function(t,i,n){"use strict";n.d(i,{init:function(){return a}});var o=n(82758),r=n(60132),s=n(14041);function a(t,i,n,a,l,c,d){if((0,r.isInitable)(a))try{a.init(t)}catch(t){if(!o.IS_PROD)throw t}l.set(i,a),c.delete(i),a.hasStyle&&(0,s.loadStyle)(t,i).catch(t=>{o.IS_PROD}),a.styles&&(d(t,i,"style").innerHTML=a.styles)}},14041:function(t,i,n){"use strict";n.d(i,{loadExtras:function(){return u},loadStyle:function(){return c}});var o=n(82758),r=n(12475),s=n(63799),a=n(89672);let l=new Set;async function c(t,i){let n=d(t,i,!1);if(!l.has(n))return l.add(n),(0,s.appendStyleAsync)(t,n)}function d(t,i,n){i=(0,r.kebabCase)(i);let o=t.minified?".min":"";return t.basePath+"plugins/"+i+"/"+i+o+"."+(n?"js":"css")}function u(t,i,n,r){try{let o=n.filter(i=>!t.has((0,a.normalizeName)(i.name)));o.length&&o.map(t=>{let n=t.url||d(i,t.name,!0);return(0,s.appendScriptAsync)(i,n).then(r).catch(()=>null)})}catch(t){if(!o.IS_PROD)throw t}}},48591:function(t,i,n){"use strict";n.d(i,{makeInstance:function(){return s}});var o=n(82758),r=n(23282);function s(t,i){try{try{return(0,r.isFunction)(i)?new i(t):i}catch(n){if((0,r.isFunction)(i)&&!i.prototype)return i(t)}}catch(t){if(!o.IS_PROD)throw t}return null}},89672:function(t,i,n){"use strict";n.d(i,{normalizeName:function(){return r}});var o=n(12475);function r(t){return(0,o.kebabCase)(t).toLowerCase()}},50911:function(t,i,n){"use strict";n.d(i,{Plugin:function(){return o.Plugin}});var o=n(20356);n(41876)},41876:function(t,i,n){"use strict";n.d(i,{PluginSystem:function(){return f}});var o=n(82758),r=n(57012),s=n(46559),a=n(68345),l=n(60132),c=n(70799),d=n(31359),u=n(14041),h=n(48591),p=n(89672);class f{get size(){return this.__items.size}add(t,i){this.__items.set((0,p.normalizeName)(t),i),r.eventEmitter.fire(`plugin:${t}:ready`)}get(t){return this.__items.get((0,p.normalizeName)(t))}remove(t){this.__items.delete((0,p.normalizeName)(t))}__getFullPluginsList(t){let i=[];return this.__items.forEach((n,o)=>{(!t||t.has(o))&&i.push([o,n])}),i}__init(t){let{extraList:i,disableList:n,filter:r}={extraList:t.o.extraPlugins.map(t=>(0,c.isString)(t)?{name:t}:t),disableList:new Set((0,s.splitArray)(t.o.disablePlugins).map(p.normalizeName)),filter:t.o.safeMode?new Set(t.o.safePluginsList):null},f=new Map,m={},g=new Set;t.__plugins=m;let b=()=>{if(t.isInDestruct)return;let i=!1;this.__getFullPluginsList(r).forEach(([o,r])=>{if(n.has(o)||f.has(o))return;let s=null==r?void 0:r.requires;if(s&&(0,a.isArray)(s)&&s.length){if(s.some(t=>n.has(t)))return;if(!s.every(t=>f.has(t)))return void g.add(o)}i=!0;let l=(0,h.makeInstance)(t,r);if(!l){f.set(o,null),g.delete(o);return}(0,d.init)(t,o,r,l,f,g,this.opts.getContainer),m[o]=l}),i&&(t.e.fire("updatePlugins"),b())};i&&i.length&&(0,u.loadExtras)(this.__items,t,i,b),b(),t.e.on("beforeDestruct",()=>{Object.keys(m).forEach(i=>{let n=m[i];(0,l.isDestructable)(n)&&n.destruct(t),delete m[i]}),delete t.__plugins}),o.IS_PROD||g.size}wait(t){return new Promise(i=>{if(this.get(t))return i();let n=()=>{i(),r.eventEmitter.off(`plugin:${t}:ready`,n)};r.eventEmitter.on(`plugin:${t}:ready`,n)})}constructor(t){this.opts=t,this.__items=new Map}}},20356:function(t,i,n){"use strict";n.d(i,{Plugin:function(){return l}});var o=n(91907),r=n(65478),s=n(19306),a=function(t,i,n,o){var r,s=arguments.length,a=s<3?i:null===o?o=Object.getOwnPropertyDescriptor(i,n):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(t,i,n,o);else for(var l=t.length-1;l>=0;l--)(r=t[l])&&(a=(s<3?r(a):s>3?r(i,n,a):r(i,n))||a);return s>3&&a&&Object.defineProperty(i,n,a),a};class l extends o.ViewComponent{className(){return"Plugin"}__afterPluginSystemInit(){let{j:t,buttons:i}=this;i&&(0,s.isJoditObject)(t)&&i.forEach(i=>{t.registerButton(i)})}__afterInit(){this.__inited=!0,this.setStatus(o.STATUSES.ready),this.afterInit(this.jodit)}init(t){this.jodit.isReady&&(this.afterInit(this.jodit),this.__afterPluginSystemInit(),this.jodit.e.fire("rebuildToolbar"))}__beforeDestruct(){var t;if(this.isInDestruct)return;let{j:i}=this;if(i.e.off("afterPluginSystemInit",this.__afterPluginSystemInit).off("afterInit",this.__afterInit).off("beforeDestruct",this.destruct),this.setStatus(o.STATUSES.beforeDestruct),!this.__inited)return super.destruct();(0,s.isJoditObject)(i)&&(null==(t=this.buttons)||t.forEach(t=>{null==i||i.unregisterButton(t)})),this.beforeDestruct(this.j),super.destruct()}constructor(t){super(t),this.buttons=[],this.hasStyle=!1,this.__inited=!1,t.e.on("afterPluginSystemInit",this.__afterPluginSystemInit).on("afterInit",this.__afterInit).on("beforeDestruct",this.__beforeDestruct)}}l.requires=[],a([r.autobind],l.prototype,"__afterPluginSystemInit",null),a([r.autobind],l.prototype,"__afterInit",null),a([r.autobind],l.prototype,"__beforeDestruct",null)},54079:function(t,i,n){"use strict";n.d(i,{Ajax:function(){return u}});var o=n(8884),r=n(82758),s=n(45219),a=n(21537),l=n(89890),c=n(6441);n(57459);var d=n(98582);class u{className(){return"Ajax"}__buildParams(t,i){return(0,a.isPlainObject)(t)&&this.options.contentType&&this.options.contentType.includes("application/json")?JSON.stringify(t):(0,a.isFunction)(this.o.queryBuild)?this.o.queryBuild.call(this,t,i):(0,a.isString)(t)||t instanceof r.globalWindow.FormData||"object"==typeof t&&null!=t&&(0,a.isFunction)(t.append)?t:(0,a.buildQuery)(t)}get o(){return this.options}abort(){if(this.__isFulfilled)return this;try{this.__isFulfilled=!0,this.xhr.abort()}catch(t){}return this}send(){this.__activated=!0;let{xhr:t,o:i}=this,n=this.prepareRequest();return this.__async.promise(async(o,r)=>{var s;let c=()=>{this.__isFulfilled=!0,r(l.connection("Connection error"))},u=()=>{this.__isFulfilled=!0,o(new d.Response(n,t.status,t.statusText,!t.responseType?t.responseText:t.response))};t.onload=u,t.onabort=()=>{this.__isFulfilled=!0,r(l.abort("Abort connection"))},t.onerror=c,t.ontimeout=c,i.responseType&&(t.responseType=i.responseType),t.onprogress=t=>{var i,n;let o=0;t.lengthComputable&&(o=t.loaded/t.total*100),null==(n=(i=this.options).onProgress)||n.call(i,o)},t.onreadystatechange=()=>{var n,o;null==(o=(n=this.options).onProgress)||o.call(n,10),t.readyState===XMLHttpRequest.DONE&&(i.successStatuses.includes(t.status)?u():t.statusText&&(this.__isFulfilled=!0,r(l.connection(t.statusText))))},t.withCredentials=null!=(s=i.withCredentials)&&s;let{url:h,data:p,method:f}=n;t.open(f,h,!0),i.contentType&&t.setRequestHeader&&t.setRequestHeader("Content-type",i.contentType);let{headers:m}=i;(0,a.isFunction)(m)&&(m=await m.call(this)),m&&t.setRequestHeader&&Object.keys(m).forEach(i=>{t.setRequestHeader(i,m[i])}),this.__async.setTimeout(()=>{t.send(p?this.__buildParams(p):void 0)},0)})}async *stream(){var t;this.__activated=!0;let{xhr:i,o:n}=this,o=this.prepareRequest(),r=0,s="",c=[],d=null,u=!1,h=null,p=()=>{if(d){let t=d;d=null,t()}},f=t=>{var n;let o=i.responseText;s+=o.substring(r),r=o.length;let a=s.split(`
|
|
19
19
|
|
|
20
20
|
`);for(let i of(s=t?"":null!=(n=a.pop())?n:"",a)){let t=i.trim();if(!t)continue;let n=[];for(let i of t.split(`
|
|
@@ -280,7 +280,7 @@
|
|
|
280
280
|
`)),p.appendChild(g)}(0,s.$$)("input[type=checkbox]:checked",b).forEach(t=>{t.value.split(/[\s]+/).forEach(t=>{f.classList.add(t)})}),t.s.restore(),t.s.removeMarkers(),t.editor.normalize(),t.history.snapshot.restore(c);let w=r.Dom.furthest(t.s.current(),r.Dom.isBlock,t.editor);if(w&&r.Dom.isEmpty(w))r.Dom.replace(w,f,void 0,!1,!0);else if(w){let i=u.text(`
|
|
281
281
|
`);if(t.o.table.splitBlockOnInsertTable){let n=t.s.range;n.collapse(!1),n.insertNode(i),n.collapse(!1),t.s.selectRange(n);let o=t.s.splitSelection(w,i);o?r.Dom.after(o,f):r.Dom.after(w,f)}else r.Dom.after(w,i),r.Dom.after(i,f)}else t.s.insertNode(f,!1);m&&(t.s.setCursorIn(m),(0,s.scrollIntoViewIfNeeded)(m,t.editor,t.ed)),n()};if(t.e.on(g,"mousemove",t=>{r.Dom.isTag(t.target,"span")&&_(t.target)}).on(g,"touchstart mousedown",t=>{r.Dom.isTag(t.target,"span")&&(t.preventDefault(),t.stopImmediatePropagation(),C(t.target))}).on(g,"keydown",t=>{if(!r.Dom.isTag(t.target,"span"))return;if(t.key===o.KEY_ENTER){t.preventDefault(),t.stopImmediatePropagation(),C(t.target);return}if(t.key===o.KEY_ESC){t.preventDefault(),t.stopImmediatePropagation(),n();return}let i=parseInt((0,a.attr)(t.target,"-index")||"0",10),s=Math.floor(i/h),l=i%h,c=i;switch(t.key){case o.KEY_LEFT:c=l>0?i-1:i;break;case o.KEY_RIGHT:c=l<h-1?i+1:i;break;case o.KEY_UP:c=s>0?i-h:i;break;case o.KEY_DOWN:c=s<u-1?i+h:i;break;default:return}t.preventDefault(),t.stopImmediatePropagation(),c!==i&&(y[i].tabIndex=-1,y[c].tabIndex=0,y[c].focus(),_(y[c]))}),l&&l.parentElement){for(let i=0;i<u;i+=1){let n=t.c.div();(0,a.attr)(n,"role","row");for(let t=0;t<h;t+=1)n.appendChild(y[i*h+t]);g.appendChild(n)}y[0]&&(y[0].className="hovered")}return p},tooltip:"Insert table"}},43003:function(t,i,n){"use strict";var o=n(580);n(40329),o.pluginSystem.add("table",function(t){t.registerButton({name:"table",group:"insert"})})},6091:function(t,i){"use strict";i.default='<svg xmlns=\'http://www.w3.org/2000/svg\' viewBox="0 0 1792 1792"> <path d="M576 1376v-192q0-14-9-23t-23-9h-320q-14 0-23 9t-9 23v192q0 14 9 23t23 9h320q14 0 23-9t9-23zm0-384v-192q0-14-9-23t-23-9h-320q-14 0-23 9t-9 23v192q0 14 9 23t23 9h320q14 0 23-9t9-23zm512 384v-192q0-14-9-23t-23-9h-320q-14 0-23 9t-9 23v192q0 14 9 23t23 9h320q14 0 23-9t9-23zm-512-768v-192q0-14-9-23t-23-9h-320q-14 0-23 9t-9 23v192q0 14 9 23t23 9h320q14 0 23-9t9-23zm512 384v-192q0-14-9-23t-23-9h-320q-14 0-23 9t-9 23v192q0 14 9 23t23 9h320q14 0 23-9t9-23zm512 384v-192q0-14-9-23t-23-9h-320q-14 0-23 9t-9 23v192q0 14 9 23t23 9h320q14 0 23-9t9-23zm-512-768v-192q0-14-9-23t-23-9h-320q-14 0-23 9t-9 23v192q0 14 9 23t23 9h320q14 0 23-9t9-23zm512 384v-192q0-14-9-23t-23-9h-320q-14 0-23 9t-9 23v192q0 14 9 23t23 9h320q14 0 23-9t9-23zm0-384v-192q0-14-9-23t-23-9h-320q-14 0-23 9t-9 23v192q0 14 9 23t23 9h320q14 0 23-9t9-23zm128-320v1088q0 66-47 113t-113 47h-1344q-66 0-113-47t-47-113v-1088q0-66 47-113t113-47h1344q66 0 113 47t47 113z"/> </svg> '},14984:function(t,i,n){"use strict";var o=n(21537),r=n(62843),s=n(2525),a=n(12153),l=n(6441),c=n(92762),d=n(37775);l.Config.prototype.video={parseUrlToVideoEmbed:o.convertMediaUrlToVideoEmbed,defaultWidth:400,defaultHeight:345},a.Icon.set("video",d.default),l.Config.prototype.controls.video={popup(t,i,n){let a=new s.UIForm(t,[new s.UIBlock(t,[new s.UIInput(t,{name:"url",required:!0,label:"URL",placeholder:"https://",validators:["url"]})]),new s.UIBlock(t,[(0,r.Button)(t,"","Insert","primary").onAction(()=>a.submit())])]),l=new s.UIForm(t,[new s.UIBlock(t,[new s.UITextArea(t,{name:"code",required:!0,label:"Embed code"})]),new s.UIBlock(t,[(0,r.Button)(t,"","Insert","primary").onAction(()=>l.submit())])]),d=[],u=i=>{t.s.restore(),t.s.insertHTML(i),n()};return t.s.save(),d.push({icon:"link",name:"Link",content:a.container},{icon:"source",name:"Code",content:l.container}),a.onSubmit(i=>{var n,r,s,a;u((0,o.call)(null!=(r=null==(n=t.o.video)?void 0:n.parseUrlToVideoEmbed)?r:o.convertMediaUrlToVideoEmbed,i.url,{width:null==(s=t.o.video)?void 0:s.defaultWidth,height:null==(a=t.o.video)?void 0:a.defaultHeight}))}),l.onSubmit(t=>{u(t.code)}),(0,c.TabsWidget)(t,d)},tags:["iframe"],tooltip:"Insert youtube/vimeo video"}},26551:function(t,i,n){"use strict";var o=n(580);n(14984),o.pluginSystem.add("video",function(t){t.registerButton({name:"video",group:"media"})})},37775:function(t,i){"use strict";i.default='<svg xmlns=\'http://www.w3.org/2000/svg\' viewBox="0 0 1792 1792"> <path d="M1792 352v1088q0 42-39 59-13 5-25 5-27 0-45-19l-403-403v166q0 119-84.5 203.5t-203.5 84.5h-704q-119 0-203.5-84.5t-84.5-203.5v-704q0-119 84.5-203.5t203.5-84.5h704q119 0 203.5 84.5t84.5 203.5v165l403-402q18-19 45-19 12 0 25 5 39 17 39 59z"/> </svg> '},96967:function(t,i,n){"use strict";n(6441).Config.prototype.wrapNodes={exclude:new Set(["hr","style","br"]),emptyBlockAfterInit:!0}},72253:function(t,i,n){"use strict";var o=n(65478),r=n(22732),s=n(580),a=n(70799),l=n(50911);n(96967);var c=function(t,i,n,o){var r,s=arguments.length,a=s<3?i:null===o?o=Object.getOwnPropertyDescriptor(i,n):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(t,i,n,o);else for(var l=t.length-1;l>=0;l--)(r=t[l])&&(a=(s<3?r(a):s>3?r(i,n,a):r(i,n))||a);return s>3&&a&&Object.defineProperty(i,n,a),a};class d extends l.Plugin{afterInit(t){"br"!==t.o.enter.toLowerCase()&&t.e.on("drop.wtn focus.wtn keydown.wtn mousedown.wtn afterInit.wtn backSpaceAfterDelete.wtn",this.preprocessInput,{top:!0}).on("afterInit.wtn postProcessSetEditorValue.wtn afterCommitStyle.wtn backSpaceAfterDelete.wtn",this.postProcessSetEditorValue)}beforeDestruct(t){t.e.off(".wtn")}postProcessSetEditorValue(){let{jodit:t}=this;if(!t.isEditorMode())return;let i=t.editor.firstChild,n=!1;for(;i;){if(i=function(t,i){let n=t,o=t;do if(r.Dom.isElement(o)&&r.Dom.isLeaf(o)&&!r.Dom.isList(o.parentElement)){let t=r.Dom.findNotEmptySibling(o,!1);r.Dom.isTag(n,"ul")?n.appendChild(o):n=r.Dom.wrap(o,"ul",i.createInside),o=t}else break;while(o)return n}(i,t),this.isSuitableStart(i)){n||t.s.save(),n=!0;let o=t.createInside.element(t.o.enter);for(r.Dom.before(i,o);i&&this.isSuitable(i);){let t=i.nextSibling;o.appendChild(i),i=t}o.normalize(),i=o}i=i&&i.nextSibling}n&&(t.s.restore(),"afterInit"===t.e.current&&t.e.fire("internalChange"))}preprocessInput(){let{jodit:t}=this,i="afterInit"===t.e.current;if(!t.isEditorMode()||t.editor.firstChild||!t.o.wrapNodes.emptyBlockAfterInit&&i)return;let n=t.createInside.element(t.o.enter),o=t.createInside.element("br");r.Dom.append(n,o),r.Dom.append(t.editor,n),(t.s.isFocused()||"backSpaceAfterDelete"===t.e.current)&&t.s.setCursorBefore(o),t.e.fire("internalChange")}constructor(){super(...arguments),this.isSuitableStart=t=>{var i;return r.Dom.isText(t)&&(0,a.isString)(t.nodeValue)&&(/[^\s]/.test(t.nodeValue)||(null==(i=t.parentNode)?void 0:i.firstChild)===t&&this.isSuitable(t.nextSibling))||this.isNotWrapped(t)&&!r.Dom.isTemporary(t)},this.isSuitable=t=>r.Dom.isText(t)||this.isNotWrapped(t),this.isNotWrapped=t=>r.Dom.isElement(t)&&!(r.Dom.isBlock(t)||r.Dom.isTag(t,this.j.o.wrapNodes.exclude))}}c([o.autobind],d.prototype,"postProcessSetEditorValue",null),c([o.autobind],d.prototype,"preprocessInput",null),s.pluginSystem.add("wrapNodes",d)},86012:function(t,i,n){"use strict";n(6441).Config.prototype.showXPathInStatusbar=!0},83671:function(t,i,n){"use strict";var o=n(82758),r=n(22732),s=n(580),a=n(49055),l=n(29960),c=n(76078),d=n(50911),u=n(80870),h=n(21491);n(86012);class p extends d.Plugin{afterInit(){if(this.j.o.showXPathInStatusbar){this.container=this.j.c.div("jodit-xpath"),(0,l.attr)(this.container,"role","list");let t=()=>{this.j.o.showXPathInStatusbar&&this.container&&(this.j.statusbar.append(this.container),this.j.getRealMode()===o.MODE_WYSIWYG?this.calcPath():(this.container&&(this.container.innerHTML=o.INVISIBLE_SPACE),this.appendSelectAll()))};this.j.e.off(".xpath").on("pointerup.xpath change.xpath keydown.xpath changeSelection.xpath",this.calcPath).on("afterSetMode.xpath afterInit.xpath changePlace.xpath",t),t(),this.calcPath()}}beforeDestruct(){this.j&&this.j.events&&this.j.e.off(".xpath"),this.removeSelectAll(),this.menu&&this.menu.destruct(),r.Dom.safeRemove(this.container),delete this.menu,delete this.container}constructor(){super(...arguments),this.onContext=(t,i)=>(this.menu||(this.menu=new u.ContextMenu(this.j)),this.menu.show(i.clientX,i.clientY,[{icon:"bin",title:t===this.j.editor?"Clear":"Remove",exec:()=>{t!==this.j.editor?r.Dom.safeRemove(t):this.j.value="",this.j.synchronizeValues()}},{icon:"select-all",title:"Select",exec:()=>{this.j.s.select(t)}}]),!1),this.onSelectPath=(t,i)=>{this.j.s.focus();let n=(0,l.attr)(i.target,"-path")||"/";if("/"===n)return this.j.execCommand("selectall"),!1;try{let t=this.j.ed.evaluate(n,this.j.editor,null,XPathResult.ANY_TYPE,null).iterateNext();if(t)return this.j.s.select(t),!1}catch(t){}return this.j.s.select(t),!1},this.tpl=(t,i,n,o)=>{let r=this.j.c.fromHTML(`<span class="jodit-xpath__item"><a role="button" data-path="${i}" title="${o}" tabindex="-1"'>${(0,a.trim)(n)}</a></span>`),s=r.firstChild;return this.j.e.on(s,"click",this.onSelectPath.bind(this,t)).on(s,"contextmenu",this.onContext.bind(this,t)),r},this.removeSelectAll=()=>{this.selectAllButton&&(this.selectAllButton.destruct(),delete this.selectAllButton)},this.appendSelectAll=()=>{this.removeSelectAll(),this.selectAllButton=(0,h.makeButton)(this.j,{name:"selectall",...this.j.o.controls.selectall}),this.selectAllButton.state.size="tiny",this.container&&this.container.insertBefore(this.selectAllButton.container,this.container.firstChild)},this.calcPathImd=()=>{if(this.isDestructed)return;let t=this.j.s.current();if(this.container&&(this.container.innerHTML=o.INVISIBLE_SPACE),t){let i,n,o;r.Dom.up(t,t=>{t&&this.j.editor!==t&&!r.Dom.isText(t)&&!r.Dom.isComment(t)&&(i=t.nodeName.toLowerCase(),n=(0,c.getXPathByElement)(t,this.j.editor).replace(/^\//,""),o=this.tpl(t,n,i,this.j.i18n("Select %s",i)),this.container&&this.container.insertBefore(o,this.container.firstChild))},this.j.editor)}this.appendSelectAll()},this.calcPath=this.j.async.debounce(this.calcPathImd,2*this.j.defaultTimeout,!0)}}s.pluginSystem.add("xpath",p)},78173:function(t,i){"use strict";i.default='<svg xmlns=\'http://www.w3.org/2000/svg\' viewBox="0 0 1792 1792"> <path d="M1395 736q0 13-10 23l-466 466q-10 10-23 10t-23-10l-466-466q-10-10-10-23t10-23l50-50q10-10 23-10t23 10l393 393 393-393q10-10 23-10t23 10l50 50q10 10 10 23z"/> </svg> '},16260:function(t,i){"use strict";i.default='<svg xmlns=\'http://www.w3.org/2000/svg\' viewBox="0 0 1792 1792"> <path d="M1203 544q0 13-10 23l-393 393 393 393q10 10 10 23t-10 23l-50 50q-10 10-23 10t-23-10l-466-466q-10-10-10-23t10-23l466-466q10-10 23-10t23 10l50 50q10 10 10 23z"/> </svg> '},37663:function(t,i){"use strict";i.default='<svg xmlns=\'http://www.w3.org/2000/svg\' viewBox="0 0 1792 1792"> <path d="M1171 960q0 13-10 23l-466 466q-10 10-23 10t-23-10l-50-50q-10-10-10-23t10-23l393-393-393-393q-10-10-10-23t10-23l50-50q10-10 23-10t23 10l466 466q10 10 10 23z"/> </svg> '},51036:function(t,i){"use strict";i.default='<svg xmlns=\'http://www.w3.org/2000/svg\' viewBox="0 0 1792 1792"> <path d="M1395 1184q0 13-10 23l-50 50q-10 10-23 10t-23-10l-393-393-393 393q-10 10-23 10t-23-10l-50-50q-10-10-10-23t10-23l466-466q10-10 23-10t23 10l466 466q10 10 10 23z"/> </svg> '},31554:function(t,i){"use strict";i.default='<svg xmlns=\'http://www.w3.org/2000/svg\' viewBox="0 0 1792 1792"> <path d="M704 1376v-704q0-14-9-23t-23-9h-64q-14 0-23 9t-9 23v704q0 14 9 23t23 9h64q14 0 23-9t9-23zm256 0v-704q0-14-9-23t-23-9h-64q-14 0-23 9t-9 23v704q0 14 9 23t23 9h64q14 0 23-9t9-23zm256 0v-704q0-14-9-23t-23-9h-64q-14 0-23 9t-9 23v704q0 14 9 23t23 9h64q14 0 23-9t9-23zm-544-992h448l-48-117q-7-9-17-11h-317q-10 2-17 11zm928 32v64q0 14-9 23t-23 9h-96v948q0 83-47 143.5t-113 60.5h-832q-66 0-113-58.5t-47-141.5v-952h-96q-14 0-23-9t-9-23v-64q0-14 9-23t23-9h309l70-167q15-37 54-63t79-26h320q40 0 79 26t54 63l70 167h309q14 0 23 9t9 23z"/> </svg> '},18309:function(t,i){"use strict";i.default='<svg viewBox="0 0 14 14" xmlns="http://www.w3.org/2000/svg"> <g stroke="none" stroke-width="1"> <path d="M14,1.4 L12.6,0 L7,5.6 L1.4,0 L0,1.4 L5.6,7 L0,12.6 L1.4,14 L7,8.4 L12.6,14 L14,12.6 L8.4,7 L14,1.4 Z"/> </g> </svg> '},99762:function(t,i){"use strict";i.default='<svg xmlns=\'http://www.w3.org/2000/svg\' viewBox="0 0 1792 1792"> <path d="M1792 1344v128q0 26-19 45t-45 19h-1664q-26 0-45-19t-19-45v-128q0-26 19-45t45-19h1664q26 0 45 19t19 45zm-384-384v128q0 26-19 45t-45 19h-896q-26 0-45-19t-19-45v-128q0-26 19-45t45-19h896q26 0 45 19t19 45zm256-384v128q0 26-19 45t-45 19h-1408q-26 0-45-19t-19-45v-128q0-26 19-45t45-19h1408q26 0 45 19t19 45zm-384-384v128q0 26-19 45t-45 19h-640q-26 0-45-19t-19-45v-128q0-26 19-45t45-19h640q26 0 45 19t19 45z"/> </svg> '},7903:function(t,i){"use strict";i.default='<svg xmlns=\'http://www.w3.org/2000/svg\' viewBox="0 0 1792 1792"> <path d="M1472 930v318q0 119-84.5 203.5t-203.5 84.5h-832q-119 0-203.5-84.5t-84.5-203.5v-832q0-119 84.5-203.5t203.5-84.5h832q63 0 117 25 15 7 18 23 3 17-9 29l-49 49q-10 10-23 10-3 0-9-2-23-6-45-6h-832q-66 0-113 47t-47 113v832q0 66 47 113t113 47h832q66 0 113-47t47-113v-254q0-13 9-22l64-64q10-10 23-10 6 0 12 3 20 8 20 29zm231-489l-814 814q-24 24-57 24t-57-24l-430-430q-24-24-24-57t24-57l110-110q24-24 57-24t57 24l263 263 647-647q24-24 57-24t57 24l110 110q24 24 24 57t-24 57z"/> </svg> '},58032:function(t,i){"use strict";i.default='<svg xmlns=\'http://www.w3.org/2000/svg\' viewBox="0 0 10 10"> <path d="M.941 4.523a.75.75 0 1 1 1.06-1.06l3.006 3.005 3.005-3.005a.75.75 0 1 1 1.06 1.06l-3.549 3.55a.75.75 0 0 1-1.168-.136L.941 4.523z"/> </svg> '},52507:function(t,i){"use strict";i.default='<svg xmlns=\'http://www.w3.org/2000/svg\' viewBox="0 0 24 24" > <circle cx="12" cy="12" r="2.2"/> <circle cx="12" cy="5" r="2.2"/> <circle cx="12" cy="19" r="2.2"/> </svg> '},43478:function(t,i){"use strict";i.default='<svg xmlns=\'http://www.w3.org/2000/svg\' viewBox="0 0 1792 1792"> <path d="M1664 960q-152-236-381-353 61 104 61 225 0 185-131.5 316.5t-316.5 131.5-316.5-131.5-131.5-316.5q0-121 61-225-229 117-381 353 133 205 333.5 326.5t434.5 121.5 434.5-121.5 333.5-326.5zm-720-384q0-20-14-34t-34-14q-125 0-214.5 89.5t-89.5 214.5q0 20 14 34t34 14 34-14 14-34q0-86 61-147t147-61q20 0 34-14t14-34zm848 384q0 34-20 69-140 230-376.5 368.5t-499.5 138.5-499.5-139-376.5-368q-20-35-20-69t20-69q140-229 376.5-368t499.5-139 499.5 139 376.5 368q20 35 20 69z"/> </svg> '},60097:function(t,i){"use strict";i.default='<svg xmlns=\'http://www.w3.org/2000/svg\' viewBox="0 0 1792 1792"> <path d="M1152 512v-472q22 14 36 28l408 408q14 14 28 36h-472zm-128 32q0 40 28 68t68 28h544v1056q0 40-28 68t-68 28h-1344q-40 0-68-28t-28-68v-1600q0-40 28-68t68-28h800v544z"/> </svg> '},49155:function(t,i){"use strict";i.default='<svg xmlns=\'http://www.w3.org/2000/svg\' viewBox="0 0 1792 1792"> <path d="M1728 608v704q0 92-66 158t-158 66h-1216q-92 0-158-66t-66-158v-960q0-92 66-158t158-66h320q92 0 158 66t66 158v32h672q92 0 158 66t66 158z"/> </svg> '},17555:function(t,i,n){"use strict";n.r(i),n.d(i,{angle_down:function(){return o.default},angle_left:function(){return r.default},angle_right:function(){return s.default},angle_up:function(){return a.default},bin:function(){return l.default},cancel:function(){return c.default},center:function(){return d.default},check:function(){return u.default},chevron:function(){return h.default},dots:function(){return p.default},eye:function(){return f.default},file:function(){return m.default},folder:function(){return g.default},info_circle:function(){return b.default},left:function(){return y.default},lock:function(){return w.default},ok:function(){return _.default},pencil:function(){return C.default},plus:function(){return k.default},resize_handler:function(){return S.default},right:function(){return x.default},save:function(){return I.default},settings:function(){return E.default},unlock:function(){return T.default},update:function(){return j.default},upload:function(){return A.default},valign:function(){return P.default}});var o=n(78173),r=n(16260),s=n(37663),a=n(51036),l=n(31554),c=n(18309),d=n(99762),u=n(7903),h=n(58032),p=n(52507),f=n(43478),m=n(60097),g=n(49155),b=n(17176),y=n(57882),w=n(58908),_=n(24829),C=n(4038),k=n(45575),S=n(84858),x=n(445),I=n(36886),E=n(10766),T=n(33651),j=n(20362),A=n(12202),P=n(80152)},17176:function(t,i){"use strict";i.default='<svg xmlns=\'http://www.w3.org/2000/svg\' viewBox="0 0 1792 1792"> <path d="M1152 1376v-160q0-14-9-23t-23-9h-96v-512q0-14-9-23t-23-9h-320q-14 0-23 9t-9 23v160q0 14 9 23t23 9h96v320h-96q-14 0-23 9t-9 23v160q0 14 9 23t23 9h448q14 0 23-9t9-23zm-128-896v-160q0-14-9-23t-23-9h-192q-14 0-23 9t-9 23v160q0 14 9 23t23 9h192q14 0 23-9t9-23zm640 416q0 209-103 385.5t-279.5 279.5-385.5 103-385.5-103-279.5-279.5-103-385.5 103-385.5 279.5-279.5 385.5-103 385.5 103 279.5 279.5 103 385.5z"/> </svg> '},57882:function(t,i){"use strict";i.default='<svg xmlns=\'http://www.w3.org/2000/svg\' viewBox="0 0 1792 1792"> <path d="M1792 1344v128q0 26-19 45t-45 19h-1664q-26 0-45-19t-19-45v-128q0-26 19-45t45-19h1664q26 0 45 19t19 45zm-384-384v128q0 26-19 45t-45 19h-1280q-26 0-45-19t-19-45v-128q0-26 19-45t45-19h1280q26 0 45 19t19 45zm256-384v128q0 26-19 45t-45 19h-1536q-26 0-45-19t-19-45v-128q0-26 19-45t45-19h1536q26 0 45 19t19 45zm-384-384v128q0 26-19 45t-45 19h-1152q-26 0-45-19t-19-45v-128q0-26 19-45t45-19h1152q26 0 45 19t19 45z"/> </svg> '},58908:function(t,i){"use strict";i.default='<svg xmlns=\'http://www.w3.org/2000/svg\' viewBox="0 0 1792 1792"><path d="M640 768h512v-192q0-106-75-181t-181-75-181 75-75 181v192zm832 96v576q0 40-28 68t-68 28h-960q-40 0-68-28t-28-68v-576q0-40 28-68t68-28h32v-192q0-184 132-316t316-132 316 132 132 316v192h32q40 0 68 28t28 68z"/></svg> '},24829:function(t,i){"use strict";i.default='<svg xmlns=\'http://www.w3.org/2000/svg\' viewBox="0 0 32 32"> <path d="M27 4l-15 15-7-7-5 5 12 12 20-20z"/> </svg> '},4038:function(t,i){"use strict";i.default='<svg xmlns=\'http://www.w3.org/2000/svg\' viewBox="0 0 1792 1792"><path d="M491 1536l91-91-235-235-91 91v107h128v128h107zm523-928q0-22-22-22-10 0-17 7l-542 542q-7 7-7 17 0 22 22 22 10 0 17-7l542-542q7-7 7-17zm-54-192l416 416-832 832h-416v-416zm683 96q0 53-37 90l-166 166-416-416 166-165q36-38 90-38 53 0 91 38l235 234q37 39 37 91z"/></svg> '},45575:function(t,i){"use strict";i.default='<svg xmlns=\'http://www.w3.org/2000/svg\' viewBox="0 0 1792 1792"><path d="M1600 736v192q0 40-28 68t-68 28h-416v416q0 40-28 68t-68 28h-192q-40 0-68-28t-28-68v-416h-416q-40 0-68-28t-28-68v-192q0-40 28-68t68-28h416v-416q0-40 28-68t68-28h192q40 0 68 28t28 68v416h416q40 0 68 28t28 68z"/></svg> '},84858:function(t,i){"use strict";i.default='<svg viewBox="0 0 13 13" xmlns="http://www.w3.org/2000/svg"> <path d="M5.9814 11.8049C5.59087 11.4144 5.59087 10.7812 5.9814 10.3907L10.224 6.14806C10.6146 5.75754 11.2477 5.75754 11.6383 6.14806C12.0288 6.53859 12.0288 7.17175 11.6383 7.56228L7.39561 11.8049C7.00509 12.1954 6.37192 12.1954 5.9814 11.8049Z"/> <path d="M0.707107 12.0208C0.316582 11.6303 0.316582 10.9971 0.707107 10.6066L10.6066 0.707121C10.9971 0.316597 11.6303 0.316596 12.0208 0.707121C12.4113 1.09764 12.4113 1.73081 12.0208 2.12133L2.12132 12.0208C1.7308 12.4114 1.09763 12.4114 0.707107 12.0208Z"/> </svg> '},445:function(t,i){"use strict";i.default='<svg xmlns=\'http://www.w3.org/2000/svg\' viewBox="0 0 1792 1792"> <path d="M1792 1344v128q0 26-19 45t-45 19h-1664q-26 0-45-19t-19-45v-128q0-26 19-45t45-19h1664q26 0 45 19t19 45zm0-384v128q0 26-19 45t-45 19h-1280q-26 0-45-19t-19-45v-128q0-26 19-45t45-19h1280q26 0 45 19t19 45zm0-384v128q0 26-19 45t-45 19h-1536q-26 0-45-19t-19-45v-128q0-26 19-45t45-19h1536q26 0 45 19t19 45zm0-384v128q0 26-19 45t-45 19h-1152q-26 0-45-19t-19-45v-128q0-26 19-45t45-19h1152q26 0 45 19t19 45z"/> </svg> '},36886:function(t,i){"use strict";i.default='<svg xmlns=\'http://www.w3.org/2000/svg\' viewBox="0 0 1792 1792"> <path d="M512 1536h768v-384h-768v384zm896 0h128v-896q0-14-10-38.5t-20-34.5l-281-281q-10-10-34-20t-39-10v416q0 40-28 68t-68 28h-576q-40 0-68-28t-28-68v-416h-128v1280h128v-416q0-40 28-68t68-28h832q40 0 68 28t28 68v416zm-384-928v-320q0-13-9.5-22.5t-22.5-9.5h-192q-13 0-22.5 9.5t-9.5 22.5v320q0 13 9.5 22.5t22.5 9.5h192q13 0 22.5-9.5t9.5-22.5zm640 32v928q0 40-28 68t-68 28h-1344q-40 0-68-28t-28-68v-1344q0-40 28-68t68-28h928q40 0 88 20t76 48l280 280q28 28 48 76t20 88z"/> </svg> '},10766:function(t,i){"use strict";i.default='<svg viewBox="0 0 48 48" xmlns="http://www.w3.org/2000/svg"> <path stroke="null" d="m42.276011,26.302547c0.098397,-0.76605 0.172194,-1.54407 0.172194,-2.33406s-0.073797,-1.56801 -0.172194,-2.33406l5.202718,-3.961917c0.467384,-0.359086 0.602679,-1.005441 0.29519,-1.532101l-4.919828,-8.29489c-0.307489,-0.51469 -0.947067,-0.730142 -1.500548,-0.51469l-6.125186,2.405877c-1.266856,-0.945594 -2.656707,-1.747553 -4.157255,-2.357999l-0.922468,-6.343855c-0.110696,-0.562568 -0.614979,-1.005441 -1.229957,-1.005441l-9.839656,0c-0.614979,0 -1.119261,0.442873 -1.217657,1.005441l-0.922468,6.343855c-1.500548,0.610446 -2.890399,1.400436 -4.157255,2.357999l-6.125186,-2.405877c-0.553481,-0.203482 -1.193058,0 -1.500548,0.51469l-4.919828,8.29489c-0.307489,0.51469 -0.172194,1.161045 0.29519,1.532101l5.190419,3.961917c-0.098397,0.76605 -0.172194,1.54407 -0.172194,2.33406s0.073797,1.56801 0.172194,2.33406l-5.190419,3.961917c-0.467384,0.359086 -0.602679,1.005441 -0.29519,1.532101l4.919828,8.29489c0.307489,0.51469 0.947067,0.730142 1.500548,0.51469l6.125186,-2.405877c1.266856,0.945594 2.656707,1.747553 4.157255,2.357999l0.922468,6.343855c0.098397,0.562568 0.602679,1.005441 1.217657,1.005441l9.839656,0c0.614979,0 1.119261,-0.442873 1.217657,-1.005441l0.922468,-6.343855c1.500548,-0.610446 2.890399,-1.400436 4.157255,-2.357999l6.125186,2.405877c0.553481,0.203482 1.193058,0 1.500548,-0.51469l4.919828,-8.29489c0.307489,-0.51469 0.172194,-1.161045 -0.29519,-1.532101l-5.190419,-3.961917zm-18.277162,6.044617c-4.759934,0 -8.609699,-3.746465 -8.609699,-8.378677s3.849766,-8.378677 8.609699,-8.378677s8.609699,3.746465 8.609699,8.378677s-3.849766,8.378677 -8.609699,8.378677z"/> </svg> '},33651:function(t,i){"use strict";i.default='<svg xmlns=\'http://www.w3.org/2000/svg\' viewBox="0 0 1792 1792"> <path d="M1728 576v256q0 26-19 45t-45 19h-64q-26 0-45-19t-19-45v-256q0-106-75-181t-181-75-181 75-75 181v192h96q40 0 68 28t28 68v576q0 40-28 68t-68 28h-960q-40 0-68-28t-28-68v-576q0-40 28-68t68-28h672v-192q0-185 131.5-316.5t316.5-131.5 316.5 131.5 131.5 316.5z"/> </svg> '},20362:function(t,i){"use strict";i.default='<svg xmlns=\'http://www.w3.org/2000/svg\' viewBox="0 0 1792 1792"> <path d="M1639 1056q0 5-1 7-64 268-268 434.5t-478 166.5q-146 0-282.5-55t-243.5-157l-129 129q-19 19-45 19t-45-19-19-45v-448q0-26 19-45t45-19h448q26 0 45 19t19 45-19 45l-137 137q71 66 161 102t187 36q134 0 250-65t186-179q11-17 53-117 8-23 30-23h192q13 0 22.5 9.5t9.5 22.5zm25-800v448q0 26-19 45t-45 19h-448q-26 0-45-19t-19-45 19-45l138-138q-148-137-349-137-134 0-250 65t-186 179q-11 17-53 117-8 23-30 23h-199q-13 0-22.5-9.5t-9.5-22.5v-7q65-268 270-434.5t480-166.5q146 0 284 55.5t245 156.5l130-129q19-19 45-19t45 19 19 45z"/> </svg> '},12202:function(t,i){"use strict";i.default='<svg xmlns=\'http://www.w3.org/2000/svg\' viewBox="0 0 1792 1792"> <path d="M1344 1472q0-26-19-45t-45-19-45 19-19 45 19 45 45 19 45-19 19-45zm256 0q0-26-19-45t-45-19-45 19-19 45 19 45 45 19 45-19 19-45zm128-224v320q0 40-28 68t-68 28h-1472q-40 0-68-28t-28-68v-320q0-40 28-68t68-28h427q21 56 70.5 92t110.5 36h256q61 0 110.5-36t70.5-92h427q40 0 68 28t28 68zm-325-648q-17 40-59 40h-256v448q0 26-19 45t-45 19h-256q-26 0-45-19t-19-45v-448h-256q-42 0-59-40-17-39 14-69l448-448q18-19 45-19t45 19l448 448q31 30 14 69z"/> </svg> '},80152:function(t,i){"use strict";i.default='<svg xmlns=\'http://www.w3.org/2000/svg\' viewBox="0 0 1792 1792"> <path d="M1216 320q0 26-19 45t-45 19h-128v1024h128q26 0 45 19t19 45-19 45l-256 256q-19 19-45 19t-45-19l-256-256q-19-19-19-45t19-45 45-19h128v-1024h-128q-26 0-45-19t-19-45 19-45l256-256q19-19 45-19t45 19l256 256q19 19 19 45z"/> </svg> '},62357:function(t,i,n){"use strict";n.d(i,{UIRange:function(){return c}});var o=n(82749),r=n(31635),s=n(65478),a=n(21537),l=n(67510);class c extends l.UIInput{className(){return"UIRange"}appendUIRange(){let t=this.j.create.div(this.getFullElName("slider"));this.container.appendChild(t);let i=this.j.create.div(this.getFullElName("handle"));t.appendChild(i);let n=this.j.create.div(this.getFullElName("log")),o=this.getElm("label");o&&o.appendChild(n)}onDragStart(t){this.startValue=parseFloat(this.value)||0,this.startX=t.clientX;let i=this.getElm("slider");(0,a.assert)(null!=i,"slider element does not exists"),this.width=i.offsetWidth,this.j.e.on(this.j.ow,"mousemove",this.onDrag)}onDrag(t){let{min:i,max:n,step:o=1}=this.state,r=(t.clientX-this.startX)/this.width*(this.state.max-this.state.min),s=this.startValue+r;s<i&&(s=i),s>n&&(s=n),s=Math.round(s/o)*o,this.value=s.toFixed(10)}onDragEnd(){this.j.e.off(this.j.ow,"mousemove",this.onDrag)}onChangeSelfValue(){let t=this.getElm("handle"),i=parseFloat(this.value)||0;(0,a.assert)(null!=t,"Handle element does not exist"),(0,a.css)(t,{left:(i-this.state.min)/(this.state.max-this.state.min)*100+"%"});let n=this.getElm("log");(0,a.assert)(null!=n,"log element does not exist"),n.innerText=i.toString()}destruct(){return this.onDragEnd(),super.destruct()}constructor(t,i){super(t,{...i,type:"hidden"}),(0,o._)(this,"state",{...l.UIInput.defaultState,min:0,max:100,step:1}),(0,o._)(this,"startValue",0),(0,o._)(this,"startX",0),(0,o._)(this,"width",100),Object.assign(this.state,i),this.appendUIRange(),this.onChangeSelfValue()}}(0,r.__decorate)([(0,s.watch)(["handle:mousedown","handle:touchstart"])],c.prototype,"onDragStart",null),(0,r.__decorate)([s.autobind],c.prototype,"onDrag",null),(0,r.__decorate)([(0,s.watch)(["j.ow:mouseup","j.ow:touchend"])],c.prototype,"onDragEnd",null),(0,r.__decorate)([(0,s.watch)(":change")],c.prototype,"onChangeSelfValue",null),c=(0,r.__decorate)([s.component],c)},31356:function(t,i,n){"use strict";n.d(i,{ListReconciler:function(){return o}});class o{static reconcile(t,i,n){let{getId:o,isEqual:r=(t,i)=>o(t)===o(i),preserveOrder:s=!0}=n,a=new Map,l=new Map;t.forEach((t,i)=>{let n=o(t);a.set(n,t),l.set(n,i)});let c=new Map,d=new Map;i.forEach((t,i)=>{let n=o(t);c.set(n,t),d.set(n,i)});let u=[],h=[],p=[],f=[];return i.forEach((t,i)=>{let n=o(t),c=a.get(n);c?!r(c,t)||s&&l.get(n)!==i?h.push({oldItem:c,newItem:t,index:s?i:l.get(n)}):f.push(c):u.push(t)}),t.forEach(t=>{let i=o(t);c.has(i)||p.push(t)}),{toCreate:u,toUpdate:h,toRemove:p,unchanged:f}}static applyResult(t,i,n={}){i.toRemove.forEach(i=>{let o=t.indexOf(i);-1!==o&&(n.onRemove?.(i,o),t.splice(o,1))}),i.toUpdate.forEach(({oldItem:i,newItem:o,index:r})=>{let s=t.indexOf(i);-1!==s&&(n.onUpdate?.(i,o,r),t[s]=o)}),i.toCreate.forEach(i=>{n.onCreate?.(i,t.length),t.push(i)})}}},2692:function(t,i,n){"use strict";n.d(i,{JoditPro:function(){return l}});var o=n(82758),r=n(63799),s=n(41180),a=n(86019);class l extends a.Jodit{static make(t,i){return new this(t,i)}beforeInitHook(){if(o.IS_PROD&&!o.IS_TEST&&this.o.loadExternalConfig)return(0,r.appendScriptAsync)(this,this.basePath+"config.js")}afterInitHook(){(async()=>{if(await this.e.fire("checkReserve",location.host)!=="normal"){if(this.isInDestruct)return;let t=this.c.div("",'Trial version. Buy <a href="https://xdsoft.net/jodit/pro/">Jodit Pro</a>');o.IS_TEST||o.IS_PROD,(0,s.css)(t,{position:"absolute",color:"red",right:10,bottom:10}),this.addDisclaimer(t)}})().catch(()=>null),super.afterInitHook()}getVersion(){return"PRO "+o.APP_VERSION}}},41810:function(t,i,n){"use strict";var o=n(82749),r=n(31635);n(66645);var s=n(86449),a=n(21020),l=n(46166),c=n(62895),d=n(55487),u=n(27769),h=n(58579),p=n(63805),f=n(82758),m=n(65478),g=n(580),b=n(21537),y=n(50911),w=n(2692),_=n(18549),C=n(54747);class k extends y.Plugin{get state(){return this.stateManager.state}get toolRegistry(){return new d.ToolRegistry(this.j)}get permissionManager(){return new a.PermissionManager(this.j,this.toolRegistry)}get apiClient(){return new s.APIClient(this.j,this.toolRegistry)}get storage(){let{storage:t,storageKey:i,maxConversations:n}=this.j.o.aiAssistantPro;if("string"==typeof t){let o=(0,c.createStorageProvider)(t,i);return new c.WebStorageConversationStorage(o,n)}return t}get stateManager(){return new l.StateManager(this.j)}get mainPanel(){return new u.UIMainPanel(this.j,this.stateManager.state,this.j.o.aiAssistantPro,t=>{let i=this.stateManager.getCurrentConversation();i&&this.stateManager.setCurrentConversation({...i,...t})})}get dialog(){let t=this.j.dlg({resizable:this.j.o.aiAssistantPro.resizable,eventEmmiter:this.j.e});return t.e.on(t,"afterClose",()=>{this.j.e.fire("closeAIAssistantPro.ai-assistant-pro")}),t}setupTextAutocomplete(){let{textAutocompleteEnabled:t,textAutocompleteApiRequest:i,textAutocompleteMinQueryLength:n,textAutocompleteMaxSuggestions:o,textAutocompleteDebounceMs:r,textAutocompleteCacheTTL:s,textAutocompleteCacheMaxSize:a}=this.j.o.aiAssistantPro;if(!t||!i)return;this.j.o.autocomplete={...this.j.o.autocomplete,displayMode:"inline"};let l=this.textAutocompleteCache,c=null;this.textAutocompleteSource=t=>{if(t.length<n)return[];let d=`${t}:${o}`;if(s>0){let t=l.get(d);if(t&&Date.now()-t.ts<s)return t.data.map(t=>({value:t,title:t}))}c&&clearTimeout(c);let u=new AbortController;return new Promise(n=>{c=setTimeout(async()=>{try{let r=await i(t,o,u.signal);if(Array.isArray(r)){let t=r.slice(0,o);if(s>0){if(l.size>=a){let t=l.keys().next().value;null!=t&&l.delete(t)}l.set(d,{ts:Date.now(),data:t})}n(t.map(t=>({value:t,title:t})));return}n([])}catch{n([])}},r)})},this.j.e.fire("registerAutocompleteSource",this.textAutocompleteSource)}afterInit(){(0,g.extendLang)(p),this.setupEventListeners(),this.setupTextAutocomplete(),this.j.async.promise(t=>{let{initiallyOpened:i,persistOpenState:n}=this.j.o.aiAssistantPro,o=i;n?this.storage.getGlobalSettings().then(t=>{if(t?.isOpen!=null&&(o=t.isOpen),o)return this.openAssistant()}).catch(()=>null).finally(()=>t(void 0)):t(void 0)}).catch(()=>null)}__loadData(){return this.__initedPromise?this.__initedPromise:this.isDestructed?Promise.reject():(this.__initedPromise=this.j.async.promise(t=>{this.loadInitialData().then(t)}).catch(()=>null),this.__initedPromise)}async loadInitialData(){this.mainPanel.setMod("ready",!0),await (0,h.loadInitialData)(this.j,this.storage,this.stateManager),await this.restorePendingToolCalls()}async restorePendingToolCalls(){let t=this.stateManager.getCurrentConversation();if(!t)return;let i=(0,h.findMessagesWithPendingToolCalls)(t);if(0!==i.length)for(let t of i)await this.handleToolCalls(t.id)}setupEventListeners(){this.j.e.on("selectConversation.ai-assistant-pro",async t=>{try{await this.__loadData(),await (0,h.handleConversationSelect)(t,this.storage,this.stateManager)}catch(t){f.IS_PROD}}),this.j.e.on("newConversation.ai-assistant-pro",async()=>{await this.__loadData();let t=(0,h.createNewConversation)(this.j,this.state.defaultModel,this.state.defaultTemperature);this.stateManager.setCurrentConversation(t)}),this.j.e.on("deleteConversation.ai-assistant-pro",async t=>{await this.__loadData(),await this.deleteConversation(t)}),this.j.e.on("renameConversation.ai-assistant-pro",async(t,i)=>{await this.__loadData(),await this.renameConversation(t,i)}),this.j.e.on("backToList.ai-assistant-pro",async()=>{await this.__loadData(),await (0,h.handleBackToList)(this.storage,this.stateManager)}),this.j.e.on("removeContext.ai-assistant-pro",async t=>{await this.__loadData(),this.stateManager.removeSelectionContext(t)}),this.j.e.on("approveToolCall.ai-assistant-pro",async(t,i)=>{try{await this.__loadData();let n=await (0,h.handleToolApproval)(t,i,this.stateManager,this.permissionManager,this.storage);if(n){let t=this.stateManager.getCurrentConversation();if(!t)return;let i=t.messages.find(t=>t.toolCalls?.some(t=>t.id===n.id));if(!i)return;await this.executeToolCall(i.id,n)}}catch(t){if((0,b.isAbortError)(t))return;this.stateManager.setError(t instanceof Error?t.message:t+"")}}),this.j.e.on("denyToolCall.ai-assistant-pro",async t=>{await this.__loadData(),await (0,h.handleToolDenial)(this.j,t,this.stateManager,this.storage)}),this.j.e.on("abortRequest.ai-assistant-pro",async()=>{await this.__loadData(),this.apiClient.abort(),this.stateManager.setLoading(!1)})}__applyTheme(){(0,h.applyTheme)(this.j,this.stateManager.state.theme,this.stateManager.state.displayMode,this.mainPanel.container,this.dialog)}async openAssistant(){if(this.stateManager.isOpen()){this.stateManager.close(),await this.__closeInContainer();return}await this.__loadData(),this.isDestructed||(this.stateManager.open(),await this.__openInContainer(),this.j.o.aiAssistantPro.includeSelectionByDefault&&!this.j.s.isCollapsed()&&this.addCurrentSelectionToContext())}async __openInContainer(){let{resizable:t,allowClose:i,flightPanelHeight:n}=this.j.o.aiAssistantPro,{displayMode:o="right",panelWidth:r,panelHeight:s}=this.stateManager.state;switch(this.__applyTheme(),this.mainPanel.setMod("displayMode",o),this.mainPanel.setMod("allowClose",i),this.mainPanel.setParentView("dialog"===o||"flight"===o?this.dialog:this.j),this.__openedMode=o,o){case"dialog":this.dialog.setSize(r,s).open().setContent(this.mainPanel.container);break;case"flight":_.UIFlightPosition.install(this.mainPanel,this.j.container,{panelHeight:n,containerClassName:this.getFullElName("flight-container")});break;default:t&&(C.UIResize.remove(this.mainPanel),C.UIResize.install(this.mainPanel,(0,h.invertMode)(o),{handleClassName:this.getFullElName("ai-assistent-resize-handle"),onResize:({newSize:t})=>{let i="left"===o||"right"===o?t:r,n="top"===o||"bottom"===o?t:s;return this.stateManager.state.panelWidth=i,this.stateManager.state.panelHeight=n,!0}})),this.j.currentPlace.slots[o].appendChild(this.mainPanel.container),(0,h.resizeInPanelView)(this.j,o,r,s)}}__onResizeInPanelView(){let{displayMode:t,panelWidth:i,panelHeight:n}=this.stateManager.state;(0,h.resizeInPanelView)(this.j,t,i,n)}async __closeInContainer(){let{displayMode:t}=await this.stateManager.state;switch(this.__openedMode!==t&&"dialog"===this.__openedMode&&this.dialog.close(),this.__openedMode!==t&&"flight"===this.__openedMode&&this.__closeFlightMode(),t){case"dialog":this.dialog.close();break;case"flight":this.__closeFlightMode();break;default:this.mainPanel.container.remove()}}__closeFlightMode(){_.UIFlightPosition.remove(this.mainPanel)}__onSavedStateChange(){let t=this.stateManager.state;return this.storage.saveGlobalSettings({displayMode:t.displayMode,panelWidth:t.panelWidth,panelHeight:t.panelHeight,theme:t.theme,defaultModel:t.defaultModel,defaultTemperature:t.defaultTemperature,currentConversationId:t.currentConversation?.id,...this.j.o.aiAssistantPro.persistOpenState?{isOpen:t.isOpen}:{}})}async closeAssistant(){this.stateManager.isOpen()&&(await this.__loadData(),this.stateManager.close(),this.__closeInContainer())}async addCurrentSelectionToContext(){await this.__loadData();let t=(0,h.getCurrentSelectionContext)(this.j);t&&this.stateManager.addSelectionContext(t)}async executeQuickCommand(t){let i,{quickCommandsSilentMode:n,quickCommandsDisplayMode:o}=this.j.o.aiAssistantPro,r=this.j.o.aiAssistant;if(r&&r[t]&&(0,b.isString)(r[t])&&(i=r[t]),!i)return void this.j.e.fire("error","Command not found: "+t);let s=this.j.s.isCollapsed()?this.j.value:this.j.s.html;if(!s)return;let a=r?.aiCommonPrefixPrompt||"",l=r?.aiCommonSuffixPrompt||"",c=`${a}${i}${l}
|
|
282
282
|
|
|
283
|
-
${s}`.trim();n?await this.__executeQuickCommandSilent(c,s):await this.__executeQuickCommandWithPanel(c,o)}async __executeQuickCommandSilent(t,i){await this.__loadData(),this.j.progressbar.show().progress(100);try{let i=(0,h.createUserMessage)(t),n=(0,h.createNewConversation)(this.j,this.state.defaultModel,this.state.defaultTemperature,[i]),o=await this.apiClient.sendRequest(n.id,n.messages,null,[],n.options);if("final"===o.mode){let t=o.response.content;t&&this.j.s.insertHTML(t)}}catch(t){(0,b.isAbortError)(t)||this.j.e.fire("error",t)}finally{this.j.progressbar.hide()}}async __executeQuickCommandWithPanel(t,i){await this.__loadData();let n=this.stateManager.state.displayMode;this.stateManager.state.displayMode=i;let o=(0,h.getCurrentSelectionContext)(this.j);o&&this.stateManager.addSelectionContext(o),this.stateManager.isOpen()||await this.openAssistant(),await this.sendMessage(t),this.stateManager.state.displayMode=n}async sendMessage(t){await this.__loadData();let i=this.stateManager.getCurrentConversation(),n=this.stateManager.getEditingMessageId();if(n&&i){let t=i.messages.findIndex(t=>t.id===n);if(-1!==t){let n=i.messages.slice(0,t),o={...i,messages:n,updatedAt:Date.now()};this.stateManager.setCurrentConversation(o),await this.storage.save(o),this.stateManager.clearEditingMessage(),i=o}}i||(i=(0,h.createNewConversation)(this.j,this.state.defaultModel,this.state.defaultTemperature),this.stateManager.setCurrentConversation(i));let o=null;t.trim()&&(o=(0,h.createUserMessage)(t),i.title||(i={...i,title:t}),i={...i,updated:Date.now(),messages:[...i.messages,o]}),this.stateManager.setCurrentConversation({...i}),o&&this.j.e.fire("messageSent.ai-assistant-pro",o),this.stateManager.setLoading(!0),this.stateManager.clearError();try{await this.sendRequestToAI(0),this.stateManager.clearSelectionContexts()}catch(t){if((0,b.isAbortError)(t))return;this.stateManager.setError(t instanceof Error?t.message:t+"")}finally{this.stateManager.setLoading(!1)}}async sendRequestToAI(t=0){let i,n,o=this.j.o.aiAssistantPro.maxRecursionToolCallDepth;if(t>=o)throw Error(`Max recursion depth ${o} reached for tool calls`);let r=this.stateManager.getCurrentConversation();if(!r)return;let s=(0,h.findParentMessageId)(r),[a]=await Promise.all([this.apiClient.sendRequest(r.id,r.messages,s,this.stateManager.getSelectionContexts(),r.options),this.storage.save(r)]);if("stream"===a.mode){let t=await (0,h.processStreamingResponse)(this.stateManager,a,r);i=t.aiMessage,n=t.index,r=t.conversation}else{let t=(0,h.processFinalResponse)(a,r);i=t.aiMessage,n=t.index,r=t.conversation}r=await (0,h.processArtifacts)(this.j,i,r,n),this.j.e.fire("messageReceived.ai-assistant-pro",i),this.stateManager.setCurrentConversation({...r}),await this.storage.save(r),await this.handleToolCalls(i.id,t)}async deleteConversation(t){await this.__loadData(),await (0,h.deleteConversationWithCleanup)(this.j,t,this.storage,this.stateManager,this.permissionManager)}async renameConversation(t,i){let n=await this.storage.get(t);if(!n)return;let o={...n,title:i,updated:Date.now()};await this.storage.save(o),this.state.currentConversation?.id===t&&this.stateManager.setCurrentConversation(o);let r=await this.storage.list();this.stateManager.setConversations(r)}async searchConversations(t){await this.__loadData(),await (0,h.handleConversationSearch)(t,this.storage,this.stateManager)}async handleToolCalls(t,i=0){let n=this.stateManager.getCurrentConversation();if(!n)return;let o=n.messages.find(i=>i.id===t);if(!o)return;let r=o.toolCalls;if(!r||0===r.length)return;let s=r.filter(t=>!(0,h.isTerminalToolCallStatus)(t.status));if(0===s.length)return;let{approved:a,needsPermission:l}=this.permissionManager.filterToolCalls(s,n.permissions);for(let n of(this.stateManager.setPendingToolCalls(l),a))await this.executeToolCall(t,n,i)}async executeToolCall(t,i,n=0){let o=this.stateManager.getCurrentConversation();if(!o)return;let r=await (0,h.executeToolCall)(this.j,i,this.toolRegistry),s=o.messages.findIndex(i=>i.id===t);if(-1===s)return;let a=o.messages[s],l=o.messages.slice();l[s]=(0,h.updateToolCallInMessage)(a,r),o={...o,messages:l,updated:Date.now()},this.stateManager.setCurrentConversation(o),(0,h.areAllToolCallsExecuted)(o)&&await this.sendRequestToAI(n+1)}async copyMessage(t){let i=this.stateManager.getCurrentConversation();if(!i)return;let n=i.messages.find(i=>i.id===t);if(n)try{await navigator.clipboard.writeText(n.content),this.j.message.success("Message copied to clipboard")}catch(t){this.j.e.fire("error",Error("Failed to copy message"))}}async restartFromMessage(t){let i=this.stateManager.getCurrentConversation();if(!i)return;let n=i.messages.findIndex(i=>i.id===t);if(-1===n)return;let o=i.messages[n];if("user"!==o.role)return;await this.__loadData();let r=i.messages.slice(0,n),s={...i,messages:r,updatedAt:Date.now()};this.stateManager.setCurrentConversation(s),await this.storage.save(s),await this.sendMessage(o.content)}async editMessage(t){let i=this.stateManager.getCurrentConversation();if(!i)return;let n=i.messages.find(i=>i.id===t);n&&"user"===n.role&&(this.stateManager.setEditingMessageId(t),this.mainPanel.inputArea.setValue(n.content),this.mainPanel.inputArea.focus())}cancelEditMessage(){this.stateManager.isEditingMessage()&&(this.stateManager.clearEditingMessage(),this.mainPanel.inputArea.setValue(""))}async deleteMessage(t){await this.__loadData();let i=this.stateManager.getCurrentConversation();if(!i||-1===i.messages.findIndex(i=>i.id===t))return;let n=i.messages.filter(i=>i.id!==t),o={...i,messages:n,updatedAt:Date.now()};this.stateManager.setCurrentConversation(o),await this.storage.save(o)}beforeDestruct(){this.textAutocompleteSource&&(this.j.e.fire("unregisterAutocompleteSource",this.textAutocompleteSource),this.textAutocompleteSource=null),this.textAutocompleteCache.clear(),this.__closeFlightMode(),(0,m.cached)(this,"toolRegistry")?.destruct(),(0,m.cached)(this,"permissionManager")?.destruct(),(0,m.cached)(this,"apiClient")?.destruct(),(0,m.cached)(this,"stateManager")?.destruct(),(0,m.cached)(this,"mainPanel")?.destruct(),(0,m.cached)(this,"dialog")?.destruct(),(0,m.cached)(this,"storage")?.close?.()}constructor(...t){super(...t),(0,o._)(this,"buttons",[{name:"aiAssistantPro",group:"insert"},{name:"aiCommandsPro",group:"insert"}]),(0,o._)(this,"textAutocompleteSource",null),(0,o._)(this,"textAutocompleteCache",new Map),(0,o._)(this,"__initedPromise",null),(0,o._)(this,"__openedMode",null)}}(0,o._)(k,"requires",["license","autocomplete"]),(0,r.__decorate)([m.cache],k.prototype,"toolRegistry",null),(0,r.__decorate)([m.cache],k.prototype,"permissionManager",null),(0,r.__decorate)([m.cache],k.prototype,"apiClient",null),(0,r.__decorate)([m.cache],k.prototype,"storage",null),(0,r.__decorate)([m.cache],k.prototype,"stateManager",null),(0,r.__decorate)([m.cache],k.prototype,"mainPanel",null),(0,r.__decorate)([m.cache],k.prototype,"dialog",null),(0,r.__decorate)([(0,m.watch)("state.theme")],k.prototype,"__applyTheme",null),(0,r.__decorate)([(0,m.watch)(":openAIAssistantPro.ai-assistant-pro")],k.prototype,"openAssistant",null),(0,r.__decorate)([(0,m.watch)([":resize","state.panelWidth","state.panelHeight"])],k.prototype,"__onResizeInPanelView",null),(0,r.__decorate)([(0,m.watch)(["state.isOpen","state.displayMode","state.panelWidth","state.panelHeight","state.theme","state.defaultModel","state.defaultTemperature","state.currentConversation"]),(0,m.debounce)()],k.prototype,"__onSavedStateChange",null),(0,r.__decorate)([(0,m.watch)(":closeAIAssistantPro.ai-assistant-pro")],k.prototype,"closeAssistant",null),(0,r.__decorate)([(0,m.watch)(":addContextToAIAssistant.ai-assistant-pro")],k.prototype,"addCurrentSelectionToContext",null),(0,r.__decorate)([(0,m.watch)(":executeQuickCommand.ai-assistant-pro")],k.prototype,"executeQuickCommand",null),(0,r.__decorate)([(0,m.watch)(":sendMessage.ai-assistant-pro")],k.prototype,"sendMessage",null),(0,r.__decorate)([(0,m.watch)(":searchConversations.ai-assistant-pro")],k.prototype,"searchConversations",null),(0,r.__decorate)([(0,m.watch)(":copyMessage.ai-assistant-pro")],k.prototype,"copyMessage",null),(0,r.__decorate)([(0,m.watch)(":restartFromMessage.ai-assistant-pro")],k.prototype,"restartFromMessage",null),(0,r.__decorate)([(0,m.watch)(":editMessage.ai-assistant-pro")],k.prototype,"editMessage",null),(0,r.__decorate)([(0,m.watch)(":cancelEditMessage.ai-assistant-pro")],k.prototype,"cancelEditMessage",null),(0,r.__decorate)([(0,m.watch)(":deleteMessage.ai-assistant-pro")],k.prototype,"deleteMessage",null),k=(0,r.__decorate)([m.component],k),w.JoditPro.plugins.add("aiAssistantPro",k)},66645:function(t,i,n){"use strict";var o=n(47373),r=n(94668),s=n.n(r),a=n(86428),l=n.n(a),c=n(75966),d=n.n(c),u=n(83207),h=n.n(u),p=n(99293),f=n.n(p),m=n(99219),g=n.n(m),b=n(63674),y=n.n(b),w=n(4133),_=n.n(w),C=n(94454),k=n(53835),S=n(6441),x=n(12153),I=n(31974),E=n(72573);x.Icon.set("ai-assistant-pro",l()).set("ai-commands-pro",d()).set("ai-add-context",s()).set("send",g()).set("microphone",f()).set("tool-bolt",_()).set("chevron-right",h()).set("shield",y()),S.Config.prototype.aiAssistantPro={displayMode:"right",panelWidth:400,panelHeight:500,flightPanelHeight:250,dialogFullSize:!1,resizable:!0,apiMode:"incremental",apiRequest:null,maxRetries:3,requestTimeout:3e5,retryDelay:1e3,maxRecursionToolCallDepth:1e3,enabledTools:(0,k.getToolNames)(),customTools:[],toolPermissions:{},autoApproveTools:["readDocument","readBlocks","readSelection","insertHTML","addHTML"],alwaysDenyTools:[],defaultPermissionScope:"conversation",storage:"indexedDB",maxConversations:50,storageKey:"jodit-ai-assistant-pro",showConversationList:!0,enableMarkdown:!0,enableCodeHighlight:!0,maxMessageHeight:400,placeholderText:"Ask AI assistant...",sendShortcut:"Ctrl+Enter",showTimestamps:!0,formatTimestamp(t,i){let n=new Date(t),o=new Date().getTime()-n.getTime();return o<6e4?i("Just now"):o<36e5?i("%dm ago",Math.floor(o/6e4)):o<864e5?i("%dh ago",Math.floor(o/36e5)):n.toLocaleTimeString([],{hour:"2-digit",minute:"2-digit"})},formatMessageContent:(t,i)=>E.marked.parse(t,{breaks:!0,gfm:!0}),showAvatars:!0,showTypingIndicator:!0,includeSelectionByDefault:!0,maxContextRanges:5,showContextPreview:!0,sendOnEnter:!0,instructions:void 0,includeEditorMetadata:!1,autoOpen:!0,rememberLastConversation:!0,autoFocusInput:!0,voiceInputEnabled:!1,closeAfterInsert:!1,enableSoundNotifications:!1,debug:!1,textAutocompleteEnabled:!1,textAutocompleteApiRequest:null,textAutocompleteMinQueryLength:3,textAutocompleteMaxSuggestions:3,textAutocompleteDebounceMs:500,textAutocompleteCacheTTL:3e4,textAutocompleteCacheMaxSize:50,quickCommandsSilentMode:!1,quickCommandsDisplayMode:"flight",showCopyMessageAction:!0,showRestartMessageAction:!0,showEditMessageAction:!0,showDeleteMessageAction:!0,dialogSettings:{},allowEditDialogSettings:!1,allowEditDisplayMode:!0,allowEditPanelWidth:!0,initiallyOpened:!1,allowClose:!0,persistOpenState:!0,theme:"parent",allowEditTheme:!0,async uploadBase64Artifact(t,i){if("image"===t.type&&t.data&&"base64"===t.data.kind)try{let n=(0,o.base64ToFile)(t.data.base64,t.id,t.mimeType),r=await i.uploader.upload([n]);return{...t,data:{kind:"url",url:r.baseurl+r.files[0]},metadata:{...t.metadata,filename:r.files[0]}}}catch(t){i.e.fire("error",t)}return t},getAIProviderOptions:(t,i)=>(0,C.getAIProviderOptions)(t,i),registerAIProvider(t,i){(0,C.registerAIProvider)(t,i)}},S.Config.prototype.controls.aiAssistantPro={icon:"ai-assistant-pro",tooltip:"AI Assistant",hotkeys:["ctrl+shift+a","cmd+shift+a"],exec(t){t.e.fire("openAIAssistantPro.ai-assistant-pro")},isDisabled:t=>!t.o.aiAssistantPro.apiRequest,getLabel:t=>t.o.aiAssistantPro.apiRequest?"AI Assistant":"AI Assistant (not configured)"},S.Config.prototype.controls.aiAddContext={icon:"ai-add-context",tooltip:"Add to AI Context",exec(t){t.e.fire("addContextToAIAssistant")},isDisabled:t=>!t.o.aiAssistantPro.apiRequest||t.s.isCollapsed()},S.Config.prototype.controls.aiCommandsPro={icon:"ai-commands-pro",tooltip:"AI Commands",isDisabled:t=>!t.o.aiAssistantPro.apiRequest,list:I.aiAssitentCommands,exec(t,i,{control:n}){t.e.fire("executeQuickCommand.ai-assistant-pro",n.name)}};let T=S.Config.prototype.tuneBlock?.popup||{},j={};["p","h1","h2","h3","h4","h5","h6","div","section","article","pre","blockquote","ul","ol","li","table","tr","td","th","img","figure"].forEach(t=>{let i=T[t]||["tune.up","tune.remove","tune.down"];j[t]=[...i,"|","aiAddContext"]}),S.Config.prototype.tuneBlock&&(S.Config.prototype.tuneBlock.popup={...T,...j})},6689:function(t,i,n){"use strict";n.d(i,{throwIfAborted:function(){return r}});var o=n(93661);function r(t){if(t.aborted)throw(0,o.abort)()}},61872:function(t,i,n){"use strict";n.d(i,{processArtifacts:function(){return a},processFinalResponse:function(){return s},processStreamingResponse:function(){return r}});var o=n(61558);async function r(t,i,n){let r=(0,o.createAIMessage)(),s=-1;for await(let a of i.stream){switch(a.type){case"created":r={...r,id:a.response.responseId,content:""},s=n.messages.length;break;case"text-delta":r={...r,content:r.content+a.delta};break;case"completed":r={...r,id:a.response.responseId,toolCalls:a.response.toolCalls||[],artifacts:a.response.artifacts||[]};break;case"error":{let t=(0,o.createErrorMessage)(a.error);r={...r,id:t.id,content:t.content}}}if(r.id){let i=n.messages.slice();i[s>=0?s:n.messages.length]=r,n={...n,messages:i,updated:Date.now()},t.setCurrentConversation(n)}}return{aiMessage:r,index:s,conversation:n}}function s(t,i){let n={...(0,o.createAIMessage)(),id:t.response.responseId,content:t.response.content,toolCalls:t.response.toolCalls||[],artifacts:t.response.artifacts||[]},r=i.messages.slice();return r.push(n),{aiMessage:n,index:(i={...i,messages:r,updated:Date.now()}).messages.length-1,conversation:i}}async function a(t,i,n,r){if(i.artifacts&&i.artifacts.length>0){let s=n.messages.slice();return s[r]={...s[r],artifacts:await (0,o.uploadArtifacts)(t,i.artifacts)},{...n,messages:s,updated:Date.now()}}return n}},49459:function(t,i,n){"use strict";function o(t,i,n={}){let r=t[i];if("string"!=typeof r||!n.allowEmpty&&""===r)throw Error(`Parameter "${i}" is required and must be a${n.allowEmpty?"":" non-empty"} string`);return r}n.d(i,{requireString:function(){return o}})},44526:function(t,i,n){"use strict";n.d(i,{resolveBlock:function(){return r}});var o=n(22732);function r(t,{selector:i,index:n,requireExactlyOne:s=!1}={}){let a=null!=i&&""!==i.trim(),l=null!=n;if(s&&a===l)throw Error("Either index or selector must be provided, but not both");if(!a&&!l)throw Error("Block identifier is required");if(a){if("string"!=typeof i)throw Error("Selector must be a string");let n=t.editor.querySelector(i);if(!n)throw Error(`No element found matching selector "${i}"`);if(!o.Dom.isElement(n))throw Error(`Selector "${i}" does not point to an element node`);return{element:n,identifier:`with selector "${i}"`}}if("number"!=typeof n)throw Error("Block index must be a number");let c=Array.from(t.editor.children);if(n<0||n>=c.length)throw Error(`Block index ${n} is out of range. Document has ${c.length} blocks`);let d=c[n];if(!o.Dom.isElement(d))throw Error(`Block at index ${n} is not a valid element`);return{element:d,identifier:"at index "+n}}},70308:function(t,i,n){"use strict";n.d(i,{areAllToolCallsExecuted:function(){return c},createNewConversation:function(){return r},findMessagesWithPendingToolCalls:function(){return d},findParentMessageId:function(){return s},isTerminalToolCallStatus:function(){return l}});var o=n(21064);function r(t,i,n,s=[]){let a=t.o.aiAssistantPro,l={id:(0,o.generateConversationId)(),created:Date.now(),updated:Date.now(),messages:s,permissions:[],options:{model:i??a.defaultModel,temperature:n??a.defaultTemperature}};return t.e.fire("conversationCreated.ai-assistant-pro",l),l}function s(t){for(let i=t.messages.length-1;i>=0;i--){let n=t.messages[i];if("assistant"===n.role&&!n.id.startsWith("error_"))return n.id}return null}let a=new Set(["executed","denied","error"]);function l(t){return a.has(t)}function c(t){let i=t.messages[t.messages.length-1];return!!i?.toolCalls&&i.toolCalls.every(t=>l(t.status))}function d(t){return t.messages.filter(t=>t.toolCalls&&t.toolCalls.length>0&&t.toolCalls.some(t=>!l(t.status)))}},473:function(t,i,n){"use strict";n.d(i,{handleBackToList:function(){return c},handleConversationSearch:function(){return d},handleConversationSelect:function(){return l},handleToolApproval:function(){return s},handleToolDenial:function(){return a}});var o=n(79078),r=n(82758);async function s(t,i,n,o,r){let s=n.getPendingToolCalls().find(i=>i.id===t);if(!s)return null;let a=o.grantPermission(s.name,i),l=n.getCurrentConversation();return l&&(l.permissions.push(a),await r.save(l)),n.removePendingToolCall(t),{...s,status:"approved"}}async function a(t,i,n,r){let s=n.getPendingToolCalls().find(t=>t.id===i);if(!s)return;let a=n.getCurrentConversation();if(!a)return;let l=a.messages.findIndex(t=>t.toolCalls?.find(t=>t.id===i));if(-1===l)return;let c=a.messages[l],d={...s,result:{error:"Tool call denied by user."},status:"denied"},u=(0,o.updateToolCallInMessage)(c,d),h=[...a.messages];h[l]=u,a={...a,messages:h,updated:Date.now()},n.setCurrentConversation(a),await r.save(a),t.e.fire("toolCallDenied.ai-assistant-pro",s),n.removePendingToolCall(i)}async function l(t,i,n){try{n.setLoading(!0);let o=await i.get(t);if(!o)throw Error("Conversation not found: "+t);n.setCurrentConversation({...o})}catch(t){r.IS_PROD}finally{n.setLoading(!1)}}async function c(t,i){i.setView("conversationList");try{i.setLoading(!0);let n=await t.list().catch(()=>[]);i.setConversations(n)}finally{i.setLoading(!1)}}async function d(t,i,n){n.setLoading(!0);try{let o=await i.list(t||void 0);n.setConversations(o),n.setView("conversationList")}finally{n.setLoading(!1)}}},58579:function(t,i,n){"use strict";n.d(i,{applyTheme:function(){return u.applyTheme},areAllToolCallsExecuted:function(){return r.areAllToolCallsExecuted},createNewConversation:function(){return r.createNewConversation},createUserMessage:function(){return a.createUserMessage},deleteConversationWithCleanup:function(){return d.deleteConversationWithCleanup},executeToolCall:function(){return h.executeToolCall},findMessagesWithPendingToolCalls:function(){return r.findMessagesWithPendingToolCalls},findParentMessageId:function(){return r.findParentMessageId},getCurrentSelectionContext:function(){return c.getCurrentSelectionContext},handleBackToList:function(){return s.handleBackToList},handleConversationSearch:function(){return s.handleConversationSearch},handleConversationSelect:function(){return s.handleConversationSelect},handleToolApproval:function(){return s.handleToolApproval},handleToolDenial:function(){return s.handleToolDenial},invertMode:function(){return l.invertMode},isTerminalToolCallStatus:function(){return r.isTerminalToolCallStatus},loadInitialData:function(){return d.loadInitialData},processArtifacts:function(){return o.processArtifacts},processFinalResponse:function(){return o.processFinalResponse},processStreamingResponse:function(){return o.processStreamingResponse},resizeInPanelView:function(){return l.resizeInPanelView},updateToolCallInMessage:function(){return h.updateToolCallInMessage}});var o=n(61872),r=n(70308),s=n(473),a=n(61558),l=n(71050),c=n(15927),d=n(56110),u=n(53014),h=n(79078)},61558:function(t,i,n){"use strict";n.d(i,{createAIMessage:function(){return s},createErrorMessage:function(){return a},createUserMessage:function(){return r},uploadArtifacts:function(){return l}});var o=n(21064);function r(t){return{id:(0,o.generateMessageId)(),role:"user",content:t,timestamp:Date.now()}}function s(){return{id:"",role:"assistant",content:"",artifacts:[],timestamp:Date.now(),toolCalls:[]}}function a(t){return{id:"error_"+(0,o.generateMessageId)(),role:"assistant",content:"❌ Error: "+t.message,timestamp:Date.now(),toolCalls:[],artifacts:[]}}async function l(t,i){if(!i||0===i.length)return i;let n=t.o.aiAssistantPro.uploadBase64Artifact;return n?Promise.all(i.map(async i=>n(i,t)??i)):i}},71050:function(t,i,n){"use strict";n.d(i,{invertMode:function(){return r},resizeInPanelView:function(){return s}});var o=n(41180);function r(t){switch(t){case"left":return"right";case"right":return"left";case"top":return"bottom";case"bottom":return"top"}}function s(t,i,n,s){if("dialog"===i||"flight"===i)return;("left"===i||"right"===i)&&(t.currentPlace.slots[r(i)]?.style.setProperty(`--jd-slot-${r(i)}-width`,"auto"),t.currentPlace.slots[i]?.style.setProperty(`--jd-slot-${i}-width`,`${n}px`));let a=(0,o.css)(t.currentPlace.workplace,"height")??0;t.currentPlace.slots[i]?.style.setProperty("min-height",`${Math.min(a,s)}px`)}},15927:function(t,i,n){"use strict";function o(t){if(t.s.isCollapsed())return null;let i=t.s.html,n=t.s.range;return{html:i,rangeInfo:{startContainer:n.startContainer.nodeName,startOffset:n.startOffset,endContainer:n.endContainer.nodeName,endOffset:n.endOffset}}}n.d(i,{getCurrentSelectionContext:function(){return o}})},56110:function(t,i,n){"use strict";n.d(i,{deleteConversationWithCleanup:function(){return r},loadInitialData:function(){return s}});var o=n(82758);async function r(t,i,n,o,r){try{o.setLoading(!0),await n.delete(i),o.removeConversation(i),r.clearConversationPermissions(i);let s=o.getCurrentConversation();s?.id===i&&o.setCurrentConversation(null);let a=await n.list();o.setConversations(a),o.setView(0===a.length?"welcome":"conversationList"),t.e.fire("conversationDeleted.ai-assistant-pro",i)}catch(i){t.alert(t.i18n("Failed to delete conversation")+": "+(i?.message||"Unknown error"))}finally{o.setLoading(!1)}}async function s(t,i,n){n.setLoading(!0);try{let[o,r]=await Promise.all([i.list().catch(()=>[]),i.getGlobalSettings().catch(()=>null)]);if(n.setConversations(o),r&&n.setSavedState(r),0===o.length)n.setView("welcome");else if(t.o.aiAssistantPro.rememberLastConversation&&r?.currentConversationId){let t=o.find(t=>t.id===r.currentConversationId)??o[0],s=await i.get(t.id);s?n.setCurrentConversation(s):n.setView("conversationList")}else n.setView("conversationList")}catch(t){o.IS_PROD,n.setView("welcome")}finally{n.setLoading(!1)}}},53014:function(t,i,n){"use strict";n.d(i,{applyTheme:function(){return s}});let o=["jodit_theme_dark","jodit-ai-assistant-pro_theme_dark","jodit-dialog_theme_dark"],r=["jodit_theme_light","jodit-ai-assistant-pro_theme_light","jodit-dialog_theme_light"];function s(t,i,n,s,a){let l;if(s?.classList.remove(...o),s?.classList.remove(...r),"dialog"===n){let t=a?.container;t?.classList.remove(...o),t?.classList.remove(...r)}if(l="dark"===i?o:r,s?.classList.add(...l),"dialog"===n){let t=a?.container;t?.classList.add(...l)}}},79078:function(t,i,n){"use strict";async function o(t,i,n){let o;try{let t=new AbortController().signal,r=await n.executeTool(i.name,i.arguments,t);o={...i,result:{result:r},status:"executed"}}catch(n){o={...i,result:{error:n instanceof Error?n.message:n+""},status:"error"},t.e.fire("toolCallFailed.ai-assistant-pro",o)}return t.e.fire("toolCallExecuted.ai-assistant-pro",o,{toolCallId:o.id,result:o.result}),o}function r(t,i){let n=t.toolCalls?.findIndex(t=>t.id===i.id);if(null==n||-1===n)return t;let o=[...t?.toolCalls??[]];return o[n]=i,{...t,toolCalls:o}}n.d(i,{executeToolCall:function(){return o},updateToolCallInMessage:function(){return r}})},86449:function(t,i,n){"use strict";n.d(i,{APIClient:function(){return a}});var o=n(82749),r=n(82758),s=n(21537);class a{async sendRequest(t,i,n,o,a){let{apiRequest:l,requestTimeout:c,maxRetries:d}=this.jodit.o.aiAssistantPro;if(!l)throw Error("AI Assistant Pro callback is not configured");let u=new AbortController;this.abortControllers.add(u);try{let h=this.buildRequestContext(t,i,n,o,a),p=null;for(let t=0;d>=t;t++)try{if(u.signal.aborted)throw(0,s.abort)();let t=setTimeout(()=>{u.abort()},c);try{let i=await l(h,u.signal);return clearTimeout(t),this.validateResponse(i),i}catch(i){throw clearTimeout(t),i}}catch(i){if(p=i,r.IS_PROD,d>t){let i=this.calculateRetryDelay(t);await this.sleep(i)}else throw i}throw p||Error("API request failed after all retries")}finally{this.abortControllers.delete(u)}}abort(){this.abortControllers.forEach(t=>{t.abort()}),this.abortControllers.clear()}isInProgress(){return this.abortControllers.size>0}buildRequestContext(t,i,n,o,r){let s,{apiMode:a,instructions:l}=this.jodit.o.aiAssistantPro,c={mode:a,conversationId:t,tools:this.toolRegistry.getAllTools(),selectionContexts:o,conversationOptions:r,instructions:l};if("full"===a)s=i;else if(n){let t=i.findIndex(t=>t.id===n);s=-1!==t?i.slice(t+1):i,c={...c,parentMessageId:n}}else s=i;return{...c,messages:this.expandToolMessages(s,i.find(t=>t.id===n))}}expandToolMessages(t,i){let n=[];for(let i of t)n.push(i),this.expandToolResultsMessage(i,n);return i&&this.expandToolResultsMessage(i,n),n}expandToolResultsMessage(t,i){if(t.toolCalls&&t.toolCalls.length>0)for(let n of t.toolCalls){let o=n.result??{error:"result not found"};if(i.find(t=>t.id===`${n.id}-result`))continue;let r={id:`${n.id}-result`,role:"tool",content:o.error?"Error: "+o.error:JSON.stringify(o.result),timestamp:t.timestamp,toolResults:[{toolCallId:n.id,result:o}]};i.push(r)}}validateResponse(t){if("final"!==t.mode)return;let i=t.response;if(!i)throw Error("API returned empty response");if(!i.responseId)throw Error("API response missing responseId");if(void 0===i.content)throw Error("API response missing content");if(void 0===i.finished)throw Error("API response missing finished flag");if(i.toolCalls){if(!Array.isArray(i.toolCalls))throw Error("API response toolCalls must be an array");i.toolCalls.forEach((t,i)=>{if(!t.id)throw Error(`Tool call at index ${i} is missing id`);if(!t.name)throw Error(`Tool call at index ${i} is missing name`);if(!t.arguments||"object"!=typeof t.arguments)throw Error(`Tool call at index ${i} has invalid arguments`)})}}calculateRetryDelay(t){let{retryDelay:i}=this.jodit.o.aiAssistantPro;return i*Math.pow(2,t)+Math.random()*i}sleep(t){return new Promise(i=>setTimeout(i,t))}destruct(){this.abort()}constructor(t,i){(0,o._)(this,"jodit",void 0),(0,o._)(this,"toolRegistry",void 0),(0,o._)(this,"abortControllers",void 0),this.jodit=t,this.toolRegistry=i,this.abortControllers=new Set}}},47373:function(t,i,n){"use strict";function o(t,i,n="image/png"){let r=atob(t),s=r.length,a=new Uint8Array(s);for(let t=0;s>t;t++)a[t]=r.charCodeAt(t);return new File([new Blob([a],{type:n})],i,{type:n})}n.d(i,{base64ToFile:function(){return o}})},21020:function(t,i,n){"use strict";n.d(i,{PermissionManager:function(){return r}});var o=n(82749);class r{requiresPermission(t){let{autoApproveTools:i,alwaysDenyTools:n}=this.jodit.o.aiAssistantPro;if(n.includes(t))return!0;if(i.includes(t))return!1;let o=this.toolRegistry.getTool(t);return!o||o.requiresPermission}isAutoDenied(t){let{alwaysDenyTools:i}=this.jodit.o.aiAssistantPro;return i.includes(t)}isAutoApproved(t){let{autoApproveTools:i}=this.jodit.o.aiAssistantPro;return i.includes(t)}checkPermission(t,i){if(this.isAutoApproved(t))return{toolName:t,granted:!0,grantedAt:Date.now(),scope:"once"};if(this.isAutoDenied(t))return null;let n=this.permanentPermissions.get(t);return n&&n.granted?n:i.find(i=>i.toolName===t&&i.granted)||null}grantPermission(t,i){let n={toolName:t,granted:!0,grantedAt:Date.now(),scope:i};return"forever"===i&&(this.permanentPermissions.set(t,n),this.savePermanentPermissions()),n}denyPermission(t){return{toolName:t,granted:!1,grantedAt:Date.now(),scope:"once"}}filterToolCalls(t,i){let n=[],o=[],r=[];for(let s of t){if(this.isAutoDenied(s.name)){r.push({...s,status:"denied"});continue}if(this.isAutoApproved(s.name)){n.push({...s,status:"approved"});continue}let t=this.checkPermission(s.name,i);t&&t.granted?n.push({...s,status:"approved"}):this.requiresPermission(s.name)?(this.jodit.e.fire("permissionRequested.ai-assistant-pro",s.name),o.push({...s,status:"pending"})):n.push({...s,status:"approved"})}return{approved:n,needsPermission:o,denied:r}}clearConversationPermissions(t){}loadPermanentPermissions(){try{let t=localStorage.getItem(this.PERMANENT_PERMISSIONS_KEY);t&&JSON.parse(t).forEach(t=>{"forever"===t.scope&&t.granted&&this.permanentPermissions.set(t.toolName,t)})}catch(t){}}savePermanentPermissions(){try{let t=Array.from(this.permanentPermissions.values());localStorage.setItem(this.PERMANENT_PERMISSIONS_KEY,JSON.stringify(t))}catch(t){}}clearPermanentPermissions(){this.permanentPermissions.clear(),localStorage.removeItem(this.PERMANENT_PERMISSIONS_KEY)}getPermanentPermissions(){return Array.from(this.permanentPermissions.values())}revokePermanentPermission(t){this.permanentPermissions.delete(t),this.savePermanentPermissions()}destruct(){this.permanentPermissions.clear()}constructor(t,i){(0,o._)(this,"jodit",void 0),(0,o._)(this,"toolRegistry",void 0),(0,o._)(this,"permanentPermissions",void 0),(0,o._)(this,"PERMANENT_PERMISSIONS_KEY",void 0),this.jodit=t,this.toolRegistry=i,this.permanentPermissions=new Map,this.PERMANENT_PERMISSIONS_KEY="jodit-permissions.ai-assistant-pro",this.loadPermanentPermissions()}}},46166:function(t,i,n){"use strict";n.d(i,{StateManager:function(){return r}});var o=n(82749);class r{createInitialState(){return{isOpen:!1,currentView:"welcome",currentConversation:null,conversations:[],isLoading:!1,error:null,pendingToolCalls:[],selectionContexts:[],abortController:null,editingMessageId:null,theme:this.jodit.o.aiAssistantPro.theme||"parent",displayMode:this.jodit.o.aiAssistantPro.displayMode,panelWidth:this.jodit.o.aiAssistantPro.panelWidth,panelHeight:this.jodit.o.aiAssistantPro.panelHeight,defaultModel:this.jodit.o.aiAssistantPro.defaultModel,defaultTemperature:this.jodit.o.aiAssistantPro.defaultTemperature}}open(){this.state.isOpen=!0,this.jodit.e.fire("open.ai-assistant-pro",this.state.currentConversation)}close(){this.state.isOpen=!1,this.jodit.e.fire("close.ai-assistant-pro")}isOpen(){return this.state.isOpen}setView(t){this.state.currentView=t,this.jodit.e.fire("viewChanged.ai-assistant-pro",t)}getView(){return this.state.currentView}setConversations(t){this.state.conversations=t}setSavedState(t){t.theme&&(this.state.theme=t.theme),t.displayMode&&(this.state.displayMode=t.displayMode),t.panelWidth&&(this.state.panelWidth=t.panelWidth),t.panelHeight&&(this.state.panelHeight=t.panelHeight),t.defaultModel&&(this.state.defaultModel=t.defaultModel),t.defaultTemperature&&(this.state.defaultTemperature=t.defaultTemperature)}getConversations(){return this.state.conversations}setCurrentConversation(t){if(this.state.currentConversation===t)throw Error("Conversation is already current");this.state.currentConversation=t||null,t&&(this.setView("conversation"),this.jodit.e.fire("conversationSwitched.ai-assistant-pro",t))}getCurrentConversation(){return this.state.currentConversation}removeConversation(t){let i=this.state.conversations.filter(i=>i.id!==t);this.setConversations(i)}setLoading(t){this.state.isLoading=t}isLoading(){return this.state.isLoading}setError(t){this.state.error=t,t&&this.jodit.e.fire("error.ai-assistant-pro",Error(t))}getError(){return this.state.error}clearError(){this.setError(null)}setPendingToolCalls(t){this.state.pendingToolCalls=t}getPendingToolCalls(){return this.state.pendingToolCalls}addPendingToolCall(t){let i=[...this.state.pendingToolCalls,t];this.setPendingToolCalls(i)}removePendingToolCall(t){let i=this.state.pendingToolCalls.filter(i=>i.id!==t);this.setPendingToolCalls(i)}updateToolCallStatus(t,i){let n=this.state.pendingToolCalls.map(n=>n.id===t?{...n,status:i}:n);this.setPendingToolCalls(n)}setSelectionContexts(t){this.state.selectionContexts=t}getSelectionContexts(){return this.state.selectionContexts}addSelectionContext(t){let{maxContextRanges:i}=this.jodit.o.aiAssistantPro,n=[...this.state.selectionContexts,t];n.length>i&&(n=n.slice(-i)),this.setSelectionContexts(n),this.jodit.e.fire("contextAdded.ai-assistant-pro",t)}removeSelectionContext(t){let i=this.state.selectionContexts.filter((i,n)=>n!==t);this.setSelectionContexts(i),this.jodit.e.fire("contextRemoved.ai-assistant-pro",t)}clearSelectionContexts(){this.setSelectionContexts([])}setAbortController(t){this.state.abortController=t}getAbortController(){return this.state.abortController}setEditingMessageId(t){this.state.editingMessageId=t}getEditingMessageId(){return this.state.editingMessageId}isEditingMessage(){return null!=this.state.editingMessageId}clearEditingMessage(){this.setEditingMessageId(null)}reset(){this.state=this.createInitialState()}destruct(){this.state.abortController&&this.state.abortController.abort(),this.reset()}constructor(t){(0,o._)(this,"jodit",void 0),(0,o._)(this,"state",void 0),this.jodit=t,this.state=this.createInitialState()}}},62895:function(t,i,n){"use strict";n.d(i,{WebStorageConversationStorage:function(){return o.WebStorageConversationStorage},createStorageProvider:function(){return o.createStorageProvider}});var o=n(21064)},21064:function(t,i,n){"use strict";n.d(i,{WebStorageConversationStorage:function(){return s},createStorageProvider:function(){return a},generateConversationId:function(){return l},generateMessageId:function(){return c}});var o=n(82749),r=n(97333);class s{close(){return this.storage.close()}getConversationKey(t){return"conv:"+t}async getAllKeys(){let t=await this.storage.get("__conversation_index__");return t&&Array.isArray(t)?t:[]}async updateIndex(t){await this.storage.set("__conversation_index__",t)}async addToIndex(t){let i=await this.getAllKeys();i.includes(t)||(i.push(t),await this.updateIndex(i))}async removeFromIndex(t){let i=(await this.getAllKeys()).filter(i=>i!==t);await this.updateIndex(i)}async list(t){try{let i=await this.getAllKeys(),n=[],o=t?.toLowerCase().trim();for(let t of i){let i=await this.get(t);if(i){if(o){let t=i.title?.toLowerCase().includes(o),n=!t&&i.messages.some(t=>t.content.toLowerCase().includes(o));if(!t&&!n)continue}n.push({id:i.id,title:i.title??"",created:i.created,updated:i.updated,messageCount:i.messages.length})}}return n.sort((t,i)=>i.updated-t.updated),n}catch(t){return[]}}async get(t){try{let i=this.getConversationKey(t);return await this.storage.get(i)||null}catch(t){return null}}async save(t){try{if(0===t.messages.length)throw Error("Conversation must have at least one message.");let i=await this.getAllKeys();i.length>=this.maxConversations&&!i.includes(t.id)&&await this.evictOldest();let n=this.getConversationKey(t.id);await this.storage.set(n,t),await this.addToIndex(t.id)}catch(i){if(i?.name==="QuotaExceededError"||i?.code===22||i?.code===1014){await this.evictOldest();try{let i=this.getConversationKey(t.id);await this.storage.set(i,t),await this.addToIndex(t.id)}catch{throw Error("Storage quota exceeded. Please delete some conversations.")}}else throw Error("Failed to save conversation: "+(i?.message||"Unknown error"))}}async delete(t){try{let i=this.getConversationKey(t);await this.storage.delete(i),await this.removeFromIndex(t)}catch(t){}}async clear(){try{for(let t of(await this.getAllKeys())){let i=this.getConversationKey(t);await this.storage.delete(i)}await this.updateIndex([])}catch(t){}}async evictOldest(){try{let t=await this.list();if(0===t.length)return;t.sort((t,i)=>t.updated-i.updated);let i=t[0];await this.delete(i.id)}catch(t){}}async getGlobalSettings(){try{return await this.storage.get("global-settings")||null}catch(t){return null}}async saveGlobalSettings(t){try{let i={...await this.getGlobalSettings(),...t};await this.storage.set("global-settings",i)}catch{throw Error("Failed to save global settings")}}constructor(t,i){(0,o._)(this,"storage",void 0),(0,o._)(this,"maxConversations",void 0),this.storage=t,this.maxConversations=i}}function a(t,i){return r.AsyncStorage.makeStorage(t,i)}function l(){return`conv_${Date.now()}_${Math.random().toString(36).substring(2,11)}`}function c(){return`msg_${Date.now()}_${Math.random().toString(36).substring(2,11)}`}},55487:function(t,i,n){"use strict";n.d(i,{ToolRegistry:function(){return s}});var o=n(82749),r=n(53835);class s{registerBuiltInTools(t){t.forEach(t=>{let i=r.BUILT_IN_TOOLS[t];i&&this.tools.set(t,i)})}registerCustomTools(t){t.forEach(t=>{this.validateToolDefinition(t),this.tools.set(t.name,t)})}validateToolDefinition(t){if(!t.name||"string"!=typeof t.name)throw Error("Tool must have a valid name");if(!t.description||"string"!=typeof t.description)throw Error(`Tool "${t.name}" must have a description`);if(!Array.isArray(t.parameters))throw Error(`Tool "${t.name}" must have a parameters array`);if("function"!=typeof t.execute)throw Error(`Tool "${t.name}" must have an execute function`);t.parameters.forEach(i=>{if(!i.name||"string"!=typeof i.name)throw Error(`Tool "${t.name}" has a parameter without a valid name`);if(!i.type)throw Error(`Tool "${t.name}" parameter "${i.name}" must have a type`);if("boolean"!=typeof i.required)throw Error(`Tool "${t.name}" parameter "${i.name}" must specify if it's required`)})}getAllTools(){return Array.from(this.tools.values())}getTool(t){return this.tools.get(t)}hasTool(t){return this.tools.has(t)}getToolNames(){return Array.from(this.tools.keys())}async executeTool(t,i,n){let o=this.getTool(t);if(!o)throw Error(`Tool "${t}" not found`);let r=this.applyDefaults(o,i);this.validateArguments(o,r);try{return await o.execute(this.jodit,r,n)}catch(t){if(t?.name==="AbortError"||n.aborted)throw Error("Tool execution was aborted");throw t}}validateArguments(t,i){let n=Object.keys(i);for(let i of t.parameters.filter(t=>t.required).map(t=>t.name))if(!n.includes(i))throw Error(`Tool "${t.name}" requires parameter "${i}"`);for(let[n,o]of Object.entries(i)){let i=t.parameters.find(t=>t.name===n);if(!i){this.jodit.o.aiAssistantPro.debug;continue}let r=Array.isArray(o)?"array":"object"==typeof o&&null!=o?"object":typeof o;if(i.type!==r&&!("number"===i.type&&"string"===r&&!isNaN(Number(o))))throw Error(`Tool "${t.name}" parameter "${n}" expects type "${i.type}" but got "${r}"`);if(i.enum&&i.enum.length>0&&!i.enum.includes(o))throw Error(`Tool "${t.name}" parameter "${n}" must be one of: ${i.enum.join(", ")}`)}}applyDefaults(t,i){let n={...i};for(let i of t.parameters)void 0===n[i.name]&&void 0!==i.default&&(n[i.name]=i.default);return n}destruct(){this.tools.clear()}constructor(t){(0,o._)(this,"jodit",void 0),(0,o._)(this,"tools",void 0),this.jodit=t,this.tools=new Map,this.registerBuiltInTools(t.o.aiAssistantPro.enabledTools||[]),this.registerCustomTools(t.o.aiAssistantPro.customTools||[])}}},26612:function(t){t.exports={"AI Assistant":"AI Assistant","AI Assistant Pro":"AI Assistant Pro","Welcome to AI Assistant":"Welcome to AI Assistant","Start your first conversation":"Start your first conversation","Tip: Select text in editor to add context":"Tip: Select text in editor to add context","New Chat":"New Chat","Search conversations...":"Search conversations...","No conversations yet":"No conversations yet","Ask me anything...":"Ask me anything...","Ask a follow-up...":"Ask a follow-up...","Reply...":"Reply...","Type your message...":"Type your message...",Send:"Send",Cancel:"Cancel",Retry:"Retry",Insert:"Insert",Copy:"Copy",Edit:"Edit",Delete:"Delete",New:"New",Back:"Back","Permission Required":"Permission Required",Approve:"Approve",Deny:"Deny",Once:"Once","This conversation":"This conversation",Always:"Always","The AI wants to execute:":"The AI wants to execute:","This will modify your document content.":"This will modify your document content.","Executing...":"Executing...","Completed successfully":"Completed successfully",Failed:"Failed","Pending approval":"Pending approval","Denied by user":"Denied by user","Tool Result":"Tool Result","Tool Execution Error":"Tool Execution Error",Context:"Context",Contexts:"Contexts","Add to AI Context":"Add to AI Context",Remove:"Remove","Clear all":"Clear all","An error occurred":"An error occurred","Request failed":"Request failed","Connection error":"Connection error","AI Assistant is not configured":"AI Assistant is not configured","Thinking...":"Thinking...","Generating response...":"Generating response...",insertHTML:"Insert HTML",readDocument:"Read Document",readBlock:"Read Block",replaceInDocument:"Replace in Document",replaceInBlock:"Replace in Block",getSelection:"Get Selection","Just now":"Just now",Conversation:"Conversation","New Conversation":"New Conversation",Yesterday:"Yesterday","Delete conversation":"Delete conversation","Are you sure you want to delete this conversation?":"Are you sure you want to delete this conversation?","Failed to delete conversation":"Failed to delete conversation"}},63805:function(t,i,n){"use strict";n.r(i),n.d(i,{en:function(){return r.a},ru:function(){return a.a}});var o=n(26612),r=n.n(o),s=n(55790),a=n.n(s)},55790:function(t){t.exports={"AI Assistant":"AI Ассистент","AI Assistant Pro":"AI Ассистент Pro","Welcome to AI Assistant":"Добро пожаловать в AI Ассистент","Start your first conversation":"Начните первый диалог","Tip: Select text in editor to add context":"Подсказка: Выделите текст в редакторе для добавления контекста","New chat":"Новый чат","Search conversations...":"Поиск диалогов...","No conversations yet":"Пока нет диалогов","Ask me anything...":"Спросите меня о чем угодно...","Ask a follow-up...":"Задайте дополнительный вопрос...","Reply...":"Ответить...","Type your message...":"Введите ваше сообщение...",Send:"Отправить",Cancel:"Отмена",Retry:"Повторить",Insert:"Вставить",Copy:"Копировать",Edit:"Редактировать",Delete:"Удалить",New:"Новый",Back:"Назад","Permission Required":"Требуется разрешение",Approve:"Разрешить",Deny:"Отклонить",Once:"Один раз","This conversation":"Этот диалог",Always:"Всегда","The AI wants to execute:":"AI хочет выполнить:","This will modify your document content.":"Это изменит содержимое вашего документа.","Executing...":"Выполняется...","Completed successfully":"Успешно выполнено",Failed:"Ошибка","Pending approval":"Ожидает разрешения","Denied by user":"Отклонено пользователем","Tool Result":"Результат инструмента","Tool Execution Error":"Ошибка выполнения инструмента",Context:"Контекст",Contexts:"Контексты","Add to AI Context":"Добавить в контекст AI",Remove:"Удалить","Clear all":"Очистить все","An error occurred":"Произошла ошибка","Request failed":"Запрос не выполнен","Connection error":"Ошибка соединения","AI Assistant is not configured":"AI Ассистент не настроен","Thinking...":"Думаю...","Generating response...":"Генерирую ответ...",insertHTML:"Вставить HTML",readDocument:"Прочитать документ",readBlock:"Прочитать блок",replaceInDocument:"Заменить в документе",replaceInBlock:"Заменить в блоке",getSelection:"Получить выделение","Just now":"Только что",Conversation:"Диалог","New Conversation":"Новый диалог",Yesterday:"Вчера","Delete conversation":"Удалить диалог","Are you sure you want to delete this conversation?":"Вы уверены, что хотите удалить этот диалог?","Failed to delete conversation":"Не удалось удалить диалог",Settings:"Настройки","General Settings":"Общие настройки","Conversation Settings":"Настройки диалога","Display Mode":"Режим отображения","Panel Width":"Ширина панели",Theme:"Тема",Model:"Модель",Temperature:"Температура",Close:"Закрыть",Dialog:"Модальное окно",Left:"Левая панель",Right:"Правая панель",Top:"Верхняя панель",Bottom:"Нижняя панель",Inherit:"Наследовать от редактора",Light:"Светлая тема",Dark:"Тёмная тема","%dm ago":"%dм назад","%dh ago":"%dч назад"}},94454:function(t,i,n){"use strict";n.d(i,{getAIProviderOptions:function(){return o.getAIProviderOptions},registerAIProvider:function(){return o.registerAIProvider}}),n(82923);var o=n(58211)},82923:function(t,i,n){"use strict";var o=n(58211),r=n(54079);(0,o.registerAIProvider)("jodit-ai-adapter",t=>{let i=t.url.replace(/\/+$/,""),n=t.provider??"openai",o=!1!==t.stream;return{apiMode:"incremental",maxRetries:0,voiceInputEnabled:!0,voiceInputUrl:`${i.replace(/^http/,"ws")}/v1/ai/transcribe`,voiceInputApiKey:t.apiKey,textAutocompleteEnabled:!0,async textAutocompleteApiRequest(o,s,a){let l=new r.Ajax({url:`${i}/ai/autocomplete?query=${encodeURIComponent(o)}&key=${encodeURIComponent(t.apiKey)}`,method:"POST",contentType:"application/json",data:{provider:n,context:{maxSuggestions:s}}});a.addEventListener("abort",()=>l.abort(),{once:!0});let c=await l.send(),d=await c.json();return d.success&&d.result?.suggestions?d.result.suggestions:[]},async apiRequest(s,a){let l=new r.Ajax({url:`${i}/ai/request?key=${encodeURIComponent(t.apiKey)}`,method:"POST",contentType:"application/json",data:{provider:n,context:o?{...s,metadata:{...s.metadata,stream:!0}}:s}});if(a&&a.addEventListener("abort",()=>l.abort(),{once:!0}),!o){let t=await l.send();return{mode:"final",response:(await t.json()).result}}let c=l.stream();return{mode:"stream",stream:async function*(){for await(let t of c)yield JSON.parse(t)}()}}}})},58211:function(t,i,n){"use strict";n.d(i,{getAIProviderOptions:function(){return r},registerAIProvider:function(){return s}});let o=new Map;function r(t,i){let n=o.get(t);if(!n)throw Error(`AI provider "${t}" is not registered. Available providers: `+[...o.keys()].join(", "));return n(i)}function s(t,i){o.set(t,i)}},65374:function(t,i,n){"use strict";n.r(i),n.d(i,{description:function(){return r},name:function(){return o},parameters:function(){return s},requiresPermission:function(){return a}});let o="addHTML",r="Add HTML content to the beginning or end of the document",s=[{name:"html",type:"string",description:"HTML content to add",required:!0},{name:"position",type:"string",description:'Where to add: "start" adds at the beginning of the document, "end" appends to the end',required:!1,default:"end"}],a=!0},686:function(t,i,n){"use strict";n.d(i,{execute:function(){return a}});var o=n(6689),r=n(49459),s=n(22732);async function a(t,i,n){let a=(0,r.requireString)(i,"html",{allowEmpty:!0}),{position:l="end"}=i;if(!a.trim())return{success:!0,message:"Nothing to add: HTML is empty"};(0,o.throwIfAborted)(n);try{let i=t.createInside.fragment(),n=t.createInside.div();for(n.innerHTML=a;n.firstChild;)i.appendChild(n.firstChild);return"start"===l?s.Dom.prepend(t.editor,i):s.Dom.append(t.editor,i),t.synchronizeValues(),{success:!0,message:`Added ${a.length} characters of HTML at the ${"start"===l?"beginning":"end"} of the document`}}catch(t){throw Error("Failed to add HTML: "+(t?.message||"Unknown error"))}}},78907:function(t,i,n){"use strict";var o=n(65374),r=n(686);i.default={...o,execute:r.execute}},73943:function(t,i,n){"use strict";n.r(i),n.d(i,{description:function(){return r},name:function(){return o},parameters:function(){return s},requiresPermission:function(){return a}});let o="applyFormat",r="Apply or remove inline formatting to the current selection (bold, italic, underline, etc.) or to a specific block",s=[{name:"element",type:"string",description:'HTML element to wrap selection (e.g., "strong", "em", "u", "span")',required:!1},{name:"attributes",type:"object",description:'Attributes to apply (e.g., {"className": "highlight"}, {"style": {"color": "red"}})',required:!1},{name:"remove",type:"boolean",description:"If true, remove the formatting instead of applying it",required:!1,default:!1},{name:"blockIndex",type:"number",description:"Zero-based index of the block to format (if not using current selection)",required:!1},{name:"selector",type:"string",description:"CSS selector to find the block to format (if not using current selection)",required:!1}],a=!0},19127:function(t,i,n){"use strict";n.d(i,{execute:function(){return s}});var o=n(6689),r=n(44526);async function s(t,i,n){let{element:s,attributes:a,remove:l,blockIndex:c,selector:d}=i;if((0,o.throwIfAborted)(n),!s&&!a)throw Error('Either "element" or "attributes" must be provided');if(t.s.restore(),void 0!==c||d){let{element:i}=(0,r.resolveBlock)(t,{selector:d,index:c});t.s.select(i)}if(t.s.isCollapsed())throw Error("No selection found. Please select text to format");try{let i={};return s&&(i.element=s),a&&(i.attributes=a),l?t.s.commitStyle({...i,mode:"remove"}):t.s.commitStyle(i),t.synchronizeValues(),{success:!0,message:l?"Formatting removed successfully":"Formatting applied successfully"}}catch(t){throw Error(`Failed to ${l?"remove":"apply"} formatting: ${t.message}`)}}},39296:function(t,i,n){"use strict";var o=n(73943),r=n(19127);i.default={...o,execute:r.execute}},53835:function(t,i,n){"use strict";n.d(i,{BUILT_IN_TOOLS:function(){return f},getToolNames:function(){return m}});var o=n(78907),r=n(39296),s=n(16745),a=n(78717),l=n(5618),c=n(90991),d=n(2020),u=n(12570),h=n(95323),p=n(97603);let f={readDocument:l.default,readBlocks:a.default,readSelection:c.default,writeDocument:p.default,replaceSelection:h.default,replaceBlock:d.default,replaceInDocument:u.default,insertHTML:s.default,addHTML:o.default,applyFormat:r.default};function m(){return Object.keys(f)}},56732:function(t,i,n){"use strict";n.r(i),n.d(i,{description:function(){return r},name:function(){return o},parameters:function(){return s},requiresPermission:function(){return a}});let o="insertHTML",r="Insert or replace HTML content at the current cursor position in the editor",s=[{name:"html",type:"string",description:"HTML content to insert",required:!0},{name:"replace",type:"boolean",description:"If true, replaces current selection. If false, inserts at cursor",required:!1,default:!1}],a=!0},39592:function(t,i,n){"use strict";n.d(i,{execute:function(){return s}});var o=n(6689),r=n(49459);async function s(t,i,n){let s=(0,r.requireString)(i,"html",{allowEmpty:!0}),{replace:a}=i;if(!s.trim())return{success:!0,message:"Nothing to insert: HTML is empty"};(0,o.throwIfAborted)(n);try{return t.s.focus(),a&&!t.s.isCollapsed()&&t.s.remove(),t.s.insertHTML(s),t.synchronizeValues(),{success:!0,message:`Inserted ${s.length} characters of HTML`}}catch(t){throw Error("Failed to insert HTML: "+(t?.message||"Unknown error"))}}},16745:function(t,i,n){"use strict";var o=n(56732),r=n(39592);i.default={...o,execute:r.execute}},75352:function(t,i,n){"use strict";n.r(i),n.d(i,{description:function(){return r},name:function(){return o},parameters:function(){return s},requiresPermission:function(){return a}});let o="readBlocks",r="Read blocks from the editor with optional filtering and pagination",s=[{name:"offset",type:"number",description:"Number of blocks to skip from the beginning (default: 0)",required:!1,default:0},{name:"limit",type:"number",description:"Maximum number of blocks to return (default: all)",required:!1},{name:"query",type:"string",description:"Filter blocks by text content",required:!1}],a=!1},91140:function(t,i,n){"use strict";n.d(i,{execute:function(){return s}});var o=n(6689),r=n(22732);async function s(t,i,n){let{offset:s,limit:a,query:l}=i;(0,o.throwIfAborted)(n);let c=[];Array.from(t.editor.children).forEach((t,i)=>{r.Dom.isElement(t)&&c.push({blockIndex:i,tagName:t.tagName.toLowerCase(),content:t.innerHTML,textContent:t.textContent||"",classList:Array.from(t.classList)})});let d=c;if(l&&"string"==typeof l){let t=l.toLowerCase();d=c.filter(i=>i.textContent.toLowerCase().includes(t)||i.tagName.includes(t)||i.content.toLowerCase().includes(t))}let u=Math.max(0,Math.min("number"==typeof s?s:0,d.length)),h=void 0!==a?Math.min(u+a,d.length):d.length;return{blocks:d.slice(u,h),total:c.length,offset:u,limit:void 0!==a?a:void 0}}},78717:function(t,i,n){"use strict";var o=n(75352),r=n(91140);i.default={...o,execute:r.execute}},93809:function(t,i,n){"use strict";n.r(i),n.d(i,{description:function(){return r},name:function(){return o},parameters:function(){return s},requiresPermission:function(){return a}});let o="readDocument",r="Read the entire content of the editor document in HTML format",s=[{name:"start",type:"number",description:"Start character position (default: 0)",required:!1,default:0},{name:"end",type:"number",description:"End character position (default: length of document)",required:!1},{name:"aroundSelection",type:"boolean",description:"If true, return only the maximum block around the current selection",required:!1,default:!1}],a=!1},28157:function(t,i,n){"use strict";n.d(i,{execute:function(){return s}});var o=n(6689),r=n(22732);async function s(t,i,n){let{start:s,end:a,aroundSelection:l}=i;(0,o.throwIfAborted)(n);let c=t.value,d=c.length;if(l&&!t.s.isCollapsed()){let i=t.s.range.commonAncestorContainer;for(;i&&i!==t.editor;){if(r.Dom.isElement(i)&&i.parentNode===t.editor){c=i.outerHTML;break}i=i.parentNode}return{html:c,length:d}}let u=void 0!==a?Math.min(a,d):d,h=Math.max(0,Math.min("number"==typeof s?s:0,d));return(h>0||d>u)&&(c=c.substring(h,u)),{html:c,length:d,start:h,end:u}}},5618:function(t,i,n){"use strict";var o=n(93809),r=n(28157);i.default={...o,execute:r.execute}},52826:function(t,i,n){"use strict";n.r(i),n.d(i,{description:function(){return r},name:function(){return o},parameters:function(){return s},requiresPermission:function(){return a}});let o="readSelection",r="Get information about the current selection including HTML content and optional context",s=[{name:"contextCharsBefore",type:"number",description:"Number of characters to include before the selection",required:!1,default:0},{name:"contextCharsAfter",type:"number",description:"Number of characters to include after the selection",required:!1,default:0}],a=!1},85130:function(t,i,n){"use strict";n.d(i,{execute:function(){return r}});var o=n(6689);async function r(t,i,n){let{contextCharsBefore:r,contextCharsAfter:s}=i;if((0,o.throwIfAborted)(n),t.s.restore(),t.s.isCollapsed())return{hasSelection:!1};let a=t.s.html,l=t.s.range,c=l.toString(),d={hasSelection:!0,html:a,text:c,startContainer:l.startContainer.nodeName,endContainer:l.endContainer.nodeName};if(r>0||s>0){let i=t.editor.textContent||"",n=i.substring(0,i.indexOf(c)),o=i.substring(i.indexOf(c)+c.length);r>0&&(d.contextBefore=n.slice(-r)),s>0&&(d.contextAfter=o.slice(0,s))}return d}},90991:function(t,i,n){"use strict";var o=n(52826),r=n(85130);i.default={...o,execute:r.execute}},96675:function(t,i,n){"use strict";n.r(i),n.d(i,{description:function(){return r},name:function(){return o},parameters:function(){return s},requiresPermission:function(){return a}});let o="replaceBlock",r="Replace a specific block in the document by its index or CSS selector with new HTML content",s=[{name:"index",type:"number",description:"Zero-based index of the block to replace (use either index or selector, not both)",required:!1},{name:"selector",type:"string",description:'CSS selector to find the block to replace (e.g., "h1", ".my-class", "#my-id"). Use either selector or index, not both',required:!1},{name:"html",type:"string",description:"HTML content for the new block",required:!0}],a=!0},3091:function(t,i,n){"use strict";n.d(i,{execute:function(){return l}});var o=n(6689),r=n(49459),s=n(44526),a=n(22732);async function l(t,i,n){let{index:l,selector:c}=i,d=(0,r.requireString)(i,"html");if((0,o.throwIfAborted)(n),void 0===l&&!c||void 0!==l&&c)throw Error("Either index or selector must be provided, but not both");let{element:u,identifier:h}=(0,s.resolveBlock)(t,{selector:c,index:l,requireExactlyOne:!0});try{let i=t.createInside.div();i.innerHTML=d;let n=i.firstChild;if(!n||!a.Dom.isElement(n))throw Error("Invalid HTML: must contain at least one element");return u.parentNode?.replaceChild(n,u),t.synchronizeValues(),{success:!0,message:`Block ${h} replaced successfully`}}catch(t){throw Error(`Failed to replace block ${h}: ${t.message}`)}}},2020:function(t,i,n){"use strict";var o=n(96675),r=n(3091);i.default={...o,execute:r.execute}},62553:function(t,i,n){"use strict";n.r(i),n.d(i,{description:function(){return r},name:function(){return o},parameters:function(){return s},requiresPermission:function(){return a}});let o="replaceInDocument",r="Find and replace text or HTML patterns throughout the entire document",s=[{name:"search",type:"string",description:"Text or pattern to search for",required:!0},{name:"replace",type:"string",description:"Replacement text or HTML",required:!0},{name:"useRegex",type:"boolean",description:"If true, treats search as a regular expression",required:!1,default:!1},{name:"useSelector",type:"string",description:"CSS selector to narrow down the search scope to specific elements",required:!1}],a=!0},56293:function(t,i,n){"use strict";n.d(i,{execute:function(){return s}});var o=n(6689),r=n(49459);async function s(t,i,n){let s=(0,r.requireString)(i,"search"),a=(0,r.requireString)(i,"replace",{allowEmpty:!0}),{useRegex:l,useSelector:c}=i;(0,o.throwIfAborted)(n);try{let i;t.s.focus(),t.s.save();let r=0;if(c){let d=function(t,i,n,r,s,a){let l=t.editor.querySelectorAll(s);if(0===l.length)return{replacements:0,message:`No elements found matching selector "${s}"`};let c=0;return l.forEach(t=>{(0,o.throwIfAborted)(a);let s=t.innerHTML,l=s;if(r)try{let t=RegExp(i,"g");s=s.replace(t,()=>(c++,n))}catch(t){throw Error("Invalid regex pattern: "+(t?.message||"Unknown error"))}else{let t=i.length,r=0;for(;-1!==(r=s.indexOf(i,r));)(0,o.throwIfAborted)(a),s=s.substring(0,r)+n+s.substring(r+t),r+=n.length,c++}s!==l&&(t.innerHTML=s)}),c>0&&(t.synchronizeValues(),t.s.restore()),{replacements:c}}(t,s,a,l,c,n);r=d.replacements,i=d.message}else r=function(t,i,n,r,s,a){let l=0,c=i;if(s)try{let t=RegExp(n,"g");c=c.replace(t,()=>(l++,r))}catch(t){throw Error("Invalid regex pattern: "+(t?.message||"Unknown error"))}else{let t=n.length,i=0;for(;-1!==(i=c.indexOf(n,i));)(0,o.throwIfAborted)(a),c=c.substring(0,i)+r+c.substring(i+t),i+=r.length,l++}return l>0&&(t.value=c,t.s.restore(),t.synchronizeValues()),l}(t,t.value,s,a,l,n);return{replacements:r,message:i||(r>0?`Replaced ${r} occurrence(s)`:"No matches found")}}catch(i){throw t.s.restore(),Error("Failed to replace in document: "+(i?.message||"Unknown error"))}}},12570:function(t,i,n){"use strict";var o=n(62553),r=n(56293);i.default={...o,execute:r.execute}},70750:function(t,i,n){"use strict";n.r(i),n.d(i,{description:function(){return r},name:function(){return o},parameters:function(){return s},requiresPermission:function(){return a}});let o="replaceSelection",r="Replace the current selection with new HTML content",s=[{name:"html",type:"string",description:"HTML content to insert in place of the selection",required:!0},{name:"collapseToEnd",type:"boolean",description:"Move cursor to the end of the inserted content",required:!1,default:!0}],a=!0},36142:function(t,i,n){"use strict";n.d(i,{execute:function(){return s}});var o=n(6689),r=n(49459);async function s(t,i,n){let s=(0,r.requireString)(i,"html"),{collapseToEnd:a}=i;(0,o.throwIfAborted)(n);try{if(t.s.restore(),t.s.insertHTML(s),a){let i=t.s.range;i.collapse(!1),t.s.selectRange(i)}return t.e.fire("change"),{success:!0,message:"Selection replaced successfully"}}catch(t){throw Error("Failed to replace selection: "+t.message)}}},95323:function(t,i,n){"use strict";var o=n(70750),r=n(36142);i.default={...o,execute:r.execute}},90022:function(t,i,n){"use strict";n.r(i),n.d(i,{description:function(){return r},name:function(){return o},parameters:function(){return s},requiresPermission:function(){return a}});let o="writeDocument",r="Write (replace) the entire document content with new HTML",s=[{name:"html",type:"string",description:"HTML content to set as the document",required:!0}],a=!0},79766:function(t,i,n){"use strict";n.d(i,{execute:function(){return s}});var o=n(6689),r=n(49459);async function s(t,i,n){let s=(0,r.requireString)(i,"html",{allowEmpty:!0});(0,o.throwIfAborted)(n);try{return t.s.focus(),t.value=s,t.synchronizeValues(),{success:!0,message:`Document content was replaced with provided HTML(${s.length} characters)`}}catch(t){throw Error("Failed to replace HTML: "+(t?.message||"Unknown error"))}}},97603:function(t,i,n){"use strict";var o=n(90022),r=n(79766);i.default={...o,execute:r.execute}},80453:function(t,i,n){"use strict";n.d(i,{UIConversationListItem:function(){return d}});var o=n(82749),r=n(31635),s=n(65478),a=n(67510),l=n(62843),c=n(80870);class d extends a.UIElement{className(){return"UIConversationListItem"}render(){return'<div class="jodit-ui-conversation-list__item"></div>'}setActive(t){this.isActive=t,this.updateContent()}updateContent(){let t=this.container;t.innerHTML="",t.setAttribute("data-id",this.conversation.id),this.isActive?t.classList.add("jodit-ui-conversation-list__item_active"):t.classList.remove("jodit-ui-conversation-list__item_active");let i=this.j.c.div("jodit-ui-conversation-list__item-avatar");i.textContent="AI",t.appendChild(i);let n=this.j.c.div("jodit-ui-conversation-list__item-wrapper"),o=this.j.c.div("jodit-ui-conversation-list__item-content"),r=this.j.c.div("jodit-ui-conversation-list__item-title");if(r.textContent=this.conversation.title,this.titleElement=r,o.appendChild(r),this.opts.showTimestamps){let t=this.j.c.div("jodit-ui-conversation-list__item-meta");t.textContent=this.opts.formatTimestamp(this.conversation.updated,this.j.i18n.bind(this.j)),o.appendChild(t)}if(n.appendChild(o),this.conversation.messageCount>0){let t=this.j.c.div("jodit-ui-conversation-list__item-badge");t.textContent=this.conversation.messageCount+"",n.appendChild(t)}t.appendChild(n),this.actionsButton||(this.actionsButton=new l.UIButton(this.j,{icon:{name:"dots"},tooltip:"Actions",name:"conversationActions",size:"tiny"}),this.actionsButton.container.classList.add("jodit-ui-conversation-list__item-actions"),this.actionsButton.onAction(t=>{t.stopPropagation(),this.showActionsMenu(t)})),t.appendChild(this.actionsButton.container)}onClick(){this.isRenaming||this.j.e.fire("selectConversation.ai-assistant-pro",this.conversation.id)}showActionsMenu(t){if(!this.contextMenu||!this.actionsButton)return;let i=this.actionsButton.container.getBoundingClientRect();this.contextMenu.show(i.left,i.bottom,[{title:"Rename",icon:"pencil",exec:()=>{this.startInlineRename()}},{title:"Delete",icon:"bin",exec:()=>{this.onDelete()}}]),t.stopPropagation()}startInlineRename(){if(this.isRenaming||!this.titleElement)return;this.isRenaming=!0;let t=this.titleElement,i=this.conversation.title,n=this.j.c.element("input");n.type="text",n.value=i,n.className="jodit-ui-conversation-list__item-title-input",t.textContent="",t.appendChild(n),n.focus(),n.select();let o=()=>{if(!this.isRenaming)return;let o=n.value.trim();this.isRenaming=!1,o&&o!==i?(t.textContent=o,this.j.e.fire("renameConversation.ai-assistant-pro",this.conversation.id,o)):t.textContent=i};this.j.e.on(n,"blur",o),this.j.e.on(n,"keydown",o=>{"Enter"===o.key&&(o.preventDefault(),n.blur()),"Escape"===o.key&&(this.isRenaming=!1,t.textContent=i)}),this.j.e.on(n,"click",t=>{t.stopPropagation()})}onDelete(){this.j.e.fire("deleteConversation.ai-assistant-pro",this.conversation.id)}destruct(){this.actionsButton?.destruct(),this.contextMenu?.destruct(),super.destruct()}constructor(t,i,n=!1,r){super(t),(0,o._)(this,"opts",void 0),(0,o._)(this,"conversation",void 0),(0,o._)(this,"isActive",void 0),(0,o._)(this,"actionsButton",void 0),(0,o._)(this,"contextMenu",void 0),(0,o._)(this,"titleElement",void 0),(0,o._)(this,"isRenaming",void 0),this.opts=r,this.actionsButton=null,this.contextMenu=null,this.titleElement=null,this.isRenaming=!1,this.conversation=i,this.isActive=n,this.contextMenu=new c.ContextMenu(this.j),this.updateContent()}}(0,r.__decorate)([(0,s.watch)("container:click")],d.prototype,"onClick",null),(0,r.__decorate)([s.autobind],d.prototype,"showActionsMenu",null),(0,r.__decorate)([s.autobind],d.prototype,"startInlineRename",null),(0,r.__decorate)([s.autobind],d.prototype,"onDelete",null),d=(0,r.__decorate)([s.component],d)},68365:function(t,i,n){"use strict";n.d(i,{UIConversationList:function(){return u}});var o=n(82749),r=n(31635),s=n(31356),a=n(80453),l=n(65478),c=n(80256),d=n(62405);class u extends d.UIGroup{className(){return"UIConversationList"}render(){return`<div class="&__container">
|
|
283
|
+
${s}`.trim();n?await this.__executeQuickCommandSilent(c,s):await this.__executeQuickCommandWithPanel(c,o)}async __executeQuickCommandSilent(t,i){await this.__loadData(),this.j.progressbar.show().progress(100);try{let i=(0,h.createUserMessage)(t),n=(0,h.createNewConversation)(this.j,this.state.defaultModel,this.state.defaultTemperature,[i]),o=await this.apiClient.sendRequest(n.id,n.messages,null,[],n.options);if("final"===o.mode){let t=o.response.content;t&&this.j.s.insertHTML(t)}}catch(t){(0,b.isAbortError)(t)||this.j.e.fire("error",t)}finally{this.j.progressbar.hide()}}async __executeQuickCommandWithPanel(t,i){await this.__loadData();let n=this.stateManager.state.displayMode;this.stateManager.state.displayMode=i;let o=(0,h.getCurrentSelectionContext)(this.j);o&&this.stateManager.addSelectionContext(o),this.stateManager.isOpen()||await this.openAssistant(),await this.sendMessage(t),this.stateManager.state.displayMode=n}async sendMessage(t){await this.__loadData();let i=this.stateManager.getCurrentConversation(),n=this.stateManager.getEditingMessageId();if(n&&i){let t=i.messages.findIndex(t=>t.id===n);if(-1!==t){let n=i.messages.slice(0,t),o={...i,messages:n,updatedAt:Date.now()};this.stateManager.setCurrentConversation(o),await this.storage.save(o),this.stateManager.clearEditingMessage(),i=o}}i||(i=(0,h.createNewConversation)(this.j,this.state.defaultModel,this.state.defaultTemperature),this.stateManager.setCurrentConversation(i));let o=null;t.trim()&&(o=(0,h.createUserMessage)(t),i.title||(i={...i,title:t}),i={...i,updated:Date.now(),messages:[...i.messages,o]}),this.stateManager.setCurrentConversation({...i}),o&&this.j.e.fire("messageSent.ai-assistant-pro",o),this.stateManager.setLoading(!0),this.stateManager.clearError();try{await this.sendRequestToAI(0),this.stateManager.clearSelectionContexts()}catch(t){if((0,b.isAbortError)(t))return;this.stateManager.setError(t instanceof Error?t.message:t+"")}finally{this.stateManager.setLoading(!1)}}async sendRequestToAI(t=0){let i,n,o=this.j.o.aiAssistantPro.maxRecursionToolCallDepth;if(t>=o)throw Error(`Max recursion depth ${o} reached for tool calls`);let r=this.stateManager.getCurrentConversation();if(!r)return;let s=(0,h.findParentMessageId)(r),[a]=await Promise.all([this.apiClient.sendRequest(r.id,r.messages,s,this.stateManager.getSelectionContexts(),r.options),this.storage.save(r)]);if("stream"===a.mode){let t=await (0,h.processStreamingResponse)(this.stateManager,a,r);i=t.aiMessage,n=t.index,r=t.conversation}else{let t=(0,h.processFinalResponse)(a,r);i=t.aiMessage,n=t.index,r=t.conversation}r=await (0,h.processArtifacts)(this.j,i,r,n),this.j.e.fire("messageReceived.ai-assistant-pro",i),this.stateManager.setCurrentConversation({...r}),await this.storage.save(r),await this.handleToolCalls(i.id,t)}async deleteConversation(t){await this.__loadData(),await (0,h.deleteConversationWithCleanup)(this.j,t,this.storage,this.stateManager,this.permissionManager)}async renameConversation(t,i){let n=await this.storage.get(t);if(!n)return;let o={...n,title:i,updated:Date.now()};await this.storage.save(o),this.state.currentConversation?.id===t&&this.stateManager.setCurrentConversation(o);let r=await this.storage.list();this.stateManager.setConversations(r)}async searchConversations(t){await this.__loadData(),await (0,h.handleConversationSearch)(t,this.storage,this.stateManager)}async handleToolCalls(t,i=0){let n=this.stateManager.getCurrentConversation();if(!n)return;let o=n.messages.find(i=>i.id===t);if(!o)return;let r=o.toolCalls;if(!r||0===r.length)return;let s=r.filter(t=>!(0,h.isTerminalToolCallStatus)(t.status));if(0===s.length)return;let{approved:a,needsPermission:l}=this.permissionManager.filterToolCalls(s,n.permissions);for(let n of(this.stateManager.setPendingToolCalls(l),a))await this.executeToolCall(t,n,i)}async executeToolCall(t,i,n=0){let o=this.stateManager.getCurrentConversation();if(!o)return;let r=await (0,h.executeToolCall)(this.j,i,this.toolRegistry),s=o.messages.findIndex(i=>i.id===t);if(-1===s)return;let a=o.messages[s],l=o.messages.slice();l[s]=(0,h.updateToolCallInMessage)(a,r),o={...o,messages:l,updated:Date.now()},this.stateManager.setCurrentConversation(o),(0,h.areAllToolCallsExecuted)(o)&&await this.sendRequestToAI(n+1)}async copyMessage(t){let i=this.stateManager.getCurrentConversation();if(!i)return;let n=i.messages.find(i=>i.id===t);if(n)try{await navigator.clipboard.writeText(n.content),this.j.message.success("Message copied to clipboard")}catch(t){this.j.e.fire("error",Error("Failed to copy message"))}}async restartFromMessage(t){let i=this.stateManager.getCurrentConversation();if(!i)return;let n=i.messages.findIndex(i=>i.id===t);if(-1===n)return;let o=i.messages[n];if("user"!==o.role)return;await this.__loadData();let r=i.messages.slice(0,n),s={...i,messages:r,updatedAt:Date.now()};this.stateManager.setCurrentConversation(s),await this.storage.save(s),await this.sendMessage(o.content)}async editMessage(t){let i=this.stateManager.getCurrentConversation();if(!i)return;let n=i.messages.find(i=>i.id===t);n&&"user"===n.role&&(this.stateManager.setEditingMessageId(t),this.mainPanel.inputArea.setValue(n.content),this.mainPanel.inputArea.focus())}cancelEditMessage(){this.stateManager.isEditingMessage()&&(this.stateManager.clearEditingMessage(),this.mainPanel.inputArea.setValue(""))}async deleteMessage(t){await this.__loadData();let i=this.stateManager.getCurrentConversation();if(!i||-1===i.messages.findIndex(i=>i.id===t))return;let n=i.messages.filter(i=>i.id!==t),o={...i,messages:n,updatedAt:Date.now()};this.stateManager.setCurrentConversation(o),await this.storage.save(o)}beforeDestruct(){this.textAutocompleteSource&&(this.j.e.fire("unregisterAutocompleteSource",this.textAutocompleteSource),this.textAutocompleteSource=null),this.textAutocompleteCache.clear(),this.__closeFlightMode(),(0,m.cached)(this,"toolRegistry")?.destruct(),(0,m.cached)(this,"permissionManager")?.destruct(),(0,m.cached)(this,"apiClient")?.destruct(),(0,m.cached)(this,"stateManager")?.destruct(),(0,m.cached)(this,"mainPanel")?.destruct(),(0,m.cached)(this,"dialog")?.destruct(),(0,m.cached)(this,"storage")?.close?.()}constructor(...t){super(...t),(0,o._)(this,"buttons",[{name:"aiAssistantPro",group:"insert"},{name:"aiCommandsPro",group:"insert"}]),(0,o._)(this,"textAutocompleteSource",null),(0,o._)(this,"textAutocompleteCache",new Map),(0,o._)(this,"__initedPromise",null),(0,o._)(this,"__openedMode",null)}}(0,o._)(k,"requires",["license","autocomplete"]),(0,r.__decorate)([m.cache],k.prototype,"toolRegistry",null),(0,r.__decorate)([m.cache],k.prototype,"permissionManager",null),(0,r.__decorate)([m.cache],k.prototype,"apiClient",null),(0,r.__decorate)([m.cache],k.prototype,"storage",null),(0,r.__decorate)([m.cache],k.prototype,"stateManager",null),(0,r.__decorate)([m.cache],k.prototype,"mainPanel",null),(0,r.__decorate)([m.cache],k.prototype,"dialog",null),(0,r.__decorate)([(0,m.watch)("state.theme")],k.prototype,"__applyTheme",null),(0,r.__decorate)([(0,m.watch)(":openAIAssistantPro.ai-assistant-pro")],k.prototype,"openAssistant",null),(0,r.__decorate)([(0,m.watch)([":resize","state.panelWidth","state.panelHeight"])],k.prototype,"__onResizeInPanelView",null),(0,r.__decorate)([(0,m.watch)(["state.isOpen","state.displayMode","state.panelWidth","state.panelHeight","state.theme","state.defaultModel","state.defaultTemperature","state.currentConversation"]),(0,m.debounce)()],k.prototype,"__onSavedStateChange",null),(0,r.__decorate)([(0,m.watch)(":closeAIAssistantPro.ai-assistant-pro")],k.prototype,"closeAssistant",null),(0,r.__decorate)([(0,m.watch)(":addContextToAIAssistant.ai-assistant-pro")],k.prototype,"addCurrentSelectionToContext",null),(0,r.__decorate)([(0,m.watch)(":executeQuickCommand.ai-assistant-pro")],k.prototype,"executeQuickCommand",null),(0,r.__decorate)([(0,m.watch)(":sendMessage.ai-assistant-pro")],k.prototype,"sendMessage",null),(0,r.__decorate)([(0,m.watch)(":searchConversations.ai-assistant-pro")],k.prototype,"searchConversations",null),(0,r.__decorate)([(0,m.watch)(":copyMessage.ai-assistant-pro")],k.prototype,"copyMessage",null),(0,r.__decorate)([(0,m.watch)(":restartFromMessage.ai-assistant-pro")],k.prototype,"restartFromMessage",null),(0,r.__decorate)([(0,m.watch)(":editMessage.ai-assistant-pro")],k.prototype,"editMessage",null),(0,r.__decorate)([(0,m.watch)(":cancelEditMessage.ai-assistant-pro")],k.prototype,"cancelEditMessage",null),(0,r.__decorate)([(0,m.watch)(":deleteMessage.ai-assistant-pro")],k.prototype,"deleteMessage",null),k=(0,r.__decorate)([m.component],k),w.JoditPro.plugins.add("aiAssistantPro",k)},66645:function(t,i,n){"use strict";var o=n(47373),r=n(94668),s=n.n(r),a=n(86428),l=n.n(a),c=n(75966),d=n.n(c),u=n(83207),h=n.n(u),p=n(99293),f=n.n(p),m=n(99219),g=n.n(m),b=n(63674),y=n.n(b),w=n(4133),_=n.n(w),C=n(94454),k=n(53835),S=n(6441),x=n(12153),I=n(31974),E=n(72573);x.Icon.set("ai-assistant-pro",l()).set("ai-commands-pro",d()).set("ai-add-context",s()).set("send",g()).set("microphone",f()).set("tool-bolt",_()).set("chevron-right",h()).set("shield",y()),S.Config.prototype.aiAssistantPro={displayMode:"right",panelWidth:400,panelHeight:500,flightPanelHeight:250,dialogFullSize:!1,resizable:!0,apiMode:"incremental",apiRequest:null,maxRetries:3,requestTimeout:3e5,retryDelay:1e3,maxRecursionToolCallDepth:1e3,enabledTools:(0,k.getToolNames)(),customTools:[],toolPermissions:{},autoApproveTools:["readDocument","readBlocks","readSelection","insertHTML","addHTML"],alwaysDenyTools:[],defaultPermissionScope:"conversation",storage:"indexedDB",maxConversations:50,storageKey:"jodit-ai-assistant-pro",showConversationList:!0,enableMarkdown:!0,enableCodeHighlight:!0,maxMessageHeight:400,placeholderText:"Ask AI assistant...",sendShortcut:"Ctrl+Enter",showTimestamps:!0,formatTimestamp(t,i){let n=new Date(t),o=new Date().getTime()-n.getTime();return o<6e4?i("Just now"):o<36e5?i("%dm ago",Math.floor(o/6e4)):o<864e5?i("%dh ago",Math.floor(o/36e5)):n.toLocaleTimeString([],{hour:"2-digit",minute:"2-digit"})},formatMessageContent:(t,i)=>E.marked.parse(t,{breaks:!0,gfm:!0}),showAvatars:!0,showTypingIndicator:!0,includeSelectionByDefault:!0,maxContextRanges:5,showContextPreview:!0,sendOnEnter:!0,instructions:void 0,includeEditorMetadata:!1,autoOpen:!0,rememberLastConversation:!0,autoFocusInput:!0,voiceInputEnabled:!1,closeAfterInsert:!1,enableSoundNotifications:!1,debug:!1,textAutocompleteEnabled:!1,textAutocompleteApiRequest:null,textAutocompleteMinQueryLength:3,textAutocompleteMaxSuggestions:3,textAutocompleteDebounceMs:500,textAutocompleteCacheTTL:3e4,textAutocompleteCacheMaxSize:50,quickCommandsSilentMode:!1,quickCommandsDisplayMode:"flight",showCopyMessageAction:!0,showRestartMessageAction:!0,showEditMessageAction:!0,showDeleteMessageAction:!0,dialogSettings:{},allowEditDialogSettings:!1,allowEditDisplayMode:!0,allowEditPanelWidth:!0,initiallyOpened:!1,allowClose:!0,persistOpenState:!0,theme:"parent",allowEditTheme:!0,async uploadBase64Artifact(t,i){if("image"===t.type&&t.data&&"base64"===t.data.kind)try{let n=(0,o.base64ToFile)(t.data.base64,t.id,t.mimeType),r=await i.uploader.upload([n]);return{...t,data:{kind:"url",url:r.baseurl+r.files[0]},metadata:{...t.metadata,filename:r.files[0]}}}catch(t){i.e.fire("error",t)}return t},getAIProviderOptions:(t,i)=>(0,C.getAIProviderOptions)(t,i),registerAIProvider(t,i){(0,C.registerAIProvider)(t,i)}},S.Config.prototype.controls.aiAssistantPro={icon:"ai-assistant-pro",tooltip:"AI Assistant",hotkeys:["ctrl+shift+a","cmd+shift+a"],exec(t){t.e.fire("openAIAssistantPro.ai-assistant-pro")},isDisabled:t=>!t.o.aiAssistantPro.apiRequest,getLabel:t=>t.o.aiAssistantPro.apiRequest?"AI Assistant":"AI Assistant (not configured)"},S.Config.prototype.controls.aiAddContext={icon:"ai-add-context",tooltip:"Add to AI Context",exec(t){t.e.fire("addContextToAIAssistant")},isDisabled:t=>!t.o.aiAssistantPro.apiRequest||t.s.isCollapsed()},S.Config.prototype.controls.aiCommandsPro={icon:"ai-commands-pro",tooltip:"AI Commands",isDisabled:t=>!t.o.aiAssistantPro.apiRequest,list:I.aiAssitentCommands,exec(t,i,{control:n}){t.e.fire("executeQuickCommand.ai-assistant-pro",n.name)}};let T=S.Config.prototype.tuneBlock?.popup||{},j={};["p","h1","h2","h3","h4","h5","h6","div","section","article","pre","blockquote","ul","ol","li","table","tr","td","th","img","figure"].forEach(t=>{let i=T[t]||["tune.up","tune.remove","tune.down"];j[t]=[...i,"|","aiAddContext"]}),S.Config.prototype.tuneBlock&&(S.Config.prototype.tuneBlock.popup={...T,...j})},6689:function(t,i,n){"use strict";n.d(i,{throwIfAborted:function(){return r}});var o=n(93661);function r(t){if(t.aborted)throw(0,o.abort)()}},61872:function(t,i,n){"use strict";n.d(i,{processArtifacts:function(){return a},processFinalResponse:function(){return s},processStreamingResponse:function(){return r}});var o=n(61558);async function r(t,i,n){let r=(0,o.createAIMessage)(),s=-1;for await(let a of i.stream){switch(a.type){case"created":r={...r,id:a.response.responseId,content:""},s=n.messages.length;break;case"text-delta":r={...r,content:r.content+a.delta};break;case"completed":r={...r,id:a.response.responseId,toolCalls:a.response.toolCalls||[],artifacts:a.response.artifacts||[]};break;case"error":{let t=(0,o.createErrorMessage)(a.error);r={...r,id:t.id,content:t.content}}}if(r.id){let i=n.messages.slice();i[s>=0?s:n.messages.length]=r,n={...n,messages:i,updated:Date.now()},t.setCurrentConversation(n)}}return{aiMessage:r,index:s,conversation:n}}function s(t,i){let n={...(0,o.createAIMessage)(),id:t.response.responseId,content:t.response.content,toolCalls:t.response.toolCalls||[],artifacts:t.response.artifacts||[]},r=i.messages.slice();return r.push(n),{aiMessage:n,index:(i={...i,messages:r,updated:Date.now()}).messages.length-1,conversation:i}}async function a(t,i,n,r){if(i.artifacts&&i.artifacts.length>0){let s=n.messages.slice();return s[r]={...s[r],artifacts:await (0,o.uploadArtifacts)(t,i.artifacts)},{...n,messages:s,updated:Date.now()}}return n}},49459:function(t,i,n){"use strict";function o(t,i,n={}){let r=t[i];if("string"!=typeof r||!n.allowEmpty&&""===r)throw Error(`Parameter "${i}" is required and must be a${n.allowEmpty?"":" non-empty"} string`);return r}n.d(i,{requireString:function(){return o}})},44526:function(t,i,n){"use strict";n.d(i,{resolveBlock:function(){return r}});var o=n(22732);function r(t,{selector:i,index:n,requireExactlyOne:s=!1}={}){let a=null!=i&&""!==i.trim(),l=null!=n;if(s&&a===l)throw Error("Either index or selector must be provided, but not both");if(!a&&!l)throw Error("Block identifier is required");if(a){if("string"!=typeof i)throw Error("Selector must be a string");let n=t.editor.querySelector(i);if(!n)throw Error(`No element found matching selector "${i}"`);if(!o.Dom.isElement(n))throw Error(`Selector "${i}" does not point to an element node`);return{element:n,identifier:`with selector "${i}"`}}if("number"!=typeof n)throw Error("Block index must be a number");let c=Array.from(t.editor.children);if(n<0||n>=c.length)throw Error(`Block index ${n} is out of range. Document has ${c.length} blocks`);let d=c[n];if(!o.Dom.isElement(d))throw Error(`Block at index ${n} is not a valid element`);return{element:d,identifier:"at index "+n}}},70308:function(t,i,n){"use strict";n.d(i,{areAllToolCallsExecuted:function(){return c},createNewConversation:function(){return r},findMessagesWithPendingToolCalls:function(){return d},findParentMessageId:function(){return s},isTerminalToolCallStatus:function(){return l}});var o=n(21064);function r(t,i,n,s=[]){let a=t.o.aiAssistantPro,l={id:(0,o.generateConversationId)(),created:Date.now(),updated:Date.now(),messages:s,permissions:[],options:{model:i??a.defaultModel,temperature:n??a.defaultTemperature}};return t.e.fire("conversationCreated.ai-assistant-pro",l),l}function s(t){for(let i=t.messages.length-1;i>=0;i--){let n=t.messages[i];if("assistant"===n.role&&!n.id.startsWith("error_"))return n.id}return null}let a=new Set(["executed","denied","error"]);function l(t){return a.has(t)}function c(t){let i=t.messages[t.messages.length-1];return!!i?.toolCalls&&i.toolCalls.every(t=>l(t.status))}function d(t){return t.messages.filter(t=>t.toolCalls&&t.toolCalls.length>0&&t.toolCalls.some(t=>!l(t.status)))}},473:function(t,i,n){"use strict";n.d(i,{handleBackToList:function(){return c},handleConversationSearch:function(){return d},handleConversationSelect:function(){return l},handleToolApproval:function(){return s},handleToolDenial:function(){return a}});var o=n(79078),r=n(82758);async function s(t,i,n,o,r){let s=n.getPendingToolCalls().find(i=>i.id===t);if(!s)return null;let a=o.grantPermission(s.name,i),l=n.getCurrentConversation();return l&&(l.permissions.push(a),await r.save(l)),n.removePendingToolCall(t),{...s,status:"approved"}}async function a(t,i,n,r){let s=n.getPendingToolCalls().find(t=>t.id===i);if(!s)return;let a=n.getCurrentConversation();if(!a)return;let l=a.messages.findIndex(t=>t.toolCalls?.find(t=>t.id===i));if(-1===l)return;let c=a.messages[l],d={...s,result:{error:"Tool call denied by user."},status:"denied"},u=(0,o.updateToolCallInMessage)(c,d),h=[...a.messages];h[l]=u,a={...a,messages:h,updated:Date.now()},n.setCurrentConversation(a),await r.save(a),t.e.fire("toolCallDenied.ai-assistant-pro",s),n.removePendingToolCall(i)}async function l(t,i,n){try{n.setLoading(!0);let o=await i.get(t);if(!o)throw Error("Conversation not found: "+t);n.setCurrentConversation({...o})}catch(t){r.IS_PROD}finally{n.setLoading(!1)}}async function c(t,i){i.setView("conversationList");try{i.setLoading(!0);let n=await t.list().catch(()=>[]);i.setConversations(n)}finally{i.setLoading(!1)}}async function d(t,i,n){n.setLoading(!0);try{let o=await i.list(t||void 0);n.setConversations(o),n.setView("conversationList")}finally{n.setLoading(!1)}}},58579:function(t,i,n){"use strict";n.d(i,{applyTheme:function(){return u.applyTheme},areAllToolCallsExecuted:function(){return r.areAllToolCallsExecuted},createNewConversation:function(){return r.createNewConversation},createUserMessage:function(){return a.createUserMessage},deleteConversationWithCleanup:function(){return d.deleteConversationWithCleanup},executeToolCall:function(){return h.executeToolCall},findMessagesWithPendingToolCalls:function(){return r.findMessagesWithPendingToolCalls},findParentMessageId:function(){return r.findParentMessageId},getCurrentSelectionContext:function(){return c.getCurrentSelectionContext},handleBackToList:function(){return s.handleBackToList},handleConversationSearch:function(){return s.handleConversationSearch},handleConversationSelect:function(){return s.handleConversationSelect},handleToolApproval:function(){return s.handleToolApproval},handleToolDenial:function(){return s.handleToolDenial},invertMode:function(){return l.invertMode},isTerminalToolCallStatus:function(){return r.isTerminalToolCallStatus},loadInitialData:function(){return d.loadInitialData},processArtifacts:function(){return o.processArtifacts},processFinalResponse:function(){return o.processFinalResponse},processStreamingResponse:function(){return o.processStreamingResponse},resizeInPanelView:function(){return l.resizeInPanelView},updateToolCallInMessage:function(){return h.updateToolCallInMessage}});var o=n(61872),r=n(70308),s=n(473),a=n(61558),l=n(71050),c=n(15927),d=n(56110),u=n(53014),h=n(79078)},61558:function(t,i,n){"use strict";n.d(i,{createAIMessage:function(){return s},createErrorMessage:function(){return a},createUserMessage:function(){return r},uploadArtifacts:function(){return l}});var o=n(21064);function r(t){return{id:(0,o.generateMessageId)(),role:"user",content:t,timestamp:Date.now()}}function s(){return{id:"",role:"assistant",content:"",artifacts:[],timestamp:Date.now(),toolCalls:[]}}function a(t){return{id:"error_"+(0,o.generateMessageId)(),role:"assistant",content:"❌ Error: "+t.message,timestamp:Date.now(),toolCalls:[],artifacts:[]}}async function l(t,i){if(!i||0===i.length)return i;let n=t.o.aiAssistantPro.uploadBase64Artifact;return n?Promise.all(i.map(async i=>n(i,t)??i)):i}},71050:function(t,i,n){"use strict";n.d(i,{invertMode:function(){return r},resizeInPanelView:function(){return s}});var o=n(41180);function r(t){switch(t){case"left":return"right";case"right":return"left";case"top":return"bottom";case"bottom":return"top"}}function s(t,i,n,s){if("dialog"===i||"flight"===i)return;("left"===i||"right"===i)&&(t.currentPlace.slots[r(i)]?.style.setProperty(`--jd-slot-${r(i)}-width`,"auto"),t.currentPlace.slots[i]?.style.setProperty(`--jd-slot-${i}-width`,`${n}px`));let a=(0,o.css)(t.currentPlace.workplace,"height")??0;t.currentPlace.slots[i]?.style.setProperty("min-height",`${Math.min(a,s)}px`)}},85696:function(t,i,n){"use strict";function o(t,i){let n=t.createInside.div();return n.innerHTML=i,r(t,n),n}function r(t,i){t.e.fire("safeHTML",i)}n.d(i,{createSanitizedContainer:function(){return o},sanitizeElement:function(){return r}})},15927:function(t,i,n){"use strict";function o(t){if(t.s.isCollapsed())return null;let i=t.s.html,n=t.s.range;return{html:i,rangeInfo:{startContainer:n.startContainer.nodeName,startOffset:n.startOffset,endContainer:n.endContainer.nodeName,endOffset:n.endOffset}}}n.d(i,{getCurrentSelectionContext:function(){return o}})},56110:function(t,i,n){"use strict";n.d(i,{deleteConversationWithCleanup:function(){return r},loadInitialData:function(){return s}});var o=n(82758);async function r(t,i,n,o,r){try{o.setLoading(!0),await n.delete(i),o.removeConversation(i),r.clearConversationPermissions(i);let s=o.getCurrentConversation();s?.id===i&&o.setCurrentConversation(null);let a=await n.list();o.setConversations(a),o.setView(0===a.length?"welcome":"conversationList"),t.e.fire("conversationDeleted.ai-assistant-pro",i)}catch(i){t.alert(t.i18n("Failed to delete conversation")+": "+(i?.message||"Unknown error"))}finally{o.setLoading(!1)}}async function s(t,i,n){n.setLoading(!0);try{let[o,r]=await Promise.all([i.list().catch(()=>[]),i.getGlobalSettings().catch(()=>null)]);if(n.setConversations(o),r&&n.setSavedState(r),0===o.length)n.setView("welcome");else if(t.o.aiAssistantPro.rememberLastConversation&&r?.currentConversationId){let t=o.find(t=>t.id===r.currentConversationId)??o[0],s=await i.get(t.id);s?n.setCurrentConversation(s):n.setView("conversationList")}else n.setView("conversationList")}catch(t){o.IS_PROD,n.setView("welcome")}finally{n.setLoading(!1)}}},53014:function(t,i,n){"use strict";n.d(i,{applyTheme:function(){return s}});let o=["jodit_theme_dark","jodit-ai-assistant-pro_theme_dark","jodit-dialog_theme_dark"],r=["jodit_theme_light","jodit-ai-assistant-pro_theme_light","jodit-dialog_theme_light"];function s(t,i,n,s,a){let l;if(s?.classList.remove(...o),s?.classList.remove(...r),"dialog"===n){let t=a?.container;t?.classList.remove(...o),t?.classList.remove(...r)}if(l="dark"===i?o:r,s?.classList.add(...l),"dialog"===n){let t=a?.container;t?.classList.add(...l)}}},79078:function(t,i,n){"use strict";async function o(t,i,n){let o;try{let t=new AbortController().signal,r=await n.executeTool(i.name,i.arguments,t);o={...i,result:{result:r},status:"executed"}}catch(n){o={...i,result:{error:n instanceof Error?n.message:n+""},status:"error"},t.e.fire("toolCallFailed.ai-assistant-pro",o)}return t.e.fire("toolCallExecuted.ai-assistant-pro",o,{toolCallId:o.id,result:o.result}),o}function r(t,i){let n=t.toolCalls?.findIndex(t=>t.id===i.id);if(null==n||-1===n)return t;let o=[...t?.toolCalls??[]];return o[n]=i,{...t,toolCalls:o}}n.d(i,{executeToolCall:function(){return o},updateToolCallInMessage:function(){return r}})},86449:function(t,i,n){"use strict";n.d(i,{APIClient:function(){return a}});var o=n(82749),r=n(82758),s=n(21537);class a{async sendRequest(t,i,n,o,a){let{apiRequest:l,requestTimeout:c,maxRetries:d}=this.jodit.o.aiAssistantPro;if(!l)throw Error("AI Assistant Pro callback is not configured");let u=new AbortController;this.abortControllers.add(u);try{let h=this.buildRequestContext(t,i,n,o,a),p=null;for(let t=0;d>=t;t++)try{if(u.signal.aborted)throw(0,s.abort)();let t=setTimeout(()=>{u.abort()},c);try{let i=await l(h,u.signal);return clearTimeout(t),this.validateResponse(i),i}catch(i){throw clearTimeout(t),i}}catch(i){if(p=i,r.IS_PROD,d>t){let i=this.calculateRetryDelay(t);await this.sleep(i)}else throw i}throw p||Error("API request failed after all retries")}finally{this.abortControllers.delete(u)}}abort(){this.abortControllers.forEach(t=>{t.abort()}),this.abortControllers.clear()}isInProgress(){return this.abortControllers.size>0}buildRequestContext(t,i,n,o,r){let s,{apiMode:a,instructions:l}=this.jodit.o.aiAssistantPro,c={mode:a,conversationId:t,tools:this.toolRegistry.getAllTools(),selectionContexts:o,conversationOptions:r,instructions:l};if("full"===a)s=i;else if(n){let t=i.findIndex(t=>t.id===n);s=-1!==t?i.slice(t+1):i,c={...c,parentMessageId:n}}else s=i;return{...c,messages:this.expandToolMessages(s,i.find(t=>t.id===n))}}expandToolMessages(t,i){let n=[];for(let i of t)n.push(i),this.expandToolResultsMessage(i,n);return i&&this.expandToolResultsMessage(i,n),n}expandToolResultsMessage(t,i){if(t.toolCalls&&t.toolCalls.length>0)for(let n of t.toolCalls){let o=n.result??{error:"result not found"};if(i.find(t=>t.id===`${n.id}-result`))continue;let r={id:`${n.id}-result`,role:"tool",content:o.error?"Error: "+o.error:JSON.stringify(o.result),timestamp:t.timestamp,toolResults:[{toolCallId:n.id,result:o}]};i.push(r)}}validateResponse(t){if("final"!==t.mode)return;let i=t.response;if(!i)throw Error("API returned empty response");if(!i.responseId)throw Error("API response missing responseId");if(void 0===i.content)throw Error("API response missing content");if(void 0===i.finished)throw Error("API response missing finished flag");if(i.toolCalls){if(!Array.isArray(i.toolCalls))throw Error("API response toolCalls must be an array");i.toolCalls.forEach((t,i)=>{if(!t.id)throw Error(`Tool call at index ${i} is missing id`);if(!t.name)throw Error(`Tool call at index ${i} is missing name`);if(!t.arguments||"object"!=typeof t.arguments)throw Error(`Tool call at index ${i} has invalid arguments`)})}}calculateRetryDelay(t){let{retryDelay:i}=this.jodit.o.aiAssistantPro;return i*Math.pow(2,t)+Math.random()*i}sleep(t){return new Promise(i=>setTimeout(i,t))}destruct(){this.abort()}constructor(t,i){(0,o._)(this,"jodit",void 0),(0,o._)(this,"toolRegistry",void 0),(0,o._)(this,"abortControllers",void 0),this.jodit=t,this.toolRegistry=i,this.abortControllers=new Set}}},47373:function(t,i,n){"use strict";function o(t,i,n="image/png"){let r=atob(t),s=r.length,a=new Uint8Array(s);for(let t=0;s>t;t++)a[t]=r.charCodeAt(t);return new File([new Blob([a],{type:n})],i,{type:n})}n.d(i,{base64ToFile:function(){return o}})},21020:function(t,i,n){"use strict";n.d(i,{PermissionManager:function(){return r}});var o=n(82749);class r{requiresPermission(t){let{autoApproveTools:i,alwaysDenyTools:n}=this.jodit.o.aiAssistantPro;if(n.includes(t))return!0;if(i.includes(t))return!1;let o=this.toolRegistry.getTool(t);return!o||o.requiresPermission}isAutoDenied(t){let{alwaysDenyTools:i}=this.jodit.o.aiAssistantPro;return i.includes(t)}isAutoApproved(t){let{autoApproveTools:i}=this.jodit.o.aiAssistantPro;return i.includes(t)}checkPermission(t,i){if(this.isAutoApproved(t))return{toolName:t,granted:!0,grantedAt:Date.now(),scope:"once"};if(this.isAutoDenied(t))return null;let n=this.permanentPermissions.get(t);return n&&n.granted?n:i.find(i=>i.toolName===t&&i.granted)||null}grantPermission(t,i){let n={toolName:t,granted:!0,grantedAt:Date.now(),scope:i};return"forever"===i&&(this.permanentPermissions.set(t,n),this.savePermanentPermissions()),n}denyPermission(t){return{toolName:t,granted:!1,grantedAt:Date.now(),scope:"once"}}filterToolCalls(t,i){let n=[],o=[],r=[];for(let s of t){if(this.isAutoDenied(s.name)){r.push({...s,status:"denied"});continue}if(this.isAutoApproved(s.name)){n.push({...s,status:"approved"});continue}let t=this.checkPermission(s.name,i);t&&t.granted?n.push({...s,status:"approved"}):this.requiresPermission(s.name)?(this.jodit.e.fire("permissionRequested.ai-assistant-pro",s.name),o.push({...s,status:"pending"})):n.push({...s,status:"approved"})}return{approved:n,needsPermission:o,denied:r}}clearConversationPermissions(t){}loadPermanentPermissions(){try{let t=localStorage.getItem(this.PERMANENT_PERMISSIONS_KEY);t&&JSON.parse(t).forEach(t=>{"forever"===t.scope&&t.granted&&this.permanentPermissions.set(t.toolName,t)})}catch(t){}}savePermanentPermissions(){try{let t=Array.from(this.permanentPermissions.values());localStorage.setItem(this.PERMANENT_PERMISSIONS_KEY,JSON.stringify(t))}catch(t){}}clearPermanentPermissions(){this.permanentPermissions.clear(),localStorage.removeItem(this.PERMANENT_PERMISSIONS_KEY)}getPermanentPermissions(){return Array.from(this.permanentPermissions.values())}revokePermanentPermission(t){this.permanentPermissions.delete(t),this.savePermanentPermissions()}destruct(){this.permanentPermissions.clear()}constructor(t,i){(0,o._)(this,"jodit",void 0),(0,o._)(this,"toolRegistry",void 0),(0,o._)(this,"permanentPermissions",void 0),(0,o._)(this,"PERMANENT_PERMISSIONS_KEY",void 0),this.jodit=t,this.toolRegistry=i,this.permanentPermissions=new Map,this.PERMANENT_PERMISSIONS_KEY="jodit-permissions.ai-assistant-pro",this.loadPermanentPermissions()}}},46166:function(t,i,n){"use strict";n.d(i,{StateManager:function(){return r}});var o=n(82749);class r{createInitialState(){return{isOpen:!1,currentView:"welcome",currentConversation:null,conversations:[],isLoading:!1,error:null,pendingToolCalls:[],selectionContexts:[],abortController:null,editingMessageId:null,theme:this.jodit.o.aiAssistantPro.theme||"parent",displayMode:this.jodit.o.aiAssistantPro.displayMode,panelWidth:this.jodit.o.aiAssistantPro.panelWidth,panelHeight:this.jodit.o.aiAssistantPro.panelHeight,defaultModel:this.jodit.o.aiAssistantPro.defaultModel,defaultTemperature:this.jodit.o.aiAssistantPro.defaultTemperature}}open(){this.state.isOpen=!0,this.jodit.e.fire("open.ai-assistant-pro",this.state.currentConversation)}close(){this.state.isOpen=!1,this.jodit.e.fire("close.ai-assistant-pro")}isOpen(){return this.state.isOpen}setView(t){this.state.currentView=t,this.jodit.e.fire("viewChanged.ai-assistant-pro",t)}getView(){return this.state.currentView}setConversations(t){this.state.conversations=t}setSavedState(t){t.theme&&(this.state.theme=t.theme),t.displayMode&&(this.state.displayMode=t.displayMode),t.panelWidth&&(this.state.panelWidth=t.panelWidth),t.panelHeight&&(this.state.panelHeight=t.panelHeight),t.defaultModel&&(this.state.defaultModel=t.defaultModel),t.defaultTemperature&&(this.state.defaultTemperature=t.defaultTemperature)}getConversations(){return this.state.conversations}setCurrentConversation(t){if(this.state.currentConversation===t)throw Error("Conversation is already current");this.state.currentConversation=t||null,t&&(this.setView("conversation"),this.jodit.e.fire("conversationSwitched.ai-assistant-pro",t))}getCurrentConversation(){return this.state.currentConversation}removeConversation(t){let i=this.state.conversations.filter(i=>i.id!==t);this.setConversations(i)}setLoading(t){this.state.isLoading=t}isLoading(){return this.state.isLoading}setError(t){this.state.error=t,t&&this.jodit.e.fire("error.ai-assistant-pro",Error(t))}getError(){return this.state.error}clearError(){this.setError(null)}setPendingToolCalls(t){this.state.pendingToolCalls=t}getPendingToolCalls(){return this.state.pendingToolCalls}addPendingToolCall(t){let i=[...this.state.pendingToolCalls,t];this.setPendingToolCalls(i)}removePendingToolCall(t){let i=this.state.pendingToolCalls.filter(i=>i.id!==t);this.setPendingToolCalls(i)}updateToolCallStatus(t,i){let n=this.state.pendingToolCalls.map(n=>n.id===t?{...n,status:i}:n);this.setPendingToolCalls(n)}setSelectionContexts(t){this.state.selectionContexts=t}getSelectionContexts(){return this.state.selectionContexts}addSelectionContext(t){let{maxContextRanges:i}=this.jodit.o.aiAssistantPro,n=[...this.state.selectionContexts,t];n.length>i&&(n=n.slice(-i)),this.setSelectionContexts(n),this.jodit.e.fire("contextAdded.ai-assistant-pro",t)}removeSelectionContext(t){let i=this.state.selectionContexts.filter((i,n)=>n!==t);this.setSelectionContexts(i),this.jodit.e.fire("contextRemoved.ai-assistant-pro",t)}clearSelectionContexts(){this.setSelectionContexts([])}setAbortController(t){this.state.abortController=t}getAbortController(){return this.state.abortController}setEditingMessageId(t){this.state.editingMessageId=t}getEditingMessageId(){return this.state.editingMessageId}isEditingMessage(){return null!=this.state.editingMessageId}clearEditingMessage(){this.setEditingMessageId(null)}reset(){this.state=this.createInitialState()}destruct(){this.state.abortController&&this.state.abortController.abort(),this.reset()}constructor(t){(0,o._)(this,"jodit",void 0),(0,o._)(this,"state",void 0),this.jodit=t,this.state=this.createInitialState()}}},62895:function(t,i,n){"use strict";n.d(i,{WebStorageConversationStorage:function(){return o.WebStorageConversationStorage},createStorageProvider:function(){return o.createStorageProvider}});var o=n(21064)},21064:function(t,i,n){"use strict";n.d(i,{WebStorageConversationStorage:function(){return s},createStorageProvider:function(){return a},generateConversationId:function(){return l},generateMessageId:function(){return c}});var o=n(82749),r=n(97333);class s{close(){return this.storage.close()}getConversationKey(t){return"conv:"+t}async getAllKeys(){let t=await this.storage.get("__conversation_index__");return t&&Array.isArray(t)?t:[]}async updateIndex(t){await this.storage.set("__conversation_index__",t)}async addToIndex(t){let i=await this.getAllKeys();i.includes(t)||(i.push(t),await this.updateIndex(i))}async removeFromIndex(t){let i=(await this.getAllKeys()).filter(i=>i!==t);await this.updateIndex(i)}async list(t){try{let i=await this.getAllKeys(),n=[],o=t?.toLowerCase().trim();for(let t of i){let i=await this.get(t);if(i){if(o){let t=i.title?.toLowerCase().includes(o),n=!t&&i.messages.some(t=>t.content.toLowerCase().includes(o));if(!t&&!n)continue}n.push({id:i.id,title:i.title??"",created:i.created,updated:i.updated,messageCount:i.messages.length})}}return n.sort((t,i)=>i.updated-t.updated),n}catch(t){return[]}}async get(t){try{let i=this.getConversationKey(t);return await this.storage.get(i)||null}catch(t){return null}}async save(t){try{if(0===t.messages.length)throw Error("Conversation must have at least one message.");let i=await this.getAllKeys();i.length>=this.maxConversations&&!i.includes(t.id)&&await this.evictOldest();let n=this.getConversationKey(t.id);await this.storage.set(n,t),await this.addToIndex(t.id)}catch(i){if(i?.name==="QuotaExceededError"||i?.code===22||i?.code===1014){await this.evictOldest();try{let i=this.getConversationKey(t.id);await this.storage.set(i,t),await this.addToIndex(t.id)}catch{throw Error("Storage quota exceeded. Please delete some conversations.")}}else throw Error("Failed to save conversation: "+(i?.message||"Unknown error"))}}async delete(t){try{let i=this.getConversationKey(t);await this.storage.delete(i),await this.removeFromIndex(t)}catch(t){}}async clear(){try{for(let t of(await this.getAllKeys())){let i=this.getConversationKey(t);await this.storage.delete(i)}await this.updateIndex([])}catch(t){}}async evictOldest(){try{let t=await this.list();if(0===t.length)return;t.sort((t,i)=>t.updated-i.updated);let i=t[0];await this.delete(i.id)}catch(t){}}async getGlobalSettings(){try{return await this.storage.get("global-settings")||null}catch(t){return null}}async saveGlobalSettings(t){try{let i={...await this.getGlobalSettings(),...t};await this.storage.set("global-settings",i)}catch{throw Error("Failed to save global settings")}}constructor(t,i){(0,o._)(this,"storage",void 0),(0,o._)(this,"maxConversations",void 0),this.storage=t,this.maxConversations=i}}function a(t,i){return r.AsyncStorage.makeStorage(t,i)}function l(){return`conv_${Date.now()}_${Math.random().toString(36).substring(2,11)}`}function c(){return`msg_${Date.now()}_${Math.random().toString(36).substring(2,11)}`}},55487:function(t,i,n){"use strict";n.d(i,{ToolRegistry:function(){return s}});var o=n(82749),r=n(53835);class s{registerBuiltInTools(t){t.forEach(t=>{let i=r.BUILT_IN_TOOLS[t];i&&this.tools.set(t,i)})}registerCustomTools(t){t.forEach(t=>{this.validateToolDefinition(t),this.tools.set(t.name,t)})}validateToolDefinition(t){if(!t.name||"string"!=typeof t.name)throw Error("Tool must have a valid name");if(!t.description||"string"!=typeof t.description)throw Error(`Tool "${t.name}" must have a description`);if(!Array.isArray(t.parameters))throw Error(`Tool "${t.name}" must have a parameters array`);if("function"!=typeof t.execute)throw Error(`Tool "${t.name}" must have an execute function`);t.parameters.forEach(i=>{if(!i.name||"string"!=typeof i.name)throw Error(`Tool "${t.name}" has a parameter without a valid name`);if(!i.type)throw Error(`Tool "${t.name}" parameter "${i.name}" must have a type`);if("boolean"!=typeof i.required)throw Error(`Tool "${t.name}" parameter "${i.name}" must specify if it's required`)})}getAllTools(){return Array.from(this.tools.values())}getTool(t){return this.tools.get(t)}hasTool(t){return this.tools.has(t)}getToolNames(){return Array.from(this.tools.keys())}async executeTool(t,i,n){let o=this.getTool(t);if(!o)throw Error(`Tool "${t}" not found`);let r=this.applyDefaults(o,i);this.validateArguments(o,r);try{return await o.execute(this.jodit,r,n)}catch(t){if(t?.name==="AbortError"||n.aborted)throw Error("Tool execution was aborted");throw t}}validateArguments(t,i){let n=Object.keys(i);for(let i of t.parameters.filter(t=>t.required).map(t=>t.name))if(!n.includes(i))throw Error(`Tool "${t.name}" requires parameter "${i}"`);for(let[n,o]of Object.entries(i)){let i=t.parameters.find(t=>t.name===n);if(!i){this.jodit.o.aiAssistantPro.debug;continue}let r=Array.isArray(o)?"array":"object"==typeof o&&null!=o?"object":typeof o;if(i.type!==r&&!("number"===i.type&&"string"===r&&!isNaN(Number(o))))throw Error(`Tool "${t.name}" parameter "${n}" expects type "${i.type}" but got "${r}"`);if(i.enum&&i.enum.length>0&&!i.enum.includes(o))throw Error(`Tool "${t.name}" parameter "${n}" must be one of: ${i.enum.join(", ")}`)}}applyDefaults(t,i){let n={...i};for(let i of t.parameters)void 0===n[i.name]&&void 0!==i.default&&(n[i.name]=i.default);return n}destruct(){this.tools.clear()}constructor(t){(0,o._)(this,"jodit",void 0),(0,o._)(this,"tools",void 0),this.jodit=t,this.tools=new Map,this.registerBuiltInTools(t.o.aiAssistantPro.enabledTools||[]),this.registerCustomTools(t.o.aiAssistantPro.customTools||[])}}},26612:function(t){t.exports={"AI Assistant":"AI Assistant","AI Assistant Pro":"AI Assistant Pro","Welcome to AI Assistant":"Welcome to AI Assistant","Start your first conversation":"Start your first conversation","Tip: Select text in editor to add context":"Tip: Select text in editor to add context","New Chat":"New Chat","Search conversations...":"Search conversations...","No conversations yet":"No conversations yet","Ask me anything...":"Ask me anything...","Ask a follow-up...":"Ask a follow-up...","Reply...":"Reply...","Type your message...":"Type your message...",Send:"Send",Cancel:"Cancel",Retry:"Retry",Insert:"Insert",Copy:"Copy",Edit:"Edit",Delete:"Delete",New:"New",Back:"Back","Permission Required":"Permission Required",Approve:"Approve",Deny:"Deny",Once:"Once","This conversation":"This conversation",Always:"Always","The AI wants to execute:":"The AI wants to execute:","This will modify your document content.":"This will modify your document content.","Executing...":"Executing...","Completed successfully":"Completed successfully",Failed:"Failed","Pending approval":"Pending approval","Denied by user":"Denied by user","Tool Result":"Tool Result","Tool Execution Error":"Tool Execution Error",Context:"Context",Contexts:"Contexts","Add to AI Context":"Add to AI Context",Remove:"Remove","Clear all":"Clear all","An error occurred":"An error occurred","Request failed":"Request failed","Connection error":"Connection error","AI Assistant is not configured":"AI Assistant is not configured","Thinking...":"Thinking...","Generating response...":"Generating response...",insertHTML:"Insert HTML",readDocument:"Read Document",readBlock:"Read Block",replaceInDocument:"Replace in Document",replaceInBlock:"Replace in Block",getSelection:"Get Selection","Just now":"Just now",Conversation:"Conversation","New Conversation":"New Conversation",Yesterday:"Yesterday","Delete conversation":"Delete conversation","Are you sure you want to delete this conversation?":"Are you sure you want to delete this conversation?","Failed to delete conversation":"Failed to delete conversation"}},63805:function(t,i,n){"use strict";n.r(i),n.d(i,{en:function(){return r.a},ru:function(){return a.a}});var o=n(26612),r=n.n(o),s=n(55790),a=n.n(s)},55790:function(t){t.exports={"AI Assistant":"AI Ассистент","AI Assistant Pro":"AI Ассистент Pro","Welcome to AI Assistant":"Добро пожаловать в AI Ассистент","Start your first conversation":"Начните первый диалог","Tip: Select text in editor to add context":"Подсказка: Выделите текст в редакторе для добавления контекста","New chat":"Новый чат","Search conversations...":"Поиск диалогов...","No conversations yet":"Пока нет диалогов","Ask me anything...":"Спросите меня о чем угодно...","Ask a follow-up...":"Задайте дополнительный вопрос...","Reply...":"Ответить...","Type your message...":"Введите ваше сообщение...",Send:"Отправить",Cancel:"Отмена",Retry:"Повторить",Insert:"Вставить",Copy:"Копировать",Edit:"Редактировать",Delete:"Удалить",New:"Новый",Back:"Назад","Permission Required":"Требуется разрешение",Approve:"Разрешить",Deny:"Отклонить",Once:"Один раз","This conversation":"Этот диалог",Always:"Всегда","The AI wants to execute:":"AI хочет выполнить:","This will modify your document content.":"Это изменит содержимое вашего документа.","Executing...":"Выполняется...","Completed successfully":"Успешно выполнено",Failed:"Ошибка","Pending approval":"Ожидает разрешения","Denied by user":"Отклонено пользователем","Tool Result":"Результат инструмента","Tool Execution Error":"Ошибка выполнения инструмента",Context:"Контекст",Contexts:"Контексты","Add to AI Context":"Добавить в контекст AI",Remove:"Удалить","Clear all":"Очистить все","An error occurred":"Произошла ошибка","Request failed":"Запрос не выполнен","Connection error":"Ошибка соединения","AI Assistant is not configured":"AI Ассистент не настроен","Thinking...":"Думаю...","Generating response...":"Генерирую ответ...",insertHTML:"Вставить HTML",readDocument:"Прочитать документ",readBlock:"Прочитать блок",replaceInDocument:"Заменить в документе",replaceInBlock:"Заменить в блоке",getSelection:"Получить выделение","Just now":"Только что",Conversation:"Диалог","New Conversation":"Новый диалог",Yesterday:"Вчера","Delete conversation":"Удалить диалог","Are you sure you want to delete this conversation?":"Вы уверены, что хотите удалить этот диалог?","Failed to delete conversation":"Не удалось удалить диалог",Settings:"Настройки","General Settings":"Общие настройки","Conversation Settings":"Настройки диалога","Display Mode":"Режим отображения","Panel Width":"Ширина панели",Theme:"Тема",Model:"Модель",Temperature:"Температура",Close:"Закрыть",Dialog:"Модальное окно",Left:"Левая панель",Right:"Правая панель",Top:"Верхняя панель",Bottom:"Нижняя панель",Inherit:"Наследовать от редактора",Light:"Светлая тема",Dark:"Тёмная тема","%dm ago":"%dм назад","%dh ago":"%dч назад"}},94454:function(t,i,n){"use strict";n.d(i,{getAIProviderOptions:function(){return o.getAIProviderOptions},registerAIProvider:function(){return o.registerAIProvider}}),n(82923);var o=n(58211)},82923:function(t,i,n){"use strict";var o=n(58211),r=n(54079);(0,o.registerAIProvider)("jodit-ai-adapter",t=>{let i=t.url.replace(/\/+$/,""),n=t.provider??"openai",o=!1!==t.stream;return{apiMode:"incremental",maxRetries:0,voiceInputEnabled:!0,voiceInputUrl:`${i.replace(/^http/,"ws")}/v1/ai/transcribe`,voiceInputApiKey:t.apiKey,textAutocompleteEnabled:!0,async textAutocompleteApiRequest(o,s,a){let l=new r.Ajax({url:`${i}/ai/autocomplete?query=${encodeURIComponent(o)}&key=${encodeURIComponent(t.apiKey)}`,method:"POST",contentType:"application/json",data:{provider:n,context:{maxSuggestions:s}}});a.addEventListener("abort",()=>l.abort(),{once:!0});let c=await l.send(),d=await c.json();return d.success&&d.result?.suggestions?d.result.suggestions:[]},async apiRequest(s,a){let l=new r.Ajax({url:`${i}/ai/request?key=${encodeURIComponent(t.apiKey)}`,method:"POST",contentType:"application/json",data:{provider:n,context:o?{...s,metadata:{...s.metadata,stream:!0}}:s}});if(a&&a.addEventListener("abort",()=>l.abort(),{once:!0}),!o){let t=await l.send();return{mode:"final",response:(await t.json()).result}}let c=l.stream();return{mode:"stream",stream:async function*(){for await(let t of c)yield JSON.parse(t)}()}}}})},58211:function(t,i,n){"use strict";n.d(i,{getAIProviderOptions:function(){return r},registerAIProvider:function(){return s}});let o=new Map;function r(t,i){let n=o.get(t);if(!n)throw Error(`AI provider "${t}" is not registered. Available providers: `+[...o.keys()].join(", "));return n(i)}function s(t,i){o.set(t,i)}},65374:function(t,i,n){"use strict";n.r(i),n.d(i,{description:function(){return r},name:function(){return o},parameters:function(){return s},requiresPermission:function(){return a}});let o="addHTML",r="Add HTML content to the beginning or end of the document",s=[{name:"html",type:"string",description:"HTML content to add",required:!0},{name:"position",type:"string",description:'Where to add: "start" adds at the beginning of the document, "end" appends to the end',required:!1,default:"end"}],a=!0},686:function(t,i,n){"use strict";n.d(i,{execute:function(){return l}});var o=n(6689),r=n(49459),s=n(85696),a=n(22732);async function l(t,i,n){let l=(0,r.requireString)(i,"html",{allowEmpty:!0}),{position:c="end"}=i;if(!l.trim())return{success:!0,message:"Nothing to add: HTML is empty"};(0,o.throwIfAborted)(n);try{let i=t.createInside.fragment(),n=(0,s.createSanitizedContainer)(t,l);for(;n.firstChild;)i.appendChild(n.firstChild);return"start"===c?a.Dom.prepend(t.editor,i):a.Dom.append(t.editor,i),t.synchronizeValues(),{success:!0,message:`Added ${l.length} characters of HTML at the ${"start"===c?"beginning":"end"} of the document`}}catch(t){throw Error("Failed to add HTML: "+(t?.message||"Unknown error"))}}},78907:function(t,i,n){"use strict";var o=n(65374),r=n(686);i.default={...o,execute:r.execute}},73943:function(t,i,n){"use strict";n.r(i),n.d(i,{description:function(){return r},name:function(){return o},parameters:function(){return s},requiresPermission:function(){return a}});let o="applyFormat",r="Apply or remove inline formatting to the current selection (bold, italic, underline, etc.) or to a specific block",s=[{name:"element",type:"string",description:'HTML element to wrap selection (e.g., "strong", "em", "u", "span")',required:!1},{name:"attributes",type:"object",description:'Attributes to apply (e.g., {"className": "highlight"}, {"style": {"color": "red"}})',required:!1},{name:"remove",type:"boolean",description:"If true, remove the formatting instead of applying it",required:!1,default:!1},{name:"blockIndex",type:"number",description:"Zero-based index of the block to format (if not using current selection)",required:!1},{name:"selector",type:"string",description:"CSS selector to find the block to format (if not using current selection)",required:!1}],a=!0},19127:function(t,i,n){"use strict";n.d(i,{execute:function(){return s}});var o=n(6689),r=n(44526);async function s(t,i,n){let{element:s,attributes:a,remove:l,blockIndex:c,selector:d}=i;if((0,o.throwIfAborted)(n),!s&&!a)throw Error('Either "element" or "attributes" must be provided');if(t.s.restore(),void 0!==c||d){let{element:i}=(0,r.resolveBlock)(t,{selector:d,index:c});t.s.select(i)}if(t.s.isCollapsed())throw Error("No selection found. Please select text to format");try{let i={};return s&&(i.element=s),a&&(i.attributes=a),l?t.s.commitStyle({...i,mode:"remove"}):t.s.commitStyle(i),t.synchronizeValues(),{success:!0,message:l?"Formatting removed successfully":"Formatting applied successfully"}}catch(t){throw Error(`Failed to ${l?"remove":"apply"} formatting: ${t.message}`)}}},39296:function(t,i,n){"use strict";var o=n(73943),r=n(19127);i.default={...o,execute:r.execute}},53835:function(t,i,n){"use strict";n.d(i,{BUILT_IN_TOOLS:function(){return f},getToolNames:function(){return m}});var o=n(78907),r=n(39296),s=n(16745),a=n(78717),l=n(5618),c=n(90991),d=n(2020),u=n(12570),h=n(95323),p=n(97603);let f={readDocument:l.default,readBlocks:a.default,readSelection:c.default,writeDocument:p.default,replaceSelection:h.default,replaceBlock:d.default,replaceInDocument:u.default,insertHTML:s.default,addHTML:o.default,applyFormat:r.default};function m(){return Object.keys(f)}},56732:function(t,i,n){"use strict";n.r(i),n.d(i,{description:function(){return r},name:function(){return o},parameters:function(){return s},requiresPermission:function(){return a}});let o="insertHTML",r="Insert or replace HTML content at the current cursor position in the editor",s=[{name:"html",type:"string",description:"HTML content to insert",required:!0},{name:"replace",type:"boolean",description:"If true, replaces current selection. If false, inserts at cursor",required:!1,default:!1}],a=!0},39592:function(t,i,n){"use strict";n.d(i,{execute:function(){return s}});var o=n(6689),r=n(49459);async function s(t,i,n){let s=(0,r.requireString)(i,"html",{allowEmpty:!0}),{replace:a}=i;if(!s.trim())return{success:!0,message:"Nothing to insert: HTML is empty"};(0,o.throwIfAborted)(n);try{return t.s.focus(),a&&!t.s.isCollapsed()&&t.s.remove(),t.s.insertHTML(s),t.synchronizeValues(),{success:!0,message:`Inserted ${s.length} characters of HTML`}}catch(t){throw Error("Failed to insert HTML: "+(t?.message||"Unknown error"))}}},16745:function(t,i,n){"use strict";var o=n(56732),r=n(39592);i.default={...o,execute:r.execute}},75352:function(t,i,n){"use strict";n.r(i),n.d(i,{description:function(){return r},name:function(){return o},parameters:function(){return s},requiresPermission:function(){return a}});let o="readBlocks",r="Read blocks from the editor with optional filtering and pagination",s=[{name:"offset",type:"number",description:"Number of blocks to skip from the beginning (default: 0)",required:!1,default:0},{name:"limit",type:"number",description:"Maximum number of blocks to return (default: all)",required:!1},{name:"query",type:"string",description:"Filter blocks by text content",required:!1}],a=!1},91140:function(t,i,n){"use strict";n.d(i,{execute:function(){return s}});var o=n(6689),r=n(22732);async function s(t,i,n){let{offset:s,limit:a,query:l}=i;(0,o.throwIfAborted)(n);let c=[];Array.from(t.editor.children).forEach((t,i)=>{r.Dom.isElement(t)&&c.push({blockIndex:i,tagName:t.tagName.toLowerCase(),content:t.innerHTML,textContent:t.textContent||"",classList:Array.from(t.classList)})});let d=c;if(l&&"string"==typeof l){let t=l.toLowerCase();d=c.filter(i=>i.textContent.toLowerCase().includes(t)||i.tagName.includes(t)||i.content.toLowerCase().includes(t))}let u=Math.max(0,Math.min("number"==typeof s?s:0,d.length)),h=void 0!==a?Math.min(u+a,d.length):d.length;return{blocks:d.slice(u,h),total:c.length,offset:u,limit:void 0!==a?a:void 0}}},78717:function(t,i,n){"use strict";var o=n(75352),r=n(91140);i.default={...o,execute:r.execute}},93809:function(t,i,n){"use strict";n.r(i),n.d(i,{description:function(){return r},name:function(){return o},parameters:function(){return s},requiresPermission:function(){return a}});let o="readDocument",r="Read the entire content of the editor document in HTML format",s=[{name:"start",type:"number",description:"Start character position (default: 0)",required:!1,default:0},{name:"end",type:"number",description:"End character position (default: length of document)",required:!1},{name:"aroundSelection",type:"boolean",description:"If true, return only the maximum block around the current selection",required:!1,default:!1}],a=!1},28157:function(t,i,n){"use strict";n.d(i,{execute:function(){return s}});var o=n(6689),r=n(22732);async function s(t,i,n){let{start:s,end:a,aroundSelection:l}=i;(0,o.throwIfAborted)(n);let c=t.value,d=c.length;if(l&&!t.s.isCollapsed()){let i=t.s.range.commonAncestorContainer;for(;i&&i!==t.editor;){if(r.Dom.isElement(i)&&i.parentNode===t.editor){c=i.outerHTML;break}i=i.parentNode}return{html:c,length:d}}let u=void 0!==a?Math.min(a,d):d,h=Math.max(0,Math.min("number"==typeof s?s:0,d));return(h>0||d>u)&&(c=c.substring(h,u)),{html:c,length:d,start:h,end:u}}},5618:function(t,i,n){"use strict";var o=n(93809),r=n(28157);i.default={...o,execute:r.execute}},52826:function(t,i,n){"use strict";n.r(i),n.d(i,{description:function(){return r},name:function(){return o},parameters:function(){return s},requiresPermission:function(){return a}});let o="readSelection",r="Get information about the current selection including HTML content and optional context",s=[{name:"contextCharsBefore",type:"number",description:"Number of characters to include before the selection",required:!1,default:0},{name:"contextCharsAfter",type:"number",description:"Number of characters to include after the selection",required:!1,default:0}],a=!1},85130:function(t,i,n){"use strict";n.d(i,{execute:function(){return r}});var o=n(6689);async function r(t,i,n){let{contextCharsBefore:r,contextCharsAfter:s}=i;if((0,o.throwIfAborted)(n),t.s.restore(),t.s.isCollapsed())return{hasSelection:!1};let a=t.s.html,l=t.s.range,c=l.toString(),d={hasSelection:!0,html:a,text:c,startContainer:l.startContainer.nodeName,endContainer:l.endContainer.nodeName};if(r>0||s>0){let i=t.editor.textContent||"",n=i.substring(0,i.indexOf(c)),o=i.substring(i.indexOf(c)+c.length);r>0&&(d.contextBefore=n.slice(-r)),s>0&&(d.contextAfter=o.slice(0,s))}return d}},90991:function(t,i,n){"use strict";var o=n(52826),r=n(85130);i.default={...o,execute:r.execute}},96675:function(t,i,n){"use strict";n.r(i),n.d(i,{description:function(){return r},name:function(){return o},parameters:function(){return s},requiresPermission:function(){return a}});let o="replaceBlock",r="Replace a specific block in the document by its index or CSS selector with new HTML content",s=[{name:"index",type:"number",description:"Zero-based index of the block to replace (use either index or selector, not both)",required:!1},{name:"selector",type:"string",description:'CSS selector to find the block to replace (e.g., "h1", ".my-class", "#my-id"). Use either selector or index, not both',required:!1},{name:"html",type:"string",description:"HTML content for the new block",required:!0}],a=!0},3091:function(t,i,n){"use strict";n.d(i,{execute:function(){return c}});var o=n(6689),r=n(49459),s=n(44526),a=n(85696),l=n(22732);async function c(t,i,n){let{index:c,selector:d}=i,u=(0,r.requireString)(i,"html");if((0,o.throwIfAborted)(n),void 0===c&&!d||void 0!==c&&d)throw Error("Either index or selector must be provided, but not both");let{element:h,identifier:p}=(0,s.resolveBlock)(t,{selector:d,index:c,requireExactlyOne:!0});try{let i=(0,a.createSanitizedContainer)(t,u).firstChild;if(!i||!l.Dom.isElement(i))throw Error("Invalid HTML: must contain at least one element");return h.parentNode?.replaceChild(i,h),t.synchronizeValues(),{success:!0,message:`Block ${p} replaced successfully`}}catch(t){throw Error(`Failed to replace block ${p}: ${t.message}`)}}},2020:function(t,i,n){"use strict";var o=n(96675),r=n(3091);i.default={...o,execute:r.execute}},62553:function(t,i,n){"use strict";n.r(i),n.d(i,{description:function(){return r},name:function(){return o},parameters:function(){return s},requiresPermission:function(){return a}});let o="replaceInDocument",r="Find and replace text or HTML patterns throughout the entire document",s=[{name:"search",type:"string",description:"Text or pattern to search for",required:!0},{name:"replace",type:"string",description:"Replacement text or HTML",required:!0},{name:"useRegex",type:"boolean",description:"If true, treats search as a regular expression",required:!1,default:!1},{name:"useSelector",type:"string",description:"CSS selector to narrow down the search scope to specific elements",required:!1}],a=!0},56293:function(t,i,n){"use strict";n.d(i,{execute:function(){return a}});var o=n(6689),r=n(49459),s=n(85696);async function a(t,i,n){let a=(0,r.requireString)(i,"search"),l=(0,r.requireString)(i,"replace",{allowEmpty:!0}),{useRegex:c,useSelector:d}=i;(0,o.throwIfAborted)(n);try{let i;t.s.focus(),t.s.save();let r=0;if(d){let u=function(t,i,n,r,a,l){let c=t.editor.querySelectorAll(a);if(0===c.length)return{replacements:0,message:`No elements found matching selector "${a}"`};let d=0;return c.forEach(a=>{(0,o.throwIfAborted)(l);let c=a.innerHTML,u=c;if(r)try{let t=RegExp(i,"g");c=c.replace(t,()=>(d++,n))}catch(t){throw Error("Invalid regex pattern: "+(t?.message||"Unknown error"))}else{let t=i.length,r=0;for(;-1!==(r=c.indexOf(i,r));)(0,o.throwIfAborted)(l),c=c.substring(0,r)+n+c.substring(r+t),r+=n.length,d++}c!==u&&(a.innerHTML=c,(0,s.sanitizeElement)(t,a))}),d>0&&(t.synchronizeValues(),t.s.restore()),{replacements:d}}(t,a,l,c,d,n);r=u.replacements,i=u.message}else r=function(t,i,n,r,s,a){let l=0,c=i;if(s)try{let t=RegExp(n,"g");c=c.replace(t,()=>(l++,r))}catch(t){throw Error("Invalid regex pattern: "+(t?.message||"Unknown error"))}else{let t=n.length,i=0;for(;-1!==(i=c.indexOf(n,i));)(0,o.throwIfAborted)(a),c=c.substring(0,i)+r+c.substring(i+t),i+=r.length,l++}return l>0&&(t.value=c,t.s.restore(),t.synchronizeValues()),l}(t,t.value,a,l,c,n);return{replacements:r,message:i||(r>0?`Replaced ${r} occurrence(s)`:"No matches found")}}catch(i){throw t.s.restore(),Error("Failed to replace in document: "+(i?.message||"Unknown error"))}}},12570:function(t,i,n){"use strict";var o=n(62553),r=n(56293);i.default={...o,execute:r.execute}},70750:function(t,i,n){"use strict";n.r(i),n.d(i,{description:function(){return r},name:function(){return o},parameters:function(){return s},requiresPermission:function(){return a}});let o="replaceSelection",r="Replace the current selection with new HTML content",s=[{name:"html",type:"string",description:"HTML content to insert in place of the selection",required:!0},{name:"collapseToEnd",type:"boolean",description:"Move cursor to the end of the inserted content",required:!1,default:!0}],a=!0},36142:function(t,i,n){"use strict";n.d(i,{execute:function(){return s}});var o=n(6689),r=n(49459);async function s(t,i,n){let s=(0,r.requireString)(i,"html"),{collapseToEnd:a}=i;(0,o.throwIfAborted)(n);try{if(t.s.restore(),t.s.insertHTML(s),a){let i=t.s.range;i.collapse(!1),t.s.selectRange(i)}return t.e.fire("change"),{success:!0,message:"Selection replaced successfully"}}catch(t){throw Error("Failed to replace selection: "+t.message)}}},95323:function(t,i,n){"use strict";var o=n(70750),r=n(36142);i.default={...o,execute:r.execute}},90022:function(t,i,n){"use strict";n.r(i),n.d(i,{description:function(){return r},name:function(){return o},parameters:function(){return s},requiresPermission:function(){return a}});let o="writeDocument",r="Write (replace) the entire document content with new HTML",s=[{name:"html",type:"string",description:"HTML content to set as the document",required:!0}],a=!0},79766:function(t,i,n){"use strict";n.d(i,{execute:function(){return s}});var o=n(6689),r=n(49459);async function s(t,i,n){let s=(0,r.requireString)(i,"html",{allowEmpty:!0});(0,o.throwIfAborted)(n);try{return t.s.focus(),t.value=s,t.synchronizeValues(),{success:!0,message:`Document content was replaced with provided HTML(${s.length} characters)`}}catch(t){throw Error("Failed to replace HTML: "+(t?.message||"Unknown error"))}}},97603:function(t,i,n){"use strict";var o=n(90022),r=n(79766);i.default={...o,execute:r.execute}},80453:function(t,i,n){"use strict";n.d(i,{UIConversationListItem:function(){return d}});var o=n(82749),r=n(31635),s=n(65478),a=n(67510),l=n(62843),c=n(80870);class d extends a.UIElement{className(){return"UIConversationListItem"}render(){return'<div class="jodit-ui-conversation-list__item"></div>'}setActive(t){this.isActive=t,this.updateContent()}updateContent(){let t=this.container;t.innerHTML="",t.setAttribute("data-id",this.conversation.id),this.isActive?t.classList.add("jodit-ui-conversation-list__item_active"):t.classList.remove("jodit-ui-conversation-list__item_active");let i=this.j.c.div("jodit-ui-conversation-list__item-avatar");i.textContent="AI",t.appendChild(i);let n=this.j.c.div("jodit-ui-conversation-list__item-wrapper"),o=this.j.c.div("jodit-ui-conversation-list__item-content"),r=this.j.c.div("jodit-ui-conversation-list__item-title");if(r.textContent=this.conversation.title,this.titleElement=r,o.appendChild(r),this.opts.showTimestamps){let t=this.j.c.div("jodit-ui-conversation-list__item-meta");t.textContent=this.opts.formatTimestamp(this.conversation.updated,this.j.i18n.bind(this.j)),o.appendChild(t)}if(n.appendChild(o),this.conversation.messageCount>0){let t=this.j.c.div("jodit-ui-conversation-list__item-badge");t.textContent=this.conversation.messageCount+"",n.appendChild(t)}t.appendChild(n),this.actionsButton||(this.actionsButton=new l.UIButton(this.j,{icon:{name:"dots"},tooltip:"Actions",name:"conversationActions",size:"tiny"}),this.actionsButton.container.classList.add("jodit-ui-conversation-list__item-actions"),this.actionsButton.onAction(t=>{t.stopPropagation(),this.showActionsMenu(t)})),t.appendChild(this.actionsButton.container)}onClick(){this.isRenaming||this.j.e.fire("selectConversation.ai-assistant-pro",this.conversation.id)}showActionsMenu(t){if(!this.contextMenu||!this.actionsButton)return;let i=this.actionsButton.container.getBoundingClientRect();this.contextMenu.show(i.left,i.bottom,[{title:"Rename",icon:"pencil",exec:()=>{this.startInlineRename()}},{title:"Delete",icon:"bin",exec:()=>{this.onDelete()}}]),t.stopPropagation()}startInlineRename(){if(this.isRenaming||!this.titleElement)return;this.isRenaming=!0;let t=this.titleElement,i=this.conversation.title,n=this.j.c.element("input");n.type="text",n.value=i,n.className="jodit-ui-conversation-list__item-title-input",t.textContent="",t.appendChild(n),n.focus(),n.select();let o=()=>{if(!this.isRenaming)return;let o=n.value.trim();this.isRenaming=!1,o&&o!==i?(t.textContent=o,this.j.e.fire("renameConversation.ai-assistant-pro",this.conversation.id,o)):t.textContent=i};this.j.e.on(n,"blur",o),this.j.e.on(n,"keydown",o=>{"Enter"===o.key&&(o.preventDefault(),n.blur()),"Escape"===o.key&&(this.isRenaming=!1,t.textContent=i)}),this.j.e.on(n,"click",t=>{t.stopPropagation()})}onDelete(){this.j.e.fire("deleteConversation.ai-assistant-pro",this.conversation.id)}destruct(){this.actionsButton?.destruct(),this.contextMenu?.destruct(),super.destruct()}constructor(t,i,n=!1,r){super(t),(0,o._)(this,"opts",void 0),(0,o._)(this,"conversation",void 0),(0,o._)(this,"isActive",void 0),(0,o._)(this,"actionsButton",void 0),(0,o._)(this,"contextMenu",void 0),(0,o._)(this,"titleElement",void 0),(0,o._)(this,"isRenaming",void 0),this.opts=r,this.actionsButton=null,this.contextMenu=null,this.titleElement=null,this.isRenaming=!1,this.conversation=i,this.isActive=n,this.contextMenu=new c.ContextMenu(this.j),this.updateContent()}}(0,r.__decorate)([(0,s.watch)("container:click")],d.prototype,"onClick",null),(0,r.__decorate)([s.autobind],d.prototype,"showActionsMenu",null),(0,r.__decorate)([s.autobind],d.prototype,"startInlineRename",null),(0,r.__decorate)([s.autobind],d.prototype,"onDelete",null),d=(0,r.__decorate)([s.component],d)},68365:function(t,i,n){"use strict";n.d(i,{UIConversationList:function(){return u}});var o=n(82749),r=n(31635),s=n(31356),a=n(80453),l=n(65478),c=n(80256),d=n(62405);class u extends d.UIGroup{className(){return"UIConversationList"}render(){return`<div class="&__container">
|
|
284
284
|
<div class="&__header"></div>
|
|
285
285
|
<div class="&__search">
|
|
286
286
|
<div class="&__search-loader"></div>
|
|
@@ -469,7 +469,7 @@ ${s}`.trim();n?await this.__executeQuickCommandSilent(c,s):await this.__executeQ
|
|
|
469
469
|
<div class="&__empty-message">~There are no files~</div>
|
|
470
470
|
<div class='&__loader'></div>
|
|
471
471
|
<div class='&__drag-area'>~Drop image~</div>
|
|
472
|
-
</div>`}reconcile(t){let i=this.elements.findIndex((i,n)=>!t[n]||i.item.uniqueHashKey!==d.FileBrowserItem.create(t[n]).uniqueHashKey);if(i>-1){for(let t=i;t<this.elements.length;t+=1)this.elements[t].destruct();this.elements.length=i}return i}afterSetMod(t,i){super.afterSetMod(t,i),"loading"===t&&(i?this.buildSkeletons():this.clearSkeletons())}buildSkeletons(t=24){if(!this.skeletons.length)for(let i=0;i<t;i+=1){let t=this.j.create.fromHTML('<div class="jodit-ui-browser-item jodit-ui-browser-item_skeleton_true"><div class="jodit-ui-browser-item__image"></div><div class="jodit-ui-browser-item__info"></div></div>');["view","size"].forEach(i=>{let n=this.mods[i];n&&t.classList.add(`jodit-ui-browser-item_${i}_${n}`)}),this.container.appendChild(t),this.skeletons.push(t)}}clearSkeletons(){this.skeletons.forEach(t=>t.remove()),this.skeletons.length=0}build(t){let i=this.reconcile(t);t.slice(i>-1?i:this.elements.length).forEach(t=>{let i=new u.UIBrowserItem(this.jodit,t);Object.keys(this.mods).forEach(t=>{i.setMod(t,this.mods[t])}),this.append(i)}),this.setMod("empty",!this.elements.length)}onScrollLoadChunk(){!this.stateManager.isFavoriteItems&&this.container.scrollHeight-(this.container.scrollTop+this.container.offsetHeight)<this.j.o.pixelOffsetLoadNewChunk&&this.j.loadingManager.loadItemsChunk()}onAreaContextMenu(t){let{target:i}=t;if(!(a.Dom.isNode(i)&&this.elements.some(t=>t.container.contains(i))))return this.j.e.fire("contextmenuArea.filebrowser",t),!1}onDragOver(t){t.preventDefault(),this.setMod("dragover",!0)}onDragLeave(t){t.preventDefault(),this.setMod("dragover",!1)}addItemsSelector(){h.UISelectItems.install(this)}static intersectRect(t,i){return!(i.left>t.left+t.width||i.left+i.width<t.left||i.top>t.top+t.height||i.top+i.height<t.top)}onSelectItems(t){let i=[];this.elements.forEach(n=>{let o=(0,l.position)(n.container);p.intersectRect(o,t)&&i.push(n.item)}),this.stateManager.state.activeElements=i}constructor(t,i){super(t),(0,o._)(this,"stateManager",void 0),(0,o._)(this,"syncMod",void 0),(0,o._)(this,"skeletons",void 0),this.stateManager=i,this.syncMod=!0,this.skeletons=[],this.addItemsSelector()}}(0,r.__decorate)([(0,s.watch)(":afterResize"),(0,s.watch)(":resize"),(0,s.watch)("container:scroll"),(0,s.throttle)()],p.prototype,"onScrollLoadChunk",null),(0,r.__decorate)([(0,s.watch)("container:contextmenu")],p.prototype,"onAreaContextMenu",null),(0,r.__decorate)([(0,s.watch)("container:dragover")],p.prototype,"onDragOver",null),(0,r.__decorate)([(0,s.watch)(["container:dragleave","container:drop"])],p.prototype,"onDragLeave",null),p=(0,r.__decorate)([s.component],p)},99413:function(t,i,n){"use strict";var o=n(81122),r=n.n(o),s=n(49377),a=n.n(s),l=n(46425),c=n.n(l),d=n(86820),u=n.n(d),h=n(36576),p=n.n(h),f=n(27622),m=n.n(f),g=n(89687),b=n.n(g);n(12153).Icon.set("map",c()).set("edit-hand",a()).set("edit-polygon",p()).set("edit-marker",u()).set("edit-text",b()).set("edit-polyline",m()).set("edit-circle",r())},55029:function(t,i,n){"use strict";var o=n(17298),r=n(6441);r.Config.prototype.googleMaps={saveStateInStorage:!0,useStaticImage:!1,apiUrl:"https://maps.googleapis.com/maps/api/js?key=${j.o.googleMaps.API_KEY}&libraries=geometry,places
|
|
472
|
+
</div>`}reconcile(t){let i=this.elements.findIndex((i,n)=>!t[n]||i.item.uniqueHashKey!==d.FileBrowserItem.create(t[n]).uniqueHashKey);if(i>-1){for(let t=i;t<this.elements.length;t+=1)this.elements[t].destruct();this.elements.length=i}return i}afterSetMod(t,i){super.afterSetMod(t,i),"loading"===t&&(i?this.buildSkeletons():this.clearSkeletons())}buildSkeletons(t=24){if(!this.skeletons.length)for(let i=0;i<t;i+=1){let t=this.j.create.fromHTML('<div class="jodit-ui-browser-item jodit-ui-browser-item_skeleton_true"><div class="jodit-ui-browser-item__image"></div><div class="jodit-ui-browser-item__info"></div></div>');["view","size"].forEach(i=>{let n=this.mods[i];n&&t.classList.add(`jodit-ui-browser-item_${i}_${n}`)}),this.container.appendChild(t),this.skeletons.push(t)}}clearSkeletons(){this.skeletons.forEach(t=>t.remove()),this.skeletons.length=0}build(t){let i=this.reconcile(t);t.slice(i>-1?i:this.elements.length).forEach(t=>{let i=new u.UIBrowserItem(this.jodit,t);Object.keys(this.mods).forEach(t=>{i.setMod(t,this.mods[t])}),this.append(i)}),this.setMod("empty",!this.elements.length)}onScrollLoadChunk(){!this.stateManager.isFavoriteItems&&this.container.scrollHeight-(this.container.scrollTop+this.container.offsetHeight)<this.j.o.pixelOffsetLoadNewChunk&&this.j.loadingManager.loadItemsChunk()}onAreaContextMenu(t){let{target:i}=t;if(!(a.Dom.isNode(i)&&this.elements.some(t=>t.container.contains(i))))return this.j.e.fire("contextmenuArea.filebrowser",t),!1}onDragOver(t){t.preventDefault(),this.setMod("dragover",!0)}onDragLeave(t){t.preventDefault(),this.setMod("dragover",!1)}addItemsSelector(){h.UISelectItems.install(this)}static intersectRect(t,i){return!(i.left>t.left+t.width||i.left+i.width<t.left||i.top>t.top+t.height||i.top+i.height<t.top)}onSelectItems(t){let i=[];this.elements.forEach(n=>{let o=(0,l.position)(n.container);p.intersectRect(o,t)&&i.push(n.item)}),this.stateManager.state.activeElements=i}constructor(t,i){super(t),(0,o._)(this,"stateManager",void 0),(0,o._)(this,"syncMod",void 0),(0,o._)(this,"skeletons",void 0),this.stateManager=i,this.syncMod=!0,this.skeletons=[],this.addItemsSelector()}}(0,r.__decorate)([(0,s.watch)(":afterResize"),(0,s.watch)(":resize"),(0,s.watch)("container:scroll"),(0,s.throttle)()],p.prototype,"onScrollLoadChunk",null),(0,r.__decorate)([(0,s.watch)("container:contextmenu")],p.prototype,"onAreaContextMenu",null),(0,r.__decorate)([(0,s.watch)("container:dragover")],p.prototype,"onDragOver",null),(0,r.__decorate)([(0,s.watch)(["container:dragleave","container:drop"])],p.prototype,"onDragLeave",null),p=(0,r.__decorate)([s.component],p)},99413:function(t,i,n){"use strict";var o=n(81122),r=n.n(o),s=n(49377),a=n.n(s),l=n(46425),c=n.n(l),d=n(86820),u=n.n(d),h=n(36576),p=n.n(h),f=n(27622),m=n.n(f),g=n(89687),b=n.n(g);n(12153).Icon.set("map",c()).set("edit-hand",a()).set("edit-polygon",p()).set("edit-marker",u()).set("edit-text",b()).set("edit-polyline",m()).set("edit-circle",r())},55029:function(t,i,n){"use strict";var o=n(17298),r=n(6441);r.Config.prototype.googleMaps={saveStateInStorage:!0,useStaticImage:!1,apiUrl:"https://maps.googleapis.com/maps/api/js?key=${j.o.googleMaps.API_KEY}&libraries=geometry,places&language=${j.o.language}&callback=JoditGoogleReadyHandler",API_KEY:"AIzaSyDjnR03hxN8fo0QJ85Jkkvk2DALTh3eynY",dialog:{size:[700,700]},inlineEditorOptions:{buttons:["bold","italic","link","brush","fontsize","image"]},map:{type:"roadmap",layer:"default",center:"auto",defaultCenter:[-34.397,150.644],defaultZoom:10,zoom:10,size:[500,400],defaultStates:{polyline:{strokeColor:"#5ba4f3",strokeWeight:3},polygon:{strokeColor:"#417706",fillColor:"#5b9302",strokeWeight:1,fillOpacity:.5},marker:{},text:{},circle:{strokeColor:"#da767c",fillColor:"#f34ca8",strokeWeight:1,fillOpacity:.5}}}},r.Config.prototype.controls.googleMaps={tooltip:"Google Maps",icon:"map",command:o.COMMAND_OPEN_DIALOG};let s=t=>({icon:"edit-"+t,isActive:i=>i.buffer.get("createMode.gm")===t,exec(i){i.e.fire("changeCreateMode.gm",t)}});r.Config.prototype.controls.gm={hand:s("hand"),marker:s("marker"),polyline:s("polyline"),polygon:s("polygon"),circle:s("circle"),text:s("text")}},482:function(t,i,n){"use strict";var o=n(82749),r=n(31635);n(55029),n(99413);var s=n(17298),a=n(61818),l=n(67912),c=n(92931),d=n(65805),u=n(4774),h=n(82758),p=n(65478),f=n(21537),m=n(50911),g=n(62843),b=n(78584),y=n(92762),w=n(2692);window.JoditGoogleReadyHandler=l.GoogleReadyHandler;class _ extends m.Plugin{className(){return"google-maps"}afterInit(t){t.registerCommand(s.COMMAND_OPEN_DIALOG,()=>{this.openMapEditor(null,{})})}beforeDestruct(t){}onOpenOnDblClick(t){if(t.dataset.googleMaps){let i;try{i=JSON.parse(this.j.ow.atob(t.dataset.googleMaps))}catch{}return this.openMapEditor(t,i),!1}}async openMapEditor(t,i){let n=this.j,o=this.getDialog(),r=this.j.o.googleMaps.saveStateInStorage?o.storage.get(s.STORAGE_KEY):void 0,{apiUrl:a}=this.jodit.o.googleMaps;(0,l.isApiAvailable)()||(0,f.appendScriptAsync)(this.jodit,a.replace(/\${([^}]+)}/g,(t,i)=>this.get(i)??""));let p={type:this.j.o.googleMaps.map.type,layer:this.j.o.googleMaps.map.layer,size:this.j.o.googleMaps.map.size,...r,...i},m=new u.UIMap(o,p,this.j.options);m.container.classList.add(o.getFullElName("map"));let b=new d.UIComboBox(n,{icon:"search",placeholder:"Search",clearButton:!0}).setMod("in-header",!0);b.container.classList.add(o.getFullElName("search")),this.j.async.promise(t=>{if((0,l.isApiAvailable)())return void t(0);let i=()=>{(0,l.isApiAvailable)()?t(0):this.j.async.setTimeout(i,100)};i(),(0,l.googleReady)(t)}).then(()=>{m.setStatus("ready"),b.setStatus("ready")}),this.j.e.on(b,"select",(t,i)=>{i?m.map.fitBounds(i):t&&(m.state.center=[t.lat(),t.lng()])}),r||("auto"===this.j.o.googleMaps.map.center?navigator.geolocation.getCurrentPosition(t=>{m.state.center=[t.coords.latitude,t.coords.longitude]},()=>{m.state.center=this.j.o.googleMaps.map.defaultCenter}):m.state.center=this.j.o.googleMaps.map.center),o.setSize(...n.o.googleMaps.dialog.size).setHeader([b," ",(0,g.Button)(n,"eye").onAction(()=>{let t=this.jodit.createInside.element("img");t.src=(0,c.staticUrl)(m),t.dataset.googleMaps=btoa(m.json());let i={value:t.outerHTML};this.onAfterGetValueFromEditor(i),n.execCommand("preview",null,i.value)})]).setContent((0,y.TabsWidget)(n,[{name:"Map",icon:"map",content:m},{name:"Settings",content:new u.UIMapsPropsForm(n,m.state)},{name:"Controls",icon:"menu",content:new u.UIMapsControlsForm(n,m.state)}])).setFooter([(0,g.Button)(n,"cancel","Cancel","default").onAction(()=>o.close()),(0,g.Button)(n,"ok",t?"Save":"Insert","primary").onAction(()=>{m.destruct(),b.destruct(),o.e.off("beforeClose",w),o.close(),this.insertMap(t,m)})]).open();let w=()=>{if(m.state.elements.length&&JSON.stringify(m.state.elements)!==JSON.stringify(p.elements)&&!h.IS_TEST&&!confirm(this.i18n("Are you sure?")))return!1;m.destruct(),b.destruct(),o.e.off("beforeClose",w)};o.e.on("beforeClose",w)}getDialog(){if(!this.dialog){let t=new b.Dialog({language:this.j.o.language});t.container.classList.add(this.getFullElName("")),this.dialog=t}return this.dialog}insertMap(t,i){let n=t??this.jodit.createInside.element("img");n.src=(0,c.staticUrl)(i),n.dataset.googleMaps=btoa(i.json()),t||this.jodit.s.insertImage(n)}onBeforeSetNativeEditorValue(t){t.value=t.value.replace(/<script[^>]+jodit-google-maps-init[^>]+>.*?<\/script>/gs,"")}onAfterGetValueFromEditor(t,i){this.j.o.googleMaps.useStaticImage||i===h.SOURCE_CONSUMER||(t.value=t.value.replace(/(<img[^>]+)(["']?)data-google-maps\2\s*=(["'])([^"']+)\3([^>]*>)/gs,(t,i,n,o,r,s)=>{let l={};try{l=JSON.parse(this.j.ow.atob(r))}catch{}return`${i} id="${l.uid}" ${n}data-google-maps${n}=${o}${r}${o}${s}${(0,a.generateJSScript)(this.j,l)}`}))}constructor(...t){super(...t),(0,o._)(this,"buttons",[{group:"media",name:"googleMaps"}]),(0,o._)(this,"dialog",null)}}(0,o._)(_,"requires",["license","color-picker"]),(0,r.__decorate)([(0,p.watch)("?:openOnDblClick")],_.prototype,"onOpenOnDblClick",null),(0,r.__decorate)([(0,p.watch)(":beforeSetNativeEditorValue")],_.prototype,"onBeforeSetNativeEditorValue",null),(0,r.__decorate)([(0,p.watch)(":afterGetValueFromEditor")],_.prototype,"onAfterGetValueFromEditor",null),w.JoditPro.plugins.add("google-maps",_)},17298:function(t,i,n){"use strict";n.d(i,{COMMAND_OPEN_DIALOG:function(){return r},STORAGE_KEY:function(){return o}});let o="googleMapsState",r="googleMapsDialog"},61818:function(t,i,n){"use strict";n.d(i,{generateJSScript:function(){return r}});var o=n(36409);function r(t,i){return`<script class="jodit-google-maps-init" type="text/javascript">
|
|
473
473
|
var imgMap = document.getElementById('${i.uid}'),
|
|
474
474
|
box = document.createElement('div'),
|
|
475
475
|
mapBox = document.createElement('div'),
|
|
@@ -594,11 +594,11 @@ ${s}`.trim();n?await this.__executeQuickCommandSilent(c,s):await this.__executeQ
|
|
|
594
594
|
<div class='&__header'></div>
|
|
595
595
|
<div class='&__form'></div>
|
|
596
596
|
<div class='&__buttons'></div>
|
|
597
|
-
</div>`}onReady(){let t=(0,r.Button)(this.j,"bin").onAction(()=>this.j.e.fire(this,"bin"));this.append(t,"buttons")}constructor(t,i,n){super(t),(0,o._)(this,"state",void 0),(0,o._)(this,"options",void 0),this.state=i,this.options=n}}},90835:function(t,i,n){"use strict";n.d(i,{UIMarkerEditor:function(){return o.UIMarkerEditor},UIPolygonEditor:function(){return r.UIPolygonEditor},UIPolylineEditor:function(){return s.UIPolylineEditor}});var o=n(42370),r=n(11696),s=n(69398)},42370:function(t,i,n){"use strict";n.d(i,{UIMarkerEditor:function(){return l}});var o=n(31635),r=n(65478),s=n(14002),a=n(11093);class l extends s.UIBaseEditor{className(){return"UIMarkerEditor"}onReady(){super.onReady();let t=new a.UIWysiwyg(this.j,this.options.googleMaps.inlineEditorOptions,this.state.text??"",t=>this.j.e.fire(this,"change","text",t));this.append(t,"form")}}(0,o.__decorate)([(0,r.hook)("ready")],l.prototype,"onReady",null),l=(0,o.__decorate)([r.component],l)},11696:function(t,i,n){"use strict";n.d(i,{UIPolygonEditor:function(){return c}});var o=n(31635),r=n(65478),s=n(62357),a=n(45128),l=n(69398);class c extends l.UIPolylineEditor{className(){return"UIPolygonEditor"}onReady(){this.append([new a.ColorInput(this.j,{label:"Fill color",value:this.state.fillColor??"#000",onChange:t=>this.j.e.fire(this,"change","fillColor",t)}).setMod("trigger",!1),new s.UIRange(this.j,{label:"Opacity",min:0,max:1,value:this.state.fillOpacity??1,onChange:t=>{this.j.e.fire(this,"change","fillOpacity",parseFloat(t)||0)}}).setMod("log",!1)],"form")}}(0,o.__decorate)([(0,r.hook)("ready")],c.prototype,"onReady",null),c=(0,o.__decorate)([r.component],c)},69398:function(t,i,n){"use strict";n.d(i,{UIPolylineEditor:function(){return c}});var o=n(31635),r=n(65478),s=n(80256),a=n(45128),l=n(14002);class c extends l.UIBaseEditor{className(){return"UIPolylineEditor"}onReady(){super.onReady(),this.append([new s.UIInput(this.j,{label:"Stroke weight",value:this.state.strokeWeight??1,type:"number",onChange:t=>this.j.e.fire(this,"change","strokeWeight",t)}),new a.ColorInput(this.j,{label:"Stroke color",value:this.state.strokeColor??"#000",onChange:t=>this.j.e.fire(this,"change","strokeColor",t)}).setMod("trigger",!1)],"form")}}(0,o.__decorate)([(0,r.hook)("ready")],c.prototype,"onReady",null),c=(0,o.__decorate)([r.component],c)},4774:function(t,i,n){"use strict";n.d(i,{UIMap:function(){return o.UIMap},UIMapsControlsForm:function(){return r.UIMapsControlsForm},UIMapsPropsForm:function(){return s.UIMapsPropsForm}}),n(90835);var o=n(4169),r=n(8073),s=n(83039);n(11093)},4169:function(t,i,n){"use strict";n.d(i,{UIMap:function(){return
|
|
597
|
+
</div>`}onReady(){let t=(0,r.Button)(this.j,"bin").onAction(()=>this.j.e.fire(this,"bin"));this.append(t,"buttons")}constructor(t,i,n){super(t),(0,o._)(this,"state",void 0),(0,o._)(this,"options",void 0),this.state=i,this.options=n}}},90835:function(t,i,n){"use strict";n.d(i,{UIMarkerEditor:function(){return o.UIMarkerEditor},UIPolygonEditor:function(){return r.UIPolygonEditor},UIPolylineEditor:function(){return s.UIPolylineEditor}});var o=n(42370),r=n(11696),s=n(69398)},42370:function(t,i,n){"use strict";n.d(i,{UIMarkerEditor:function(){return l}});var o=n(31635),r=n(65478),s=n(14002),a=n(11093);class l extends s.UIBaseEditor{className(){return"UIMarkerEditor"}onReady(){super.onReady();let t=new a.UIWysiwyg(this.j,this.options.googleMaps.inlineEditorOptions,this.state.text??"",t=>this.j.e.fire(this,"change","text",t));this.append(t,"form")}}(0,o.__decorate)([(0,r.hook)("ready")],l.prototype,"onReady",null),l=(0,o.__decorate)([r.component],l)},11696:function(t,i,n){"use strict";n.d(i,{UIPolygonEditor:function(){return c}});var o=n(31635),r=n(65478),s=n(62357),a=n(45128),l=n(69398);class c extends l.UIPolylineEditor{className(){return"UIPolygonEditor"}onReady(){this.append([new a.ColorInput(this.j,{label:"Fill color",value:this.state.fillColor??"#000",onChange:t=>this.j.e.fire(this,"change","fillColor",t)}).setMod("trigger",!1),new s.UIRange(this.j,{label:"Opacity",min:0,max:1,value:this.state.fillOpacity??1,onChange:t=>{this.j.e.fire(this,"change","fillOpacity",parseFloat(t)||0)}}).setMod("log",!1)],"form")}}(0,o.__decorate)([(0,r.hook)("ready")],c.prototype,"onReady",null),c=(0,o.__decorate)([r.component],c)},69398:function(t,i,n){"use strict";n.d(i,{UIPolylineEditor:function(){return c}});var o=n(31635),r=n(65478),s=n(80256),a=n(45128),l=n(14002);class c extends l.UIBaseEditor{className(){return"UIPolylineEditor"}onReady(){super.onReady(),this.append([new s.UIInput(this.j,{label:"Stroke weight",value:this.state.strokeWeight??1,type:"number",onChange:t=>this.j.e.fire(this,"change","strokeWeight",t)}),new a.ColorInput(this.j,{label:"Stroke color",value:this.state.strokeColor??"#000",onChange:t=>this.j.e.fire(this,"change","strokeColor",t)}).setMod("trigger",!1)],"form")}}(0,o.__decorate)([(0,r.hook)("ready")],c.prototype,"onReady",null),c=(0,o.__decorate)([r.component],c)},4774:function(t,i,n){"use strict";n.d(i,{UIMap:function(){return o.UIMap},UIMapsControlsForm:function(){return r.UIMapsControlsForm},UIMapsPropsForm:function(){return s.UIMapsPropsForm}}),n(90835);var o=n(4169),r=n(8073),s=n(83039);n(11093)},4169:function(t,i,n){"use strict";n.d(i,{UIMap:function(){return w}});var o=n(82749),r=n(31635);n(55029);var s=n(22125),a=n(76864),l=n(1475),c=n(81577),d=n(97357),u=n(13525),h=n(37133),p=n(580),f=n(38837),m=n(41180),g=n(67510),b=n(11676),y=n(17298);class w extends g.UIGroup{className(){return"UIMap"}json(){return JSON.stringify({...this.state,mode:"hand"})}async onReady(){await this.apiLoaded;let t=this.getElm("map-root");(0,f.assert)(null!=t,"map-root element does not exists"),this.map=new google.maps.Map(t,{center:{lat:this.state.center[0],lng:this.state.center[1]},zoom:this.state.zoom,mapTypeId:this.state.type}),this.map.addListener("zoom_changed",()=>{this.state.zoom=this.map.getZoom()??10}),this.map.addListener("center_changed",()=>{this.state.center=[this.map?.getCenter()?.lat()??55,this.map?.getCenter()?.lng()??34]}),this.map.addListener("maptypeid_changed",()=>{let t=this.map.getMapTypeId();t&&(this.state.type=t)}),this.initDrawingController(),this.onChangeElementsList(),this.onChangeSize(),this.onChangeControls(),this.onChangeLayer(),this.onChangeMapType(),this.onChangeMode(),this.mapInitialized=!0,this.j.async.requestIdleCallback(()=>{this.j.e.fire(this,"GoogleMapsIsReady")})}initDrawingController(){this.drawing=new a.DrawingController(this.map,this.options.googleMaps.map.defaultStates,t=>{s.addNewInState.call(this,t),t.setMap(null)})}changeCreateMode(t){this.state.mode=this.state.mode===t?"hand":t}onChangeMode(){this.j.buffer.set("createMode.gm",this.state.mode),this.drawing?.setMode(this.state.mode),this.j.e.fire("updateToolbar")}onChangeElementsList(){let{state:{elements:t},mapElements:i}=this;t.length<i.length&&i.slice(t.length).forEach(t=>{t.gme.setMap(null)}),i.length=t.length,t.forEach((t,i)=>l.initOrUpdateElementFromState.call(this,t,i))}onChangeCenter(){let t=this.map.getCenter();(t?.lat()!==this.state.center[0]||t?.lng()!==this.state.center[1])&&this.map.setCenter({lat:this.state.center[0],lng:this.state.center[1]})}onChangeZoom(){this.map?.setZoom(this.state.zoom)}onChangeControls(){let t;for(t in this.state.controls)this.map?.set(t,this.state.controls[t])}onChangeBound(){this.options.googleMaps.saveStateInStorage&&this.j.storage.set(y.STORAGE_KEY,{center:this.state.center,size:this.state.size,zoom:this.state.zoom,type:this.state.type,layer:this.state.layer,controls:this.state.controls})}onChangeSize(){let t=this.getElm("map-size");(0,f.assert)(null!=t,"map-size element does not exists"),(0,m.css)(t,{width:this.state.size[0],height:this.state.size[1]})}onChangeMapType(){this.map.setMapTypeId(this.state.type)}onChangeLayer(){switch(this.layers.forEach(t=>t.setMap(null)),this.layers.length=0,this.state.layer){case"traffic":this.layers.push(new google.maps.TrafficLayer);break;case"transit":this.layers.push(new google.maps.TransitLayer);break;case"bicycling":this.layers.push(new google.maps.BicyclingLayer)}this.layers.forEach(t=>t.setMap(this.map))}destruct(){return this.drawing?.destruct(),super.destruct()}render(){return`<div>
|
|
598
598
|
<div class='&__map-root'></div>
|
|
599
599
|
<div class='&__map-size'></div>
|
|
600
600
|
<div class='&__map-palette'></div>
|
|
601
|
-
</div>`}appendChildToContainer(){}constructor(t,i,n){super(t),(0,o._)(this,"options",void 0),(0,o._)(this,"drawingManager",void 0),(0,o._)(this,"toolbar",void 0),(0,o._)(this,"state",void 0),(0,o._)(this,"mapElements",void 0),(0,o._)(this,"apiLoaded",void 0),(0,o._)(this,"mapInitialized",void 0),(0,o._)(this,"map",void 0),(0,o._)(this,"layers",void 0),this.options=n,this.toolbar=new g.ToolbarCollection(this.jodit),this.state={uid:"jd"+(0,h.uniqueUid)()+new Date().toString().replace(/[^0-9]/g,""),layer:this.options.googleMaps.map.layer,center:this.options.googleMaps.map.defaultCenter,zoom:this.options.googleMaps.map.defaultZoom,size:this.options.googleMaps.map.size,type:this.options.googleMaps.map.type,controls:{zoomControl:!0,mapTypeControl:!0,scaleControl:!0,streetViewControl:!0,rotateControl:!0,fullscreenControl:!0},mode:"hand",elements:[]},this.mapElements=[],this.apiLoaded=null,this.mapInitialized=!1,this.layers=[],Object.assign(this.state,i),this.toolbar.build(["gm.hand","gm.marker","gm.polyline","gm.polygon","gm.circle"]);const r=this.getElm("map-palette");(0,p.assert)(null!=r,"palette element does not exists"),r.appendChild(this.toolbar.container)}}(0,r.__decorate)([(0,c.hook)("ready")],y.prototype,"onReady",null),(0,r.__decorate)([(0,u.watch)("?:changeCreateMode.gm")],y.prototype,"changeCreateMode",null),(0,r.__decorate)([(0,u.watch)("state.mode")],y.prototype,"onChangeMode",null),(0,r.__decorate)([(0,u.watch)("state.elements")],y.prototype,"onChangeElementsList",null),(0,r.__decorate)([(0,u.watch)("state.center"),(0,d.wait)(t=>t.mapInitialized),(0,l.debounce)()],y.prototype,"onChangeCenter",null),(0,r.__decorate)([(0,u.watch)("state.zoom"),(0,l.debounce)()],y.prototype,"onChangeZoom",null),(0,r.__decorate)([(0,u.watch)("state.controls")],y.prototype,"onChangeControls",null),(0,r.__decorate)([(0,u.watch)(["state.center","state.zoom","state.controls","state.size","state.type","state.layer"]),(0,d.wait)(t=>t.mapInitialized),(0,l.debounce)()],y.prototype,"onChangeBound",null),(0,r.__decorate)([(0,u.watch)("state.size"),(0,l.debounce)()],y.prototype,"onChangeSize",null),(0,r.__decorate)([(0,u.watch)("state.type")],y.prototype,"onChangeMapType",null),(0,r.__decorate)([(0,u.watch)("state.layer")],y.prototype,"onChangeLayer",null)},22125:function(t,i,n){"use strict";n.d(i,{addNewInState:function(){return r}});var o=n(67912);function r(t){switch(this.state.mode){case"polyline":case"polygon":{let{mode:i}=this.state;this.state.elements=[...this.state.elements,{type:i,coordinates:(0,o.pathToArray)(t.getPath()),...this.options.googleMaps.map.defaultStates[i]}];break}case"circle":this.state.elements=[...this.state.elements,{type:this.state.mode,coordinates:[t.getCenter()?.lat()??0,t.getCenter()?.lng()??0],radius:t.getRadius(),...this.options.googleMaps.map.defaultStates.circle}];break;case"marker":this.state.elements=[...this.state.elements,{type:this.state.mode,coordinates:[t.getPosition()?.lat()??0,t.getPosition()?.lng()??0],...this.options.googleMaps.map.defaultStates.marker}]}}},1475:function(t,i,n){"use strict";n.d(i,{initOrUpdateElementFromState:function(){return d}});var o=n(53454),r=n(11079),s=n(72690),a=n(580),l=n(12153),c=n(67912);function d(t,i){let n,d=this.mapElements[i];if(d){if(d.state.type===t.type)return s.updateStateAndGme.call(this,t,i);d.gme.setMap(null)}switch(t.type){case"text":n=new google.maps.Marker({position:new google.maps.LatLng(t.coordinates[0],t.coordinates[1]),draggable:!0,title:t.text,map:this.map});break;case"marker":n=new google.maps.Marker({position:new google.maps.LatLng(t.coordinates[0],t.coordinates[1]),draggable:!0,label:t.showCaption?t.title:"",title:t.title,icon:t.icon?l.Icon.get(t.icon):void 0,map:this.map});break;case"polyline":case"polygon":{let i=(0,c.arrayToPath)(t.coordinates);n=new google.maps["polygon"===t.type?"Polygon":"Polyline"]({path:i,strokeColor:t.strokeColor,fillColor:t.fillColor,strokeWeight:t.strokeWeight,editable:!0,draggable:!0,map:this.map,fillOpacity:"polygon"===t.type?t.fillOpacity:1})}break;case"circle":n=new google.maps.Circle({center:new google.maps.LatLng(t.coordinates[0],t.coordinates[1]),radius:t.radius,strokeColor:t.strokeColor,fillColor:t.fillColor,strokeWeight:t.strokeWeight,editable:!0,draggable:!0,map:this.map,fillOpacity:t.fillOpacity??1})}let u={type:t.type,uid:(0,a.uniqueUid)(),state:t,gme:n};"dragend radius_changed center_changed".split(" ").forEach(t=>n.addListener(t,()=>o.onChangeGeometries.call(this,u,i))),("polygon"===u.type||"polyline"===u.type)&&"insert_at set_at remove_at".split(" ").forEach(t=>u.gme.getPath().addListener(t,()=>o.onChangeGeometries.call(this,u,i))),n.addListener("click",()=>r.openPropsDialog.call(this,u,i)),this.mapElements[i]=u}},53454:function(t,i,n){"use strict";n.d(i,{onChangeGeometries:function(){return s}});var o=n(72690),r=n(67912);function s(t,i){switch(t.type){case"polyline":case"polygon":{let n=(0,r.pathToArray)(t.gme.getPath()),s={...t.state,coordinates:n};o.updateStateAndGme.call(this,s,i,!0);break}case"marker":{let n=t.gme.getPosition(),r={...t.state,coordinates:[n?.lat()??0,n?.lng()??0]};o.updateStateAndGme.call(this,r,i,!0);break}case"circle":{let n=t.gme.getCenter(),r={...t.state,radius:t.gme.getRadius(),coordinates:[n?.lat()??0,n?.lng()??0]};o.updateStateAndGme.call(this,r,i,!0)}}}},11079:function(t,i,n){"use strict";n.d(i,{openPropsDialog:function(){return l}});var o=n(47660),r=n(72690),s=n(90835);function a(){let t=new google.maps.InfoWindow({content:"<div>test</div>"});return t.addListener("domready",()=>{this.setMod("info-opened",!0)}),t.addListener("closeclick",()=>{this.setMod("info-opened",!1)}),t}function l(t,i){let n;switch(this.state.mode="hand",t.type){case"polyline":n=new s.UIPolylineEditor(this.jodit,t.state,this.options);break;case"marker":n=new s.UIMarkerEditor(this.jodit,t.state,this.options);break;case"circle":case"polygon":n=new s.UIPolygonEditor(this.jodit,t.state,this.options)}if(!n)return;this.append(n),this.j.e.on(n,"bin",()=>{o.removeElement.call(this,t)}).on(n,"change",(n,o)=>{r.updateStateAndGme.call(this,{...t.state,[n]:o},i)});let l=a.call(this);if("polygon"===t.type||"polyline"===t.type){let i=t.gme.getPath().getAt(0);l.setPosition(i)}"circle"===t.type&&l.setPosition(t.gme.getCenter()),l.setContent(n.container),l.open(this.map,t.gme),l.addListener("closeclick",()=>{n&&(this.remove(n),n.destruct())})}},47660:function(t,i,n){"use strict";function o(t){let i=this.mapElements.indexOf(t);-1!==i&&(this.mapElements[i].gme.setMap(null),this.mapElements.splice(i,1),this.state.elements.splice(i,1),this.state.elements=[...this.state.elements])}n.d(i,{removeElement:function(){return o}})},72690:function(t,i,n){"use strict";n.d(i,{updateStateAndGme:function(){return r}});var o=n(67912);function r(t,i,n=!1){let s=this.mapElements[i];if(s.state===t||s.state.type!==t.type)return;let a=s.state;if(!n){let i;for(i in t){let n=t[i],r=a[i];if(null!=n&&(null==r||n.toString()!==r.toString()))switch(i){case"strokeWeight":case"strokeColor":case"fillColor":case"fillOpacity":switch(s.type){case"polyline":case"circle":case"polygon":s.gme.setOptions({[i]:n})}break;case"coordinates":switch(s.type){case"polygon":case"polyline":s.gme.setPath((0,o.arrayToPath)(n))}}}}s.state=t,this.state.elements[i]=t}},8073:function(t,i,n){"use strict";n.d(i,{UIMapsControlsForm:function(){return l}});var o=n(82749),r=n(31635),s=n(87325),a=n(67510);class l extends a.UIForm{className(){return"UIMapsControlsForm"}onChangeSize(t,i){this.state.controls={...this.state.controls,[t]:"true"===i}}constructor(t,i){super(t),(0,o._)(this,"state",void 0),this.state=i;const n={zoomControl:"Zoom control",mapTypeControl:"Map Type control",scaleControl:"Scale control",streetViewControl:"Street View control ",rotateControl:"Rotate control",fullscreenControl:"Fullscreen control"},r=Object.keys(n);this.append(r.map(i=>new a.UICheckbox(t,{label:n[i],name:i,checked:this.state.controls[i],switch:!0,type:"checkbox",onChange:this.onChangeSize.bind(this,i)})))}}l=(0,r.__decorate)([s.component],l)},83039:function(t,i,n){"use strict";n.d(i,{UIMapsPropsForm:function(){return c}});var o=n(82749),r=n(31635),s=n(65478),a=n(76078),l=n(67510);class c extends l.UIForm{className(){return"UIMapsPropsForm"}onChangeSize(){let{width:t,height:i}=(0,a.refs)(this.container);this.state.size=[parseInt(t?.value,10)||0,parseInt(i?.value,10)||0]}onExternalChangeSize(){let{width:t,height:i}=(0,a.refs)(this.container),[n,o]=this.state.size;n.toString()!==t.value&&(t.value=n.toString()),o.toString()!==i.value&&(i.value=o.toString())}onChangeCenter(){let{lat:t,lng:i}=(0,a.refs)(this.container);this.state.center=[parseFloat(t?.value)||0,parseFloat(i?.value)||0]}onExternalChangeCenter(){let{lat:t,lng:i}=(0,a.refs)(this.container),[n,o]=this.state.center;n.toString()!==t.value&&(t.value=n.toString()),o.toString()!==i.value&&(i.value=o.toString())}onExternalChangeType(){let{mapType:t}=(0,a.refs)(this.container);this.state.type!==t.value&&(t.value=this.state.type)}onExternalChangeLayer(){let{layer:t}=(0,a.refs)(this.container);this.state.layer!==t.value&&(t.value=this.state.layer)}constructor(t,i){super(t),(0,o._)(this,"state",void 0),this.state=i;const[n,r]=i.size,[s,a]=i.center;this.append([new l.UIInput(t,{label:"Width",name:"width",value:n,type:"number",onChange:this.onChangeSize}),new l.UIInput(t,{label:"Height",name:"height",value:r,type:"number",onChange:this.onChangeSize}),new l.UIInput(t,{label:"Latitude",name:"lat",value:s,onChange:this.onChangeCenter}),new l.UIInput(t,{label:"Longitude",name:"lng",value:a,onChange:this.onChangeCenter}),new l.UISelect(t,{label:"Map type",value:i.type,name:"mapType",options:[{value:"hybrid",text:"Hybrid"},{value:"roadmap",text:"Roadmap"},{value:"satellite",text:"Satellite"},{value:"terrain",text:"Terrain"}],onChange(t){i.type=t}}),new l.UISelect(t,{label:"Layer",value:i.layer??"default",name:"layer",options:[{value:"default",text:"Default"},{value:"traffic",text:"Traffic"},{value:"transit",text:"Transit"},{value:"bicycling",text:"Bicycling"}],onChange(t){i.layer=t}})])}}(0,r.__decorate)([s.autobind],c.prototype,"onChangeSize",null),(0,r.__decorate)([(0,s.watch)("state.size")],c.prototype,"onExternalChangeSize",null),(0,r.__decorate)([s.autobind],c.prototype,"onChangeCenter",null),(0,r.__decorate)([(0,s.watch)(["state.center"])],c.prototype,"onExternalChangeCenter",null),(0,r.__decorate)([(0,s.watch)(["state.type"])],c.prototype,"onExternalChangeType",null),(0,r.__decorate)([(0,s.watch)(["state.layer"])],c.prototype,"onExternalChangeLayer",null),c=(0,r.__decorate)([s.component],c)},11093:function(t,i,n){"use strict";n.d(i,{UIWysiwyg:function(){return c}});var o=n(31635),r=n(87325),s=n(38837),a=n(48538),l=n(2692);class c extends a.UIElement{className(){return"UIWysiwyg"}render(){return`<div>
|
|
601
|
+
</div>`}appendChildToContainer(){}constructor(t,i,n){super(t),(0,o._)(this,"options",void 0),(0,o._)(this,"drawing",void 0),(0,o._)(this,"toolbar",void 0),(0,o._)(this,"state",void 0),(0,o._)(this,"mapElements",void 0),(0,o._)(this,"apiLoaded",void 0),(0,o._)(this,"mapInitialized",void 0),(0,o._)(this,"map",void 0),(0,o._)(this,"layers",void 0),this.options=n,this.toolbar=new b.ToolbarCollection(this.jodit),this.state={uid:"jd"+(0,p.uniqueUid)()+new Date().toString().replace(/[^0-9]/g,""),layer:this.options.googleMaps.map.layer,center:this.options.googleMaps.map.defaultCenter,zoom:this.options.googleMaps.map.defaultZoom,size:this.options.googleMaps.map.size,type:this.options.googleMaps.map.type,controls:{zoomControl:!0,mapTypeControl:!0,scaleControl:!0,streetViewControl:!0,rotateControl:!0,fullscreenControl:!0},mode:"hand",elements:[]},this.mapElements=[],this.apiLoaded=null,this.mapInitialized=!1,this.layers=[],Object.assign(this.state,i),this.toolbar.build(["gm.hand","gm.marker","gm.polyline","gm.polygon","gm.circle"]);const r=this.getElm("map-palette");(0,f.assert)(null!=r,"palette element does not exists"),r.appendChild(this.toolbar.container)}}(0,r.__decorate)([(0,d.hook)("ready")],w.prototype,"onReady",null),(0,r.__decorate)([(0,h.watch)("?:changeCreateMode.gm")],w.prototype,"changeCreateMode",null),(0,r.__decorate)([(0,h.watch)("state.mode")],w.prototype,"onChangeMode",null),(0,r.__decorate)([(0,h.watch)("state.elements")],w.prototype,"onChangeElementsList",null),(0,r.__decorate)([(0,h.watch)("state.center"),(0,u.wait)(t=>t.mapInitialized),(0,c.debounce)()],w.prototype,"onChangeCenter",null),(0,r.__decorate)([(0,h.watch)("state.zoom"),(0,c.debounce)()],w.prototype,"onChangeZoom",null),(0,r.__decorate)([(0,h.watch)("state.controls")],w.prototype,"onChangeControls",null),(0,r.__decorate)([(0,h.watch)(["state.center","state.zoom","state.controls","state.size","state.type","state.layer"]),(0,u.wait)(t=>t.mapInitialized),(0,c.debounce)()],w.prototype,"onChangeBound",null),(0,r.__decorate)([(0,h.watch)("state.size"),(0,c.debounce)()],w.prototype,"onChangeSize",null),(0,r.__decorate)([(0,h.watch)("state.type")],w.prototype,"onChangeMapType",null),(0,r.__decorate)([(0,h.watch)("state.layer")],w.prototype,"onChangeLayer",null)},22125:function(t,i,n){"use strict";n.d(i,{addNewInState:function(){return r}});var o=n(67912);function r(t){switch(this.state.mode){case"polyline":case"polygon":{let{mode:i}=this.state;this.state.elements=[...this.state.elements,{type:i,coordinates:(0,o.pathToArray)(t.getPath()),...this.options.googleMaps.map.defaultStates[i]}];break}case"circle":this.state.elements=[...this.state.elements,{type:this.state.mode,coordinates:[t.getCenter()?.lat()??0,t.getCenter()?.lng()??0],radius:t.getRadius(),...this.options.googleMaps.map.defaultStates.circle}];break;case"marker":this.state.elements=[...this.state.elements,{type:this.state.mode,coordinates:[t.getPosition()?.lat()??0,t.getPosition()?.lng()??0],...this.options.googleMaps.map.defaultStates.marker}]}}},76864:function(t,i,n){"use strict";n.d(i,{DrawingController:function(){return s}});var o=n(82749);let r=["marker","polyline","polygon","circle"];class s{setMode(t){let i=r.includes(t)?t:null;i!==this.mode&&(this.cancel(),this.unbind(),this.mode=i,i?(this.bind(),this.map.setOptions({draggableCursor:"crosshair",disableDoubleClickZoom:!0})):this.map.setOptions({draggableCursor:null,disableDoubleClickZoom:!1}))}destruct(){this.cancel(),this.unbind(),this.mode=null}bind(){this.listeners=[this.map.addListener("click",t=>this.onClick(t)),this.map.addListener("mousemove",t=>this.onMove(t)),this.map.addListener("dblclick",()=>this.onDblClick())]}unbind(){this.listeners.forEach(t=>t.remove()),this.listeners=[]}onClick(t){let i=t.latLng;if(i)switch(this.mode){case"marker":this.onComplete(new google.maps.Marker({position:i}));break;case"circle":this.previewCircle?this.finishCircle():this.previewCircle=new google.maps.Circle({...this.defaultStates.circle,center:i,radius:0,clickable:!1,map:this.map});break;case"polyline":case"polygon":this.vertices.push(i),this.updatePolyPreview(i)}}onMove(t){let i=t.latLng;if(i){if(this.previewCircle){let t=this.previewCircle.getCenter();t&&this.previewCircle.setRadius(google.maps.geometry.spherical.computeDistanceBetween(t,i));return}this.vertices.length&&this.updatePolyPreview(i)}}onDblClick(){if("polyline"!==this.mode&&"polygon"!==this.mode)return;let t=this.vertices.filter((t,i,n)=>0===i||!t.equals(n[i-1])),i="polygon"===this.mode?3:2;if(t.length>=i&&this.preview){let i=this.preview;i.setPath(t),this.onComplete(i)}this.cancel()}finishCircle(){let t=this.previewCircle;t&&(this.previewCircle=null,this.onComplete(t),t.setMap(null))}updatePolyPreview(t){let i=[...this.vertices,t];if(!this.preview){let t={...this.defaultStates["polygon"===this.mode?"polygon":"polyline"],clickable:!1,map:this.map};this.preview="polygon"===this.mode?new google.maps.Polygon(t):new google.maps.Polyline(t)}this.preview.setPath(i)}cancel(){this.preview?.setMap(null),this.preview=null,this.previewCircle?.setMap(null),this.previewCircle=null,this.vertices=[]}constructor(t,i,n){(0,o._)(this,"map",void 0),(0,o._)(this,"defaultStates",void 0),(0,o._)(this,"onComplete",void 0),(0,o._)(this,"mode",void 0),(0,o._)(this,"listeners",void 0),(0,o._)(this,"preview",void 0),(0,o._)(this,"previewCircle",void 0),(0,o._)(this,"vertices",void 0),this.map=t,this.defaultStates=i,this.onComplete=n,this.mode=null,this.listeners=[],this.preview=null,this.previewCircle=null,this.vertices=[]}}},1475:function(t,i,n){"use strict";n.d(i,{initOrUpdateElementFromState:function(){return d}});var o=n(53454),r=n(11079),s=n(72690),a=n(580),l=n(12153),c=n(67912);function d(t,i){let n,d=this.mapElements[i];if(d){if(d.state.type===t.type)return s.updateStateAndGme.call(this,t,i);d.gme.setMap(null)}switch(t.type){case"text":n=new google.maps.Marker({position:new google.maps.LatLng(t.coordinates[0],t.coordinates[1]),draggable:!0,title:t.text,map:this.map});break;case"marker":n=new google.maps.Marker({position:new google.maps.LatLng(t.coordinates[0],t.coordinates[1]),draggable:!0,label:t.showCaption?t.title:"",title:t.title,icon:t.icon?l.Icon.get(t.icon):void 0,map:this.map});break;case"polyline":case"polygon":{let i=(0,c.arrayToPath)(t.coordinates);n=new google.maps["polygon"===t.type?"Polygon":"Polyline"]({path:i,strokeColor:t.strokeColor,fillColor:t.fillColor,strokeWeight:t.strokeWeight,editable:!0,draggable:!0,map:this.map,fillOpacity:"polygon"===t.type?t.fillOpacity:1})}break;case"circle":n=new google.maps.Circle({center:new google.maps.LatLng(t.coordinates[0],t.coordinates[1]),radius:t.radius,strokeColor:t.strokeColor,fillColor:t.fillColor,strokeWeight:t.strokeWeight,editable:!0,draggable:!0,map:this.map,fillOpacity:t.fillOpacity??1})}let u={type:t.type,uid:(0,a.uniqueUid)(),state:t,gme:n};"dragend radius_changed center_changed".split(" ").forEach(t=>n.addListener(t,()=>o.onChangeGeometries.call(this,u,i))),("polygon"===u.type||"polyline"===u.type)&&"insert_at set_at remove_at".split(" ").forEach(t=>u.gme.getPath().addListener(t,()=>o.onChangeGeometries.call(this,u,i))),n.addListener("click",()=>r.openPropsDialog.call(this,u,i)),this.mapElements[i]=u}},53454:function(t,i,n){"use strict";n.d(i,{onChangeGeometries:function(){return s}});var o=n(72690),r=n(67912);function s(t,i){switch(t.type){case"polyline":case"polygon":{let n=(0,r.pathToArray)(t.gme.getPath()),s={...t.state,coordinates:n};o.updateStateAndGme.call(this,s,i,!0);break}case"marker":{let n=t.gme.getPosition(),r={...t.state,coordinates:[n?.lat()??0,n?.lng()??0]};o.updateStateAndGme.call(this,r,i,!0);break}case"circle":{let n=t.gme.getCenter(),r={...t.state,radius:t.gme.getRadius(),coordinates:[n?.lat()??0,n?.lng()??0]};o.updateStateAndGme.call(this,r,i,!0)}}}},11079:function(t,i,n){"use strict";n.d(i,{openPropsDialog:function(){return l}});var o=n(47660),r=n(72690),s=n(90835);function a(){let t=new google.maps.InfoWindow({content:"<div>test</div>"});return t.addListener("domready",()=>{this.setMod("info-opened",!0)}),t.addListener("closeclick",()=>{this.setMod("info-opened",!1)}),t}function l(t,i){let n;switch(this.state.mode="hand",t.type){case"polyline":n=new s.UIPolylineEditor(this.jodit,t.state,this.options);break;case"marker":n=new s.UIMarkerEditor(this.jodit,t.state,this.options);break;case"circle":case"polygon":n=new s.UIPolygonEditor(this.jodit,t.state,this.options)}if(!n)return;this.append(n),this.j.e.on(n,"bin",()=>{o.removeElement.call(this,t)}).on(n,"change",(n,o)=>{r.updateStateAndGme.call(this,{...t.state,[n]:o},i)});let l=a.call(this);if("polygon"===t.type||"polyline"===t.type){let i=t.gme.getPath().getAt(0);l.setPosition(i)}"circle"===t.type&&l.setPosition(t.gme.getCenter()),l.setContent(n.container),l.open(this.map,t.gme),l.addListener("closeclick",()=>{n&&(this.remove(n),n.destruct())})}},47660:function(t,i,n){"use strict";function o(t){let i=this.mapElements.indexOf(t);-1!==i&&(this.mapElements[i].gme.setMap(null),this.mapElements.splice(i,1),this.state.elements.splice(i,1),this.state.elements=[...this.state.elements])}n.d(i,{removeElement:function(){return o}})},72690:function(t,i,n){"use strict";n.d(i,{updateStateAndGme:function(){return r}});var o=n(67912);function r(t,i,n=!1){let s=this.mapElements[i];if(s.state===t||s.state.type!==t.type)return;let a=s.state;if(!n){let i;for(i in t){let n=t[i],r=a[i];if(null!=n&&(null==r||n.toString()!==r.toString()))switch(i){case"strokeWeight":case"strokeColor":case"fillColor":case"fillOpacity":switch(s.type){case"polyline":case"circle":case"polygon":s.gme.setOptions({[i]:n})}break;case"coordinates":switch(s.type){case"polygon":case"polyline":s.gme.setPath((0,o.arrayToPath)(n))}}}}s.state=t,this.state.elements[i]=t}},8073:function(t,i,n){"use strict";n.d(i,{UIMapsControlsForm:function(){return l}});var o=n(82749),r=n(31635),s=n(87325),a=n(67510);class l extends a.UIForm{className(){return"UIMapsControlsForm"}onChangeSize(t,i){this.state.controls={...this.state.controls,[t]:"true"===i}}constructor(t,i){super(t),(0,o._)(this,"state",void 0),this.state=i;const n={zoomControl:"Zoom control",mapTypeControl:"Map Type control",scaleControl:"Scale control",streetViewControl:"Street View control ",rotateControl:"Rotate control",fullscreenControl:"Fullscreen control"},r=Object.keys(n);this.append(r.map(i=>new a.UICheckbox(t,{label:n[i],name:i,checked:this.state.controls[i],switch:!0,type:"checkbox",onChange:this.onChangeSize.bind(this,i)})))}}l=(0,r.__decorate)([s.component],l)},83039:function(t,i,n){"use strict";n.d(i,{UIMapsPropsForm:function(){return c}});var o=n(82749),r=n(31635),s=n(65478),a=n(76078),l=n(67510);class c extends l.UIForm{className(){return"UIMapsPropsForm"}onChangeSize(){let{width:t,height:i}=(0,a.refs)(this.container);this.state.size=[parseInt(t?.value,10)||0,parseInt(i?.value,10)||0]}onExternalChangeSize(){let{width:t,height:i}=(0,a.refs)(this.container),[n,o]=this.state.size;n.toString()!==t.value&&(t.value=n.toString()),o.toString()!==i.value&&(i.value=o.toString())}onChangeCenter(){let{lat:t,lng:i}=(0,a.refs)(this.container);this.state.center=[parseFloat(t?.value)||0,parseFloat(i?.value)||0]}onExternalChangeCenter(){let{lat:t,lng:i}=(0,a.refs)(this.container),[n,o]=this.state.center;n.toString()!==t.value&&(t.value=n.toString()),o.toString()!==i.value&&(i.value=o.toString())}onExternalChangeType(){let{mapType:t}=(0,a.refs)(this.container);this.state.type!==t.value&&(t.value=this.state.type)}onExternalChangeLayer(){let{layer:t}=(0,a.refs)(this.container);this.state.layer!==t.value&&(t.value=this.state.layer)}constructor(t,i){super(t),(0,o._)(this,"state",void 0),this.state=i;const[n,r]=i.size,[s,a]=i.center;this.append([new l.UIInput(t,{label:"Width",name:"width",value:n,type:"number",onChange:this.onChangeSize}),new l.UIInput(t,{label:"Height",name:"height",value:r,type:"number",onChange:this.onChangeSize}),new l.UIInput(t,{label:"Latitude",name:"lat",value:s,onChange:this.onChangeCenter}),new l.UIInput(t,{label:"Longitude",name:"lng",value:a,onChange:this.onChangeCenter}),new l.UISelect(t,{label:"Map type",value:i.type,name:"mapType",options:[{value:"hybrid",text:"Hybrid"},{value:"roadmap",text:"Roadmap"},{value:"satellite",text:"Satellite"},{value:"terrain",text:"Terrain"}],onChange(t){i.type=t}}),new l.UISelect(t,{label:"Layer",value:i.layer??"default",name:"layer",options:[{value:"default",text:"Default"},{value:"traffic",text:"Traffic"},{value:"transit",text:"Transit"},{value:"bicycling",text:"Bicycling"}],onChange(t){i.layer=t}})])}}(0,r.__decorate)([s.autobind],c.prototype,"onChangeSize",null),(0,r.__decorate)([(0,s.watch)("state.size")],c.prototype,"onExternalChangeSize",null),(0,r.__decorate)([s.autobind],c.prototype,"onChangeCenter",null),(0,r.__decorate)([(0,s.watch)(["state.center"])],c.prototype,"onExternalChangeCenter",null),(0,r.__decorate)([(0,s.watch)(["state.type"])],c.prototype,"onExternalChangeType",null),(0,r.__decorate)([(0,s.watch)(["state.layer"])],c.prototype,"onExternalChangeLayer",null),c=(0,r.__decorate)([s.component],c)},11093:function(t,i,n){"use strict";n.d(i,{UIWysiwyg:function(){return c}});var o=n(31635),r=n(87325),s=n(38837),a=n(48538),l=n(2692);class c extends a.UIElement{className(){return"UIWysiwyg"}render(){return`<div>
|
|
602
602
|
<div class='&__label'>~Info~</div>
|
|
603
603
|
<div class='&__editor'></div>
|
|
604
604
|
</div>`}constructor(t,i,n,o){super(t);const r=this.getElm("editor");(0,s.assert)(null!=r,"editor element does not exist");const a=l.JoditPro.make(r,{buttons:["bold","italic","image"],height:100,minHeight:100,allowResizeY:!1,allowResizeX:!1,disablePlugins:["mobile","backup","highlight-signature","tune-block","show-blocks"],toolbarButtonSize:"small",language:t.o.language,direction:t.o.direction,theme:t.o.theme,statusbar:!1,...i});a.value=n,a.e.on("change",()=>o(a.value))}}c=(0,o.__decorate)([r.component],c)},40650:function(t,i,n){"use strict";var o=n(82749),r=n(25088),s=n.n(r),a=n(6441),l=n(21537),c=n(50911),d=n(59451),u=n(2692);a.Config.prototype.controls.google={tooltip:"Google search",icon:s(),isDisabled:t=>(0,d.isEditorEmpty)(t.editor),command:"startSearch"};class h extends c.Plugin{afterInit(t){t.registerCommand("startSearch",{exec(){let i,{s:n}=t;if(i=n.isCollapsed()?n.current()?.parentElement?.innerText:n.sel?.toString()){let t="https://www.google.com/search?q="+encodeURIComponent((0,l.trim)(i));window.open(t,"_blank")}}})}beforeDestruct(t){}constructor(...t){super(...t),(0,o._)(this,"buttons",[{name:"google",group:"search"}])}}(0,o._)(h,"requires",["license"]),u.JoditPro.plugins.add("google-search",h)},36347:function(t,i,n){"use strict";n(6441).Config.prototype.highlightSignature={processDelay:0,processInChunkCount:300,schema:{},excludeTags:["pre"]}},46958:function(t,i,n){"use strict";var o=n(82749),r=n(31635);n(36347);var s=n(65478),a=n(2748),l=n(29960),c=n(20356),d=n(2692);class u extends c.Plugin{afterInit(t){Object.keys(t.o.highlightSignature.schema).length&&(t.e.on("change afterSetMode",this.walkNodes).on("afterGetValueFromEditor",u.removeUtilWrappers),this.walkNodes())}beforeDestruct(t){t.e.off("change afterSetMode",this.walkNodes).off("afterGetValueFromEditor",u.removeUtilWrappers)}walkNodes(){if(!this.j.isEditorMode())return;this.checkUtilsBoxToSchema();let{j:t}=this,i=t.ed.createNodeIterator(t.editor,NodeFilter.SHOW_TEXT);this.abortController?.abort(),this.workLoop(i)}runWorker(t){let i;this.j.e.mute();let n=0,{processInChunkCount:o}=this.j.o.highlightSignature;try{do{if(n+=1,!(i=t.nextNode())||this.checkNormalizing(i))return;this.checkReplaceSchemas(i)}while(i&&o>n)}finally{this.j.e.unmute()}this.workLoop(t)}workLoop(t){this.abortController=new AbortController,this.j.async.schedulerPostTask(()=>this.runWorker(t),{delay:this.j.o.highlightSignature.processDelay}).catch(()=>null)}checkNormalizing(t){return!!a.Dom.isText(t.nextSibling)&&(this.j.editor.normalize(),this.walkNodes(),!0)}checkReplaceSchemas(t){if(u.hasUtilWrapper(t))return;let i=t.nodeValue;if(null==i)return;let{j:n}=this,o=n.o.highlightSignature;for(let n in o.schema){let r=RegExp(n);if(r.test(i)){let s=i.match(r);if(!s||void 0===s.index)continue;let l=o.schema[n](this.j,s);if(l){a.Dom.markTemporary(l,{dataHighlightSchema:n}),this.replaceMatchedTextToElm(t,i,s,l);return}}}}replaceMatchedTextToElm(t,i,n,o){let{j:r}=this,{range:s}=r.s,l=s.startContainer===t,c=s.startOffset,d=n.index??0;t.nodeValue=i.substring(0,d);let u=i.substring(d+n[0].length);if(u.length){let i=r.createInside.text(u);a.Dom.after(t,i)}o.innerText=n[0],a.Dom.after(t,o),l&&this.restoreCursorPosition(c,t,o.firstChild,o.nextSibling)}static hasUtilWrapper(t){return a.Dom.isTemporary(t.parentElement)}static removeUtilWrappers(t){t.value=a.Dom.replaceTemporaryFromString(t.value)}restoreCursorPosition(t,...i){for(let n of i)if(n&&n.nodeValue){let i=n.nodeValue;if(i.length>=t){let i=this.j.s.createRange();i.setStart(n,t),this.j.s.selectRange(i,!1);break}t-=i.length}}checkUtilsBoxToSchema(){a.Dom.temporaryList(this.j.editor).forEach(t=>{let i=(0,l.attr)(t,"dataHighlightSchema");if(!i)return;let n=RegExp(i),o=t.innerText??"";(!n.test(o)||o.replace(n,"").length)&&(this.j.s.save(),a.Dom.unwrap(t),this.j.s.restore())})}constructor(...t){super(...t),(0,o._)(this,"abortController",null)}}(0,o._)(u,"requires",["license"]),(0,r.__decorate)([(0,s.debounce)()],u.prototype,"walkNodes",null),(0,r.__decorate)([s.autobind],u.prototype,"runWorker",null),d.JoditPro.plugins.add("highlight-signature",u)},88092:function(t,i,n){"use strict";var o=n(67008),r=n.n(o),s=n(6441),a=n(2748),l=n(68345);s.Config.prototype.controls.iframeEditor={icon:r(),tooltip:"Iframe Editor",exec(t,i){a.Dom.isTag(i,"jodit")&&a.Dom.isTag(i.firstElementChild,"iframe")&&(i=i.firstElementChild),t.e.fire("toggleIframeEditor",a.Dom.isTag(i,"iframe")?i:null)}},(0,l.isArray)(s.Config.prototype.popup.iframe)&&s.Config.prototype.popup.iframe.push("iframeEditor")},1050:function(t,i,n){"use strict";var o=n(82749),r=n(31635);n(88092);var s=n(29744),a=n(65478),l=n(22732),c=n(21537),d=n(50911),u=n(62843),h=n(41409),p=n(2692);class f extends d.Plugin{afterInit(t){t.e.on("toggleIframeEditor",this.toggleEditor)}toggleEditor(t){this.__dialog||(this.__dialog=new h.Dialog({language:this.j.o.language,theme:this.j.o.theme}),this.__dialog.setHeader("Iframe Properties").setSize(470,400)),t&&!l.Dom.isTag(t,"iframe")&&(t=void 0);let i=new s.UIIframeEditor(this.__dialog,{src:t?.src??"",name:t?.name??"",title:t?.title??"",frameBorder:t?.frameBorder==="1"||t?.frameBorder==="yes",width:t?.offsetWidth??700,height:t?.offsetHeight??400});this.__dialog.setContent(i);let n=this.__dialog;n.isOpened?n.close():(n.setFooter([(0,u.Button)(n,"cancel","Cancel","default").onAction(()=>n.close()),(0,u.Button)(n,"ok",t?"Update":"Insert","primary").onAction(()=>{if(!i.srcField.value){i.srcField.validate(),i.srcField.focus();return}t||(t=this.j.createInside.element("iframe"),this.j.s.insertNode(t,!0,!1)),t.className=i.state.className||"",(0,c.attr)(t,{src:i.state.src,title:i.state.title,name:i.state.name,frameborder:i.state.frameBorder?"1":"0",width:i.state.width,height:i.state.height}),l.Dom.isTag(t.parentElement,"jodit")&&(0,c.css)(t.parentElement,{width:i.state.width,height:i.state.height}),this.jodit.e.fire("synchro"),n.close()})]).open(),this.jodit.async.requestIdleCallback(()=>{i.srcField.focus()}))}onDblClick(t){l.Dom.isTag(t.target,"iframe")&&this.toggleEditor(t.target)}beforeDestruct(t){this.__dialog?.destruct()}constructor(...t){super(...t),(0,o._)(this,"buttons",[{group:"form",name:"iframeEditor"}]),(0,o._)(this,"__dialog",void 0)}}(0,o._)(f,"requires",["license","color-picker"]),(0,r.__decorate)([a.autobind],f.prototype,"toggleEditor",null),(0,r.__decorate)([(0,a.watch)(":dblclick")],f.prototype,"onDblClick",null),p.JoditPro.plugins.add("iframe-editor",f)},29744:function(t,i,n){"use strict";n.d(i,{UIIframeEditor:function(){return l}});var o=n(82749),r=n(31635),s=n(87325),a=n(67510);class l extends a.UIGroup{className(){return"UIIframeEditor"}constructor(t,i){super(t),(0,o._)(this,"state",{src:"",className:"",width:400,height:200,frameBorder:!1,enableScrollbars:!1,name:"",title:""}),(0,o._)(this,"srcField",void 0),Object.assign(this.state,i),this.srcField=new a.UIInput(t,{label:"URL",type:"url",required:!0,value:this.state.src,onChange:t=>{this.state.src=t}}),this.append([this.srcField,new a.UIBlock(t,[new a.UIInput(t,{label:"Width",type:"number",value:this.state.width,onChange:t=>{this.state.width=parseInt(t,10)||0}}),new a.UIInput(t,{label:"Height",type:"number",value:this.state.height,onChange:t=>{this.state.height=parseInt(t,10)||0}})],{className:this.getFullElName("block"),align:"center"}),new a.UIBlock(t,[new a.UICheckbox(t,{label:"Show frame border",checked:!!i.frameBorder,onChange:t=>{this.state.frameBorder="true"===t}})]),new a.UIInput(t,{label:"Name",value:this.state.name,type:"text",onChange:t=>{this.state.name=t}}),new a.UIInput(t,{label:"Title",value:this.state.title,type:"text",onChange:t=>{this.state.title=t}})])}}l=(0,r.__decorate)([s.component],l)},76542:function(t,i,n){"use strict";n.d(i,{ProImageEditor:function(){return d}});var o=n(82749),r=n(85013),s=n(6441),a=n(91907),l=n(10830),c=n(78584);class d extends a.ViewComponent{className(){return"ImageEditorPro"}async open(t,i){let n=this.j,o=s.Config.defaultOptions.imageEditorPro,a=n.c.div("jodit-image-editor-pro");a.style.width="100%",a.style.height="100%";let l=new c.Dialog({language:n.o.language});l.setSize(o.dialog.width,o.dialog.height),l.setContent(a),l.open();let d=null,u=null,h=()=>{u?.(),u=null,d?.destroy(),d=null,l.close()};l.e.on("beforeClose",()=>{u?.(),u=null,d?.destroy(),d=null}),d=new r.ImageEditor({container:a,state:{showToolbar:!1,status:"loading"},onSave:n=>{this.persist(d,t,void 0,n,i,h)},onSaveAs:n=>{this.saveAs(d,t,n,i,h)}}),u=this.mountToolbar(l,d);try{let i=await this.loadImage(t);await d.fromBlob(i),n.e.fire("afterImageEditor")}catch(t){d?.update({status:"error",error:t instanceof Error?t.message:t+""}),this.error(t)}}mountToolbar(t,i){let n=this.j,o=(0,l.Button)(n,{icon:{name:"save"},text:n.i18n("Save")},"primary"),s=(0,l.Button)(n,{icon:{name:"save"},name:"save-as",text:n.i18n("Save as")}),a=n.c.span("jodit-image-editor-pro__size"),c=(0,l.Button)(n,r.ICONS.minus),d=n.c.span("jodit-image-editor-pro__zoom"),u=(0,l.Button)(n,r.ICONS.plus),h=(0,l.Button)(n,"update",n.i18n("Reset")),p=(0,l.Button)(n,"undo",n.i18n("Undo")),f=(0,l.Button)(n,"redo",n.i18n("Redo"));c.setState({tooltip:"Zoom out"}),u.setState({tooltip:"Zoom in"});let m=null;o.onAction(()=>{m=o,i.save()}),s.onAction(()=>{m=s,i.saveAs()}),c.onAction(()=>i.update({zoom:i.state.zoom/1.2})),u.onAction(()=>i.update({zoom:1.2*i.state.zoom})),h.onAction(()=>i.reset()),p.onAction(()=>i.update({history:{step:-1}})),f.onAction(()=>i.update({history:{step:1}}));let g=(...t)=>{let i=n.c.div("jodit-image-editor-pro__group");return i.style.display="flex",i.style.alignItems="center",i.style.gap="4px",t.forEach(t=>i.appendChild(t)),i},b=n.c.div("jodit-image-editor-pro__toolbar");b.style.display="flex",b.style.alignItems="center",b.style.gap="12px",b.style.width="100%",a.style.opacity="0.75",d.style.minWidth="3.5em",d.style.textAlign="center",b.appendChild(g(o.container,s.container)),b.appendChild(g(a,c.container,d,u.container));let y=g(h.container,p.container,f.container);y.style.marginLeft="auto",b.appendChild(y),t.setHeader(b);let w="jodit-image-editor-pro__button_busy",_=t=>{let i=r.selectors.selectOutputSize(t),n="exporting"===t.status,l=n||"loading"===t.status,c=t.busyVisible,u=n&&(c??!0);n||(m=null),o.setState({disabled:!t.source||l}),s.setState({disabled:!t.source||l}),o.container.classList.toggle(w,u&&m!==s),s.container.classList.toggle(w,u&&m===s),h.setState({disabled:!r.selectors.selectIsDirty(t)}),p.setState({disabled:!r.selectors.selectCanUndo(t)}),f.setState({disabled:!r.selectors.selectCanRedo(t)}),a.textContent=i?`${i.width} \xd7 ${i.height}`:"";let g=r.selectors.selectViewportFit(t),b=g?Math.round(100*g.scale):Math.round(100*t.zoom);d.textContent=`${b}%`};_(i.state);let C=i.store.subscribe(_);return()=>{C(),[o,s,c,u,h,p,f].forEach(t=>t.destruct())}}saveAs(t,i,n,o,r){this.j.prompt("Enter new name","Save in new file",s=>{let a=(s||"").trim();if(!a)return this.j.alert("The name should not be empty"),!1;this.persist(t,i,a,n,o,r)})}async persist(t,i,n,o,r,s){t?.update({status:"exporting"});try{let t=await this.blobSize(o),a={action:this.coreSupportsSaved()?"saved":"resize",box:t};void 0!==n?this.j.e.fire("afterImageEditorSave",a,n):this.j.e.fire("afterImageEditorSave",a);let l=await this.uploadEdited(i,o,n),c=()=>{s(),this.j.e.fire("update.filebrowser")};r(n,this.coreSupportsSaved()?{action:"saved",box:t,newPath:l||void 0}:{action:"resize",box:t},c,t=>{s(),this.error(t)})}catch(t){s(),this.error(t)}}async uploadEdited(t,i,n){let{source:o,path:r,name:s}=await this.j.dataProvider.getPathByUrl(t),a=this.connectorUrl();if(!a)throw Error("No connector configured for imageSave");let l=(n||s||"image.png")+"",c=new FormData;c.append("action","imageSave"),c.append("source",(o??"")+""),c.append("path",(r??"")+""),c.append("name",l),c.append("files[0]",i,l);let d=a.includes("?")?"&":"?",u=await fetch(`${a}${d}action=imageSave`,{method:"POST",body:c,credentials:"include"}),h=await u.json();if(!h.success)throw Error(h.message||"Failed to save the edited image");return h.data?.newPath??""}coreSupportsSaved(){let[t=0,i=0,n=0]=(this.j.getVersion?this.j.getVersion():"").split(".").map(t=>parseInt(t,10)||0);return t>4||4===t&&(i>12||12===i&&n>=34)}connectorUrl(){let t=this.j.o.ajax?.url,i=this.j.o.uploader?.url;return"string"==typeof t&&t?t:"string"==typeof i&&i?i:""}async loadImage(t){let i=this.connectorUrl();if(i)try{return await this.loadViaConnector(i,t)}catch{}let n=t.includes("?")?"&":"?",o=await fetch(`${t}${n}_tst=${Date.now()}`,{credentials:"include"});if(!o.ok)throw Error(`Failed to load image (${o.status})`);return o.blob()}async loadViaConnector(t,i){let{source:n,path:o,name:r}=await this.j.dataProvider.getPathByUrl(i),s=new FormData;s.append("action","imageLoad"),s.append("source",(n??"")+""),s.append("path",(o??"")+""),s.append("name",(r??"")+"");let a=t.includes("?")?"&":"?",l=await fetch(`${t}${a}action=imageLoad`,{method:"POST",body:s,credentials:"include"}),c=await l.json();if(!c.success||!c.data?.content)throw Error(c.message||"Failed to load the image");return(await fetch(c.data.content)).blob()}async blobSize(t){let i=await createImageBitmap(t),n={w:i.width,h:i.height};return i.close(),n}error(t){this.j.e.fire("errorMessage",t.message)}constructor(...t){super(...t),(0,o._)(this,"isProImageEditor",!0)}}},45719:function(t,i,n){"use strict";n(6441).Config.prototype.imageEditorPro={dialog:{width:"90%",height:"90%"}}},98270:function(t,i,n){"use strict";var o=n(82749);n(45719);var r=n(76542),s=n(50911),a=n(2692);class l extends s.Plugin{afterInit(t){let i=r.ProImageEditor,n=a.JoditPro.modules;n.ImageEditorCore||n.ImageEditor===i||(n.ImageEditorCore=n.ImageEditor),n.ImageEditor=i}beforeDestruct(t){}}(0,o._)(l,"requires",["license"]),a.JoditPro.plugins.add("imageEditorPro",l)},12373:function(t,i,n){"use strict";n(25187),n(58858),n(21246),n(49934),n(3115),n(41810),n(61328),n(45632),n(8390),n(29528),n(85174),n(90882),n(97068),n(482),n(40650),n(46958),n(98270),n(1050),n(95618),n(74398),n(79850),n(41406),n(47682),n(75554),n(61886),n(19374),n(73098),n(13152)},41113:function(t,i,n){"use strict";var o=n(63643),r=n.n(o),s=n(6441);s.Config.prototype.keyboard={defaultLayoutSet:"en",showLayoutSwitcher:!0,extraKeyGroup:"other",extraKeyButtons:[],delayKeyRepeat:350,periodKeyRepeat:100,layoutList:{en:{title:"English",keys:[["` ~ ±","1 ! §","2 @","3 #","4 $","5 %","6 ^","7 &","8 *","9 (","0 )","- _","= +","Backspace"],["Tab","q Q","w W","e E","r R","t T","y Y","u U","i I","o O","p P","[ {","] }","\\ |"],["Caps","a A","s S","d D","f F","g G","h H","j J","k K","l L","; :","' \"","Enter"],["Shift","z Z","x X","c C","v V","b B","n N","m M",", <",". >","/ ?","Shift"],["Options","Space","Options"]]},es:{title:"Español",keys:[["º ` ~","1 ! §","2 @","3 #","4 $","5 %","6 ^","7 &","8 *","9 (","0 )","- _ |","¡ = +","Backspace"],["Tab","q Q","w W","e E","r R","t T","y Y","u U","i I","o O","p P","[ {","] }","ç Ç \\"],["Caps","a A","s S","d D","f F","g G","h H","j J","k K","l L","ñ Ñ ; :","' \"","Enter"],["Shift","z Z","x X","c C","v V","b B","n N","m M",", <",". >","/ ?","Shift"],["Options","Space","Options"]]},de:{title:"Deutsch",keys:[["` ~ ±","1 ! §","2 @","3 #","4 $","5 %","6 ^","7 &","8 * :","9 ( {","0 ) }","- _","= +","Backspace"],["Tab","q Q","w W","e E","r R","t T","z Z","u U","i I","o O","p P","ü Ü [","] }","\\ |"],["Caps","a A","s S","d D","f F","g G","h H","j J","k K","l L","ö Ö ;","ä Ä ' \"","Enter"],["Shift","y Y","x X","c C","v V","b B","n N","m M",", <",". >","/ ?","Shift"],["Options","Space","Options"]]},ru:{title:"Русский",keys:[["` ~ ±","1 ! §",'2 @ "',"3 # :","4 $ <","5 % >","6 ^","7 &","8 *","9 (","0 )","- _","= +","Backspace"],["Tab","й Й","ц Ц","у У","к К","е Е","н Н","г Г","ш Ш","щ Щ","з З","х Х [","ъ ] {","\\ | }"],["Caps","ф Ф","ы Ы","в В","а А","п П","р Р","о О","л Л","д Д","ж Ж ;","э Э '","Enter"],["Shift","я Я","ч Ч","с С","м М","и И","т Т","ь Ь","б Б ,","ю Ю .","/ ?","Shift"],["Options","Space","Options"]]},tr:{title:"Türkçe",keys:[['" é` ~',"1 ! §",'2 @ "',"3 # :","4 $ <","5 % >","6 ^ ±","7 &","8 *","9 ( {","0 ) }","- _ [","= + ]","Backspace"],["Tab","q Q","w W","e E","r R","t T","y Y","u U","ı I","o O","p P","ğ Ğ","ü Ü",", \\ |"],["Caps","a A","s S","d D","f F","g G","h H","j J","k K","l L","ş Ş","i̇ İ","Enter"],["Shift","z Z","x X","c C","v V","b B","n N","m M","ö Ö <","ç Ç >",". / ?","Shift"],["Options","Space","Options"]]},iw:{title:"Hebrew",keys:[["` ~ ±","1 ! §","2 @","3 #","4 $","5 %","6 ^","7 &","8 *","9 (","0 )","- _","= +","Backspace"],["Tab","/ q Q","' w W","ק e E","ר r R","א t T","ט y Y","ו u U","ן i I","ם o O","פ p P","[ {","] }","\\ |"],["Caps","ש a A","ד s S","ג d D","כ f F","ע g G","י h H","ח j J","ל k K","ך l L","ף ; :","' \"","Enter"],["Shift","ז z Z","ס x X","ב c C","ה v V","נ b B","מ n N","צ m M",", <",". >","/ ?","Shift"],["Options","Space","Options"]]},tata:{title:"Tata",keys:[["һ Һ` ~","1 ! §",'2 @ "',"3 # :","4 $ <","5 % >","6 ^ ±","7 &","8 *","9 ( {","0 )","- _","= +","Backspace"],["Tab","й Й","ө Ө","у У","к К","е Е","н Н","г Г","ш Ш","ә Ә","з З","х Х [","ү Ү ]","\\ | }"],["Caps","ф Ф","ы Ы","в В","а А","п П","р Р","о О","л Л","д Д","ң Ң ;","э Э '","Enter"],["Shift","я Я","ч Ч","с С","м М","и И","т Т","җ Җ","б Б ,","ю Ю .","ґ Ґ /","Shift"],["Options","Space","Options"]]}},layoutSwitchList:["en","es","de","ru","tr","iw","tata"],keySize:32,layout:[[1,1,1,1,1,1,1,1,1,1,1,1,1,2],[1.5,1,1,1,1,1,1,1,1,1,1,1,1,1.5],[1.8,1,1,1,1,1,1,1,1,1,1,1,2.2],[2.5,1,1,1,1,1,1,1,1,1,1,2.5],[3.5,9,3.5]]},s.Config.prototype.controls.keyboard={tooltip:"Keyboard",icon:r(),isActive:t=>!!t.e.fire("isKeyboardOpened"),command:"toggleKeyboard"},s.Config.prototype.controls.extraKeyboardButtons={}},95618:function(t,i,n){"use strict";var o=n(82749),r=n(31635);n(41113);var s=n(25241),a=n(6441),l=n(65478),c=n(27613),d=n(50911),u=n(67510),h=n(41409),p=n(2692);class f extends d.Plugin{afterInit(t){t.registerCommand("toggleKeyboard",this.toggleKeyboard).registerCommand("insertChar",this.insertChar),t.e.on("isKeyboardOpened",()=>this.__keyboard?.isOpened)}insertChar(t,i,n){this.j.s.insertNode(this.j.createInside.text(n))}toggleKeyboard(){if(!this.__keyboard){this.__keyboard=new h.Dialog({toolbarButtonSize:"tiny"});let t=new s.UIKeyboard(this.j);this.__keyboard.setMod("slim",!0).setMod("adaptive",!1).setContent(t);let{showLayoutSwitcher:i,layoutSwitchList:n,layoutList:o}=this.j.o.keyboard;if(i){let i=new u.UISelect(this.__keyboard,{value:t.state.currentLayout,options:n.map(t=>({text:o[t]?.title??t,value:t})),onChange(i){t.state.currentLayout=i}});i.setMod("size","tiny").setMod("width","auto").setMod("variant","outline"),this.__keyboard.setHeader(i)}}this.__keyboard.isOpened?this.__keyboard.close():this.__keyboard.open()}beforeDestruct(t){this.__keyboard?.destruct()}constructor(t){super(t),(0,o._)(this,"hasStyle",!p.JoditPro.fatMode),(0,o._)(this,"buttons",[{group:"insert",name:"keyboard"}]),(0,o._)(this,"__keyboard",void 0);const{extraKeyButtons:i,extraKeyGroup:n}=t.o.keyboard;i.length&&i.forEach((i,o)=>{let r=(0,c.isString)(i)?i:i.key,s=(0,c.isString)(i)||!i.hotkeys?["ctrl+"+(o+1)]:i.hotkeys;t.registerButton({name:"extraKeyboardButtons."+r,group:n});let{extraKeyboardButtons:l}=a.Config.defaultOptions.controls;l[r]={name:r,tooltip:r,args:[r],hotkeys:s,command:"insertChar"}})}}(0,o._)(f,"requires",["license"]),(0,r.__decorate)([l.autobind],f.prototype,"insertChar",null),(0,r.__decorate)([l.autobind],f.prototype,"toggleKeyboard",null),p.JoditPro.plugins.add("keyboard",f)},25241:function(t,i,n){"use strict";n.d(i,{UIKeyboard:function(){return _}});var o=n(82749),r=n(31635),s=n(82758),a=n(65478),l=n(43555),c=n(67510),d=n(27926),u=n.n(d),h=n(10690),p=n.n(h),f=n(91997),m=n.n(f),g=n(11699),b=n.n(g),y=n(98126),w=n.n(y);class _ extends c.UIElement{className(){return"UIKeyboard"}render(){let{layout:t,keySize:i}=this.j.options.keyboard,n=t.length;return`<div>${(()=>{let o=[];for(let r=0;n>r;r+=1){let n=[];for(let o=0;o<t[r].length;o+=1)n.push(`<div style="width:${i*t[r][o]}px;height:${i}px;" class="&__key"></div>`);o.push(`<div class='&__row'>${n.join(`
|
|
@@ -1428,12 +1428,12 @@ ${s}`.trim();n?await this.__executeQuickCommandSilent(c,s):await this.__executeQ
|
|
|
1428
1428
|
height: 22px;
|
|
1429
1429
|
}
|
|
1430
1430
|
}`)),document.head.appendChild(r)}}catch(t){}let s=Object.freeze([{label:"Arial",value:"Arial, Helvetica, sans-serif"},{label:"Helvetica",value:"Helvetica, Arial, sans-serif"},{label:"Verdana",value:"Verdana, Geneva, sans-serif"},{label:"Tahoma",value:"Tahoma, Geneva, sans-serif"},{label:"Trebuchet MS",value:'"Trebuchet MS", Helvetica, sans-serif'},{label:"Times New Roman",value:'"Times New Roman", Times, serif'},{label:"Georgia",value:'Georgia, "Times New Roman", serif'},{label:"Courier New",value:'"Courier New", Courier, monospace'},{label:"Impact",value:"Impact, Haettenschweiler, sans-serif"}]),a=Object.freeze({brightness:0,contrast:0,saturation:0,warmth:0,blur:0}),l=Object.freeze(["#ffffff","#1a1a1a","#9e9689","#4a90e2","#54b98a","#f2c94c","#eb5757","#a29bfe","#8b5cf6","#f178b6","#f2994a","#b8e454","#7ec8f0","#5b6470","#d8d2c8","#eeeeee"]);function c(){return{flip:{horizontal:!1,vertical:!1},rotate:0,angle:0,crop:null,resize:null,finetune:{...a},filter:"original",annotations:[],focus:null}}function d(){return{source:null,status:"idle",busyVisible:!1,error:null,activeTab:"adjust",activeTool:"crop",zoom:1,history:{entries:[c()],index:0},selectedAnnotationId:null,theme:"light",showToolbar:!0,locale:"en",minCropSize:8,minResizeSize:1,palette:[...l],fonts:s.map(t=>({...t})),activePopover:null,viewport:null}}function u(t){let i=t.entries[t.index];if(void 0===i)throw RangeError(`history index ${t.index} is out of bounds`);return i}function h(t,i){let n=t.entries.slice(0,t.index+1);n.push(i);let o=Math.max(0,n.length-100),r=o>0?n.slice(o):n;return{entries:r,index:r.length-1}}function p(t,i){let n=Math.min(Math.max(i,0),t.entries.length-1);return n===t.index?t:{...t,index:n}}function f(t,i){var n,o,r,s,a,l;let d=t;if(void 0!==i.activeTab&&(d=m(d,{activeTab:i.activeTab})),void 0!==i.activeTool&&(d=m(d,{activeTool:i.activeTool})),void 0!==i.zoom&&(d=m(d,{zoom:!Number.isFinite(s=i.zoom)||s<=0?1:Math.min(Math.max(s,.01),64)})),void 0!==i.theme&&(d=m(d,{theme:i.theme})),void 0!==i.showToolbar&&(d=m(d,{showToolbar:i.showToolbar})),void 0!==i.locale&&(d=m(d,{locale:i.locale})),void 0!==i.minCropSize&&(d=m(d,{minCropSize:Math.max(1,i.minCropSize)})),void 0!==i.minResizeSize&&(d=m(d,{minResizeSize:Math.max(1,i.minResizeSize)})),void 0!==i.palette&&(d=m(d,{palette:i.palette})),void 0!==i.fonts&&(d=m(d,{fonts:i.fonts})),void 0!==i.activePopover&&(d=m(d,{activePopover:i.activePopover})),void 0!==i.status&&(d=m(d,{status:i.status}),"exporting"!==i.status&&d.busyVisible&&(d=m(d,{busyVisible:!1}))),void 0!==i.busyVisible&&(d=m(d,{busyVisible:i.busyVisible})),void 0!==i.error&&(d=m(d,{error:i.error})),void 0!==i.source&&(d=m(d,{source:i.source})),void 0!==i.viewport&&(d=m(d,{viewport:i.viewport})),void 0!==i.selectedAnnotationId&&(d=m(d,{selectedAnnotationId:i.selectedAnnotationId})),i.resetHistory&&(d=m(d,{history:{entries:[c()],index:0}})),i.resetDesign&&(d=m(d,{history:h(d.history,c())})),void 0!==i.design){let t,o=(a=u(d.history),l=i.design,{...a,...l,flip:l.flip?{...a.flip,...l.flip}:a.flip,finetune:l.finetune?{...a.finetune,...l.finetune}:a.finetune,rotate:void 0!==l.rotate?(90*Math.round(l.rotate/90)%360+360)%360:a.rotate}),r=!1===i.commit?((t=(n=d.history).entries.slice())[n.index]=o,{entries:t,index:n.index}):h(d.history,o);d=m(d,{history:r})}if(void 0!==i.history){let t=i.history,n="step"in t?(o=d.history,r=t.step,p(o,o.index+r)):p(d.history,t.index);d=m(d,{history:n})}return d}function m(t,i){for(let n of Object.keys(i))if(t[n]!==i[n])return{...t,...i};return t}class g{request(t){this.pending=t,null===this.handle&&(this.handle=this.schedule(()=>this.flush()))}flush(){null!==this.handle&&(this.clear(this.handle),this.handle=null);let t=this.pending;this.pending=null,t&&t()}cancel(){null!==this.handle&&(this.clear(this.handle),this.handle=null),this.pending=null}constructor(t,i){o(this,"pending",null),o(this,"handle",null),this.schedule=t,this.clear=i}}class b{request(t){this.pending=t,this.flush()}flush(){let t=this.pending;this.pending=null,t&&t()}cancel(){this.pending=null}constructor(){o(this,"pending",null)}}class y{getState(){return this.state}update(t){let i=this.reducer(this.state,t);return i!==this.state&&(this.state=i,this.scheduler.request(()=>this.notify())),this.state}subscribe(t){return this.listeners.add(t),()=>{this.listeners.delete(t)}}flush(){this.scheduler.flush()}destroy(){this.scheduler.cancel(),this.listeners.clear()}notify(){if(!this.notifying){this.notifying=!0;try{for(let t of this.listeners)t(this.state)}finally{this.notifying=!1}}}constructor(t={}){o(this,"state",void 0),o(this,"reducer",void 0),o(this,"scheduler",void 0),o(this,"listeners",new Set),o(this,"notifying",!1),this.state=t.initialState??d(),this.reducer=t.reducer??f,this.scheduler=t.scheduler??new b}}function w(t,i,n){return Math.min(Math.max(t,i),n)}function _(t,i){let n=w(t.width,1,i.width),o=w(t.height,1,i.height);return{x:w(t.x,0,i.width-n),y:w(t.y,0,i.height-o),width:n,height:o}}function C(t){return u(t.history)}function k(t){return"adjust"===t.activeTab&&"crop"===t.activeTool}function S(t){let i=C(t);return k(t)?{...i,crop:null,angle:0}:i}function x(t){return t.history.index>0}function I(t){var i;return(i=t.history).index<i.entries.length-1}function E(t){return t.history.index>0||t.history.entries.length>1}function T(t){if(!t.source)return null;let i=C(t),{width:n,height:o}=t.source;return 90===i.rotate||270===i.rotate?{width:o,height:n}:{width:n,height:o}}function j(t){let i=C(t);return i.resize?i.resize:i.crop?{width:Math.round(i.crop.width),height:Math.round(i.crop.height)}:T(t)}function A(t){return k(t)?T(t):j(t)}function P(t){let i,n,o,r=A(t);if(!r||!t.viewport)return null;let s={width:Math.max(1,t.viewport.width-88),height:Math.max(1,t.viewport.height-88)},a=(i=Math.min(s.width/r.width,s.height/r.height)||0,n=r.width*i,o=r.height*i,{scale:i,width:n,height:o,offsetX:(s.width-n)/2,offsetY:(s.height-o)/2}).scale*t.zoom,l=r.width*a,c=r.height*a;return{scale:a,width:l,height:c,offsetX:(t.viewport.width-l)/2,offsetY:(t.viewport.height-c)/2,content:r}}function L(t){return C(t).angle}function D(t){let i=C(t);if(i.crop)return i.crop;let n=T(t);return n?{x:0,y:0,width:n.width,height:n.height}:null}let M=Object.freeze(Object.defineProperty({__proto__:null,VIEWPORT_PADDING:44,selectCanRedo:I,selectCanUndo:x,selectCropAngle:L,selectDesign:C,selectEffectiveCrop:D,selectIsCropping:k,selectIsDirty:E,selectOrientedSize:T,selectOutputSize:j,selectPreviewContentSize:A,selectPreviewDesign:S,selectViewportFit:P},Symbol.toStringTag,{value:"Module"})),R=Math.PI/180,z={nw:[-1,-1],ne:[1,-1],sw:[-1,1],se:[1,1]};function B(t){return{x:t.x+t.width/2,y:t.y+t.height/2}}function N(t,i,n,o){let r=B(t),s=i*R,a=Math.cos(s),l=Math.sin(s),c=n*t.width/2,d=o*t.height/2;return{x:r.x+c*a-d*l,y:r.y+c*l+d*a}}function O(t,i,n,o){return Math.atan2(o-i,n-t)/R}function F(t,i,n){U(t,"width"),U(i,"height");let o=t*i*4;if(n&&n.length!==o)throw RangeError(`data length ${n.length} does not match ${t}x${i} (${o})`);return{width:t,height:i,data:n??new Uint8ClampedArray(o)}}function H(t,i,n){return(n*t.width+i)*4}function U(t,i){if(!Number.isInteger(t)||t<=0)throw RangeError(`${i} must be a positive integer, got ${t}`)}function q(t,i){let n=F(t.width,t.height),{width:o,height:r}=t;for(let s=0;s<r;s++)for(let a=0;a<o;a++)W(t,H(t,"horizontal"===i?o-1-a:a,"vertical"===i?r-1-s:s),n,H(n,a,s));return n}function V(t,i){let n=Math.max(1,Math.round(i.width)),o=Math.max(1,Math.round(i.height));if(n===t.width&&o===t.height)return F(n,o,new Uint8ClampedArray(t.data));let r=t;for(;r.width>=2*n;)r=function(t){let i=Math.ceil(t.width/2),n=F(i,t.height);for(let o=0;o<t.height;o++)for(let r=0;r<i;r++){let i=H(t,2*r,o),s=H(t,Math.min(2*r+1,t.width-1),o),a=H(n,r,o);for(let o=0;o<4;o++)n.data[a+o]=(t.data[i+o]+t.data[s+o])/2}return n}(r);for(;r.height>=2*o;)r=function(t){let i=Math.ceil(t.height/2),n=F(t.width,i);for(let o=0;o<i;o++)for(let i=0;i<t.width;i++){let r=H(t,i,2*o),s=H(t,i,Math.min(2*o+1,t.height-1)),a=H(n,i,o);for(let i=0;i<4;i++)n.data[a+i]=(t.data[r+i]+t.data[s+i])/2}return n}(r);return r.width===n&&r.height===o?F(n,o,new Uint8ClampedArray(r.data)):function(t,i,n){let o=F(i,n),r=t.width/i,s=t.height/n;for(let h=0;h<n;h++){let n=(h+.5)*s-.5,p=Math.floor(n),f=n-p,m=$(p,t.height),g=$(p+1,t.height);for(let n=0;n<i;n++){let i=(n+.5)*r-.5,s=Math.floor(i),p=i-s,b=$(s,t.width),y=$(s+1,t.width),w=H(t,b,m),_=H(t,y,m),C=H(t,b,g),k=H(t,y,g),S=H(o,n,h);for(let i=0;i<4;i++){var a,l,c,d,u;let n=(a=t.data[w+i],l=t.data[_+i],a+(l-a)*p),r=(c=t.data[C+i],d=t.data[k+i],c+(d-c)*p);o.data[S+i]=(u=n)+(r-u)*f}}}return o}(r,n,o)}function W(t,i,n,o){n.data[o]=t.data[i],n.data[o+1]=t.data[i+1],n.data[o+2]=t.data[i+2],n.data[o+3]=t.data[i+3]}function $(t,i){return t<0?0:t>=i?i-1:t}function G(t,i){let n=F(t.width,t.height,new Uint8ClampedArray(t.data));for(let t=0;t<n.data.length;t+=4)n.data[t]=i(n.data[t],0),n.data[t+1]=i(n.data[t+1],1),n.data[t+2]=i(n.data[t+2],2);return n}function K(t,i){if(0===i)return ei(t);let n=i/100*255;return G(t,t=>t+n)}function Y(t,i){if(0===i)return ei(t);let n=i/100*255,o=259*(n+255)/(255*(259-n));return G(t,t=>o*(t-128)+128)}function J(t,i){if(0===i)return ei(t);let n=1+i/100,o=F(t.width,t.height,new Uint8ClampedArray(t.data));for(let t=0;t<o.data.length;t+=4){let i=o.data[t],r=o.data[t+1],s=o.data[t+2],a=.299*i+.587*r+.114*s;o.data[t]=a+(i-a)*n,o.data[t+1]=a+(r-a)*n,o.data[t+2]=a+(s-a)*n}return o}function X(t,i){if(0===i)return ei(t);let n=i/100*40;return G(t,(t,i)=>0===i?t+n:2===i?t-n:t)}function Z(t,i,n=20){let o=Math.round(Math.max(0,Math.min(100,i))/100*n);return o<=0?ei(t):ee(ee(t,o,"horizontal"),o,"vertical")}function Q(t,i){let n=t;return Z(n=X(n=J(n=Y(n=K(n,i.brightness),i.contrast),i.saturation),i.warmth),i.blur)}function ee(t,i,n){let o=F(t.width,t.height),{width:r,height:s,data:a}=t,l="horizontal"===n,c=l?s:r,d=l?r:s,u=2*i+1;for(let t=0;c>t;t++)for(let n=0;n<4;n++){let c=0;for(let o=-i;i>=o;o++)c+=et(a,r,s,l,t,o,n);for(let h=0;d>h;h++){let d=(l?t*r+h:h*r+t)*4+n;o.data[d]=c/u;let p=et(a,r,s,l,t,h-i,n);c+=et(a,r,s,l,t,h+i+1,n)-p}}return o}function et(t,i,n,o,r,s,a){let l=(o?i:n)-1,c=s<0?0:s>l?l:s;return t[(o?r*i+c:c*i+r)*4+a]}function ei(t){return F(t.width,t.height,new Uint8ClampedArray(t.data))}function en(t,i){let n=F(t.width,t.height,new Uint8ClampedArray(t.data));for(let t=0;t<n.data.length;t+=4){let[o,r,s]=i(n.data[t],n.data[t+1],n.data[t+2]);n.data[t]=o,n.data[t+1]=r,n.data[t+2]=s}return n}Object.freeze(Object.defineProperty({__proto__:null,applyFinetune:Q,blur:Z,brightness:K,contrast:Y,saturation:J,warmth:X},Symbol.toStringTag,{value:"Module"}));let eo=t=>F(t.width,t.height,new Uint8ClampedArray(t.data)),er=new Map;function es(t){return er.set(t.id,t),()=>{er.get(t.id)===t&&er.delete(t.id)}}function ea(t,i){let n=er.get(i);return n?n.apply(t):eo(t)}function el(t){return new ImageData(t.data,t.width,t.height)}[{id:"original",label:"Original",apply:eo},{id:"invert",label:"Invert",apply:t=>en(t,(t,i,n)=>[255-t,255-i,255-n])},{id:"grayscale",label:"Black & White",apply:t=>en(t,(t,i,n)=>{let o=.299*t+.587*i+.114*n;return[o,o,o]})},{id:"sepia",label:"Sepia",apply:t=>en(t,(t,i,n)=>[.393*t+.769*i+.189*n,.349*t+.686*i+.168*n,.272*t+.534*i+.131*n])},{id:"solarize",label:"Solarize",apply:t=>en(t,(t,i,n)=>[t<128?t:255-t,i<128?i:255-i,n<128?n:255-n])},{id:"clarendon",label:"Clarendon",apply:t=>X(J(Y(t,20),25),-10)},{id:"gingham",label:"Gingham",apply:t=>X(J(Y(t,-10),-15),12)}].forEach(es);class ec{register(t){let i=this.locales.get(t.id);return this.locales.set(t.id,{...i??{},...t.messages}),()=>{i?this.locales.set(t.id,i):this.locales.delete(t.id)}}has(t){return this.locales.has(t)}get(t){return this.locales.get(t)}list(){return[...this.locales.keys()]}translator(t){return function(t={},i={}){return(n,o)=>{let r=t[n]??i[n]??n;return o?r.replace(/\{(\w+)\}/g,(t,i)=>i in o?o[i]+"":t):r}}(this.locales.get(t)??{})}constructor(){o(this,"locales",new Map)}}let ed=new Set(["value","checked","disabled","selected","innerHTML"]);function eu(t,i={},n=[]){return{kind:"element",tag:t,key:i.key,props:i,children:function(t){let i=Array.isArray(t)?t:[t],n=[];for(let t of i)null!=t&&!1!==t&&!0!==t&&n.push("object"==typeof t?t:{kind:"text",text:t+""});return n}(n)}}function eh(t){return"element"===t.kind}let ep={};class ef{render(t){if(null===this.prev){let i=this.mount(t);this.host.insert(this.container,i,null)}else if(em(this.prev,t))this.patch(this.prev,t);else{let i=this.mount(t),n=this.prev.node;this.host.insert(this.container,i,this.host.nextSibling(n)),this.host.remove(this.container,n)}this.prev=t}unmount(){this.prev&&(this.host.remove(this.container,this.prev.node),this.prev=null)}mount(t){if(!eh(t)){let i=this.host.createText(t.text);return t.node=i,i}let i=this.host.createElement(t.tag);for(let n of(t.node=i,this.applyProps(i,ep,t.props),t.children))this.host.insert(i,this.mount(n),null);return i}patch(t,i){let n=t.node;return(i.node=n,eh(i)&&eh(t))?(this.applyProps(n,t.props,i.props),this.patchChildren(n,t.children,i.children)):eh(i)||i.text===t.text||this.host.setText(n,i.text),n}applyProps(t,i,n){for(let o of(this.applyClass(t,i.class,n.class),this.applyStyle(t,i.style??{},n.style??{}),this.applyEvents(t,i.on??{},n.on??{}),Object.keys(n))){if(eg(o))continue;let r=n[o];r!==i[o]&&this.applyAttr(t,o,r)}for(let o of Object.keys(i))eg(o)||o in n||(ed.has(o)?this.host.setProperty(t,o,""):this.host.removeAttribute(t,o))}applyAttr(t,i,n){ed.has(i)?this.host.setProperty(t,i,n):!1===n||null==n?this.host.removeAttribute(t,i):this.host.setAttribute(t,i,!0===n?"":"string"==typeof n?n:"number"==typeof n||"boolean"==typeof n||"bigint"==typeof n?n+"":JSON.stringify(n)??"")}applyClass(t,i,n){i!==n&&(n?this.host.setAttribute(t,"class",n):this.host.removeAttribute(t,"class"))}applyStyle(t,i,n){for(let o of Object.keys(n))n[o]!==i[o]&&this.host.setStyle(t,o,n[o]+"");for(let o of Object.keys(i))o in n||this.host.removeStyle(t,o)}applyEvents(t,i,n){let o=this.events.get(t);for(let r of Object.keys(i))!(r in n)&&o?.has(r)&&(this.host.removeEventListener(t,r,o.get(r).wrapper),o.delete(r));for(let i of Object.keys(n)){let r=n[i],s=o?.get(i);if(s){s.handler=r;continue}o||(o=new Map,this.events.set(t,o));let a={handler:r,wrapper:t=>a.handler(t)};o.set(i,a),this.host.addEventListener(t,i,a.wrapper)}}patchChildren(t,i,n){let o=0,r=i.length-1,s=0,a=n.length-1,l=null;for(;o<=r&&s<=a;){let c=i[o],d=i[r],u=n[s],h=n[a];if(em(c,u)){this.patch(c,u),o++,s++;continue}if(em(d,h)){this.patch(d,h),r--,a--;continue}if(em(c,h)){this.patch(c,h),this.host.insert(t,c.node,this.host.nextSibling(d.node)),o++,a--;continue}if(em(d,u)){this.patch(d,u),this.host.insert(t,d.node,c.node),r--,s++;continue}l??=function(t,i,n){let o=new Map;for(let r=i;r<=n;r++){let i=t[r].key;void 0!==i&&o.set(i,r)}return o}(i,o,r);let p=void 0!==u.key?l.get(u.key):void 0;if(void 0===p)this.host.insert(t,this.mount(u),c.node);else{let n=i[p];this.patch(n,u),n.node=void 0,this.host.insert(t,u.node,c.node)}s++}if(o>r){let i=n[a+1]?.node??null;for(let o=s;a>=o;o++)this.host.insert(t,this.mount(n[o]),i)}else if(s>a)for(let n=o;r>=n;n++){let o=i[n].node;o&&this.host.remove(t,o)}}constructor(t,i){o(this,"events",new WeakMap),o(this,"prev",null),this.host=t,this.container=i}}function em(t,i){return t.kind===i.kind&&("text"===t.kind||t.tag===i.tag&&t.key===i.key)}function eg(t){return"key"===t||"class"===t||"style"===t||"on"===t}class eb{createElement(t){return this.doc.createElement(t)}createText(t){return this.doc.createTextNode(t)}setText(t,i){t.textContent=i}insert(t,i,n){t.insertBefore(i,n)}remove(t,i){i.parentNode===t&&t.removeChild(i)}parent(t){return t.parentNode}nextSibling(t){return t.nextSibling}setAttribute(t,i,n){t.setAttribute(i,n)}removeAttribute(t,i){t.removeAttribute(i)}setProperty(t,i,n){t[i]=n}setStyle(t,i,n){t.style.setProperty(i,n)}removeStyle(t,i){t.style.removeProperty(i)}addEventListener(t,i,n){t.addEventListener(i,n)}removeEventListener(t,i,n){t.removeEventListener(i,n)}constructor(t=document){this.doc=t}}class ev{register(t){return this.tools.set(t.id,t),this.order.set(t.id,t.order??ev.UNORDERED_BASE+this.seq++),()=>{this.tools.get(t.id)===t&&(this.tools.delete(t.id),this.order.delete(t.id))}}get(t){return this.tools.get(t)}has(t){return this.tools.has(t)}list(){return[...this.tools.values()].sort((t,i)=>(this.order.get(t.id)??0)-(this.order.get(i.id)??0))}first(){return this.list()[0]}constructor(){o(this,"tools",new Map),o(this,"seq",0),o(this,"order",new Map)}}function ey(t){return eu("span",{class:"jie-icon",innerHTML:t})}function ew(){return eu("span",{class:"jie-spinner"})}function e_(t){let i=["jie-btn"];"primary"===t.variant&&i.push("jie-btn--primary"),"icon"===t.variant&&i.push("jie-btn--icon"),t.active&&i.push("jie-btn--active"),t.busy&&i.push("jie-btn--busy"),t.className&&i.push(t.className);let n=[];return t.busy?n.push(ew()):t.icon&&n.push(ey(t.icon)),t.label&&n.push(eu("span",{},t.label)),eu("button",{key:t.key,class:i.join(" "),type:"button",disabled:t.disabled??!1,title:t.title??t.label??"",on:{click:t.onClick}},n)}function eC(t){let i=t.onStart,n={input:i=>t.onInput(Number(i.target.value))};i&&(n.pointerdown=()=>i());let o=t.max-t.min||1,r=Math.min(100,Math.max(0,(t.value-t.min)/o*100));return eu("div",{class:"jie-slider"},[eu("span",{class:"jie-slider__label"},t.label),eu("input",{class:"jie-range",type:"range",min:t.min+"",max:t.max+"",step:(t.step??1)+"",value:t.value+"",style:{"--jie-range-fill":`${r}%`},on:n}),eu("span",{class:"jie-slider__value"},Math.round(t.value)+"")])}function ek(t){return eu("label",{class:"jie-field"},[eu("span",{},t.label),eu("span",{style:{display:"flex","align-items":"center",gap:"6px"}},[eu("input",{class:"jie-input",type:"number",value:t.value+"",on:{change(i){let n=Number(i.target.value);Number.isFinite(n)&&t.onChange(n)}}}),t.suffix?eu("span",{},t.suffix):null])])}function eS(t,i,n){return eu("div",{class:"jie-toolrow"},t.map(t=>e_({key:t.id,label:t.label,icon:t.icon,active:t.id===i,onClick:()=>n(t.id)})))}o(ev,"UNORDERED_BASE",1e6);let ex=t=>`<svg viewBox="0 0 24 24" width="24" height="24" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true">${t}</svg>`,eI={adjust:ex('<path d="M4 8h2M9 8h11M4 16h11M18 16h2"/><circle cx="7.5" cy="8" r="1.6"/><circle cx="16.5" cy="16" r="1.6"/>'),finetune:ex('<path d="M4 7h12M4 12h16M4 17h8"/><circle cx="18" cy="7" r="1.6"/><circle cx="12" cy="17" r="1.6"/>'),filters:ex('<circle cx="9" cy="9" r="5"/><circle cx="15" cy="9" r="5"/><circle cx="12" cy="15" r="5"/>'),watermark:ex('<rect x="3" y="5" width="18" height="14" rx="2"/><path d="M3 15l5-4 4 3 3-2 6 4"/><circle cx="8.5" cy="9.5" r="1.4"/>'),annotate:ex('<path d="M12 20h9"/><path d="M16.5 3.5a2.1 2.1 0 0 1 3 3L7 19l-4 1 1-4Z"/>'),resize:ex('<path d="M9 3H5a2 2 0 0 0-2 2v4M21 15v4a2 2 0 0 1-2 2h-4"/><path d="M8 16l8-8M16 8h-4M16 8v4"/>'),crop:ex('<path d="M6 2v14a2 2 0 0 0 2 2h14"/><path d="M2 6h14a2 2 0 0 1 2 2v14"/>'),rotate:ex('<path d="M3 12a9 9 0 1 0 3-6.7L3 8"/><path d="M3 3v5h5"/>'),flipX:ex('<path d="M12 3v18"/><path d="M8 7 4 12l4 5Z"/><path d="M16 7l4 5-4 5Z"/>'),flipY:ex('<path d="M3 12h18"/><path d="M7 8 12 4l5 4Z"/><path d="M7 16l5 4 5-4Z"/>'),undo:ex('<path d="M9 7 4 12l5 5"/><path d="M4 12h11a5 5 0 0 1 0 10h-1"/>'),redo:ex('<path d="m15 7 5 5-5 5"/><path d="M20 12H9a5 5 0 0 0 0 10h1"/>'),reset:ex('<path d="M3 12a9 9 0 1 1 2.6 6.3"/><path d="M3 21v-5h5"/>'),trash:ex('<path d="M4 7h16M9 7V5a2 2 0 0 1 2-2h2a2 2 0 0 1 2 2v2M6 7l1 13a1 1 0 0 0 1 1h8a1 1 0 0 0 1-1l1-13M10 11v6M14 11v6"/>'),plus:ex('<path d="M12 5v14M5 12h14"/>'),minus:ex('<path d="M5 12h14"/>'),zoomIn:ex('<circle cx="10.5" cy="10.5" r="7.5"/><path d="M21 21l-5.2-5.2M10.5 7.5v6M7.5 10.5h6"/>'),zoomOut:ex('<circle cx="10.5" cy="10.5" r="7.5"/><path d="M21 21l-5.2-5.2M7.5 10.5h6"/>'),posTopLeft:ex('<path d="M17 17 7 7M7 13V7h6"/>'),posTop:ex('<path d="M12 19V6M7 11l5-5 5 5"/>'),posTopRight:ex('<path d="M7 17 17 7M11 7h6v6"/>'),posLeft:ex('<path d="M19 12H6M11 7l-5 5 5 5"/>'),posCenter:ex('<circle cx="12" cy="12" r="6.5"/><circle cx="12" cy="12" r="2" fill="currentColor" stroke="none"/>'),posRight:ex('<path d="M5 12h13M13 7l5 5-5 5"/>'),posBottomLeft:ex('<path d="M17 7 7 17M7 11v6h6"/>'),posBottom:ex('<path d="M12 5v13M7 13l5 5 5-5"/>'),posBottomRight:ex('<path d="M7 7l10 10M17 11v6h-6"/>'),font:ex('<path d="M4 20 9.5 6h1L16 20M6 15h8M17 20l3-9h.5l3 9M18 17h4"/>'),focus:ex('<circle cx="12" cy="12" r="9"/><circle cx="12" cy="12" r="3.5"/>'),lock:ex('<rect x="5" y="11" width="14" height="9" rx="2"/><path d="M8 11V7a4 4 0 0 1 8 0v4"/>'),unlock:ex('<rect x="5" y="11" width="14" height="9" rx="2"/><path d="M8 11V7a4 4 0 0 1 7.5-2"/>'),text:ex('<path d="M5 5h14M12 5v14M9 19h6"/>'),brightness:ex('<circle cx="12" cy="12" r="4"/><path d="M12 2v2M12 20v2M2 12h2M20 12h2M5 5l1.5 1.5M17.5 17.5 19 19M19 5l-1.5 1.5M6.5 17.5 5 19"/>'),contrast:ex('<circle cx="12" cy="12" r="9"/><path d="M12 3a9 9 0 0 0 0 18Z" fill="currentColor" stroke="none"/>'),blur:ex('<path d="M12 3s6 6.5 6 11a6 6 0 0 1-12 0c0-4.5 6-11 6-11Z"/>'),book:ex('<path d="M4 5a2 2 0 0 1 2-2h5v18H6a2 2 0 0 1-2-2Z"/><path d="M20 5a2 2 0 0 0-2-2h-5v18h5a2 2 0 0 0 2-2Z"/>')},eE={id:"adjust",label:"Adjust",icon:eI.adjust,order:0,defaultTool:"crop",renderPanel({state:t,update:i,t:n}){let o=C(t),r=k(t);return eu("div",{class:"jie-toolrow"},[e_({label:n("Crop"),icon:eI.crop,active:r,onClick:()=>i({activeTab:"adjust",activeTool:r?null:"crop"})}),e_({label:n("Rotate"),icon:eI.rotate,onClick:()=>i({design:{rotate:o.rotate+90}})}),e_({label:n("Flip X"),icon:eI.flipX,onClick:()=>i({design:{flip:{horizontal:!o.flip.horizontal}}})}),e_({label:n("Flip Y"),icon:eI.flipY,onClick:()=>i({design:{flip:{vertical:!o.flip.vertical}}})})])}},eT=[{id:"brightness",label:"Brightness",icon:eI.brightness,min:-100,max:100},{id:"contrast",label:"Contrast",icon:eI.contrast,min:-100,max:100},{id:"saturation",label:"Saturation",icon:eI.filters,min:-100,max:100},{id:"blur",label:"Blur",icon:eI.blur,min:0,max:100},{id:"warmth",label:"Warmth",icon:eI.brightness,min:-100,max:100}],ej={id:"finetune",label:"Finetune",icon:eI.finetune,order:1,defaultTool:"brightness",renderPanel({state:t,update:i,t:n}){var o;let r=(o=t.activeTool,eT.find(t=>t.id===o)??eT[0]),s=C(t).finetune[r.id],a=(t,n)=>{i({design:{finetune:{[r.id]:t}},commit:n})};return eu("div",{class:"jie-panel-stack",style:{display:"contents"}},[eC({label:n(r.label),value:s,min:r.min,max:r.max,onStart:()=>a(s,!0),onInput:t=>a(t,!1)}),eS(eT.map(t=>({id:t.id,label:n(t.label),icon:t.icon})),r.id,t=>i({activeTab:"finetune",activeTool:t}))])}},eA={id:"filters",label:"Filters",icon:eI.filters,order:2,renderPanel({state:t,update:i,t:n}){let o=C(t).filter;return eu("div",{class:"jie-thumbs"},[...er.values()].map(t=>eu("button",{key:t.id,class:"jie-thumb",type:"button","aria-pressed":(t.id===o)+"",on:{click:()=>i({design:{filter:t.id}})}},[eu("canvas",{class:"jie-thumb__swatch","data-jie-filter-thumb":t.id}),eu("span",{},n(t.label))])))}},eP={id:"focus",label:"Focus",icon:eI.focus,order:3,defaultTool:"radial",renderPanel({state:t,update:i,t:n}){let o=C(t).focus??{shape:"radial",x:.5,y:.5,radius:.28,angle:0,amount:60},r=null!==C(t).focus,s=(t,n)=>i({design:{focus:{...o,...t}},commit:n});return eu("div",{class:"jie-panel-stack",style:{display:"contents"}},[eu("div",{class:"jie-toolrow"},[eC({label:n("Intensity"),value:o.amount,min:0,max:100,onStart:()=>s({amount:o.amount},!0),onInput:t=>s({amount:t},!1)}),eC({label:n("Radius"),value:Math.round(100*o.radius),min:5,max:90,onStart:()=>s({radius:o.radius},!0),onInput:t=>s({radius:t/100},!1)}),r?e_({variant:"icon",icon:eI.trash,title:n("Reset"),onClick:()=>i({design:{focus:null}})}):null]),eS([{id:"radial",label:n("Radial")},{id:"linear",label:n("Linear")}],o.shape,t=>s({shape:t},!0))])}},eL=[{align:"left",valign:"top",icon:eI.posTopLeft},{align:"center",valign:"top",icon:eI.posTop},{align:"right",valign:"top",icon:eI.posTopRight},{align:"left",valign:"middle",icon:eI.posLeft},{align:"center",valign:"middle",icon:eI.posCenter},{align:"right",valign:"middle",icon:eI.posRight},{align:"left",valign:"bottom",icon:eI.posBottomLeft},{align:"center",valign:"bottom",icon:eI.posBottom},{align:"right",valign:"bottom",icon:eI.posBottomRight}],eD=function(t="id"){let i=0;return()=>`${t}-${++i}`}("jie"),eM="text-color",eR="text-font",ez={id:"annotate",label:"Text",icon:eI.text,order:4,defaultTool:"text",renderPanel({state:t,update:i,t:n}){var o,r,a;let l,c,d,u=C(t),h=u.annotations[0];if(!h)return eu("div",{class:"jie-toolrow"},[e_({label:n("Add text"),icon:eI.text,variant:"primary",onClick(){let t=function(t,i={}){return{id:t,type:"text",text:"Text",x:.5,y:.5,fontSize:.06,fontFamily:s[0].value,color:"#eb5757",bold:!1,italic:!1,align:"center",valign:"middle",...i}}(eD());i({design:{annotations:[t]},selectedAnnotationId:t.id})}})]);let p=t=>{var n,o;return i({design:{annotations:(n=u.annotations,o=h.id,n.map(i=>i.id===o?{...i,...t}:i))}})};return eu("div",{class:"jie-toolrow"},[eu("input",{class:"jie-input",type:"text",value:h.text,on:{input:t=>p({text:t.target.value})}}),(l=(o={value:h.fontFamily,fonts:t.fonts,title:n("Font"),open:t.activePopover===eR,onToggle:()=>i({activePopover:t.activePopover===eR?null:eR}),onPick(t){p({fontFamily:t}),i({activePopover:null})}}).fonts.find(t=>t.value===o.value),c=[eu("button",{class:"jie-fontselect__trigger",type:"button",title:o.title??"Font","aria-haspopup":"listbox","aria-expanded":o.open+"",on:{click:()=>o.onToggle()}},[ey(eI.font),eu("span",{style:{"font-family":o.value}},l?.label??"Font"),ey(eI.book)])],o.open&&c.push(eu("div",{class:"jie-popover__backdrop",on:{click:()=>o.onToggle()}}),eu("div",{class:"jie-popover jie-fontlist",role:"listbox"},o.fonts.map(t=>eu("button",{key:t.value,class:"jie-fontlist__item",type:"button","aria-pressed":(t.value===o.value)+"",style:{"font-family":t.value},on:{click:()=>o.onPick(t.value)}},t.label)))),eu("div",{class:"jie-fontselect"},c)),(d=[eu("button",{class:"jie-color",type:"button",title:(r={value:h.color,palette:t.palette,title:n("Colour"),open:t.activePopover===eM,onToggle:()=>i({activePopover:t.activePopover===eM?null:eM}),onPick(t){p({color:t}),i({activePopover:null})}}).title??"Colour",style:{background:r.value},"aria-haspopup":"true","aria-expanded":r.open+"",on:{click:()=>r.onToggle()}})],r.open&&d.push(eu("div",{class:"jie-popover__backdrop",on:{click:()=>r.onToggle()}}),eu("div",{class:"jie-popover jie-swatches",role:"listbox"},r.palette.map(t=>eu("button",{key:t,class:"jie-swatch",type:"button",title:t,style:{background:t},"aria-pressed":(t.toLowerCase()===r.value.toLowerCase())+"",on:{click:()=>r.onPick(t)}})))),eu("div",{class:"jie-colorpicker"},d)),e_({label:"B",className:"jie-btn--bold",active:h.bold,onClick:()=>p({bold:!h.bold})}),e_({label:"I",className:"jie-btn--italic",active:h.italic,onClick:()=>p({italic:!h.italic})}),eC({label:n("Size"),value:Math.round(100*h.fontSize),min:1,max:40,onInput:t=>p({fontSize:t/100})}),(a={align:h.align,valign:h.valign,onPick:(t,i)=>p({align:t,valign:i,x:"left"===t?.04:"right"===t?.96:.5,y:"top"===i?.04:"bottom"===i?.96:.5})},eu("div",{class:"jie-posgrid",role:"group"},eL.map(t=>eu("button",{key:`${t.valign}-${t.align}`,class:"jie-posgrid__cell",type:"button","data-pos":`${t.valign}-${t.align}`,"aria-pressed":(t.align===a.align&&t.valign===a.valign)+"",on:{click:()=>a.onPick(t.align,t.valign)}},[ey(t.icon)])))),e_({variant:"icon",icon:eI.trash,title:n("Delete"),onClick(){var t,n;return i({design:{annotations:(t=u.annotations,n=h.id,t.filter(t=>t.id!==n))},selectedAnnotationId:null})}})])}},eB={id:"resize",label:"Resize",icon:eI.resize,order:5,renderPanel({state:t,update:i,t:n}){let o=j(t);if(!o)return null;let r="unlocked"!==t.activeTool,s=n=>i({design:{resize:function(t,i,n,o=1){let r=t.width/t.height;if(!n)return{width:Math.max(o,Math.round(i.width??t.width)),height:Math.max(o,Math.round(i.height??t.height))};if(void 0!==i.width){let t=Math.max(o,Math.round(i.width));return{width:t,height:Math.max(o,Math.round(t/r))}}if(void 0!==i.height){let t=Math.max(o,Math.round(i.height));return{width:Math.max(o,Math.round(t*r)),height:t}}return{...t}}(o,n,r,t.minResizeSize)}});return eu("div",{class:"jie-fieldrow"},[ek({label:n("Width"),value:o.width,suffix:n("px"),onChange:t=>s({width:t})}),e_({variant:"icon",icon:r?eI.lock:eI.unlock,title:r?n("Aspect ratio locked"):n("Aspect ratio unlocked"),onClick:()=>i({activeTab:"resize",activeTool:r?"unlocked":"locked"})}),ek({label:n("Height"),value:o.height,suffix:n("px"),onChange:t=>s({height:t})}),e_({variant:"icon",icon:eI.reset,title:n("Reset size"),onClick:()=>i({design:{resize:null}})})])}};function eN(t){return parseInt(t+t,16)}function eO(t,i){return parseInt(t.slice(i,i+2),16)}let eF=/image\/(jpe?g|bmp)/i;function eH(t,i){if("u"<typeof document)throw Error("No DOM available: provide a CanvasFactory to the codec");let n=document.createElement("canvas");return n.width=t,n.height=i,{get width(){return n.width},set width(v){n.width=v},get height(){return n.height},set height(v){n.height=v},getContext:t=>n.getContext(t),toBlobAsync:(t,i)=>new Promise((o,r)=>{n.toBlob(t=>t?o(t):r(Error("canvas.toBlob returned null")),t,i)})}}class eU{async decode(t){var i,n,o;let r,s=await this.toBitmap(t),a=(i=s.width,n=s.height,o={maxSize:this.maxSize,maxPixels:this.maxPixels},r=1,o.maxSize&&o.maxSize>0&&(r=Math.min(r,o.maxSize/Math.max(i,n))),o.maxPixels&&o.maxPixels>0&&(r=Math.min(r,Math.sqrt(o.maxPixels/(i*n)))),Math.min(1,r)),l=Math.max(1,Math.round(s.width*a)),c=Math.max(1,Math.round(s.height*a)),d=this.createCanvas(l,c),u=this.context(d);u.imageSmoothingEnabled=!0,u.imageSmoothingQuality="high",u.drawImage(s,0,0,l,c),"close"in s&&"function"==typeof s.close&&s.close();let h=u.getImageData(0,0,l,c);return F(h.width,h.height,h.data)}async encode(t,i={}){let n,{type:o="image/png",quality:r=.92,background:s}=i,a=void 0!==s||eF.test(o)?function(t,[i,n,o]){let r=F(t.width,t.height);for(let s=0;s<t.data.length;s+=4){let a=t.data[s+3]/255,l=1-a;r.data[s]=t.data[s]*a+i*l,r.data[s+1]=t.data[s+1]*a+n*l,r.data[s+2]=t.data[s+2]*a+o*l,r.data[s+3]=255}return r}(t,(n=(s??"#ffffff").trim().replace(/^#/,""),/^[0-9a-f]{3}$/i.test(n)?[eN(n[0]),eN(n[1]),eN(n[2])]:/^[0-9a-f]{6}$/i.test(n)?[eO(n,0),eO(n,2),eO(n,4)]:[255,255,255])):t,l=this.createCanvas(a.width,a.height);return this.context(l).putImageData(el(a),0,0),l.toBlobAsync(o,r)}context(t){let i=t.getContext("2d");if(!i)throw Error("Unable to acquire a 2D canvas context");return i}async toBitmap(t){return"function"==typeof createImageBitmap?createImageBitmap(t,{imageOrientation:"from-image"}):new Promise((i,n)=>{let o=URL.createObjectURL(t),r=new Image;r.style.imageOrientation="from-image",r.onload=()=>{URL.revokeObjectURL(o),i(r)},r.onerror=()=>{URL.revokeObjectURL(o),n(Error("Failed to decode image blob"))},r.src=o})}constructor(t=eH,i={}){o(this,"maxPixels",void 0),o(this,"maxSize",void 0),this.createCanvas=t,this.maxPixels=i.maxPixels??0x1000000,this.maxSize=i.maxSize}}class eq{decode(t){return this.codec.decode(t)}render(t,i){let n=function(t,i){let n=t;if(i.flip.horizontal&&(n=q(n,"horizontal")),i.flip.vertical&&(n=q(n,"vertical")),0!==i.rotate&&(n=function(t,i){let n=(Math.round(i/90)%4+4)%4;if(0===n)return F(t.width,t.height,new Uint8ClampedArray(t.data));let{width:o,height:r}=t,s=1===n||3===n,a=F(s?r:o,s?o:r);for(let i=0;i<r;i++)for(let s=0;s<o;s++){let l,c;1===n?(l=r-1-i,c=s):2===n?(l=o-1-s,c=r-1-i):(l=i,c=o-1-s),W(t,H(t,s,i),a,H(a,l,c))}return a}(n,i.rotate)),0!==i.angle){let t=i.crop??{x:0,y:0,width:n.width,height:n.height};n=function(t,i,n){let o=Math.max(1,Math.round(i.width)),r=Math.max(1,Math.round(i.height)),s=F(o,r),a=i.x+i.width/2,l=i.y+i.height/2,c=n*Math.PI/180,d=Math.cos(c),u=Math.sin(c);for(let i=0;i<r;i++){let n=i+.5-r/2;for(let r=0;o>r;r++){let c=r+.5-o/2;!function(t,i,n,o,r){if(i<=-1||n<=-1||i>=t.width||n>=t.height){o.data[r]=0,o.data[r+1]=0,o.data[r+2]=0,o.data[r+3]=0;return}let s=Math.floor(i),a=Math.floor(n),l=i-s,c=n-a,d=$(s,t.width),u=$(s+1,t.width),h=$(a,t.height),p=$(a+1,t.height),f=H(t,d,h),m=H(t,u,h),g=H(t,d,p),b=H(t,u,p);for(let i=0;i<4;i++){var y,w;let n=(y=t.data[f+i],y+(t.data[m+i]-y)*l),s=(w=t.data[g+i],w+(t.data[b+i]-w)*l);o.data[r+i]=n+(s-n)*c}}(t,a+c*d-n*u-.5,l+c*u+n*d-.5,s,H(s,r,i))}}return s}(n,t,i.angle)}else i.crop&&(n=function(t,i){let n,o,r=_({x:n=Math.round(i.x),y:o=Math.round(i.y),width:Math.round(i.x+i.width)-n,height:Math.round(i.y+i.height)-o},t),s=F(r.width,r.height);for(let i=0;i<r.height;i++){let n=H(t,r.x,r.y+i),o=H(s,0,i);s.data.set(t.data.subarray(n,n+4*r.width),o)}return s}(n,i.crop));return i.resize&&(n=V(n,i.resize)),n=ea(n=Q(n,i.finetune),i.filter),i.focus&&(n=function(t,i){if(i.amount<=0)return F(t.width,t.height,new Uint8ClampedArray(t.data));let n=Z(t,i.amount,32),{width:o,height:r}=t,s=F(o,r),a=Math.min(o,r),l=i.x*o,c=i.y*r,d=i.radius*a,u=Math.max(.06*a,.9*d),h=i.angle*Math.PI/180,p=-Math.sin(h),f=Math.cos(h);for(let a=0;a<r;a++)for(let r=0;r<o;r++){let o=r-l,h=a-c,m=function(t,i,n){if(i<=t)return+(n>=i);let o=Math.min(1,Math.max(0,(n-t)/(i-t)));return o*o*(3-2*o)}(d,d+u,"radial"===i.shape?Math.hypot(o,h):Math.abs(o*p+h*f)),g=H(s,r,a);for(let i=0;i<4;i++)s.data[g+i]=t.data[g+i]+(n.data[g+i]-t.data[g+i])*m}return s}(n,i.focus)),n}(t,i);return function(t,i,n){if(0===n.length)return i;let o=t(i.width,i.height).getContext("2d");if(!o)throw Error("Unable to acquire a 2D canvas context");for(let t of(o.putImageData(el(i),0,0),n)){if("text"!==t.type)continue;let n=function(t,i){let n=Math.max(1,Math.round(t.fontSize*i.height)),o=t.bold?"bold":"normal",r=t.italic?"italic":"normal";return{text:t.text,x:Math.round(t.x*i.width),y:Math.round(t.y*i.height),fontPx:n,font:`${r} ${o} ${n}px ${t.fontFamily}`,color:t.color,align:t.align,baseline:t.valign}}(t,i);o.font=n.font,o.fillStyle=n.color,o.textAlign=n.align,o.textBaseline=n.baseline,function(t,i){let n=i.text.split(`
|
|
1431
|
-
`),o=1.2*i.fontPx,r=(n.length-1)*o,s="middle"===i.baseline?i.y-r/2:"bottom"===i.baseline?i.y-r:i.y;n.forEach((n,r)=>t.fillText(n,i.x,s+r*o))}(o,n)}let r=o.getImageData(0,0,i.width,i.height);return F(r.width,r.height,r.data)}(this.createCanvas,n,i.annotations)}async toBlob(t,i,n){return this.codec.encode(this.render(t,i),n)}constructor(t){o(this,"codec",void 0),o(this,"createCanvas",void 0),this.codec=t.codec,this.createCanvas=t.createCanvas}}function eV(t,i,n){t.update({zoom:i.zoom*n})}class eW{get state(){return this.store.getState()}update(t){return this.store.update(t),this}async save(){return this.handleSave()}async saveAs(){return this.handleSaveAs()}reset(){return this.handleReset(),this}use(t){let i=t.setup(this.api());return"function"==typeof i&&this.disposers.push(i),this}async fromBlob(t){this.store.update({status:"loading",error:null});try{let i=await this.processor.decode(t);if(this.destroyed)return this;this.source=i,this.previewSource=e$(i,this.previewMaxSize),this.thumbSource=e$(i,160),this.thumbVersion++,this.store.update({source:{width:i.width,height:i.height,name:t instanceof File?t.name:null,mimeType:t.type||"image/png"},resetHistory:!0,status:"ready"})}catch(t){this.store.update({status:"error",error:t instanceof Error?t.message:t+""})}return this}async toBlob(t){if(!this.source)throw Error("No image loaded — call fromBlob() first");let i=C(this.store.getState());this.store.update({status:"exporting"});try{return i.annotations.length>0&&"u">typeof document&&document.fonts&&await document.fonts.ready,await this.processor.toBlob(this.source,i,t)}finally{this.store.update({status:"ready"})}}destroy(){if(!this.destroyed){for(let t of(this.destroyed=!0,this.clearBusyTimer(),this.dragCleanup?.(),this.resizeObserver?.disconnect(),this.disposers.splice(0)))t();this.renderer.unmount(),this.store.destroy()}}api(){return{registerTool:t=>this.registry.register(t),registerFilter:t=>es(t),registerLocale:t=>this.locales.register(t),getState:()=>this.store.getState(),update:t=>this.store.update(t)}}translator(){return this.locales.translator(this.store.getState().locale)}appContext(){return{update:t=>this.store.update(t),tools:this.registry.list(),t:this.translator(),onSave:()=>void this.handleSave(),onSaveAs:()=>void this.handleSaveAs(),onReset:()=>this.handleReset(),beginCropDrag:(t,i)=>this.beginCropDrag(t,i),beginCropRotate:t=>this.beginCropRotate(t)}}handleReset(){E(this.store.getState())&&this.confirm(this.translator()("Reset all changes? You can still undo afterwards."))&&this.store.update({resetDesign:!0})}render(){if(!this.destroyed){var t,i;let n,o,r,s,a,l,c,d;this.renderer.render((t=this.store.getState(),i=this.appContext(),eu("div",{class:"jie","data-theme":t.theme},[t.showToolbar?(n=j(t),r=(o=P(t))?Math.round(100*o.scale):Math.round(100*t.zoom),s=i.t,a="loading"===t.status||"exporting"===t.status,l="exporting"===t.status&&t.busyVisible,eu("header",{class:"jie-topbar"},[eu("div",{class:"jie-topbar__save"},[e_({label:s("Save"),variant:"primary",onClick:()=>i.onSave(),disabled:!t.source||a,busy:l}),e_({label:s("Save as"),onClick:()=>i.onSaveAs(),disabled:!t.source||a,busy:l})]),eu("div",{class:"jie-topbar__meta"},[n?eu("span",{},`${n.width} x ${n.height} px`):null,ey(eI.book),eu("div",{class:"jie-zoom"},[e_({variant:"icon",icon:eI.zoomOut,title:s("Zoom out"),onClick:()=>eV(i,t,1/1.2)}),eu("span",{},`${r}%`),e_({variant:"icon",icon:eI.zoomIn,title:s("Zoom in"),onClick:()=>eV(i,t,1.2)})])]),eu("div",{class:"jie-topbar__actions"},[e_({variant:"icon",icon:eI.reset,title:s("Reset"),disabled:!E(t),onClick:()=>i.onReset()}),e_({variant:"icon",icon:eI.undo,title:s("Undo"),disabled:!x(t),onClick:()=>i.update({history:{step:-1}})}),e_({variant:"icon",icon:eI.redo,title:s("Redo"),disabled:!I(t),onClick:()=>i.update({history:{step:1}})})])])):null,eu("div",{class:"jie-body"},[eu("nav",{class:"jie-rail"},i.tools.map(n=>eu("button",{key:n.id,class:"jie-tab",type:"button","aria-selected":(t.activeTab===n.id)+"",on:{click:()=>i.update({activeTab:n.id,activeTool:n.defaultTool??null})}},[ey(n.icon),eu("span",{},i.t(n.label))]))),(c=i.tools.find(i=>i.id===t.activeTab)??i.tools[0],d=c?.renderPanel({state:t,update:i.update,t:i.t})??null,eu("div",{class:"jie-stage"},[eu("div",{class:"jie-canvas-wrap","data-jie-canvas-wrap":""},[eu("canvas",{class:"jie-canvas","data-jie-canvas":""}),function(t,i){if(!k(t))return null;let n=P(t),o=D(t);if(!n||!o)return null;let r=L(t);return eu("div",{class:"jie-crop",style:{left:`${n.offsetX+o.x*n.scale}px`,top:`${n.offsetY+o.y*n.scale}px`,width:`${o.width*n.scale}px`,height:`${o.height*n.scale}px`,transform:`rotate(${r}deg)`},on:{pointerdown:t=>i.beginCropDrag("move",t)}},[eu("div",{key:"rotate",class:"jie-crop__rotate",title:"Rotate",on:{pointerdown(t){t.stopPropagation(),i.beginCropRotate(t)}}}),...["nw","ne","sw","se"].map(t=>eu("div",{key:t,class:"jie-crop__handle","data-h":t,on:{pointerdown(n){n.stopPropagation(),i.beginCropDrag(t,n)}}}))])}(t,i),"loading"===t.status?eu("div",{class:"jie-overlay","data-jie-loading":""},[ew()]):"error"===t.status&&t.error?eu("div",{class:"jie-overlay jie-overlay--error","data-jie-error":""},[eu("span",{},i.t("Failed to load the image")),eu("span",{class:"jie-overlay__detail"},t.error)]):null]),d?eu("div",{class:"jie-panel"},[d]):null]))])]))),this.ensureViewportObserver(),this.paint(),this.paintFilterThumbs()}}async handleSave(){if(!this.canExport())return;let t=await this.toBlob();this.onSaveCb?.(t,this),this.container.dispatchEvent(new CustomEvent("jie:save",{detail:{blob:t},bubbles:!0}))}async handleSaveAs(){if(!this.canExport())return;let t=await this.toBlob();this.onSaveAsCb?.(t,this),this.container.dispatchEvent(new CustomEvent("jie:saveas",{detail:{blob:t},bubbles:!0}))}canExport(){let{status:t}=this.store.getState();return null!==this.source&&"exporting"!==t&&"loading"!==t}syncBusyTimer(t){"exporting"!==t.status?this.clearBusyTimer():t.busyVisible||null!==this.busyTimer||(this.busyTimer=setTimeout(()=>{this.busyTimer=null,this.destroyed||"exporting"!==this.store.getState().status||this.store.update({busyVisible:!0})},this.spinnerDelay))}clearBusyTimer(){null!==this.busyTimer&&(clearTimeout(this.busyTimer),this.busyTimer=null)}ensureViewportObserver(){let t=this.container.querySelector("[data-jie-canvas-wrap]");if(t&&t!==this.observedWrap){if(this.resizeObserver?.disconnect(),this.observedWrap=t,"u"<typeof ResizeObserver)return void this.measureViewport(t);this.resizeObserver=new ResizeObserver(()=>this.measureViewport(t)),this.resizeObserver.observe(t),this.measureViewport(t)}}measureViewport(t){let{clientWidth:i,clientHeight:n}=t,o=this.store.getState().viewport;i<=0||n<=0||o&&o.width===i&&o.height===n||this.store.update({viewport:{width:i,height:n}})}paint(){let t=this.store.getState(),i=this.container.querySelector("[data-jie-canvas]");if(!i||!this.previewSource||!t.viewport)return;let n=P(t);if(!n)return;let o=S(t),r=`${this.thumbVersion}:${JSON.stringify(o)}`;r===this.cachedRasterKey&&this.cachedRaster||(this.cachedRaster=this.processor.render(this.previewSource,o),this.cachedRasterKey=r);let s=`${r}@${t.viewport.width}x${t.viewport.height}:${n.scale}:${n.offsetX},${n.offsetY}`;s!==this.lastPaintKey&&(this.lastPaintKey=s,function(t,i,n,o){let r="u">typeof window&&window.devicePixelRatio||1;t.width=Math.max(1,Math.round(n.width*r)),t.height=Math.max(1,Math.round(n.height*r));let s=t.getContext("2d");if(!s)return;s.setTransform(r,0,0,r,0,0),s.clearRect(0,0,n.width,n.height);let a=document.createElement("canvas");a.width=i.width,a.height=i.height;let l=a.getContext("2d");l&&(l.putImageData(el(i),0,0),s.imageSmoothingEnabled=!0,s.imageSmoothingQuality="high",s.drawImage(a,o.offsetX,o.offsetY,o.width,o.height))}(i,this.cachedRaster,t.viewport,n))}paintFilterThumbs(){let t=this.thumbSource;if(t)for(let i of this.container.querySelectorAll("canvas[data-jie-filter-thumb]")){let n=i.dataset.jieFilterThumb;if(!n)continue;let o=`${this.thumbVersion}:${n}`;if(i.dataset.key===o)continue;let r=ea(t,n);i.width=r.width,i.height=r.height;let s=i.getContext("2d");s&&(s.putImageData(el(r),0,0),i.dataset.key=o)}}beginCropDrag(t,i){let n=this.store.getState(),o=P(n),r=D(n),s=T(n);if(!o||!r||!s)return;let a=L(n),l=n.minCropSize,c=i.clientX,d=i.clientY;this.runPointerGesture(i,i=>{let n=(i.clientX-c)/o.scale,u=(i.clientY-d)/o.scale;return{crop:0!==a?function(t,i,n,o,r,s=8){if("move"===n)return{...t,x:t.x+o,y:t.y+r};let[a,l]=z[n],c=N(t,i,a,l),d=N(t,i,-a,-l),u={x:c.x+o,y:c.y+r},h=(u.x+d.x)/2,p=(u.y+d.y)/2,f=i*R,m=Math.cos(f),g=Math.sin(f),b=u.x-d.x,y=u.y-d.y,w=Math.max(s,Math.abs(b*m+y*g)),_=Math.max(s,Math.abs(-(b*g)+y*m));return{x:h-w/2,y:p-_/2,width:w,height:_}}(r,a,t,n,u,l):function(t,i,n,o,r,s=null,a=8){var l;let c,d;if("move"===i)return _({...t,x:t.x+n,y:t.y+o},r);let{x:u,y:h,width:p,height:f}=t;if("nw"===i||"sw"===i){let t=w(u+n,0,u+p-a);p+=u-t,u=t}else p=w(p+n,a,r.width-u);if("nw"===i||"ne"===i){let t=w(h+o,0,h+f-a);f+=h-t,h=t}else f=w(f+o,a,r.height-h);let m={x:u,y:h,width:p,height:f};return null!==s&&s>0&&(c=(l=m).width/s,d="sw"===i||"se"===i?l.y:l.y+l.height-c,m={...l,height:c,y:d}),_(m,r)}(r,t,n,u,s,null,l)}})}beginCropRotate(t){let i=this.store.getState(),n=P(i),o=D(i),r=this.observedWrap??this.container.querySelector("[data-jie-canvas-wrap]");if(!n||!o||!r)return;let s=r.getBoundingClientRect(),a=B(o),l=s.left+n.offsetX+a.x*n.scale,c=s.top+n.offsetY+a.y*n.scale,d=L(i),u=O(l,c,t.clientX,t.clientY);this.runPointerGesture(t,t=>{let i=d+(O(l,c,t.clientX,t.clientY)-u);return 2>Math.abs(i)&&(i=0),{angle:Math.round(10*i)/10}})}runPointerGesture(t,i){t.preventDefault();let n=!1,o=t=>{this.store.update({design:i(t),commit:!n}),n=!0},r=()=>{window.removeEventListener("pointermove",o),window.removeEventListener("pointerup",r),this.dragCleanup=null};window.addEventListener("pointermove",o),window.addEventListener("pointerup",r),this.dragCleanup=r}constructor(t){for(const i of(o(this,"store",void 0),o(this,"container",void 0),o(this,"renderer",void 0),o(this,"registry",new ev),o(this,"locales",new ec),o(this,"processor",void 0),o(this,"previewMaxSize",void 0),o(this,"spinnerDelay",void 0),o(this,"busyTimer",null),o(this,"onSaveCb",void 0),o(this,"onSaveAsCb",void 0),o(this,"confirm",void 0),o(this,"source",null),o(this,"previewSource",null),o(this,"thumbSource",null),o(this,"thumbVersion",0),o(this,"cachedRaster",null),o(this,"cachedRasterKey",""),o(this,"lastPaintKey",""),o(this,"disposers",[]),o(this,"resizeObserver",null),o(this,"observedWrap",null),o(this,"dragCleanup",null),o(this,"destroyed",!1),this.container=function(t){if("string"!=typeof t)return t;let i=document.querySelector(t);if(!i)throw Error("Container not found: "+t);return i}(t.container),this.processor=t.processor??function(t=eH,i){return new eq({codec:new eU(t,i),createCanvas:t})}(void 0,{maxPixels:t.maxSourcePixels,maxSize:t.maxSourceSize}),this.previewMaxSize=t.previewMaxSize??1600,this.spinnerDelay=Math.max(0,t.spinnerDelay??250),this.onSaveCb=t.onSave,this.onSaveAsCb=t.onSaveAs,this.confirm=t.confirm??(t=>"u"<typeof window||window.confirm(t)),t.locales??[]))this.locales.register(i);for(const i of(this.store=new y({scheduler:t.scheduler??function(){if("function"!=typeof requestAnimationFrame)return new g(t=>setTimeout(t,16),t=>clearTimeout(t));let t=t=>{cancelAnimationFrame(t.raf),null!==t.timer&&(clearTimeout(t.timer),t.timer=null)};return new g(i=>{let n={raf:0,timer:null},o=()=>{t(n),i()};return n.raf=requestAnimationFrame(o),n.timer=setTimeout(o,100),n},t)}(),initialState:{...d(),...t.state,...t.locale?{locale:t.locale}:{},...void 0!==t.minCropSize?{minCropSize:Math.max(1,t.minCropSize)}:{},...void 0!==t.minResizeSize?{minResizeSize:Math.max(1,t.minResizeSize)}:{},...t.palette?{palette:t.palette}:{},...t.fonts?{fonts:t.fonts}:{}}}),t.tools??[eE,ej,eA,eP,ez,eB]))this.registry.register(i);for(const i of t.plugins??[])this.use(i);this.renderer=new ef(new eb(document),this.container),this.disposers.push(this.store.subscribe(()=>this.render())),this.disposers.push(this.store.subscribe(t=>this.syncBusyTimer(t))),this.render(),t.image&&this.fromBlob(t.image)}}function e$(t,i){let n=Math.max(t.width,t.height);if(i>=n)return t;let o=i/n;return V(t,{width:Math.round(t.width*o),height:Math.round(t.height*o)})}},82749:function(t,i,n){"use strict";function o(t,i,n){return i in t?Object.defineProperty(t,i,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[i]=n,t}n.d(i,{_:function(){return o}})},72573:function(t,i,n){"use strict";function o(t,i,n){return i in t?Object.defineProperty(t,i,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[i]=n,t}function r(){return{async:!1,breaks:!1,extensions:null,gfm:!0,hooks:null,pedantic:!1,renderer:null,silent:!1,tokenizer:null,walkTokens:null}}n.d(i,{marked:function(){return ek}});var s,a=r(),l={exec:()=>null};function c(t,i=""){let n="string"==typeof t?t:t.source,o={replace(t,i){let r="string"==typeof i?i:i.source;return r=r.replace(u.caret,"$1"),n=n.replace(t,r),o},getRegex:()=>new RegExp(n,i)};return o}var d=(()=>{try{return!!RegExp("(?<=1)(?<!1)")}catch{return!1}})(),u={codeRemoveIndent:/^(?: {1,4}| {0,3}\t)/gm,outputLinkReplace:/\\([\[\]])/g,indentCodeCompensation:/^(\s+)(?:```)/,beginningSpace:/^\s+/,endingHash:/#$/,startingSpaceChar:/^ /,endingSpaceChar:/ $/,nonSpaceChar:/[^ ]/,newLineCharGlobal:/\n/g,tabCharGlobal:/\t/g,multipleSpaceGlobal:/\s+/g,blankLine:/^[ \t]*$/,doubleBlankLine:/\n[ \t]*\n[ \t]*$/,blockquoteStart:/^ {0,3}>/,blockquoteSetextReplace:/\n {0,3}((?:=+|-+) *)(?=\n|$)/g,blockquoteSetextReplace2:/^ {0,3}>[ \t]?/gm,listReplaceNesting:/^ {1,4}(?=( {4})*[^ ])/g,listIsTask:/^\[[ xX]\] +\S/,listReplaceTask:/^\[[ xX]\] +/,listTaskCheckbox:/\[[ xX]\]/,anyLine:/\n.*\n/,hrefBrackets:/^<(.*)>$/,tableDelimiter:/[:|]/,tableAlignChars:/^\||\| *$/g,tableRowBlankLine:/\n[ \t]*$/,tableAlignRight:/^ *-+: *$/,tableAlignCenter:/^ *:-+: *$/,tableAlignLeft:/^ *:-+ *$/,startATag:/^<a /i,endATag:/^<\/a>/i,startPreScriptTag:/^<(pre|code|kbd|script)(\s|>)/i,endPreScriptTag:/^<\/(pre|code|kbd|script)(\s|>)/i,startAngleBracket:/^</,endAngleBracket:/>$/,pedanticHrefTitle:/^([^'"]*[^\s])\s+(['"])(.*)\2/,unicodeAlphaNumeric:/[\p{L}\p{N}]/u,escapeTest:/[&<>"']/,escapeReplace:/[&<>"']/g,escapeTestNoEncode:/[<>"']|&(?!(#\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\w+);)/,escapeReplaceNoEncode:/[<>"']|&(?!(#\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\w+);)/g,caret:/(^|[^\[])\^/g,percentDecode:/%25/g,findPipe:/\|/g,splitPipe:/ \|/,slashPipe:/\\\|/g,carriageReturn:/\r\n|\r/g,spaceLine:/^ +$/gm,notSpaceStart:/^\S*/,endingNewline:/\n$/,listItemRegex:t=>RegExp(`^( {0,3}${t})((?:[ ][^\\n]*)?(?:\\n|$))`),nextBulletRegex:t=>RegExp(`^ {0,${Math.min(3,t-1)}}(?:[*+-]|\\d{1,9}[.)])((?:[ ][^\\n]*)?(?:\\n|$))`),hrRegex:t=>RegExp(`^ {0,${Math.min(3,t-1)}}((?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$)`),fencesBeginRegex:t=>RegExp(`^ {0,${Math.min(3,t-1)}}(?:\`\`\`|~~~)`),headingBeginRegex:t=>RegExp(`^ {0,${Math.min(3,t-1)}}#`),htmlBeginRegex:t=>RegExp(`^ {0,${Math.min(3,t-1)}}<(?:[a-z].*>|!--)`,"i"),blockquoteBeginRegex:t=>RegExp(`^ {0,${Math.min(3,t-1)}}>`)},h=/^ {0,3}((?:-[\t ]*){3,}|(?:_[ \t]*){3,}|(?:\*[ \t]*){3,})(?:\n+|$)/,p=/ {0,3}(?:[*+-]|\d{1,9}[.)])/,f=/^(?!bull |blockCode|fences|blockquote|heading|html|table)((?:.|\n(?!\s*?\n|bull |blockCode|fences|blockquote|heading|html|table))+?)\n {0,3}(=+|-+) *(?:\n+|$)/,m=c(f).replace(/bull/g,p).replace(/blockCode/g,/(?: {4}| {0,3}\t)/).replace(/fences/g,/ {0,3}(?:`{3,}|~{3,})/).replace(/blockquote/g,/ {0,3}>/).replace(/heading/g,/ {0,3}#{1,6}/).replace(/html/g,/ {0,3}<[^\n>]+>\n/).replace(/\|table/g,"").getRegex(),g=c(f).replace(/bull/g,p).replace(/blockCode/g,/(?: {4}| {0,3}\t)/).replace(/fences/g,/ {0,3}(?:`{3,}|~{3,})/).replace(/blockquote/g,/ {0,3}>/).replace(/heading/g,/ {0,3}#{1,6}/).replace(/html/g,/ {0,3}<[^\n>]+>\n/).replace(/table/g,/ {0,3}\|?(?:[:\- ]*\|)+[\:\- ]*\n/).getRegex(),b=/^([^\n]+(?:\n(?!hr|heading|lheading|blockquote|fences|list|html|table| +\n)[^\n]+)*)/,y=/(?!\s*\])(?:\\[\s\S]|[^\[\]\\])+/,w=c(/^ {0,3}\[(label)\]: *(?:\n[ \t]*)?([^<\s][^\s]*|<.*?>)(?:(?: +(?:\n[ \t]*)?| *\n[ \t]*)(title))? *(?:\n+|$)/).replace("label",y).replace("title",/(?:"(?:\\"?|[^"\\])*"|'[^'\n]*(?:\n[^'\n]+)*\n?'|\([^()]*\))/).getRegex(),_=c(/^(bull)([ \t][^\n]+?)?(?:\n|$)/).replace(/bull/g,p).getRegex(),C="address|article|aside|base|basefont|blockquote|body|caption|center|col|colgroup|dd|details|dialog|dir|div|dl|dt|fieldset|figcaption|figure|footer|form|frame|frameset|h[1-6]|head|header|hr|html|iframe|legend|li|link|main|menu|menuitem|meta|nav|noframes|ol|optgroup|option|p|param|search|section|summary|table|tbody|td|tfoot|th|thead|title|tr|track|ul",k=/<!--(?:-?>|[\s\S]*?(?:-->|$))/,S=c("^ {0,3}(?:<(script|pre|style|textarea)[\\s>][\\s\\S]*?(?:</\\1>[^\\n]*\\n+|$)|comment[^\\n]*(\\n+|$)|<\\?[\\s\\S]*?(?:\\?>\\n*|$)|<![A-Z][\\s\\S]*?(?:>\\n*|$)|<!\\[CDATA\\[[\\s\\S]*?(?:\\]\\]>\\n*|$)|</?(tag)(?: +|\\n|/?>)[\\s\\S]*?(?:(?:\\n[ ]*)+\\n|$)|<(?!script|pre|style|textarea)([a-z][\\w-]*)(?:attribute)*? */?>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n[ ]*)+\\n|$)|</(?!script|pre|style|textarea)[a-z][\\w-]*\\s*>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n[ ]*)+\\n|$))","i").replace("comment",k).replace("tag",C).replace("attribute",/ +[a-zA-Z:_][\w.:-]*(?: *= *"[^"\n]*"| *= *'[^'\n]*'| *= *[^\s"'=<>`]+)?/).getRegex(),x=c(b).replace("hr",h).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("|lheading","").replace("|table","").replace("blockquote"," {0,3}>").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)])[ \\t]").replace("html","</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)").replace("tag",C).getRegex(),I={blockquote:c(/^( {0,3}> ?(paragraph|[^\n]*)(?:\n|$))+/).replace("paragraph",x).getRegex(),code:/^((?: {4}| {0,3}\t)[^\n]+(?:\n(?:[ \t]*(?:\n|$))*)?)+/,def:w,fences:/^ {0,3}(`{3,}(?=[^`\n]*(?:\n|$))|~{3,})([^\n]*)(?:\n|$)(?:|([\s\S]*?)(?:\n|$))(?: {0,3}\1[~`]* *(?=\n|$)|$)/,heading:/^ {0,3}(#{1,6})(?=\s|$)(.*)(?:\n+|$)/,hr:h,html:S,lheading:m,list:_,newline:/^(?:[ \t]*(?:\n|$))+/,paragraph:x,table:l,text:/^[^\n]+/},E=c("^ *([^\\n ].*)\\n {0,3}((?:\\| *)?:?-+:? *(?:\\| *:?-+:? *)*(?:\\| *)?)(?:\\n((?:(?! *\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\n|$))*)\\n*|$)").replace("hr",h).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("blockquote"," {0,3}>").replace("code","(?: {4}| {0,3} )[^\\n]").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)])[ \\t]").replace("html","</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)").replace("tag",C).getRegex(),T={...I,lheading:g,table:E,paragraph:c(b).replace("hr",h).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("|lheading","").replace("table",E).replace("blockquote"," {0,3}>").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)])[ \\t]").replace("html","</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)").replace("tag",C).getRegex()},j={...I,html:c("^ *(?:comment *(?:\\n|\\s*$)|<(tag)[\\s\\S]+?</\\1> *(?:\\n{2,}|\\s*$)|<tag(?:\"[^\"]*\"|'[^']*'|\\s[^'\"/>\\s]*)*?/?> *(?:\\n{2,}|\\s*$))").replace("comment",k).replace(/tag/g,"(?!(?:a|em|strong|small|s|cite|q|dfn|abbr|data|time|code|var|samp|kbd|sub|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo|span|br|wbr|ins|del|img)\\b)\\w+(?!:|[^\\w\\s@]*@)\\b").getRegex(),def:/^ *\[([^\]]+)\]: *<?([^\s>]+)>?(?: +(["(][^\n]+[")]))? *(?:\n+|$)/,heading:/^(#{1,6})(.*)(?:\n+|$)/,fences:l,lheading:/^(.+?)\n {0,3}(=+|-+) *(?:\n+|$)/,paragraph:c(b).replace("hr",h).replace("heading",` *#{1,6} *[^
|
|
1432
|
-
]`).replace("lheading",m).replace("|table","").replace("blockquote"," {0,3}>").replace("|fences","").replace("|list","").replace("|html","").replace("|tag","").getRegex()},A=/^( {2,}|\\)\n(?!\s*$)/,P=/[\p{P}\p{S}]/u,L=/[\s\p{P}\p{S}]/u,D=/[^\s\p{P}\p{S}]/u,M=c(/^((?![*_])punctSpace)/,"u").replace(/punctSpace/g,L).getRegex(),R=/(?!~)[\p{P}\p{S}]/u,z
|
|
1431
|
+
`),o=1.2*i.fontPx,r=(n.length-1)*o,s="middle"===i.baseline?i.y-r/2:"bottom"===i.baseline?i.y-r:i.y;n.forEach((n,r)=>t.fillText(n,i.x,s+r*o))}(o,n)}let r=o.getImageData(0,0,i.width,i.height);return F(r.width,r.height,r.data)}(this.createCanvas,n,i.annotations)}async toBlob(t,i,n){return this.codec.encode(this.render(t,i),n)}constructor(t){o(this,"codec",void 0),o(this,"createCanvas",void 0),this.codec=t.codec,this.createCanvas=t.createCanvas}}function eV(t,i,n){t.update({zoom:i.zoom*n})}class eW{get state(){return this.store.getState()}update(t){return this.store.update(t),this}async save(){return this.handleSave()}async saveAs(){return this.handleSaveAs()}reset(){return this.handleReset(),this}use(t){let i=t.setup(this.api());return"function"==typeof i&&this.disposers.push(i),this}async fromBlob(t){this.store.update({status:"loading",error:null});try{let i=await this.processor.decode(t);if(this.destroyed)return this;this.source=i,this.previewSource=e$(i,this.previewMaxSize),this.thumbSource=e$(i,160),this.thumbVersion++,this.store.update({source:{width:i.width,height:i.height,name:t instanceof File?t.name:null,mimeType:t.type||"image/png"},resetHistory:!0,status:"ready"})}catch(t){this.store.update({status:"error",error:t instanceof Error?t.message:t+""})}return this}async toBlob(t){if(!this.source)throw Error("No image loaded — call fromBlob() first");let i=C(this.store.getState());this.store.update({status:"exporting"});try{return i.annotations.length>0&&"u">typeof document&&document.fonts&&await document.fonts.ready,await this.processor.toBlob(this.source,i,t)}finally{this.store.update({status:"ready"})}}destroy(){if(!this.destroyed){for(let t of(this.destroyed=!0,this.clearBusyTimer(),this.dragCleanup?.(),this.resizeObserver?.disconnect(),this.disposers.splice(0)))t();this.renderer.unmount(),this.store.destroy()}}api(){return{registerTool:t=>this.registry.register(t),registerFilter:t=>es(t),registerLocale:t=>this.locales.register(t),getState:()=>this.store.getState(),update:t=>this.store.update(t)}}translator(){return this.locales.translator(this.store.getState().locale)}appContext(){return{update:t=>this.store.update(t),tools:this.registry.list(),t:this.translator(),onSave:()=>void this.handleSave(),onSaveAs:()=>void this.handleSaveAs(),onReset:()=>this.handleReset(),beginCropDrag:(t,i)=>this.beginCropDrag(t,i),beginCropRotate:t=>this.beginCropRotate(t)}}handleReset(){E(this.store.getState())&&this.confirm(this.translator()("Reset all changes? You can still undo afterwards."))&&this.store.update({resetDesign:!0})}render(){if(!this.destroyed){var t,i;let n,o,r,s,a,l,c,d;this.renderer.render((t=this.store.getState(),i=this.appContext(),eu("div",{class:"jie","data-theme":t.theme},[t.showToolbar?(n=j(t),r=(o=P(t))?Math.round(100*o.scale):Math.round(100*t.zoom),s=i.t,a="loading"===t.status||"exporting"===t.status,l="exporting"===t.status&&t.busyVisible,eu("header",{class:"jie-topbar"},[eu("div",{class:"jie-topbar__save"},[e_({label:s("Save"),variant:"primary",onClick:()=>i.onSave(),disabled:!t.source||a,busy:l}),e_({label:s("Save as"),onClick:()=>i.onSaveAs(),disabled:!t.source||a,busy:l})]),eu("div",{class:"jie-topbar__meta"},[n?eu("span",{},`${n.width} x ${n.height} px`):null,ey(eI.book),eu("div",{class:"jie-zoom"},[e_({variant:"icon",icon:eI.zoomOut,title:s("Zoom out"),onClick:()=>eV(i,t,1/1.2)}),eu("span",{},`${r}%`),e_({variant:"icon",icon:eI.zoomIn,title:s("Zoom in"),onClick:()=>eV(i,t,1.2)})])]),eu("div",{class:"jie-topbar__actions"},[e_({variant:"icon",icon:eI.reset,title:s("Reset"),disabled:!E(t),onClick:()=>i.onReset()}),e_({variant:"icon",icon:eI.undo,title:s("Undo"),disabled:!x(t),onClick:()=>i.update({history:{step:-1}})}),e_({variant:"icon",icon:eI.redo,title:s("Redo"),disabled:!I(t),onClick:()=>i.update({history:{step:1}})})])])):null,eu("div",{class:"jie-body"},[eu("nav",{class:"jie-rail"},i.tools.map(n=>eu("button",{key:n.id,class:"jie-tab",type:"button","aria-selected":(t.activeTab===n.id)+"",on:{click:()=>i.update({activeTab:n.id,activeTool:n.defaultTool??null})}},[ey(n.icon),eu("span",{},i.t(n.label))]))),(c=i.tools.find(i=>i.id===t.activeTab)??i.tools[0],d=c?.renderPanel({state:t,update:i.update,t:i.t})??null,eu("div",{class:"jie-stage"},[eu("div",{class:"jie-canvas-wrap","data-jie-canvas-wrap":""},[eu("canvas",{class:"jie-canvas","data-jie-canvas":""}),function(t,i){if(!k(t))return null;let n=P(t),o=D(t);if(!n||!o)return null;let r=L(t);return eu("div",{class:"jie-crop",style:{left:`${n.offsetX+o.x*n.scale}px`,top:`${n.offsetY+o.y*n.scale}px`,width:`${o.width*n.scale}px`,height:`${o.height*n.scale}px`,transform:`rotate(${r}deg)`},on:{pointerdown:t=>i.beginCropDrag("move",t)}},[eu("div",{key:"rotate",class:"jie-crop__rotate",title:"Rotate",on:{pointerdown(t){t.stopPropagation(),i.beginCropRotate(t)}}}),...["nw","ne","sw","se"].map(t=>eu("div",{key:t,class:"jie-crop__handle","data-h":t,on:{pointerdown(n){n.stopPropagation(),i.beginCropDrag(t,n)}}}))])}(t,i),"loading"===t.status?eu("div",{class:"jie-overlay","data-jie-loading":""},[ew()]):"error"===t.status&&t.error?eu("div",{class:"jie-overlay jie-overlay--error","data-jie-error":""},[eu("span",{},i.t("Failed to load the image")),eu("span",{class:"jie-overlay__detail"},t.error)]):null]),d?eu("div",{class:"jie-panel"},[d]):null]))])]))),this.ensureViewportObserver(),this.paint(),this.paintFilterThumbs()}}async handleSave(){if(!this.canExport())return;let t=await this.toBlob();this.onSaveCb?.(t,this),this.container.dispatchEvent(new CustomEvent("jie:save",{detail:{blob:t},bubbles:!0}))}async handleSaveAs(){if(!this.canExport())return;let t=await this.toBlob();this.onSaveAsCb?.(t,this),this.container.dispatchEvent(new CustomEvent("jie:saveas",{detail:{blob:t},bubbles:!0}))}canExport(){let{status:t}=this.store.getState();return null!==this.source&&"exporting"!==t&&"loading"!==t}syncBusyTimer(t){"exporting"!==t.status?this.clearBusyTimer():t.busyVisible||null!==this.busyTimer||(this.busyTimer=setTimeout(()=>{this.busyTimer=null,this.destroyed||"exporting"!==this.store.getState().status||this.store.update({busyVisible:!0})},this.spinnerDelay))}clearBusyTimer(){null!==this.busyTimer&&(clearTimeout(this.busyTimer),this.busyTimer=null)}ensureViewportObserver(){let t=this.container.querySelector("[data-jie-canvas-wrap]");if(t&&t!==this.observedWrap){if(this.resizeObserver?.disconnect(),this.observedWrap=t,"u"<typeof ResizeObserver)return void this.measureViewport(t);this.resizeObserver=new ResizeObserver(()=>this.measureViewport(t)),this.resizeObserver.observe(t),this.measureViewport(t)}}measureViewport(t){let{clientWidth:i,clientHeight:n}=t,o=this.store.getState().viewport;i<=0||n<=0||o&&o.width===i&&o.height===n||this.store.update({viewport:{width:i,height:n}})}paint(){let t=this.store.getState(),i=this.container.querySelector("[data-jie-canvas]");if(!i||!this.previewSource||!t.viewport)return;let n=P(t);if(!n)return;let o=S(t),r=`${this.thumbVersion}:${JSON.stringify(o)}`;r===this.cachedRasterKey&&this.cachedRaster||(this.cachedRaster=this.processor.render(this.previewSource,o),this.cachedRasterKey=r);let s=`${r}@${t.viewport.width}x${t.viewport.height}:${n.scale}:${n.offsetX},${n.offsetY}`;s!==this.lastPaintKey&&(this.lastPaintKey=s,function(t,i,n,o){let r="u">typeof window&&window.devicePixelRatio||1;t.width=Math.max(1,Math.round(n.width*r)),t.height=Math.max(1,Math.round(n.height*r));let s=t.getContext("2d");if(!s)return;s.setTransform(r,0,0,r,0,0),s.clearRect(0,0,n.width,n.height);let a=document.createElement("canvas");a.width=i.width,a.height=i.height;let l=a.getContext("2d");l&&(l.putImageData(el(i),0,0),s.imageSmoothingEnabled=!0,s.imageSmoothingQuality="high",s.drawImage(a,o.offsetX,o.offsetY,o.width,o.height))}(i,this.cachedRaster,t.viewport,n))}paintFilterThumbs(){let t=this.thumbSource;if(t)for(let i of this.container.querySelectorAll("canvas[data-jie-filter-thumb]")){let n=i.dataset.jieFilterThumb;if(!n)continue;let o=`${this.thumbVersion}:${n}`;if(i.dataset.key===o)continue;let r=ea(t,n);i.width=r.width,i.height=r.height;let s=i.getContext("2d");s&&(s.putImageData(el(r),0,0),i.dataset.key=o)}}beginCropDrag(t,i){let n=this.store.getState(),o=P(n),r=D(n),s=T(n);if(!o||!r||!s)return;let a=L(n),l=n.minCropSize,c=i.clientX,d=i.clientY;this.runPointerGesture(i,i=>{let n=(i.clientX-c)/o.scale,u=(i.clientY-d)/o.scale;return{crop:0!==a?function(t,i,n,o,r,s=8){if("move"===n)return{...t,x:t.x+o,y:t.y+r};let[a,l]=z[n],c=N(t,i,a,l),d=N(t,i,-a,-l),u={x:c.x+o,y:c.y+r},h=(u.x+d.x)/2,p=(u.y+d.y)/2,f=i*R,m=Math.cos(f),g=Math.sin(f),b=u.x-d.x,y=u.y-d.y,w=Math.max(s,Math.abs(b*m+y*g)),_=Math.max(s,Math.abs(-(b*g)+y*m));return{x:h-w/2,y:p-_/2,width:w,height:_}}(r,a,t,n,u,l):function(t,i,n,o,r,s=null,a=8){var l;let c,d;if("move"===i)return _({...t,x:t.x+n,y:t.y+o},r);let{x:u,y:h,width:p,height:f}=t;if("nw"===i||"sw"===i){let t=w(u+n,0,u+p-a);p+=u-t,u=t}else p=w(p+n,a,r.width-u);if("nw"===i||"ne"===i){let t=w(h+o,0,h+f-a);f+=h-t,h=t}else f=w(f+o,a,r.height-h);let m={x:u,y:h,width:p,height:f};return null!==s&&s>0&&(c=(l=m).width/s,d="sw"===i||"se"===i?l.y:l.y+l.height-c,m={...l,height:c,y:d}),_(m,r)}(r,t,n,u,s,null,l)}})}beginCropRotate(t){let i=this.store.getState(),n=P(i),o=D(i),r=this.observedWrap??this.container.querySelector("[data-jie-canvas-wrap]");if(!n||!o||!r)return;let s=r.getBoundingClientRect(),a=B(o),l=s.left+n.offsetX+a.x*n.scale,c=s.top+n.offsetY+a.y*n.scale,d=L(i),u=O(l,c,t.clientX,t.clientY);this.runPointerGesture(t,t=>{let i=d+(O(l,c,t.clientX,t.clientY)-u);return 2>Math.abs(i)&&(i=0),{angle:Math.round(10*i)/10}})}runPointerGesture(t,i){t.preventDefault();let n=!1,o=t=>{this.store.update({design:i(t),commit:!n}),n=!0},r=()=>{window.removeEventListener("pointermove",o),window.removeEventListener("pointerup",r),this.dragCleanup=null};window.addEventListener("pointermove",o),window.addEventListener("pointerup",r),this.dragCleanup=r}constructor(t){for(const i of(o(this,"store",void 0),o(this,"container",void 0),o(this,"renderer",void 0),o(this,"registry",new ev),o(this,"locales",new ec),o(this,"processor",void 0),o(this,"previewMaxSize",void 0),o(this,"spinnerDelay",void 0),o(this,"busyTimer",null),o(this,"onSaveCb",void 0),o(this,"onSaveAsCb",void 0),o(this,"confirm",void 0),o(this,"source",null),o(this,"previewSource",null),o(this,"thumbSource",null),o(this,"thumbVersion",0),o(this,"cachedRaster",null),o(this,"cachedRasterKey",""),o(this,"lastPaintKey",""),o(this,"disposers",[]),o(this,"resizeObserver",null),o(this,"observedWrap",null),o(this,"dragCleanup",null),o(this,"destroyed",!1),this.container=function(t){if("string"!=typeof t)return t;let i=document.querySelector(t);if(!i)throw Error("Container not found: "+t);return i}(t.container),this.processor=t.processor??function(t=eH,i){return new eq({codec:new eU(t,i),createCanvas:t})}(void 0,{maxPixels:t.maxSourcePixels,maxSize:t.maxSourceSize}),this.previewMaxSize=t.previewMaxSize??1600,this.spinnerDelay=Math.max(0,t.spinnerDelay??250),this.onSaveCb=t.onSave,this.onSaveAsCb=t.onSaveAs,this.confirm=t.confirm??(t=>"u"<typeof window||window.confirm(t)),t.locales??[]))this.locales.register(i);for(const i of(this.store=new y({scheduler:t.scheduler??function(){if("function"!=typeof requestAnimationFrame)return new g(t=>setTimeout(t,16),t=>clearTimeout(t));let t=t=>{cancelAnimationFrame(t.raf),null!==t.timer&&(clearTimeout(t.timer),t.timer=null)};return new g(i=>{let n={raf:0,timer:null},o=()=>{t(n),i()};return n.raf=requestAnimationFrame(o),n.timer=setTimeout(o,100),n},t)}(),initialState:{...d(),...t.state,...t.locale?{locale:t.locale}:{},...void 0!==t.minCropSize?{minCropSize:Math.max(1,t.minCropSize)}:{},...void 0!==t.minResizeSize?{minResizeSize:Math.max(1,t.minResizeSize)}:{},...t.palette?{palette:t.palette}:{},...t.fonts?{fonts:t.fonts}:{}}}),t.tools??[eE,ej,eA,eP,ez,eB]))this.registry.register(i);for(const i of t.plugins??[])this.use(i);this.renderer=new ef(new eb(document),this.container),this.disposers.push(this.store.subscribe(()=>this.render())),this.disposers.push(this.store.subscribe(t=>this.syncBusyTimer(t))),this.render(),t.image&&this.fromBlob(t.image)}}function e$(t,i){let n=Math.max(t.width,t.height);if(i>=n)return t;let o=i/n;return V(t,{width:Math.round(t.width*o),height:Math.round(t.height*o)})}},82749:function(t,i,n){"use strict";function o(t,i,n){return i in t?Object.defineProperty(t,i,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[i]=n,t}n.d(i,{_:function(){return o}})},72573:function(t,i,n){"use strict";function o(t,i,n){return i in t?Object.defineProperty(t,i,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[i]=n,t}function r(){return{async:!1,breaks:!1,extensions:null,gfm:!0,hooks:null,pedantic:!1,renderer:null,silent:!1,tokenizer:null,walkTokens:null}}n.d(i,{marked:function(){return eC}});var s,a=r(),l={exec:()=>null};function c(t,i=""){let n="string"==typeof t?t:t.source,o={replace(t,i){let r="string"==typeof i?i:i.source;return r=r.replace(u.caret,"$1"),n=n.replace(t,r),o},getRegex:()=>new RegExp(n,i)};return o}var d=(()=>{try{return!!RegExp("(?<=1)(?<!1)")}catch{return!1}})(),u={codeRemoveIndent:/^(?: {1,4}| {0,3}\t)/gm,outputLinkReplace:/\\([\[\]])/g,indentCodeCompensation:/^(\s+)(?:```)/,beginningSpace:/^\s+/,endingHash:/#$/,startingSpaceChar:/^ /,endingSpaceChar:/ $/,nonSpaceChar:/[^ ]/,newLineCharGlobal:/\n/g,tabCharGlobal:/\t/g,multipleSpaceGlobal:/\s+/g,blankLine:/^[ \t]*$/,doubleBlankLine:/\n[ \t]*\n[ \t]*$/,blockquoteStart:/^ {0,3}>/,blockquoteSetextReplace:/\n {0,3}((?:=+|-+) *)(?=\n|$)/g,blockquoteSetextReplace2:/^ {0,3}>[ \t]?/gm,listReplaceNesting:/^ {1,4}(?=( {4})*[^ ])/g,listIsTask:/^\[[ xX]\] +\S/,listReplaceTask:/^\[[ xX]\] +/,listTaskCheckbox:/\[[ xX]\]/,anyLine:/\n.*\n/,hrefBrackets:/^<(.*)>$/,tableDelimiter:/[:|]/,tableAlignChars:/^\||\| *$/g,tableRowBlankLine:/\n[ \t]*$/,tableAlignRight:/^ *-+: *$/,tableAlignCenter:/^ *:-+: *$/,tableAlignLeft:/^ *:-+ *$/,startATag:/^<a /i,endATag:/^<\/a>/i,startPreScriptTag:/^<(pre|code|kbd|script)(\s|>)/i,endPreScriptTag:/^<\/(pre|code|kbd|script)(\s|>)/i,startAngleBracket:/^</,endAngleBracket:/>$/,pedanticHrefTitle:/^([^'"]*[^\s])\s+(['"])(.*)\2/,unicodeAlphaNumeric:/[\p{L}\p{N}]/u,escapeTest:/[&<>"']/,escapeReplace:/[&<>"']/g,escapeTestNoEncode:/[<>"']|&(?!(#\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\w+);)/,escapeReplaceNoEncode:/[<>"']|&(?!(#\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\w+);)/g,caret:/(^|[^\[])\^/g,percentDecode:/%25/g,findPipe:/\|/g,splitPipe:/ \|/,slashPipe:/\\\|/g,carriageReturn:/\r\n|\r/g,spaceLine:/^ +$/gm,notSpaceStart:/^\S*/,endingNewline:/\n$/,listItemRegex:t=>RegExp(`^( {0,3}${t})((?:[ ][^\\n]*)?(?:\\n|$))`),nextBulletRegex:t=>RegExp(`^ {0,${Math.min(3,t-1)}}(?:[*+-]|\\d{1,9}[.)])((?:[ ][^\\n]*)?(?:\\n|$))`),hrRegex:t=>RegExp(`^ {0,${Math.min(3,t-1)}}((?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$)`),fencesBeginRegex:t=>RegExp(`^ {0,${Math.min(3,t-1)}}(?:\`\`\`|~~~)`),headingBeginRegex:t=>RegExp(`^ {0,${Math.min(3,t-1)}}#`),htmlBeginRegex:t=>RegExp(`^ {0,${Math.min(3,t-1)}}<(?:[a-z].*>|!--)`,"i"),blockquoteBeginRegex:t=>RegExp(`^ {0,${Math.min(3,t-1)}}>`)},h=/^ {0,3}((?:-[\t ]*){3,}|(?:_[ \t]*){3,}|(?:\*[ \t]*){3,})(?:\n+|$)/,p=/ {0,3}(?:[*+-]|\d{1,9}[.)])/,f=/^(?!bull |blockCode|fences|blockquote|heading|html|table)((?:.|\n(?!\s*?\n|bull |blockCode|fences|blockquote|heading|html|table))+?)\n {0,3}(=+|-+) *(?:\n+|$)/,m=c(f).replace(/bull/g,p).replace(/blockCode/g,/(?: {4}| {0,3}\t)/).replace(/fences/g,/ {0,3}(?:`{3,}|~{3,})/).replace(/blockquote/g,/ {0,3}>/).replace(/heading/g,/ {0,3}#{1,6}/).replace(/html/g,/ {0,3}<[^\n>]+>\n/).replace(/\|table/g,"").getRegex(),g=c(f).replace(/bull/g,p).replace(/blockCode/g,/(?: {4}| {0,3}\t)/).replace(/fences/g,/ {0,3}(?:`{3,}|~{3,})/).replace(/blockquote/g,/ {0,3}>/).replace(/heading/g,/ {0,3}#{1,6}/).replace(/html/g,/ {0,3}<[^\n>]+>\n/).replace(/table/g,/ {0,3}\|?(?:[:\- ]*\|)+[\:\- ]*\n/).getRegex(),b=/^([^\n]+(?:\n(?!hr|heading|lheading|blockquote|fences|list|html|table| +\n)[^\n]+)*)/,y=/(?!\s*\])(?:\\[\s\S]|[^\[\]\\])+/,w=c(/^ {0,3}\[(label)\]: *(?:\n[ \t]*)?([^<\s][^\s]*|<.*?>)(?:(?: +(?:\n[ \t]*)?| *\n[ \t]*)(title))? *(?:\n+|$)/).replace("label",y).replace("title",/(?:"(?:\\"?|[^"\\])*"|'[^'\n]*(?:\n[^'\n]+)*\n?'|\([^()]*\))/).getRegex(),_=c(/^(bull)([ \t][^\n]+?)?(?:\n|$)/).replace(/bull/g,p).getRegex(),C="address|article|aside|base|basefont|blockquote|body|caption|center|col|colgroup|dd|details|dialog|dir|div|dl|dt|fieldset|figcaption|figure|footer|form|frame|frameset|h[1-6]|head|header|hr|html|iframe|legend|li|link|main|menu|menuitem|meta|nav|noframes|ol|optgroup|option|p|param|search|section|summary|table|tbody|td|tfoot|th|thead|title|tr|track|ul",k=/<!--(?:-?>|[\s\S]*?(?:-->|$))/,S=c("^ {0,3}(?:<(script|pre|style|textarea)[\\s>][\\s\\S]*?(?:</\\1>[^\\n]*\\n+|$)|comment[^\\n]*(\\n+|$)|<\\?[\\s\\S]*?(?:\\?>\\n*|$)|<![A-Z][\\s\\S]*?(?:>\\n*|$)|<!\\[CDATA\\[[\\s\\S]*?(?:\\]\\]>\\n*|$)|</?(tag)(?: +|\\n|/?>)[\\s\\S]*?(?:(?:\\n[ ]*)+\\n|$)|<(?!script|pre|style|textarea)([a-z][\\w-]*)(?:attribute)*? */?>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n[ ]*)+\\n|$)|</(?!script|pre|style|textarea)[a-z][\\w-]*\\s*>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n[ ]*)+\\n|$))","i").replace("comment",k).replace("tag",C).replace("attribute",/ +[a-zA-Z:_][\w.:-]*(?: *= *"[^"\n]*"| *= *'[^'\n]*'| *= *[^\s"'=<>`]+)?/).getRegex(),x=c(b).replace("hr",h).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("|lheading","").replace("|table","").replace("blockquote"," {0,3}>").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)])[ \\t]").replace("html","</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)").replace("tag",C).getRegex(),I={blockquote:c(/^( {0,3}> ?(paragraph|[^\n]*)(?:\n|$))+/).replace("paragraph",x).getRegex(),code:/^((?: {4}| {0,3}\t)[^\n]+(?:\n(?:[ \t]*(?:\n|$))*)?)+/,def:w,fences:/^ {0,3}(`{3,}(?=[^`\n]*(?:\n|$))|~{3,})([^\n]*)(?:\n|$)(?:|([\s\S]*?)(?:\n|$))(?: {0,3}\1[~`]* *(?=\n|$)|$)/,heading:/^ {0,3}(#{1,6})(?=\s|$)(.*)(?:\n+|$)/,hr:h,html:S,lheading:m,list:_,newline:/^(?:[ \t]*(?:\n|$))+/,paragraph:x,table:l,text:/^[^\n]+/},E=c("^ *([^\\n ].*)\\n {0,3}((?:\\| *)?:?-+:? *(?:\\| *:?-+:? *)*(?:\\| *)?)(?:\\n((?:(?! *\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\n|$))*)\\n*|$)").replace("hr",h).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("blockquote"," {0,3}>").replace("code","(?: {4}| {0,3} )[^\\n]").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)])[ \\t]").replace("html","</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)").replace("tag",C).getRegex(),T={...I,lheading:g,table:E,paragraph:c(b).replace("hr",h).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("|lheading","").replace("table",E).replace("blockquote"," {0,3}>").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)])[ \\t]").replace("html","</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)").replace("tag",C).getRegex()},j={...I,html:c("^ *(?:comment *(?:\\n|\\s*$)|<(tag)[\\s\\S]+?</\\1> *(?:\\n{2,}|\\s*$)|<tag(?:\"[^\"]*\"|'[^']*'|\\s[^'\"/>\\s]*)*?/?> *(?:\\n{2,}|\\s*$))").replace("comment",k).replace(/tag/g,"(?!(?:a|em|strong|small|s|cite|q|dfn|abbr|data|time|code|var|samp|kbd|sub|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo|span|br|wbr|ins|del|img)\\b)\\w+(?!:|[^\\w\\s@]*@)\\b").getRegex(),def:/^ *\[([^\]]+)\]: *<?([^\s>]+)>?(?: +(["(][^\n]+[")]))? *(?:\n+|$)/,heading:/^(#{1,6})(.*)(?:\n+|$)/,fences:l,lheading:/^(.+?)\n {0,3}(=+|-+) *(?:\n+|$)/,paragraph:c(b).replace("hr",h).replace("heading",` *#{1,6} *[^
|
|
1432
|
+
]`).replace("lheading",m).replace("|table","").replace("blockquote"," {0,3}>").replace("|fences","").replace("|list","").replace("|html","").replace("|tag","").getRegex()},A=/^( {2,}|\\)\n(?!\s*$)/,P=/[\p{P}\p{S}]/u,L=/[\s\p{P}\p{S}]/u,D=/[^\s\p{P}\p{S}]/u,M=c(/^((?![*_])punctSpace)/,"u").replace(/punctSpace/g,L).getRegex(),R=/(?!~)[\p{P}\p{S}]/u,z=c(/link|precode-code|html/,"g").replace("link",/\[(?:[^\[\]`]|(?<a>`+)[^`]+\k<a>(?!`))*?\]\((?:\\[\s\S]|[^\\\(\)]|\((?:\\[\s\S]|[^\\\(\)])*\))*\)/).replace("precode-",d?"(?<!`)()":"(^^|[^`])").replace("code",/(?<b>`+)[^`]+\k<b>(?!`)/).replace("html",/<(?! )[^<>]*?>/).getRegex(),B=/^(?:\*+(?:((?!\*)punct)|([^\s*]))?)|^_+(?:((?!_)punct)|([^\s_]))?/,N=c(B,"u").replace(/punct/g,P).getRegex(),O=c(B,"u").replace(/punct/g,R).getRegex(),F="^[^_*]*?__[^_*]*?\\*[^_*]*?(?=__)|[^*]+(?=[^*])|(?!\\*)punct(\\*+)(?=[\\s]|$)|notPunctSpace(\\*+)(?!\\*)(?=punctSpace|$)|(?!\\*)punctSpace(\\*+)(?=notPunctSpace)|[\\s](\\*+)(?!\\*)(?=punct)|(?!\\*)punct(\\*+)(?!\\*)(?=punct)|notPunctSpace(\\*+)(?=notPunctSpace)",H=c(F,"gu").replace(/notPunctSpace/g,D).replace(/punctSpace/g,L).replace(/punct/g,P).getRegex(),U=c(F,"gu").replace(/notPunctSpace/g,/(?:[^\s\p{P}\p{S}]|~)/u).replace(/punctSpace/g,/(?!~)[\s\p{P}\p{S}]/u).replace(/punct/g,R).getRegex(),q=c("^[^_*]*?\\*\\*[^_*]*?_[^_*]*?(?=\\*\\*)|[^_]+(?=[^_])|(?!_)punct(_+)(?=[\\s]|$)|notPunctSpace(_+)(?!_)(?=punctSpace|$)|(?!_)punctSpace(_+)(?=notPunctSpace)|[\\s](_+)(?!_)(?=punct)|(?!_)punct(_+)(?!_)(?=punct)","gu").replace(/notPunctSpace/g,D).replace(/punctSpace/g,L).replace(/punct/g,P).getRegex(),V=c(/^~~?(?:((?!~)punct)|[^\s~])/,"u").replace(/punct/g,P).getRegex(),W=c("^[^~]+(?=[^~])|(?!~)punct(~~?)(?=[\\s]|$)|notPunctSpace(~~?)(?!~)(?=punctSpace|$)|(?!~)punctSpace(~~?)(?=notPunctSpace)|[\\s](~~?)(?!~)(?=punct)|(?!~)punct(~~?)(?!~)(?=punct)|notPunctSpace(~~?)(?=notPunctSpace)","gu").replace(/notPunctSpace/g,D).replace(/punctSpace/g,L).replace(/punct/g,P).getRegex(),$=c(/\\(punct)/,"gu").replace(/punct/g,P).getRegex(),G=c(/^<(scheme:[^\s\x00-\x1f<>]*|email)>/).replace("scheme",/[a-zA-Z][a-zA-Z0-9+.-]{1,31}/).replace("email",/[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+(@)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+(?![-_])/).getRegex(),K=c(k).replace("(?:--\x3e|$)","--\x3e").getRegex(),Y=c("^comment|^</[a-zA-Z][\\w:-]*\\s*>|^<[a-zA-Z][\\w-]*(?:attribute)*?\\s*/?>|^<\\?[\\s\\S]*?\\?>|^<![a-zA-Z]+\\s[\\s\\S]*?>|^<!\\[CDATA\\[[\\s\\S]*?\\]\\]>").replace("comment",K).replace("attribute",/\s+[a-zA-Z:_][\w.:-]*(?:\s*=\s*"[^"]*"|\s*=\s*'[^']*'|\s*=\s*[^\s"'=<>`]+)?/).getRegex(),J=/(?:\[(?:\\[\s\S]|[^\[\]\\])*\]|\\[\s\S]|`+(?!`)[^`]*?`+(?!`)|``+(?=\])|[^\[\]\\`])*?/,X=c(/^!?\[(label)\]\(\s*(href)(?:(?:[ \t]+(?:\n[ \t]*)?|\n[ \t]*)(title))?\s*\)/).replace("label",J).replace("href",/<(?:\\.|[^\n<>\\])+>|[^ \t\n\x00-\x1f]*/).replace("title",/"(?:\\"?|[^"\\])*"|'(?:\\'?|[^'\\])*'|\((?:\\\)?|[^)\\])*\)/).getRegex(),Z=c(/^!?\[(label)\]\[(ref)\]/).replace("label",J).replace("ref",y).getRegex(),Q=c(/^!?\[(ref)\](?:\[\])?/).replace("ref",y).getRegex(),ee=c("reflink|nolink(?!\\()","g").replace("reflink",Z).replace("nolink",Q).getRegex(),et=/[hH][tT][tT][pP][sS]?|[fF][tT][pP]/,ei={_backpedal:l,anyPunctuation:$,autolink:G,blockSkip:z,br:A,code:/^(`+)([^`]|[^`][\s\S]*?[^`])\1(?!`)/,del:l,delLDelim:l,delRDelim:l,emStrongLDelim:N,emStrongRDelimAst:H,emStrongRDelimUnd:q,escape:/^\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/,link:X,nolink:Q,punctuation:M,reflink:Z,reflinkSearch:ee,tag:Y,text:/^(`+|[^`])(?:(?= {2,}\n)|[\s\S]*?(?:(?=[\\<!\[`*_]|\b_|$)|[^ ](?= {2,}\n)))/,url:l},en={...ei,link:c(/^!?\[(label)\]\((.*?)\)/).replace("label",J).getRegex(),reflink:c(/^!?\[(label)\]\s*\[([^\]]*)\]/).replace("label",J).getRegex()},eo={...ei,emStrongRDelimAst:U,emStrongLDelim:O,delLDelim:V,delRDelim:W,url:c(/^((?:protocol):\/\/|www\.)(?:[a-zA-Z0-9\-]+\.?)+[^\s<]*|^email/).replace("protocol",et).replace("email",/[A-Za-z0-9._+-]+(@)[a-zA-Z0-9-_]+(?:\.[a-zA-Z0-9-_]*[a-zA-Z0-9])+(?![-_])/).getRegex(),_backpedal:/(?:[^?!.,:;*_'"~()&]+|\([^)]*\)|&(?![a-zA-Z0-9]+;$)|[?!.,:;*_'"~)]+(?!$))+/,del:/^(~~?)(?=[^\s~])((?:\\[\s\S]|[^\\])*?(?:\\[\s\S]|[^\s~\\]))\1(?=[^~]|$)/,text:c(/^([`~]+|[^`~])(?:(?= {2,}\n)|(?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)|[\s\S]*?(?:(?=[\\<!\[`*~_]|\b_|protocol:\/\/|www\.|$)|[^ ](?= {2,}\n)|[^a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-](?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)))/).replace("protocol",et).getRegex()},er={...eo,br:c(A).replace("{2,}","*").getRegex(),text:c(eo.text).replace("\\b_","\\b_| {2,}\\n").replace(/\{2,\}/g,"*").getRegex()},es={normal:I,gfm:T,pedantic:j},ea={normal:ei,gfm:eo,breaks:er,pedantic:en},el={"&":"&","<":"<",">":">",'"':""","'":"'"},ec=t=>el[t];function ed(t,i){if(i){if(u.escapeTest.test(t))return t.replace(u.escapeReplace,ec)}else if(u.escapeTestNoEncode.test(t))return t.replace(u.escapeReplaceNoEncode,ec);return t}function eu(t){try{t=encodeURI(t).replace(u.percentDecode,"%")}catch{return null}return t}function eh(t,i){let n=t.replace(u.findPipe,(t,i,n)=>{let o=!1,r=i;for(;--r>=0&&"\\"===n[r];)o=!o;return o?"|":" |"}).split(u.splitPipe),o=0;if(n[0].trim()||n.shift(),n.length>0&&!n.at(-1)?.trim()&&n.pop(),i)if(n.length>i)n.splice(i);else for(;n.length<i;)n.push("");for(;o<n.length;o++)n[o]=n[o].trim().replace(u.slashPipe,"|");return n}function ep(t,i,n){let o=t.length;if(0===o)return"";let r=0;for(;r<o;){let s=t.charAt(o-r-1);if(s!==i||n)if(s!==i&&n)r++;else break;else r++}return t.slice(0,o-r)}function ef(t,i,n,o,r){let s=i.href,a=i.title||null,l=t[1].replace(r.other.outputLinkReplace,"$1");o.state.inLink=!0;let c={type:"!"===t[0].charAt(0)?"image":"link",raw:n,href:s,title:a,text:l,tokens:o.inlineTokens(l)};return o.state.inLink=!1,c}var em=class{space(t){let i=this.rules.block.newline.exec(t);if(i&&i[0].length>0)return{type:"space",raw:i[0]}}code(t){let i=this.rules.block.code.exec(t);if(i){let t=i[0].replace(this.rules.other.codeRemoveIndent,"");return{type:"code",raw:i[0],codeBlockStyle:"indented",text:this.options.pedantic?t:ep(t,`
|
|
1433
1433
|
`)}}}fences(t){let i=this.rules.block.fences.exec(t);if(i){let t=i[0],n=function(t,i,n){let o=t.match(n.other.indentCodeCompensation);if(null===o)return i;let r=o[1];return i.split(`
|
|
1434
1434
|
`).map(t=>{let i=t.match(n.other.beginningSpace);if(null===i)return t;let[o]=i;return o.length>=r.length?t.slice(r.length):t}).join(`
|
|
1435
|
-
`)}(t,i[3]||"",this.rules);return{type:"code",raw:t,lang:i[2]?i[2].trim().replace(this.rules.inline.anyPunctuation,"$1"):i[2],text:n}}}heading(t){let i=this.rules.block.heading.exec(t);if(i){let t=i[2].trim();if(this.rules.other.endingHash.test(t)){let i=
|
|
1436
|
-
`)}}blockquote(t){let i=this.rules.block.blockquote.exec(t);if(i){let t=
|
|
1435
|
+
`)}(t,i[3]||"",this.rules);return{type:"code",raw:t,lang:i[2]?i[2].trim().replace(this.rules.inline.anyPunctuation,"$1"):i[2],text:n}}}heading(t){let i=this.rules.block.heading.exec(t);if(i){let t=i[2].trim();if(this.rules.other.endingHash.test(t)){let i=ep(t,"#");(this.options.pedantic||!i||this.rules.other.endingSpaceChar.test(i))&&(t=i.trim())}return{type:"heading",raw:i[0],depth:i[1].length,text:t,tokens:this.lexer.inline(t)}}}hr(t){let i=this.rules.block.hr.exec(t);if(i)return{type:"hr",raw:ep(i[0],`
|
|
1436
|
+
`)}}blockquote(t){let i=this.rules.block.blockquote.exec(t);if(i){let t=ep(i[0],`
|
|
1437
1437
|
`).split(`
|
|
1438
1438
|
`),n="",o="",r=[];for(;t.length>0;){let i=!1,s=[],a;for(a=0;a<t.length;a++)if(this.rules.other.blockquoteStart.test(t[a]))s.push(t[a]),i=!0;else if(i)break;else s.push(t[a]);t=t.slice(a);let l=s.join(`
|
|
1439
1439
|
`),c=l.replace(this.rules.other.blockquoteSetextReplace,`
|
|
@@ -1451,10 +1451,10 @@ ${c}`:c;let d=this.lexer.state.top;if(this.lexer.state.top=!0,this.lexer.blockTo
|
|
|
1451
1451
|
`,1)[0],m;if(d=f,m=this.options.pedantic?d=d.replace(this.rules.other.listReplaceNesting," "):d.replace(this.rules.other.tabCharGlobal," "),r.test(d)||s.test(d)||a.test(d)||p.test(d)||i.test(d)||n.test(d))break;if(m.search(this.rules.other.nonSpaceChar)>=h||!d.trim())l+=`
|
|
1452
1452
|
`+m.slice(h);else{if(u||c.replace(this.rules.other.tabCharGlobal," ").search(this.rules.other.nonSpaceChar)>=4||r.test(c)||s.test(c)||n.test(c))break;l+=`
|
|
1453
1453
|
`+d}u=!d.trim(),o+=f+`
|
|
1454
|
-
`,t=t.substring(f.length+1),c=m.slice(h)}}r.loose||(a?r.loose=!0:this.rules.other.doubleBlankLine.test(o)&&(a=!0)),r.items.push({type:"list_item",raw:o,task:!!this.options.gfm&&this.rules.other.listIsTask.test(l),loose:!1,text:l,tokens:[]}),r.raw+=o}let l=r.items.at(-1);if(!l)return;for(let t of(l.raw=l.raw.trimEnd(),l.text=l.text.trimEnd(),r.raw=r.raw.trimEnd(),r.items)){if(this.lexer.state.top=!1,t.tokens=this.lexer.blockTokens(t.text,[]),t.task){if(t.text=t.text.replace(this.rules.other.listReplaceTask,""),t.tokens[0]?.type==="text"||t.tokens[0]?.type==="paragraph"){t.tokens[0].raw=t.tokens[0].raw.replace(this.rules.other.listReplaceTask,""),t.tokens[0].text=t.tokens[0].text.replace(this.rules.other.listReplaceTask,"");for(let t=this.lexer.inlineQueue.length-1;t>=0;t--)if(this.rules.other.listIsTask.test(this.lexer.inlineQueue[t].src)){this.lexer.inlineQueue[t].src=this.lexer.inlineQueue[t].src.replace(this.rules.other.listReplaceTask,"");break}}let i=this.rules.other.listTaskCheckbox.exec(t.raw);if(i){let n={type:"checkbox",raw:i[0]+" ",checked:"[ ]"!==i[0]};t.checked=n.checked,r.loose?t.tokens[0]&&["paragraph","text"].includes(t.tokens[0].type)&&"tokens"in t.tokens[0]&&t.tokens[0].tokens?(t.tokens[0].raw=n.raw+t.tokens[0].raw,t.tokens[0].text=n.raw+t.tokens[0].text,t.tokens[0].tokens.unshift(n)):t.tokens.unshift({type:"paragraph",raw:n.raw,text:n.raw,tokens:[n]}):t.tokens.unshift(n)}}if(!r.loose){let i=t.tokens.filter(t=>"space"===t.type);r.loose=i.length>0&&i.some(t=>this.rules.other.anyLine.test(t.raw))}}if(r.loose)for(let t of r.items)for(let i of(t.loose=!0,t.tokens))"text"===i.type&&(i.type="paragraph");return r}}html(t){let i=this.rules.block.html.exec(t);if(i)return{type:"html",block:!0,raw:i[0],pre:"pre"===i[1]||"script"===i[1]||"style"===i[1],text:i[0]}}def(t){let i=this.rules.block.def.exec(t);if(i){let t=i[1].toLowerCase().replace(this.rules.other.multipleSpaceGlobal," "),n=i[2]?i[2].replace(this.rules.other.hrefBrackets,"$1").replace(this.rules.inline.anyPunctuation,"$1"):"",o=i[3]?i[3].substring(1,i[3].length-1).replace(this.rules.inline.anyPunctuation,"$1"):i[3];return{type:"def",tag:t,raw:i[0],href:n,title:o}}}table(t){let i=this.rules.block.table.exec(t);if(!i||!this.rules.other.tableDelimiter.test(i[2]))return;let n=
|
|
1455
|
-
`):[],s={type:"table",raw:i[0],header:[],align:[],rows:[]};if(n.length===o.length){for(let t of o)this.rules.other.tableAlignRight.test(t)?s.align.push("right"):this.rules.other.tableAlignCenter.test(t)?s.align.push("center"):this.rules.other.tableAlignLeft.test(t)?s.align.push("left"):s.align.push(null);for(let t=0;t<n.length;t++)s.header.push({text:n[t],tokens:this.lexer.inline(n[t]),header:!0,align:s.align[t]});for(let t of r)s.rows.push(
|
|
1456
|
-
`?i[1].slice(0,-1):i[1];return{type:"paragraph",raw:i[0],text:t,tokens:this.lexer.inline(t)}}}text(t){let i=this.rules.block.text.exec(t);if(i)return{type:"text",raw:i[0],text:i[0],tokens:this.lexer.inline(i[0])}}escape(t){let i=this.rules.inline.escape.exec(t);if(i)return{type:"escape",raw:i[0],text:i[1]}}tag(t){let i=this.rules.inline.tag.exec(t);if(i)return!this.lexer.state.inLink&&this.rules.other.startATag.test(i[0])?this.lexer.state.inLink=!0:this.lexer.state.inLink&&this.rules.other.endATag.test(i[0])&&(this.lexer.state.inLink=!1),!this.lexer.state.inRawBlock&&this.rules.other.startPreScriptTag.test(i[0])?this.lexer.state.inRawBlock=!0:this.lexer.state.inRawBlock&&this.rules.other.endPreScriptTag.test(i[0])&&(this.lexer.state.inRawBlock=!1),{type:"html",raw:i[0],inLink:this.lexer.state.inLink,inRawBlock:this.lexer.state.inRawBlock,block:!1,text:i[0]}}link(t){let i=this.rules.inline.link.exec(t);if(i){let t=i[2].trim();if(!this.options.pedantic&&this.rules.other.startAngleBracket.test(t)){if(!this.rules.other.endAngleBracket.test(t))return;let i=
|
|
1457
|
-
`),this.blockTokens(t,this.tokens);for(let t=0;t<this.inlineQueue.length;t++){let i=this.inlineQueue[t];this.inlineTokens(i.src,i.tokens)}return this.inlineQueue=[],this.tokens}blockTokens(t,i=[],n=!1){for(this.options.pedantic&&(t=t.replace(u.tabCharGlobal," ").replace(u.spaceLine,""));t;){let o;if(this.options.extensions?.block?.some(n=>!!(o=n.call({lexer:this},t,i))&&(t=t.substring(o.raw.length),i.push(o),!0)))continue;if(o=this.tokenizer.space(t)){t=t.substring(o.raw.length);let n=i.at(-1);1===o.raw.length&&void 0!==n?n.raw+=`
|
|
1454
|
+
`,t=t.substring(f.length+1),c=m.slice(h)}}r.loose||(a?r.loose=!0:this.rules.other.doubleBlankLine.test(o)&&(a=!0)),r.items.push({type:"list_item",raw:o,task:!!this.options.gfm&&this.rules.other.listIsTask.test(l),loose:!1,text:l,tokens:[]}),r.raw+=o}let l=r.items.at(-1);if(!l)return;for(let t of(l.raw=l.raw.trimEnd(),l.text=l.text.trimEnd(),r.raw=r.raw.trimEnd(),r.items)){if(this.lexer.state.top=!1,t.tokens=this.lexer.blockTokens(t.text,[]),t.task){if(t.text=t.text.replace(this.rules.other.listReplaceTask,""),t.tokens[0]?.type==="text"||t.tokens[0]?.type==="paragraph"){t.tokens[0].raw=t.tokens[0].raw.replace(this.rules.other.listReplaceTask,""),t.tokens[0].text=t.tokens[0].text.replace(this.rules.other.listReplaceTask,"");for(let t=this.lexer.inlineQueue.length-1;t>=0;t--)if(this.rules.other.listIsTask.test(this.lexer.inlineQueue[t].src)){this.lexer.inlineQueue[t].src=this.lexer.inlineQueue[t].src.replace(this.rules.other.listReplaceTask,"");break}}let i=this.rules.other.listTaskCheckbox.exec(t.raw);if(i){let n={type:"checkbox",raw:i[0]+" ",checked:"[ ]"!==i[0]};t.checked=n.checked,r.loose?t.tokens[0]&&["paragraph","text"].includes(t.tokens[0].type)&&"tokens"in t.tokens[0]&&t.tokens[0].tokens?(t.tokens[0].raw=n.raw+t.tokens[0].raw,t.tokens[0].text=n.raw+t.tokens[0].text,t.tokens[0].tokens.unshift(n)):t.tokens.unshift({type:"paragraph",raw:n.raw,text:n.raw,tokens:[n]}):t.tokens.unshift(n)}}if(!r.loose){let i=t.tokens.filter(t=>"space"===t.type);r.loose=i.length>0&&i.some(t=>this.rules.other.anyLine.test(t.raw))}}if(r.loose)for(let t of r.items)for(let i of(t.loose=!0,t.tokens))"text"===i.type&&(i.type="paragraph");return r}}html(t){let i=this.rules.block.html.exec(t);if(i)return{type:"html",block:!0,raw:i[0],pre:"pre"===i[1]||"script"===i[1]||"style"===i[1],text:i[0]}}def(t){let i=this.rules.block.def.exec(t);if(i){let t=i[1].toLowerCase().replace(this.rules.other.multipleSpaceGlobal," "),n=i[2]?i[2].replace(this.rules.other.hrefBrackets,"$1").replace(this.rules.inline.anyPunctuation,"$1"):"",o=i[3]?i[3].substring(1,i[3].length-1).replace(this.rules.inline.anyPunctuation,"$1"):i[3];return{type:"def",tag:t,raw:i[0],href:n,title:o}}}table(t){let i=this.rules.block.table.exec(t);if(!i||!this.rules.other.tableDelimiter.test(i[2]))return;let n=eh(i[1]),o=i[2].replace(this.rules.other.tableAlignChars,"").split("|"),r=i[3]?.trim()?i[3].replace(this.rules.other.tableRowBlankLine,"").split(`
|
|
1455
|
+
`):[],s={type:"table",raw:i[0],header:[],align:[],rows:[]};if(n.length===o.length){for(let t of o)this.rules.other.tableAlignRight.test(t)?s.align.push("right"):this.rules.other.tableAlignCenter.test(t)?s.align.push("center"):this.rules.other.tableAlignLeft.test(t)?s.align.push("left"):s.align.push(null);for(let t=0;t<n.length;t++)s.header.push({text:n[t],tokens:this.lexer.inline(n[t]),header:!0,align:s.align[t]});for(let t of r)s.rows.push(eh(t,s.header.length).map((t,i)=>({text:t,tokens:this.lexer.inline(t),header:!1,align:s.align[i]})));return s}}lheading(t){let i=this.rules.block.lheading.exec(t);if(i){let t=i[1].trim();return{type:"heading",raw:i[0],depth:"="===i[2].charAt(0)?1:2,text:t,tokens:this.lexer.inline(t)}}}paragraph(t){let i=this.rules.block.paragraph.exec(t);if(i){let t=i[1].charAt(i[1].length-1)===`
|
|
1456
|
+
`?i[1].slice(0,-1):i[1];return{type:"paragraph",raw:i[0],text:t,tokens:this.lexer.inline(t)}}}text(t){let i=this.rules.block.text.exec(t);if(i)return{type:"text",raw:i[0],text:i[0],tokens:this.lexer.inline(i[0])}}escape(t){let i=this.rules.inline.escape.exec(t);if(i)return{type:"escape",raw:i[0],text:i[1]}}tag(t){let i=this.rules.inline.tag.exec(t);if(i)return!this.lexer.state.inLink&&this.rules.other.startATag.test(i[0])?this.lexer.state.inLink=!0:this.lexer.state.inLink&&this.rules.other.endATag.test(i[0])&&(this.lexer.state.inLink=!1),!this.lexer.state.inRawBlock&&this.rules.other.startPreScriptTag.test(i[0])?this.lexer.state.inRawBlock=!0:this.lexer.state.inRawBlock&&this.rules.other.endPreScriptTag.test(i[0])&&(this.lexer.state.inRawBlock=!1),{type:"html",raw:i[0],inLink:this.lexer.state.inLink,inRawBlock:this.lexer.state.inRawBlock,block:!1,text:i[0]}}link(t){let i=this.rules.inline.link.exec(t);if(i){let t=i[2].trim();if(!this.options.pedantic&&this.rules.other.startAngleBracket.test(t)){if(!this.rules.other.endAngleBracket.test(t))return;let i=ep(t.slice(0,-1),"\\");if((t.length-i.length)%2==0)return}else{let t=function(t){if(-1===t.indexOf(")"))return -1;let i=0;for(let n=0;n<t.length;n++)if("\\"===t[n])n++;else if("("===t[n])i++;else if(")"===t[n]&&--i<0)return n;return i>0?-2:-1}(i[2]);if(-2===t)return;if(t>-1){let n=(0===i[0].indexOf("!")?5:4)+i[1].length+t;i[2]=i[2].substring(0,t),i[0]=i[0].substring(0,n).trim(),i[3]=""}}let n=i[2],o="";if(this.options.pedantic){let t=this.rules.other.pedanticHrefTitle.exec(n);t&&(n=t[1],o=t[3])}else o=i[3]?i[3].slice(1,-1):"";return n=n.trim(),this.rules.other.startAngleBracket.test(n)&&(n=this.options.pedantic&&!this.rules.other.endAngleBracket.test(t)?n.slice(1):n.slice(1,-1)),ef(i,{href:n&&n.replace(this.rules.inline.anyPunctuation,"$1"),title:o&&o.replace(this.rules.inline.anyPunctuation,"$1")},i[0],this.lexer,this.rules)}}reflink(t,i){let n;if((n=this.rules.inline.reflink.exec(t))||(n=this.rules.inline.nolink.exec(t))){let t=i[(n[2]||n[1]).replace(this.rules.other.multipleSpaceGlobal," ").toLowerCase()];if(!t){let t=n[0].charAt(0);return{type:"text",raw:t,text:t}}return ef(n,t,n[0],this.lexer,this.rules)}}emStrong(t,i,n=""){let o=this.rules.inline.emStrongLDelim.exec(t);if(!(!o||!o[1]&&!o[2]&&!o[3]&&!o[4]||o[4]&&n.match(this.rules.other.unicodeAlphaNumeric))&&(!(o[1]||o[3])||!n||this.rules.inline.punctuation.exec(n))){let n=[...o[0]].length-1,r,s,a=n,l=0,c="*"===o[0][0]?this.rules.inline.emStrongRDelimAst:this.rules.inline.emStrongRDelimUnd;for(c.lastIndex=0,i=i.slice(-1*t.length+n);null!==(o=c.exec(i));){if(!(r=o[1]||o[2]||o[3]||o[4]||o[5]||o[6]))continue;if(s=[...r].length,o[3]||o[4]){a+=s;continue}if((o[5]||o[6])&&n%3&&!((n+s)%3)){l+=s;continue}if((a-=s)>0)continue;s=Math.min(s,s+a+l);let i=[...o[0]][0].length,c=t.slice(0,n+o.index+i+s);if(Math.min(n,s)%2){let t=c.slice(1,-1);return{type:"em",raw:c,text:t,tokens:this.lexer.inlineTokens(t)}}let d=c.slice(2,-2);return{type:"strong",raw:c,text:d,tokens:this.lexer.inlineTokens(d)}}}}codespan(t){let i=this.rules.inline.code.exec(t);if(i){let t=i[2].replace(this.rules.other.newLineCharGlobal," "),n=this.rules.other.nonSpaceChar.test(t),o=this.rules.other.startingSpaceChar.test(t)&&this.rules.other.endingSpaceChar.test(t);return n&&o&&(t=t.substring(1,t.length-1)),{type:"codespan",raw:i[0],text:t}}}br(t){let i=this.rules.inline.br.exec(t);if(i)return{type:"br",raw:i[0]}}del(t,i,n=""){let o=this.rules.inline.delLDelim.exec(t);if(o&&(!o[1]||!n||this.rules.inline.punctuation.exec(n))){let n=[...o[0]].length-1,r,s,a=n,l=this.rules.inline.delRDelim;for(l.lastIndex=0,i=i.slice(-1*t.length+n);null!==(o=l.exec(i));){if(!(r=o[1]||o[2]||o[3]||o[4]||o[5]||o[6])||(s=[...r].length)!==n)continue;if(o[3]||o[4]){a+=s;continue}if((a-=s)>0)continue;s=Math.min(s,s+a);let i=[...o[0]][0].length,l=t.slice(0,n+o.index+i+s),c=l.slice(n,-n);return{type:"del",raw:l,text:c,tokens:this.lexer.inlineTokens(c)}}}}autolink(t){let i=this.rules.inline.autolink.exec(t);if(i){let t,n;return n="@"===i[2]?"mailto:"+(t=i[1]):t=i[1],{type:"link",raw:i[0],text:t,href:n,tokens:[{type:"text",raw:t,text:t}]}}}url(t){let i;if(i=this.rules.inline.url.exec(t)){let t,n;if("@"===i[2])n="mailto:"+(t=i[0]);else{let o;do o=i[0],i[0]=this.rules.inline._backpedal.exec(i[0])?.[0]??"";while(o!==i[0])t=i[0],n="www."===i[1]?"http://"+i[0]:i[0]}return{type:"link",raw:i[0],text:t,href:n,tokens:[{type:"text",raw:t,text:t}]}}}inlineText(t){let i=this.rules.inline.text.exec(t);if(i){let t=this.lexer.state.inRawBlock;return{type:"text",raw:i[0],text:i[0],escaped:t}}}constructor(t){o(this,"options",void 0),o(this,"rules",void 0),o(this,"lexer",void 0),this.options=t||a}},eg=class t{static get rules(){return{block:es,inline:ea}}static lex(i,n){return new t(n).lex(i)}static lexInline(i,n){return new t(n).inlineTokens(i)}lex(t){t=t.replace(u.carriageReturn,`
|
|
1457
|
+
`),this.blockTokens(t,this.tokens);for(let t=0;t<this.inlineQueue.length;t++){let i=this.inlineQueue[t];this.inlineTokens(i.src,i.tokens)}return this.inlineQueue=[],this.tokens}blockTokens(t,i=[],n=!1){for(this.tokenizer.lexer=this,this.options.pedantic&&(t=t.replace(u.tabCharGlobal," ").replace(u.spaceLine,""));t;){let o;if(this.options.extensions?.block?.some(n=>!!(o=n.call({lexer:this},t,i))&&(t=t.substring(o.raw.length),i.push(o),!0)))continue;if(o=this.tokenizer.space(t)){t=t.substring(o.raw.length);let n=i.at(-1);1===o.raw.length&&void 0!==n?n.raw+=`
|
|
1458
1458
|
`:i.push(o);continue}if(o=this.tokenizer.code(t)){t=t.substring(o.raw.length);let n=i.at(-1);n?.type==="paragraph"||n?.type==="text"?(n.raw+=(n.raw.endsWith(`
|
|
1459
1459
|
`)?"":`
|
|
1460
1460
|
`)+o.raw,n.text+=`
|
|
@@ -1467,9 +1467,9 @@ ${c}`:c;let d=this.lexer.state.top;if(this.lexer.state.top=!0,this.lexer.blockTo
|
|
|
1467
1467
|
`+o.text,this.inlineQueue.pop(),this.inlineQueue.at(-1).src=s.text):i.push(o),n=r.length!==t.length,t=t.substring(o.raw.length);continue}if(o=this.tokenizer.text(t)){t=t.substring(o.raw.length);let n=i.at(-1);n?.type==="text"?(n.raw+=(n.raw.endsWith(`
|
|
1468
1468
|
`)?"":`
|
|
1469
1469
|
`)+o.raw,n.text+=`
|
|
1470
|
-
`+o.text,this.inlineQueue.pop(),this.inlineQueue.at(-1).src=n.text):i.push(o);continue}if(t){let i="Infinite loop on byte: "+t.charCodeAt(0);if(this.options.silent)break;throw Error(i)}}return this.state.top=!0,i}inline(t,i=[]){return this.inlineQueue.push({src:t,tokens:i}),i}inlineTokens(t,i=[]){let n
|
|
1471
|
-
`;return o?'<pre><code class="language-'+
|
|
1472
|
-
`:"<pre><code>"+(n?r:
|
|
1470
|
+
`+o.text,this.inlineQueue.pop(),this.inlineQueue.at(-1).src=n.text):i.push(o);continue}if(t){let i="Infinite loop on byte: "+t.charCodeAt(0);if(this.options.silent)break;throw Error(i)}}return this.state.top=!0,i}inline(t,i=[]){return this.inlineQueue.push({src:t,tokens:i}),i}inlineTokens(t,i=[]){let n;this.tokenizer.lexer=this;let o=t,r=null;if(this.tokens.links){let t=Object.keys(this.tokens.links);if(t.length>0)for(;null!==(r=this.tokenizer.rules.inline.reflinkSearch.exec(o));)t.includes(r[0].slice(r[0].lastIndexOf("[")+1,-1))&&(o=o.slice(0,r.index)+"["+"a".repeat(r[0].length-2)+"]"+o.slice(this.tokenizer.rules.inline.reflinkSearch.lastIndex))}for(;null!==(r=this.tokenizer.rules.inline.anyPunctuation.exec(o));)o=o.slice(0,r.index)+"++"+o.slice(this.tokenizer.rules.inline.anyPunctuation.lastIndex);for(;null!==(r=this.tokenizer.rules.inline.blockSkip.exec(o));)n=r[2]?r[2].length:0,o=o.slice(0,r.index+n)+"["+"a".repeat(r[0].length-n-2)+"]"+o.slice(this.tokenizer.rules.inline.blockSkip.lastIndex);o=this.options.hooks?.emStrongMask?.call({lexer:this},o)??o;let s=!1,a="";for(;t;){let n;if(s||(a=""),s=!1,this.options.extensions?.inline?.some(o=>!!(n=o.call({lexer:this},t,i))&&(t=t.substring(n.raw.length),i.push(n),!0)))continue;if((n=this.tokenizer.escape(t))||(n=this.tokenizer.tag(t))||(n=this.tokenizer.link(t))){t=t.substring(n.raw.length),i.push(n);continue}if(n=this.tokenizer.reflink(t,this.tokens.links)){t=t.substring(n.raw.length);let o=i.at(-1);"text"===n.type&&o?.type==="text"?(o.raw+=n.raw,o.text+=n.text):i.push(n);continue}if((n=this.tokenizer.emStrong(t,o,a))||(n=this.tokenizer.codespan(t))||(n=this.tokenizer.br(t))||(n=this.tokenizer.del(t,o,a))||(n=this.tokenizer.autolink(t))||!this.state.inLink&&(n=this.tokenizer.url(t))){t=t.substring(n.raw.length),i.push(n);continue}let r=t;if(this.options.extensions?.startInline){let i=1/0,n=t.slice(1),o;this.options.extensions.startInline.forEach(t=>{"number"==typeof(o=t.call({lexer:this},n))&&o>=0&&(i=Math.min(i,o))}),i<1/0&&i>=0&&(r=t.substring(0,i+1))}if(n=this.tokenizer.inlineText(r)){t=t.substring(n.raw.length),"_"!==n.raw.slice(-1)&&(a=n.raw.slice(-1)),s=!0;let o=i.at(-1);o?.type==="text"?(o.raw+=n.raw,o.text+=n.text):i.push(n);continue}if(t){let i="Infinite loop on byte: "+t.charCodeAt(0);if(this.options.silent)break;throw Error(i)}}return i}constructor(t){o(this,"tokens",void 0),o(this,"options",void 0),o(this,"state",void 0),o(this,"inlineQueue",void 0),o(this,"tokenizer",void 0),this.tokens=[],this.tokens.links=Object.create(null),this.options=t||a,this.options.tokenizer=this.options.tokenizer||new em,this.tokenizer=this.options.tokenizer,this.tokenizer.options=this.options,this.tokenizer.lexer=this,this.inlineQueue=[],this.state={inLink:!1,inRawBlock:!1,top:!0};let i={other:u,block:es.normal,inline:ea.normal};this.options.pedantic?(i.block=es.pedantic,i.inline=ea.pedantic):this.options.gfm&&(i.block=es.gfm,this.options.breaks?i.inline=ea.breaks:i.inline=ea.gfm),this.tokenizer.rules=i}},eb=class{space(t){return""}code({text:t,lang:i,escaped:n}){let o=(i||"").match(u.notSpaceStart)?.[0],r=t.replace(u.endingNewline,"")+`
|
|
1471
|
+
`;return o?'<pre><code class="language-'+ed(o)+'">'+(n?r:ed(r,!0))+`</code></pre>
|
|
1472
|
+
`:"<pre><code>"+(n?r:ed(r,!0))+`</code></pre>
|
|
1473
1473
|
`}blockquote({tokens:t}){return`<blockquote>
|
|
1474
1474
|
${this.parser.parse(t)}</blockquote>
|
|
1475
1475
|
`}html({text:t}){return t}def(t){return""}heading({tokens:t,depth:i}){return`<h${i}>${this.parser.parseInline(t)}</h${i}>
|
|
@@ -1485,5 +1485,5 @@ ${this.parser.parse(t)}</blockquote>
|
|
|
1485
1485
|
`}tablerow({text:t}){return`<tr>
|
|
1486
1486
|
${t}</tr>
|
|
1487
1487
|
`}tablecell(t){let i=this.parser.parseInline(t.tokens),n=t.header?"th":"td";return(t.align?`<${n} align="${t.align}">`:`<${n}>`)+i+`</${n}>
|
|
1488
|
-
`}strong({tokens:t}){return`<strong>${this.parser.parseInline(t)}</strong>`}em({tokens:t}){return`<em>${this.parser.parseInline(t)}</em>`}codespan({text:t}){return`<code>${
|
|
1489
|
-
Please report this to https://github.com/markedjs/marked.`,t){let t="<p>An error occurred:</p><pre>"+eu(n.message+"",!0)+"</pre>";return i?Promise.resolve(t):t}if(i)return Promise.reject(n);throw n}}constructor(...t){o(this,"defaults",r()),o(this,"options",this.setOptions),o(this,"parse",this.parseMarkdown(!0)),o(this,"parseInline",this.parseMarkdown(!1)),o(this,"Parser",ew),o(this,"Renderer",ev),o(this,"TextRenderer",ey),o(this,"Lexer",eb),o(this,"Tokenizer",eg),o(this,"Hooks",e_),this.use(...t)}};function ek(t,i){return eC.parse(t,i)}ek.options=ek.setOptions=function(t){return eC.setOptions(t),ek.defaults=eC.defaults,a=ek.defaults,ek},ek.getDefaults=r,ek.defaults=a,ek.use=function(...t){return eC.use(...t),ek.defaults=eC.defaults,a=ek.defaults,ek},ek.walkTokens=function(t,i){return eC.walkTokens(t,i)},ek.parseInline=eC.parseInline,ek.Parser=ew,ek.parser=ew.parse,ek.Renderer=ev,ek.TextRenderer=ey,ek.Lexer=eb,ek.lexer=eb.lex,ek.Tokenizer=eg,ek.Hooks=e_,ek.parse=ek,ek.options,ek.setOptions,ek.use,ek.walkTokens,ek.parseInline,ew.parse,eb.lex},31635:function(t,i,n){"use strict";function o(t,i,n,o){var r,s=arguments.length,a=s<3?i:null===o?o=Object.getOwnPropertyDescriptor(i,n):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(t,i,n,o);else for(var l=t.length-1;l>=0;l--)(r=t[l])&&(a=(s<3?r(a):s>3?r(i,n,a):r(i,n))||a);return s>3&&a&&Object.defineProperty(i,n,a),a}n.d(i,{__decorate:function(){return o}}),"function"==typeof SuppressedError&&SuppressedError},43039:function(t){"use strict";t.exports=JSON.parse('[{"be":"#5cbf2a","bs":"#44c767","bc":"#18ab29","br":"28px","bse":"1px","bsh":false,"bsbr":0,"bsc":"#3dc21b","bsi":false,"bsox":0,"bsoy":0,"bssr":0,"fc":"#fff","ff":"Arial","fs":"17px","fse":false,"fw":false,"px":"31px","py":"16px","pbc":"#f5f5f5","s":true,"t":"green","ts":true,"tsbr":0,"tsc":"#2f6627","tsox":0,"tsoy":"1px"},{"be":"#476e9e","bs":"#7892c2","bc":"#4e6096","br":"10px","bse":"1px","bsh":true,"bsbr":0,"bsc":"#9fb4f2","bsi":false,"bsox":0,"bsoy":0,"bssr":"2px","fc":"#fff","ff":"Arial","fs":"19px","fse":false,"fw":false,"px":"37px","py":"12px","pbc":"#f5f5f5","s":false,"t":"blue","ts":true,"tsbr":0,"tsc":"#283966","tsox":0,"tsoy":"1px"},{"be":"#408c99","bs":"#599bb3","bc":"#29668f","br":"8px","bse":0,"bsh":true,"bsbr":"14px","bsc":"#276873","bsi":false,"bsox":0,"bsoy":"10px","bssr":"-7px","fc":"#fff","ff":"Arial","fs":"20px","fse":false,"fw":true,"px":"32px","py":"13px","pbc":"#f5f5f5","s":false,"t":"turquoise","ts":true,"tsbr":0,"tsc":"#3d768a","tsox":0,"tsoy":"1px"},{"be":"#6c7c7c","bs":"#768d87","bc":"#566963","br":"5px","bse":"1px","bsh":true,"bsbr":"3px","bsc":"#91b8b3","bsi":true,"bsox":0,"bsoy":"1px","bssr":0,"fc":"#fff","ff":"Arial","fs":"15px","fse":false,"fw":true,"px":"23px","py":"11px","pbc":"#e8e7e2","s":false,"t":"dark grey","ts":true,"tsbr":0,"tsc":"#2b665e","tsox":0,"tsoy":"-1px"},{"be":"#72b352","bs":"#77b55a","bc":"#4b8f29","br":"4px","bse":"1px","bsh":true,"bsbr":"14px","bsc":"#3e7327","bsi":false,"bsox":0,"bsoy":"10px","bssr":"-7px","fc":"#fff","ff":"Arial","fs":"13px","fse":false,"fw":true,"px":"12px","py":"6px","pbc":"#f5f5f5","s":false,"t":"green","ts":true,"tsbr":0,"tsc":"#5b8a3c","tsox":0,"tsoy":"1px"},{"be":"#eb675e","bs":"#e4685d","bc":"#fff","br":"4px","bse":"1px","bsh":true,"bsbr":0,"bsc":"#e67a73","bsi":true,"bsox":0,"bsoy":"39px","bssr":"-24px","fc":"#fff","ff":"Arial","fs":"15px","fse":false,"fw":false,"px":"15px","py":"6px","pbc":"#f2f2f2","s":true,"t":"light red","ts":true,"tsbr":0,"tsc":"#b23e35","tsox":0,"tsoy":"1px"},{"be":"#b34332","bs":"#a73f2d","bc":"#241d13","br":0,"bse":"1px","bsh":true,"bsbr":0,"bsc":"#b54b3a","bsi":true,"bsox":0,"bsoy":"34px","bssr":"-15px","fc":"#fff","ff":"Arial","fs":"15px","fse":false,"fw":true,"px":"23px","py":"9px","pbc":"#2a2218","s":true,"t":"brown","ts":true,"tsbr":0,"tsc":"#7a2a1d","tsox":0,"tsoy":"-1px"},{"be":"#0688fa","bs":"#2dabf9","bc":"#0b0e07","br":"3px","bse":"1px","bsh":true,"bsbr":"7px","bsc":"#29bbff","bsi":true,"bsox":0,"bsoy":"-3px","bssr":0,"fc":"#fff","ff":"Arial","fs":"15px","fse":false,"fw":false,"px":"23px","py":"9px","pbc":"#1c1c1e","s":false,"t":"blue","ts":true,"tsbr":0,"tsc":"#263666","tsox":0,"tsoy":"1px"},{"be":"#415989","bs":"#2e466e","bc":"#1f2f47","br":"17px","bse":"1px","bsh":true,"bsbr":"15px","bsc":"#23395e","bsi":true,"bsox":0,"bsoy":0,"bssr":"3px","fc":"#fff","ff":"Arial","fs":"15px","fse":false,"fw":false,"px":"13px","py":"6px","pbc":"#3f5c93","s":false,"t":"blue","ts":true,"tsbr":0,"tsc":"#263666","tsox":0,"tsoy":"1px"},{"be":"#bc3315","bs":"#d0451b","bc":"#942911","br":"3px","bse":"1px","bsh":true,"bsbr":0,"bsc":"#cf866c","bsi":true,"bsox":0,"bsoy":"1px","bssr":0,"fc":"#fff","ff":"Arial","fs":"13px","fse":false,"fw":false,"px":"24px","py":"6px","pbc":"#f5f5f5","s":false,"t":"codecanyon","ts":true,"tsbr":0,"tsc":"#854629","tsox":0,"tsoy":"1px"},{"be":"#ccc2a6","bs":"#eae0c2","bc":"#333029","br":"15px","bse":"2px","bsh":true,"bsbr":0,"bsc":"#1c1b18","bsi":false,"bsox":0,"bsoy":"1px","bssr":0,"fc":"#505739","ff":"Arial","fs":"14px","fse":false,"fw":true,"px":"16px","py":"12px","pbc":"#2d2e29","s":false,"t":"creme","ts":true,"tsbr":0,"tsc":"#fff","tsox":0,"tsoy":"1px"},{"be":"#634b30","bs":"#7d5d3b","bc":"#54381e","br":"3px","bse":"1px","bsh":true,"bsbr":0,"bsc":"#a6827e","bsi":true,"bsox":0,"bsoy":"1px","bssr":0,"fc":"#fff","ff":"Arial","fs":"13px","fse":false,"fw":false,"px":"24px","py":"6px","pbc":"#f5f5f5","s":false,"t":"themeforest","ts":true,"tsbr":0,"tsc":"#4d3534","tsox":0,"tsoy":"1px"},{"be":"#0061a7","bs":"#007dc1","bc":"#124d77","br":"3px","bse":"1px","bsh":true,"bsbr":0,"bsc":"#54a3f7","bsi":true,"bsox":0,"bsoy":"1px","bssr":0,"fc":"#fff","ff":"Arial","fs":"13px","fse":false,"fw":false,"px":"24px","py":"6px","pbc":"#f5f5f5","s":false,"t":"graphicriver","ts":true,"tsbr":0,"tsc":"#154682","tsox":0,"tsoy":"1px"},{"be":"#019ad2","bs":"#33bdef","bc":"#057fd0","br":"6px","bse":"1px","bsh":true,"bsbr":0,"bsc":"#f0f7fa","bsi":false,"bsox":0,"bsoy":"1px","bssr":0,"fc":"#fff","ff":"Arial","fs":"15px","fse":false,"fw":true,"px":"24px","py":"6px","pbc":"#e2e2e2","s":false,"t":"twitter","ts":true,"tsbr":0,"tsc":"#5b6178","tsox":0,"tsoy":"-1px"},{"be":"#ffab23","bs":"#ffec64","bc":"#ffaa22","br":"6px","bse":"1px","bsh":true,"bsbr":0,"bsc":"#fff6af","bsi":false,"bsox":0,"bsoy":"1px","bssr":0,"fc":"#333333","ff":"Arial","fs":"15px","fse":false,"fw":true,"px":"24px","py":"6px","pbc":"#e2e2e2","s":false,"t":"twitter","ts":true,"tsbr":0,"tsc":"#ffee66","tsox":0,"tsoy":"1px"},{"be":"#68a54b","bs":"#74ad5a","bc":"#3b6e22","br":0,"bse":"1px","bsh":true,"bsbr":0,"bsc":"#9acc85","bsi":true,"bsox":0,"bsoy":"1px","bssr":0,"fc":"#fff","ff":"Arial","fs":"13px","fse":false,"fw":true,"px":"12px","py":"6px","pbc":"#f5f5f5","s":false,"t":"facebook","ts":false,"tsbr":0,"tsc":"#92b879","tsox":0,"tsoy":"1px"},{"be":"#5972a7","bs":"#637aad","bc":"#314179","br":0,"bse":"1px","bsh":true,"bsbr":0,"bsc":"#7a8eb9","bsi":true,"bsox":0,"bsoy":"1px","bssr":0,"fc":"#fff","ff":"Arial","fs":"13px","fse":false,"fw":true,"px":"12px","py":"6px","pbc":"#3b5898","s":false,"t":"facebook","ts":false,"tsbr":0,"tsc":"#7a8eb9","tsox":0,"tsoy":"1px"},{"be":"#bab1ba","bs":"#ededed","bc":"#d6bcd6","br":"15px","bse":"1px","bsh":true,"bsbr":0,"bsc":"#899599","bsi":false,"bsox":"3px","bsoy":"4px","bssr":0,"fc":"#3a8a9e","ff":"Arial","fs":"17px","fse":false,"fw":false,"px":"25px","py":"7px","pbc":"#f5f5f5","s":false,"t":"grey","ts":true,"tsbr":0,"tsc":"#e1e2ed","tsox":0,"tsoy":"1px"},{"be":"#f24437","bs":"#c62d1f","bc":"#d02718","br":"18px","bse":"1px","bsh":true,"bsbr":0,"bsc":"#8a2a21","bsi":false,"bsox":"3px","bsoy":"4px","bssr":0,"fc":"#fff","ff":"Arial","fs":"17px","fse":false,"fw":false,"px":"25px","py":"7px","pbc":"#f5f5f5","s":false,"t":"red","ts":true,"tsbr":0,"tsc":"#810e05","tsox":0,"tsoy":"1px"},{"be":"#378de5","bs":"#79bbff","bc":"#337bc4","br":"5px","bse":"1px","bsh":true,"bsbr":0,"bsc":"#1564ad","bsi":false,"bsox":"3px","bsoy":"4px","bssr":0,"fc":"#fff","ff":"Arial","fs":"17px","fse":false,"fw":true,"px":"44px","py":"12px","pbc":"#f5f5f5","s":false,"t":"blue","ts":true,"tsbr":0,"tsc":"#528ecc","tsox":0,"tsoy":"1px"},{"be":"#9ba892","bs":"#dbe6c4","bc":"#b2b8ad","br":"6px","bse":"1px","bsh":true,"bsbr":"14px","bsc":"#f2fadc","bsi":true,"bsox":0,"bsoy":0,"bssr":"-3px","fc":"#757d6f","ff":"Arial","fs":"15px","fse":false,"fw":true,"px":"24px","py":"6px","pbc":"#f5f5f5","s":false,"t":"olive","ts":true,"tsbr":0,"tsc":"#ced9bf","tsox":0,"tsoy":"1px"},{"be":"#bc80ea","bs":"#dfbdfa","bc":"#c584f3","br":"6px","bse":"1px","bsh":true,"bsbr":0,"bsc":"#efdcfb","bsi":true,"bsox":0,"bsoy":"1px","bssr":0,"fc":"#fff","ff":"Arial","fs":"15px","fse":false,"fw":true,"px":"24px","py":"6px","pbc":"#f5f5f5","s":false,"t":"purple","ts":true,"tsbr":0,"tsc":"#9752cc","tsox":0,"tsoy":"1px"},{"be":"#80b5ea","bs":"#bddbfa","bc":"#84bbf3","br":"6px","bse":"1px","bsh":true,"bsbr":0,"bsc":"#dcecfb","bsi":true,"bsox":0,"bsoy":"1px","bssr":0,"fc":"#fff","ff":"Arial","fs":"15px","fse":false,"fw":true,"px":"24px","py":"6px","pbc":"#f5f5f5","s":false,"t":"light blue","ts":true,"tsbr":0,"tsc":"#528ecc","tsox":0,"tsoy":"1px"},{"be":"#f6f6f6","bs":"#fff","bc":"#dcdcdc","br":"6px","bse":"1px","bsh":true,"bsbr":0,"bsc":"#fff","bsi":true,"bsox":0,"bsoy":"1px","bssr":0,"fc":"#666666","ff":"Arial","fs":"15px","fse":false,"fw":true,"px":"24px","py":"6px","pbc":"#f5f5f5","s":false,"t":"white","ts":true,"tsbr":0,"tsc":"#fff","tsox":0,"tsoy":"1px"},{"be":"#e4685d","bs":"#fc8d83","bc":"#d83526","br":"6px","bse":"1px","bsh":true,"bsbr":0,"bsc":"#f7c5c0","bsi":true,"bsox":0,"bsoy":"1px","bssr":0,"fc":"#fff","ff":"Arial","fs":"15px","fse":false,"fw":true,"px":"24px","py":"6px","pbc":"#f5f5f5","s":false,"t":"light red","ts":true,"tsbr":0,"tsc":"#b23e35","tsox":0,"tsoy":"1px"},{"be":"#468ccf","bs":"#63b8ee","bc":"#3866a3","br":"6px","bse":"1px","bsh":true,"bsbr":0,"bsc":"#bee2f9","bsi":true,"bsox":0,"bsoy":"1px","bssr":0,"fc":"#14396a","ff":"Arial","fs":"15px","fse":false,"fw":true,"px":"24px","py":"6px","pbc":"#f5f5f5","s":false,"t":"dark blue","ts":true,"tsbr":0,"tsc":"#7cacde","tsox":0,"tsoy":"1px"},{"be":"#ffab23","bs":"#ffec64","bc":"#ffaa22","br":"6px","bse":"1px","bsh":true,"bsbr":0,"bsc":"#fff6af","bsi":true,"bsox":0,"bsoy":"1px","bssr":0,"fc":"#333333","ff":"Arial","fs":"15px","fse":false,"fw":true,"px":"24px","py":"6px","pbc":"#f5f5f5","s":false,"t":"orange","ts":true,"tsbr":0,"tsc":"#ffee66","tsox":0,"tsoy":"1px"},{"be":"#77a809","bs":"#89c403","bc":"#74b807","br":"6px","bse":"1px","bsh":true,"bsbr":0,"bsc":"#a4e271","bsi":true,"bsox":0,"bsoy":"1px","bssr":0,"fc":"#fff","ff":"Arial","fs":"15px","fse":false,"fw":true,"px":"24px","py":"6px","pbc":"#f5f5f5","s":false,"t":"green","ts":true,"tsbr":0,"tsc":"#528009","tsox":0,"tsoy":"1px"},{"be":"#e9e9e9","bs":"#f9f9f9","bc":"#dcdcdc","br":"6px","bse":"1px","bsh":true,"bsbr":0,"bsc":"#fff","bsi":true,"bsox":0,"bsoy":"1px","bssr":0,"fc":"#666666","ff":"Arial","fs":"15px","fse":false,"fw":true,"px":"24px","py":"6px","pbc":"#f5f5f5","s":false,"t":"light grey","ts":true,"tsbr":0,"tsc":"#fff","tsox":0,"tsoy":"1px"},{"be":"#a20dbd","bs":"#c123de","bc":"#a511c0","br":"6px","bse":"1px","bsh":true,"bsbr":0,"bsc":"#e184f3","bsi":true,"bsox":0,"bsoy":"1px","bssr":0,"fc":"#fff","ff":"Arial","fs":"15px","fse":false,"fw":true,"px":"24px","py":"6px","pbc":"#f5f5f5","s":false,"t":"purple","ts":true,"tsbr":0,"tsc":"#9b14b3","tsox":0,"tsoy":"1px"},{"be":"#1e62d0","bs":"#3d94f6","bc":"#337fed","br":"6px","bse":"1px","bsh":true,"bsbr":0,"bsc":"#97c4fe","bsi":true,"bsox":0,"bsoy":"1px","bssr":0,"fc":"#fff","ff":"Arial","fs":"15px","fse":false,"fw":true,"px":"24px","py":"6px","pbc":"#f5f5f5","s":false,"t":"blue","ts":true,"tsbr":0,"tsc":"#1570cd","tsox":0,"tsoy":"1px"},{"be":"#ef027d","bs":"#ff5bb0","bc":"#ee1eb5","br":"6px","bse":"1px","bsh":true,"bsbr":0,"bsc":"#fbafe3","bsi":true,"bsox":0,"bsoy":"1px","bssr":0,"fc":"#fff","ff":"Arial","fs":"15px","fse":false,"fw":true,"px":"24px","py":"6px","pbc":"#f5f5f5","s":false,"t":"pink","ts":true,"tsbr":0,"tsc":"#c70067","tsox":0,"tsoy":"1px"},{"be":"#f2ab1e","bs":"#f0c911","bc":"#e65f44","br":"6px","bse":"1px","bsh":true,"bsbr":0,"bsc":"#f9eca0","bsi":true,"bsox":0,"bsoy":"1px","bssr":0,"fc":"#c92200","ff":"Arial","fs":"15px","fse":false,"fw":true,"px":"24px","py":"6px","pbc":"#f5f5f5","s":false,"t":"orange","ts":true,"tsbr":0,"tsc":"#ded17c","tsox":0,"tsoy":"1px"},{"be":"#c62d1f","bs":"#f24537","bc":"#d02718","br":"6px","bse":"1px","bsh":true,"bsbr":0,"bsc":"#f5978e","bsi":true,"bsox":0,"bsoy":"1px","bssr":0,"fc":"#fff","ff":"Arial","fs":"15px","fse":false,"fw":true,"px":"24px","py":"6px","pbc":"#f5f5f5","s":false,"t":"red","ts":true,"tsbr":0,"tsc":"#810e05","tsox":0,"tsoy":"1px"},{"be":"#a5cc52","bs":"#b8e356","bc":"#83c41a","br":"6px","bse":"1px","bsh":true,"bsbr":0,"bsc":"#d9fbbe","bsi":true,"bsox":0,"bsoy":"1px","bssr":0,"fc":"#fff","ff":"Arial","fs":"15px","fse":false,"fw":true,"px":"24px","py":"6px","pbc":"#f5f5f5","s":false,"t":"light green","ts":true,"tsbr":0,"tsc":"#86ae47","tsox":0,"tsoy":"1px"},{"be":"#fb9e25","bs":"#ffc477","bc":"#eeb44f","br":"6px","bse":"1px","bsh":true,"bsbr":0,"bsc":"#fce2c1","bsi":true,"bsox":0,"bsoy":"1px","bssr":0,"fc":"#fff","ff":"Arial","fs":"15px","fse":false,"fw":true,"px":"24px","py":"6px","pbc":"#f5f5f5","s":false,"t":"light orange","ts":true,"tsbr":0,"tsc":"#cc9f52","tsox":0,"tsoy":"1px"},{"be":"#dfdfdf","bs":"#ededed","bc":"#dcdcdc","br":"6px","bse":"1px","bsh":true,"bsbr":0,"bsc":"#fff","bsi":true,"bsox":0,"bsoy":"1px","bssr":0,"fc":"#777777","ff":"Arial","fs":"15px","fse":false,"fw":true,"px":"24px","py":"6px","pbc":"#f5f5f5","s":false,"t":"grey","ts":true,"tsbr":0,"tsc":"#fff","tsox":0,"tsoy":"1px"},{"be":"#378de5","bs":"#79bbff","bc":"#84bbf3","br":"6px","bse":"1px","bsh":true,"bsbr":0,"bsc":"#bbdaf7","bsi":true,"bsox":0,"bsoy":"1px","bssr":0,"fc":"#fff","ff":"Arial","fs":"15px","fse":false,"fw":true,"px":"24px","py":"6px","pbc":"#f5f5f5","s":false,"t":"blue","ts":true,"tsbr":0,"tsc":"#528ecc","tsox":0,"tsoy":"1px"},{"be":"#5cb811","bs":"#77d42a","bc":"#268a16","br":"6px","bse":"1px","bsh":true,"bsbr":0,"bsc":"#caefab","bsi":true,"bsox":0,"bsoy":"1px","bssr":0,"fc":"#306108","ff":"Arial","fs":"15px","fse":false,"fw":true,"px":"24px","py":"6px","pbc":"#f5f5f5","s":false,"t":"green","ts":true,"tsbr":0,"tsc":"#aade7c","tsox":0,"tsoy":"1px"},{"be":"#ce0100","bs":"#fe1a00","bc":"#d83526","br":"6px","bse":"1px","bsh":true,"bsbr":0,"bsc":"#f29c93","bsi":true,"bsox":0,"bsoy":"1px","bssr":0,"fc":"#fff","ff":"Arial","fs":"15px","fse":false,"fw":true,"px":"24px","py":"6px","pbc":"#f5f5f5","s":false,"t":"red","ts":true,"tsbr":0,"tsc":"#b23e35","tsox":0,"tsoy":"1px"}]')},41943:function(t){"use strict";t.exports=JSON.parse('{"categories":["Smileys & Emotion","People & Body","Animals & Nature","Food & Drink","Travel & Places","Activities","Objects","Symbols","Flags"],"emoji":[{"e":"😀","d":"grinning face","c":0,"a":["grinning"],"t":["smile","happy"]},{"e":"😃","d":"grinning face with big eyes","c":0,"a":["smiley"],"t":["happy","joy","haha"]},{"e":"😄","d":"grinning face with smiling eyes","c":0,"a":["smile"],"t":["happy","joy","laugh","pleased"]},{"e":"😁","d":"beaming face with smiling eyes","c":0,"a":["grin"]},{"e":"😆","d":"grinning squinting face","c":0,"a":["laughing","satisfied"],"t":["happy","haha"]},{"e":"😅","d":"grinning face with sweat","c":0,"a":["sweat_smile"],"t":["hot"]},{"e":"🤣","d":"rolling on the floor laughing","c":0,"a":["rofl"],"t":["lol","laughing"]},{"e":"😂","d":"face with tears of joy","c":0,"a":["joy"],"t":["tears"]},{"e":"🙂","d":"slightly smiling face","c":0,"a":["slightly_smiling_face"]},{"e":"🙃","d":"upside-down face","c":0,"a":["upside_down_face"]},{"e":"😉","d":"winking face","c":0,"a":["wink"],"t":["flirt"]},{"e":"😊","d":"smiling face with smiling eyes","c":0,"a":["blush"],"t":["proud"]},{"e":"😇","d":"smiling face with halo","c":0,"a":["innocent"],"t":["angel"]},{"e":"🥰","d":"smiling face with hearts","c":0,"a":["smiling_face_with_three_hearts"],"t":["love"]},{"e":"😍","d":"smiling face with heart-eyes","c":0,"a":["heart_eyes"],"t":["love","crush"]},{"e":"🤩","d":"star-struck","c":0,"a":["star_struck"],"t":["eyes"]},{"e":"😘","d":"face blowing a kiss","c":0,"a":["kissing_heart"],"t":["flirt"]},{"e":"😗","d":"kissing face","c":0,"a":["kissing"]},{"e":"☺️","d":"smiling face","c":0,"a":["relaxed"],"t":["blush","pleased"]},{"e":"😚","d":"kissing face with closed eyes","c":0,"a":["kissing_closed_eyes"]},{"e":"😙","d":"kissing face with smiling eyes","c":0,"a":["kissing_smiling_eyes"]},{"e":"🥲","d":"smiling face with tear","c":0,"a":["smiling_face_with_tear"]},{"e":"😋","d":"face savoring food","c":0,"a":["yum"],"t":["tongue","lick"]},{"e":"😛","d":"face with tongue","c":0,"a":["stuck_out_tongue"]},{"e":"😜","d":"winking face with tongue","c":0,"a":["stuck_out_tongue_winking_eye"],"t":["prank","silly"]},{"e":"🤪","d":"zany face","c":0,"a":["zany_face"],"t":["goofy","wacky"]},{"e":"😝","d":"squinting face with tongue","c":0,"a":["stuck_out_tongue_closed_eyes"],"t":["prank"]},{"e":"🤑","d":"money-mouth face","c":0,"a":["money_mouth_face"],"t":["rich"]},{"e":"🤗","d":"hugging face","c":0,"a":["hugs"]},{"e":"🤭","d":"face with hand over mouth","c":0,"a":["hand_over_mouth"],"t":["quiet","whoops"]},{"e":"🤫","d":"shushing face","c":0,"a":["shushing_face"],"t":["silence","quiet"]},{"e":"🤔","d":"thinking face","c":0,"a":["thinking"]},{"e":"🤐","d":"zipper-mouth face","c":0,"a":["zipper_mouth_face"],"t":["silence","hush"]},{"e":"🤨","d":"face with raised eyebrow","c":0,"a":["raised_eyebrow"],"t":["suspicious"]},{"e":"😐","d":"neutral face","c":0,"a":["neutral_face"],"t":["meh"]},{"e":"😑","d":"expressionless face","c":0,"a":["expressionless"]},{"e":"😶","d":"face without mouth","c":0,"a":["no_mouth"],"t":["mute","silence"]},{"e":"😏","d":"smirking face","c":0,"a":["smirk"],"t":["smug"]},{"e":"😒","d":"unamused face","c":0,"a":["unamused"],"t":["meh"]},{"e":"🙄","d":"face with rolling eyes","c":0,"a":["roll_eyes"]},{"e":"😬","d":"grimacing face","c":0,"a":["grimacing"]},{"e":"🤥","d":"lying face","c":0,"a":["lying_face"],"t":["liar"]},{"e":"😌","d":"relieved face","c":0,"a":["relieved"],"t":["whew"]},{"e":"😔","d":"pensive face","c":0,"a":["pensive"]},{"e":"😪","d":"sleepy face","c":0,"a":["sleepy"],"t":["tired"]},{"e":"🤤","d":"drooling face","c":0,"a":["drooling_face"]},{"e":"😴","d":"sleeping face","c":0,"a":["sleeping"],"t":["zzz"]},{"e":"😷","d":"face with medical mask","c":0,"a":["mask"],"t":["sick","ill"]},{"e":"🤒","d":"face with thermometer","c":0,"a":["face_with_thermometer"],"t":["sick"]},{"e":"🤕","d":"face with head-bandage","c":0,"a":["face_with_head_bandage"],"t":["hurt"]},{"e":"🤢","d":"nauseated face","c":0,"a":["nauseated_face"],"t":["sick","barf","disgusted"]},{"e":"🤮","d":"face vomiting","c":0,"a":["vomiting_face"],"t":["barf","sick"]},{"e":"🤧","d":"sneezing face","c":0,"a":["sneezing_face"],"t":["achoo","sick"]},{"e":"🥵","d":"hot face","c":0,"a":["hot_face"],"t":["heat","sweating"]},{"e":"🥶","d":"cold face","c":0,"a":["cold_face"],"t":["freezing","ice"]},{"e":"🥴","d":"woozy face","c":0,"a":["woozy_face"],"t":["groggy"]},{"e":"😵","d":"dizzy face","c":0,"a":["dizzy_face"]},{"e":"🤯","d":"exploding head","c":0,"a":["exploding_head"],"t":["mind","blown"]},{"e":"🤠","d":"cowboy hat face","c":0,"a":["cowboy_hat_face"]},{"e":"🥳","d":"partying face","c":0,"a":["partying_face"],"t":["celebration","birthday"]},{"e":"🥸","d":"disguised face","c":0,"a":["disguised_face"]},{"e":"😎","d":"smiling face with sunglasses","c":0,"a":["sunglasses"],"t":["cool"]},{"e":"🤓","d":"nerd face","c":0,"a":["nerd_face"],"t":["geek","glasses"]},{"e":"🧐","d":"face with monocle","c":0,"a":["monocle_face"]},{"e":"😕","d":"confused face","c":0,"a":["confused"]},{"e":"😟","d":"worried face","c":0,"a":["worried"],"t":["nervous"]},{"e":"🙁","d":"slightly frowning face","c":0,"a":["slightly_frowning_face"]},{"e":"☹️","d":"frowning face","c":0,"a":["frowning_face"]},{"e":"😮","d":"face with open mouth","c":0,"a":["open_mouth"],"t":["surprise","impressed","wow"]},{"e":"😯","d":"hushed face","c":0,"a":["hushed"],"t":["silence","speechless"]},{"e":"😲","d":"astonished face","c":0,"a":["astonished"],"t":["amazed","gasp"]},{"e":"😳","d":"flushed face","c":0,"a":["flushed"]},{"e":"🥺","d":"pleading face","c":0,"a":["pleading_face"],"t":["puppy","eyes"]},{"e":"😦","d":"frowning face with open mouth","c":0,"a":["frowning"]},{"e":"😧","d":"anguished face","c":0,"a":["anguished"],"t":["stunned"]},{"e":"😨","d":"fearful face","c":0,"a":["fearful"],"t":["scared","shocked","oops"]},{"e":"😰","d":"anxious face with sweat","c":0,"a":["cold_sweat"],"t":["nervous"]},{"e":"😥","d":"sad but relieved face","c":0,"a":["disappointed_relieved"],"t":["phew","sweat","nervous"]},{"e":"😢","d":"crying face","c":0,"a":["cry"],"t":["sad","tear"]},{"e":"😭","d":"loudly crying face","c":0,"a":["sob"],"t":["sad","cry","bawling"]},{"e":"😱","d":"face screaming in fear","c":0,"a":["scream"],"t":["horror","shocked"]},{"e":"😖","d":"confounded face","c":0,"a":["confounded"]},{"e":"😣","d":"persevering face","c":0,"a":["persevere"],"t":["struggling"]},{"e":"😞","d":"disappointed face","c":0,"a":["disappointed"],"t":["sad"]},{"e":"😓","d":"downcast face with sweat","c":0,"a":["sweat"]},{"e":"😩","d":"weary face","c":0,"a":["weary"],"t":["tired"]},{"e":"😫","d":"tired face","c":0,"a":["tired_face"],"t":["upset","whine"]},{"e":"🥱","d":"yawning face","c":0,"a":["yawning_face"]},{"e":"😤","d":"face with steam from nose","c":0,"a":["triumph"],"t":["smug"]},{"e":"😡","d":"pouting face","c":0,"a":["rage","pout"],"t":["angry"]},{"e":"😠","d":"angry face","c":0,"a":["angry"],"t":["mad","annoyed"]},{"e":"🤬","d":"face with symbols on mouth","c":0,"a":["cursing_face"],"t":["foul"]},{"e":"😈","d":"smiling face with horns","c":0,"a":["smiling_imp"],"t":["devil","evil","horns"]},{"e":"👿","d":"angry face with horns","c":0,"a":["imp"],"t":["angry","devil","evil","horns"]},{"e":"💀","d":"skull","c":0,"a":["skull"],"t":["dead","danger","poison"]},{"e":"☠️","d":"skull and crossbones","c":0,"a":["skull_and_crossbones"],"t":["danger","pirate"]},{"e":"💩","d":"pile of poo","c":0,"a":["hankey","poop","shit"],"t":["crap"]},{"e":"🤡","d":"clown face","c":0,"a":["clown_face"]},{"e":"👹","d":"ogre","c":0,"a":["japanese_ogre"],"t":["monster"]},{"e":"👺","d":"goblin","c":0,"a":["japanese_goblin"]},{"e":"👻","d":"ghost","c":0,"a":["ghost"],"t":["halloween"]},{"e":"👽","d":"alien","c":0,"a":["alien"],"t":["ufo"]},{"e":"👾","d":"alien monster","c":0,"a":["space_invader"],"t":["game","retro"]},{"e":"🤖","d":"robot","c":0,"a":["robot"]},{"e":"😺","d":"grinning cat","c":0,"a":["smiley_cat"]},{"e":"😸","d":"grinning cat with smiling eyes","c":0,"a":["smile_cat"]},{"e":"😹","d":"cat with tears of joy","c":0,"a":["joy_cat"]},{"e":"😻","d":"smiling cat with heart-eyes","c":0,"a":["heart_eyes_cat"]},{"e":"😼","d":"cat with wry smile","c":0,"a":["smirk_cat"]},{"e":"😽","d":"kissing cat","c":0,"a":["kissing_cat"]},{"e":"🙀","d":"weary cat","c":0,"a":["scream_cat"],"t":["horror"]},{"e":"😿","d":"crying cat","c":0,"a":["crying_cat_face"],"t":["sad","tear"]},{"e":"😾","d":"pouting cat","c":0,"a":["pouting_cat"]},{"e":"🙈","d":"see-no-evil monkey","c":0,"a":["see_no_evil"],"t":["monkey","blind","ignore"]},{"e":"🙉","d":"hear-no-evil monkey","c":0,"a":["hear_no_evil"],"t":["monkey","deaf"]},{"e":"🙊","d":"speak-no-evil monkey","c":0,"a":["speak_no_evil"],"t":["monkey","mute","hush"]},{"e":"💋","d":"kiss mark","c":0,"a":["kiss"],"t":["lipstick"]},{"e":"💌","d":"love letter","c":0,"a":["love_letter"],"t":["email","envelope"]},{"e":"💘","d":"heart with arrow","c":0,"a":["cupid"],"t":["love","heart"]},{"e":"💝","d":"heart with ribbon","c":0,"a":["gift_heart"],"t":["chocolates"]},{"e":"💖","d":"sparkling heart","c":0,"a":["sparkling_heart"]},{"e":"💗","d":"growing heart","c":0,"a":["heartpulse"]},{"e":"💓","d":"beating heart","c":0,"a":["heartbeat"]},{"e":"💞","d":"revolving hearts","c":0,"a":["revolving_hearts"]},{"e":"💕","d":"two hearts","c":0,"a":["two_hearts"]},{"e":"💟","d":"heart decoration","c":0,"a":["heart_decoration"]},{"e":"❣️","d":"heart exclamation","c":0,"a":["heavy_heart_exclamation"]},{"e":"💔","d":"broken heart","c":0,"a":["broken_heart"]},{"e":"❤️","d":"red heart","c":0,"a":["heart"],"t":["love"]},{"e":"🧡","d":"orange heart","c":0,"a":["orange_heart"]},{"e":"💛","d":"yellow heart","c":0,"a":["yellow_heart"]},{"e":"💚","d":"green heart","c":0,"a":["green_heart"]},{"e":"💙","d":"blue heart","c":0,"a":["blue_heart"]},{"e":"💜","d":"purple heart","c":0,"a":["purple_heart"]},{"e":"🤎","d":"brown heart","c":0,"a":["brown_heart"]},{"e":"🖤","d":"black heart","c":0,"a":["black_heart"]},{"e":"🤍","d":"white heart","c":0,"a":["white_heart"]},{"e":"💯","d":"hundred points","c":0,"a":["100"],"t":["score","perfect"]},{"e":"💢","d":"anger symbol","c":0,"a":["anger"],"t":["angry"]},{"e":"💥","d":"collision","c":0,"a":["boom","collision"],"t":["explode"]},{"e":"💫","d":"dizzy","c":0,"a":["dizzy"],"t":["star"]},{"e":"💦","d":"sweat droplets","c":0,"a":["sweat_drops"],"t":["water","workout"]},{"e":"💨","d":"dashing away","c":0,"a":["dash"],"t":["wind","blow","fast"]},{"e":"🕳️","d":"hole","c":0,"a":["hole"]},{"e":"💣","d":"bomb","c":0,"a":["bomb"],"t":["boom"]},{"e":"💬","d":"speech balloon","c":0,"a":["speech_balloon"],"t":["comment"]},{"e":"👁️🗨️","d":"eye in speech bubble","c":0,"a":["eye_speech_bubble"]},{"e":"🗨️","d":"left speech bubble","c":0,"a":["left_speech_bubble"]},{"e":"🗯️","d":"right anger bubble","c":0,"a":["right_anger_bubble"]},{"e":"💭","d":"thought balloon","c":0,"a":["thought_balloon"],"t":["thinking"]},{"e":"💤","d":"zzz","c":0,"a":["zzz"],"t":["sleeping"]},{"e":"👋","d":"waving hand","c":1,"a":["wave"],"t":["goodbye"]},{"e":"🤚","d":"raised back of hand","c":1,"a":["raised_back_of_hand"]},{"e":"🖐️","d":"hand with fingers splayed","c":1,"a":["raised_hand_with_fingers_splayed"]},{"e":"✋","d":"raised hand","c":1,"a":["hand","raised_hand"],"t":["highfive","stop"]},{"e":"🖖","d":"vulcan salute","c":1,"a":["vulcan_salute"],"t":["prosper","spock"]},{"e":"👌","d":"OK hand","c":1,"a":["ok_hand"]},{"e":"🤌","d":"pinched fingers","c":1,"a":["pinched_fingers"]},{"e":"🤏","d":"pinching hand","c":1,"a":["pinching_hand"]},{"e":"✌️","d":"victory hand","c":1,"a":["v"],"t":["victory","peace"]},{"e":"🤞","d":"crossed fingers","c":1,"a":["crossed_fingers"],"t":["luck","hopeful"]},{"e":"🤟","d":"love-you gesture","c":1,"a":["love_you_gesture"]},{"e":"🤘","d":"sign of the horns","c":1,"a":["metal"]},{"e":"🤙","d":"call me hand","c":1,"a":["call_me_hand"]},{"e":"👈","d":"backhand index pointing left","c":1,"a":["point_left"]},{"e":"👉","d":"backhand index pointing right","c":1,"a":["point_right"]},{"e":"👆","d":"backhand index pointing up","c":1,"a":["point_up_2"]},{"e":"🖕","d":"middle finger","c":1,"a":["middle_finger","fu"]},{"e":"👇","d":"backhand index pointing down","c":1,"a":["point_down"]},{"e":"☝️","d":"index pointing up","c":1,"a":["point_up"]},{"e":"👍","d":"thumbs up","c":1,"a":["+1","thumbsup"],"t":["approve","ok"]},{"e":"👎","d":"thumbs down","c":1,"a":["-1","thumbsdown"],"t":["disapprove","bury"]},{"e":"✊","d":"raised fist","c":1,"a":["fist_raised","fist"],"t":["power"]},{"e":"👊","d":"oncoming fist","c":1,"a":["fist_oncoming","facepunch","punch"],"t":["attack"]},{"e":"🤛","d":"left-facing fist","c":1,"a":["fist_left"]},{"e":"🤜","d":"right-facing fist","c":1,"a":["fist_right"]},{"e":"👏","d":"clapping hands","c":1,"a":["clap"],"t":["praise","applause"]},{"e":"🙌","d":"raising hands","c":1,"a":["raised_hands"],"t":["hooray"]},{"e":"👐","d":"open hands","c":1,"a":["open_hands"]},{"e":"🤲","d":"palms up together","c":1,"a":["palms_up_together"]},{"e":"🤝","d":"handshake","c":1,"a":["handshake"],"t":["deal"]},{"e":"🙏","d":"folded hands","c":1,"a":["pray"],"t":["please","hope","wish"]},{"e":"✍️","d":"writing hand","c":1,"a":["writing_hand"]},{"e":"💅","d":"nail polish","c":1,"a":["nail_care"],"t":["beauty","manicure"]},{"e":"🤳","d":"selfie","c":1,"a":["selfie"]},{"e":"💪","d":"flexed biceps","c":1,"a":["muscle"],"t":["flex","bicep","strong","workout"]},{"e":"🦾","d":"mechanical arm","c":1,"a":["mechanical_arm"]},{"e":"🦿","d":"mechanical leg","c":1,"a":["mechanical_leg"]},{"e":"🦵","d":"leg","c":1,"a":["leg"]},{"e":"🦶","d":"foot","c":1,"a":["foot"]},{"e":"👂","d":"ear","c":1,"a":["ear"],"t":["hear","sound","listen"]},{"e":"🦻","d":"ear with hearing aid","c":1,"a":["ear_with_hearing_aid"]},{"e":"👃","d":"nose","c":1,"a":["nose"],"t":["smell"]},{"e":"🧠","d":"brain","c":1,"a":["brain"]},{"e":"🫀","d":"anatomical heart","c":1,"a":["anatomical_heart"]},{"e":"🫁","d":"lungs","c":1,"a":["lungs"]},{"e":"🦷","d":"tooth","c":1,"a":["tooth"]},{"e":"🦴","d":"bone","c":1,"a":["bone"]},{"e":"👀","d":"eyes","c":1,"a":["eyes"],"t":["look","see","watch"]},{"e":"👁️","d":"eye","c":1,"a":["eye"]},{"e":"👅","d":"tongue","c":1,"a":["tongue"],"t":["taste"]},{"e":"👄","d":"mouth","c":1,"a":["lips"],"t":["kiss"]},{"e":"👶","d":"baby","c":1,"a":["baby"],"t":["child","newborn"]},{"e":"🧒","d":"child","c":1,"a":["child"]},{"e":"👦","d":"boy","c":1,"a":["boy"],"t":["child"]},{"e":"👧","d":"girl","c":1,"a":["girl"],"t":["child"]},{"e":"🧑","d":"person","c":1,"a":["adult"]},{"e":"👱","d":"person: blond hair","c":1,"a":["blond_haired_person"]},{"e":"👨","d":"man","c":1,"a":["man"],"t":["mustache","father","dad"]},{"e":"🧔","d":"man: beard","c":1,"a":["bearded_person"]},{"e":"👨🦰","d":"man: red hair","c":1,"a":["red_haired_man"]},{"e":"👨🦱","d":"man: curly hair","c":1,"a":["curly_haired_man"]},{"e":"👨🦳","d":"man: white hair","c":1,"a":["white_haired_man"]},{"e":"👨🦲","d":"man: bald","c":1,"a":["bald_man"]},{"e":"👩","d":"woman","c":1,"a":["woman"],"t":["girls"]},{"e":"👩🦰","d":"woman: red hair","c":1,"a":["red_haired_woman"]},{"e":"🧑🦰","d":"person: red hair","c":1,"a":["person_red_hair"]},{"e":"👩🦱","d":"woman: curly hair","c":1,"a":["curly_haired_woman"]},{"e":"🧑🦱","d":"person: curly hair","c":1,"a":["person_curly_hair"]},{"e":"👩🦳","d":"woman: white hair","c":1,"a":["white_haired_woman"]},{"e":"🧑🦳","d":"person: white hair","c":1,"a":["person_white_hair"]},{"e":"👩🦲","d":"woman: bald","c":1,"a":["bald_woman"]},{"e":"🧑🦲","d":"person: bald","c":1,"a":["person_bald"]},{"e":"👱♀️","d":"woman: blond hair","c":1,"a":["blond_haired_woman","blonde_woman"]},{"e":"👱♂️","d":"man: blond hair","c":1,"a":["blond_haired_man"]},{"e":"🧓","d":"older person","c":1,"a":["older_adult"]},{"e":"👴","d":"old man","c":1,"a":["older_man"]},{"e":"👵","d":"old woman","c":1,"a":["older_woman"]},{"e":"🙍","d":"person frowning","c":1,"a":["frowning_person"]},{"e":"🙍♂️","d":"man frowning","c":1,"a":["frowning_man"]},{"e":"🙍♀️","d":"woman frowning","c":1,"a":["frowning_woman"]},{"e":"🙎","d":"person pouting","c":1,"a":["pouting_face"]},{"e":"🙎♂️","d":"man pouting","c":1,"a":["pouting_man"]},{"e":"🙎♀️","d":"woman pouting","c":1,"a":["pouting_woman"]},{"e":"🙅","d":"person gesturing NO","c":1,"a":["no_good"],"t":["stop","halt","denied"]},{"e":"🙅♂️","d":"man gesturing NO","c":1,"a":["no_good_man","ng_man"],"t":["stop","halt","denied"]},{"e":"🙅♀️","d":"woman gesturing NO","c":1,"a":["no_good_woman","ng_woman"],"t":["stop","halt","denied"]},{"e":"🙆","d":"person gesturing OK","c":1,"a":["ok_person"]},{"e":"🙆♂️","d":"man gesturing OK","c":1,"a":["ok_man"]},{"e":"🙆♀️","d":"woman gesturing OK","c":1,"a":["ok_woman"]},{"e":"💁","d":"person tipping hand","c":1,"a":["tipping_hand_person","information_desk_person"]},{"e":"💁♂️","d":"man tipping hand","c":1,"a":["tipping_hand_man","sassy_man"],"t":["information"]},{"e":"💁♀️","d":"woman tipping hand","c":1,"a":["tipping_hand_woman","sassy_woman"],"t":["information"]},{"e":"🙋","d":"person raising hand","c":1,"a":["raising_hand"]},{"e":"🙋♂️","d":"man raising hand","c":1,"a":["raising_hand_man"]},{"e":"🙋♀️","d":"woman raising hand","c":1,"a":["raising_hand_woman"]},{"e":"🧏","d":"deaf person","c":1,"a":["deaf_person"]},{"e":"🧏♂️","d":"deaf man","c":1,"a":["deaf_man"]},{"e":"🧏♀️","d":"deaf woman","c":1,"a":["deaf_woman"]},{"e":"🙇","d":"person bowing","c":1,"a":["bow"],"t":["respect","thanks"]},{"e":"🙇♂️","d":"man bowing","c":1,"a":["bowing_man"],"t":["respect","thanks"]},{"e":"🙇♀️","d":"woman bowing","c":1,"a":["bowing_woman"],"t":["respect","thanks"]},{"e":"🤦","d":"person facepalming","c":1,"a":["facepalm"]},{"e":"🤦♂️","d":"man facepalming","c":1,"a":["man_facepalming"]},{"e":"🤦♀️","d":"woman facepalming","c":1,"a":["woman_facepalming"]},{"e":"🤷","d":"person shrugging","c":1,"a":["shrug"]},{"e":"🤷♂️","d":"man shrugging","c":1,"a":["man_shrugging"]},{"e":"🤷♀️","d":"woman shrugging","c":1,"a":["woman_shrugging"]},{"e":"🧑��️","d":"health worker","c":1,"a":["health_worker"]},{"e":"👨⚕️","d":"man health worker","c":1,"a":["man_health_worker"],"t":["doctor","nurse"]},{"e":"👩⚕️","d":"woman health worker","c":1,"a":["woman_health_worker"],"t":["doctor","nurse"]},{"e":"🧑🎓","d":"student","c":1,"a":["student"]},{"e":"👨🎓","d":"man student","c":1,"a":["man_student"],"t":["graduation"]},{"e":"👩🎓","d":"woman student","c":1,"a":["woman_student"],"t":["graduation"]},{"e":"🧑🏫","d":"teacher","c":1,"a":["teacher"]},{"e":"👨🏫","d":"man teacher","c":1,"a":["man_teacher"],"t":["school","professor"]},{"e":"👩🏫","d":"woman teacher","c":1,"a":["woman_teacher"],"t":["school","professor"]},{"e":"🧑⚖️","d":"judge","c":1,"a":["judge"]},{"e":"👨⚖️","d":"man judge","c":1,"a":["man_judge"],"t":["justice"]},{"e":"👩⚖️","d":"woman judge","c":1,"a":["woman_judge"],"t":["justice"]},{"e":"🧑🌾","d":"farmer","c":1,"a":["farmer"]},{"e":"👨🌾","d":"man farmer","c":1,"a":["man_farmer"]},{"e":"👩🌾","d":"woman farmer","c":1,"a":["woman_farmer"]},{"e":"🧑🍳","d":"cook","c":1,"a":["cook"]},{"e":"👨🍳","d":"man cook","c":1,"a":["man_cook"],"t":["chef"]},{"e":"👩🍳","d":"woman cook","c":1,"a":["woman_cook"],"t":["chef"]},{"e":"🧑🔧","d":"mechanic","c":1,"a":["mechanic"]},{"e":"👨🔧","d":"man mechanic","c":1,"a":["man_mechanic"]},{"e":"👩🔧","d":"woman mechanic","c":1,"a":["woman_mechanic"]},{"e":"🧑🏭","d":"factory worker","c":1,"a":["factory_worker"]},{"e":"👨���","d":"man factory worker","c":1,"a":["man_factory_worker"]},{"e":"👩🏭","d":"woman factory worker","c":1,"a":["woman_factory_worker"]},{"e":"🧑💼","d":"office worker","c":1,"a":["office_worker"]},{"e":"👨💼","d":"man office worker","c":1,"a":["man_office_worker"],"t":["business"]},{"e":"👩💼","d":"woman office worker","c":1,"a":["woman_office_worker"],"t":["business"]},{"e":"🧑🔬","d":"scientist","c":1,"a":["scientist"]},{"e":"👨🔬","d":"man scientist","c":1,"a":["man_scientist"],"t":["research"]},{"e":"👩🔬","d":"woman scientist","c":1,"a":["woman_scientist"],"t":["research"]},{"e":"🧑💻","d":"technologist","c":1,"a":["technologist"]},{"e":"👨💻","d":"man technologist","c":1,"a":["man_technologist"],"t":["coder"]},{"e":"👩💻","d":"woman technologist","c":1,"a":["woman_technologist"],"t":["coder"]},{"e":"🧑🎤","d":"singer","c":1,"a":["singer"]},{"e":"👨🎤","d":"man singer","c":1,"a":["man_singer"],"t":["rockstar"]},{"e":"👩🎤","d":"woman singer","c":1,"a":["woman_singer"],"t":["rockstar"]},{"e":"🧑🎨","d":"artist","c":1,"a":["artist"]},{"e":"👨🎨","d":"man artist","c":1,"a":["man_artist"],"t":["painter"]},{"e":"👩🎨","d":"woman artist","c":1,"a":["woman_artist"],"t":["painter"]},{"e":"🧑✈️","d":"pilot","c":1,"a":["pilot"]},{"e":"👨✈️","d":"man pilot","c":1,"a":["man_pilot"]},{"e":"👩✈️","d":"woman pilot","c":1,"a":["woman_pilot"]},{"e":"🧑🚀","d":"astronaut","c":1,"a":["astronaut"]},{"e":"👨🚀","d":"man astronaut","c":1,"a":["man_astronaut"],"t":["space"]},{"e":"👩🚀","d":"woman astronaut","c":1,"a":["woman_astronaut"],"t":["space"]},{"e":"🧑🚒","d":"firefighter","c":1,"a":["firefighter"]},{"e":"👨🚒","d":"man firefighter","c":1,"a":["man_firefighter"]},{"e":"👩🚒","d":"woman firefighter","c":1,"a":["woman_firefighter"]},{"e":"👮","d":"police officer","c":1,"a":["police_officer","cop"],"t":["law"]},{"e":"👮♂️","d":"man police officer","c":1,"a":["policeman"],"t":["law","cop"]},{"e":"👮♀️","d":"woman police officer","c":1,"a":["policewoman"],"t":["law","cop"]},{"e":"🕵️","d":"detective","c":1,"a":["detective"],"t":["sleuth"]},{"e":"🕵️♂️","d":"man detective","c":1,"a":["male_detective"],"t":["sleuth"]},{"e":"🕵️♀️","d":"woman detective","c":1,"a":["female_detective"],"t":["sleuth"]},{"e":"💂","d":"guard","c":1,"a":["guard"]},{"e":"💂♂️","d":"man guard","c":1,"a":["guardsman"]},{"e":"💂♀️","d":"woman guard","c":1,"a":["guardswoman"]},{"e":"🥷","d":"ninja","c":1,"a":["ninja"]},{"e":"👷","d":"construction worker","c":1,"a":["construction_worker"],"t":["helmet"]},{"e":"👷♂️","d":"man construction worker","c":1,"a":["construction_worker_man"],"t":["helmet"]},{"e":"👷♀️","d":"woman construction worker","c":1,"a":["construction_worker_woman"],"t":["helmet"]},{"e":"🤴","d":"prince","c":1,"a":["prince"],"t":["crown","royal"]},{"e":"👸","d":"princess","c":1,"a":["princess"],"t":["crown","royal"]},{"e":"👳","d":"person wearing turban","c":1,"a":["person_with_turban"]},{"e":"👳♂️","d":"man wearing turban","c":1,"a":["man_with_turban"]},{"e":"👳♀️","d":"woman wearing turban","c":1,"a":["woman_with_turban"]},{"e":"👲","d":"person with skullcap","c":1,"a":["man_with_gua_pi_mao"]},{"e":"🧕","d":"woman with headscarf","c":1,"a":["woman_with_headscarf"],"t":["hijab"]},{"e":"🤵","d":"person in tuxedo","c":1,"a":["person_in_tuxedo"],"t":["groom","marriage","wedding"]},{"e":"🤵♂️","d":"man in tuxedo","c":1,"a":["man_in_tuxedo"]},{"e":"🤵♀️","d":"woman in tuxedo","c":1,"a":["woman_in_tuxedo"]},{"e":"👰","d":"person with veil","c":1,"a":["person_with_veil"],"t":["marriage","wedding"]},{"e":"👰♂️","d":"man with veil","c":1,"a":["man_with_veil"]},{"e":"👰♀️","d":"woman with veil","c":1,"a":["woman_with_veil","bride_with_veil"]},{"e":"🤰","d":"pregnant woman","c":1,"a":["pregnant_woman"]},{"e":"🤱","d":"breast-feeding","c":1,"a":["breast_feeding"],"t":["nursing"]},{"e":"👩🍼","d":"woman feeding baby","c":1,"a":["woman_feeding_baby"]},{"e":"👨🍼","d":"man feeding baby","c":1,"a":["man_feeding_baby"]},{"e":"🧑🍼","d":"person feeding baby","c":1,"a":["person_feeding_baby"]},{"e":"👼","d":"baby angel","c":1,"a":["angel"]},{"e":"🎅","d":"Santa Claus","c":1,"a":["santa"],"t":["christmas"]},{"e":"🤶","d":"Mrs. Claus","c":1,"a":["mrs_claus"],"t":["santa"]},{"e":"🧑🎄","d":"mx claus","c":1,"a":["mx_claus"]},{"e":"🦸","d":"superhero","c":1,"a":["superhero"]},{"e":"🦸♂️","d":"man superhero","c":1,"a":["superhero_man"]},{"e":"🦸♀️","d":"woman superhero","c":1,"a":["superhero_woman"]},{"e":"🦹","d":"supervillain","c":1,"a":["supervillain"]},{"e":"🦹♂️","d":"man supervillain","c":1,"a":["supervillain_man"]},{"e":"🦹♀️","d":"woman supervillain","c":1,"a":["supervillain_woman"]},{"e":"🧙","d":"mage","c":1,"a":["mage"],"t":["wizard"]},{"e":"🧙♂️","d":"man mage","c":1,"a":["mage_man"],"t":["wizard"]},{"e":"🧙♀️","d":"woman mage","c":1,"a":["mage_woman"],"t":["wizard"]},{"e":"🧚","d":"fairy","c":1,"a":["fairy"]},{"e":"🧚♂️","d":"man fairy","c":1,"a":["fairy_man"]},{"e":"🧚♀️","d":"woman fairy","c":1,"a":["fairy_woman"]},{"e":"🧛","d":"vampire","c":1,"a":["vampire"]},{"e":"🧛♂️","d":"man vampire","c":1,"a":["vampire_man"]},{"e":"🧛♀️","d":"woman vampire","c":1,"a":["vampire_woman"]},{"e":"🧜","d":"merperson","c":1,"a":["merperson"]},{"e":"🧜♂️","d":"merman","c":1,"a":["merman"]},{"e":"🧜♀️","d":"mermaid","c":1,"a":["mermaid"]},{"e":"🧝","d":"elf","c":1,"a":["elf"]},{"e":"🧝♂️","d":"man elf","c":1,"a":["elf_man"]},{"e":"🧝♀️","d":"woman elf","c":1,"a":["elf_woman"]},{"e":"🧞","d":"genie","c":1,"a":["genie"]},{"e":"🧞♂️","d":"man genie","c":1,"a":["genie_man"]},{"e":"🧞♀️","d":"woman genie","c":1,"a":["genie_woman"]},{"e":"🧟","d":"zombie","c":1,"a":["zombie"]},{"e":"🧟♂️","d":"man zombie","c":1,"a":["zombie_man"]},{"e":"🧟♀️","d":"woman zombie","c":1,"a":["zombie_woman"]},{"e":"💆","d":"person getting massage","c":1,"a":["massage"],"t":["spa"]},{"e":"💆♂️","d":"man getting massage","c":1,"a":["massage_man"],"t":["spa"]},{"e":"💆♀️","d":"woman getting massage","c":1,"a":["massage_woman"],"t":["spa"]},{"e":"💇","d":"person getting haircut","c":1,"a":["haircut"],"t":["beauty"]},{"e":"💇♂️","d":"man getting haircut","c":1,"a":["haircut_man"]},{"e":"💇♀️","d":"woman getting haircut","c":1,"a":["haircut_woman"]},{"e":"🚶","d":"person walking","c":1,"a":["walking"]},{"e":"🚶♂️","d":"man walking","c":1,"a":["walking_man"]},{"e":"🚶♀️","d":"woman walking","c":1,"a":["walking_woman"]},{"e":"🧍","d":"person standing","c":1,"a":["standing_person"]},{"e":"🧍♂️","d":"man standing","c":1,"a":["standing_man"]},{"e":"🧍♀️","d":"woman standing","c":1,"a":["standing_woman"]},{"e":"🧎","d":"person kneeling","c":1,"a":["kneeling_person"]},{"e":"🧎♂️","d":"man kneeling","c":1,"a":["kneeling_man"]},{"e":"🧎♀️","d":"woman kneeling","c":1,"a":["kneeling_woman"]},{"e":"🧑🦯","d":"person with white cane","c":1,"a":["person_with_probing_cane"]},{"e":"👨🦯","d":"man with white cane","c":1,"a":["man_with_probing_cane"]},{"e":"👩🦯","d":"woman with white cane","c":1,"a":["woman_with_probing_cane"]},{"e":"🧑🦼","d":"person in motorized wheelchair","c":1,"a":["person_in_motorized_wheelchair"]},{"e":"👨🦼","d":"man in motorized wheelchair","c":1,"a":["man_in_motorized_wheelchair"]},{"e":"👩🦼","d":"woman in motorized wheelchair","c":1,"a":["woman_in_motorized_wheelchair"]},{"e":"🧑🦽","d":"person in manual wheelchair","c":1,"a":["person_in_manual_wheelchair"]},{"e":"����🦽","d":"man in manual wheelchair","c":1,"a":["man_in_manual_wheelchair"]},{"e":"👩🦽","d":"woman in manual wheelchair","c":1,"a":["woman_in_manual_wheelchair"]},{"e":"🏃","d":"person running","c":1,"a":["runner","running"],"t":["exercise","workout","marathon"]},{"e":"🏃♂️","d":"man running","c":1,"a":["running_man"],"t":["exercise","workout","marathon"]},{"e":"🏃♀️","d":"woman running","c":1,"a":["running_woman"],"t":["exercise","workout","marathon"]},{"e":"💃","d":"woman dancing","c":1,"a":["woman_dancing","dancer"],"t":["dress"]},{"e":"🕺","d":"man dancing","c":1,"a":["man_dancing"],"t":["dancer"]},{"e":"🕴️","d":"person in suit levitating","c":1,"a":["business_suit_levitating"]},{"e":"👯","d":"people with bunny ears","c":1,"a":["dancers"],"t":["bunny"]},{"e":"👯♂️","d":"men with bunny ears","c":1,"a":["dancing_men"],"t":["bunny"]},{"e":"👯♀️","d":"women with bunny ears","c":1,"a":["dancing_women"],"t":["bunny"]},{"e":"🧖","d":"person in steamy room","c":1,"a":["sauna_person"],"t":["steamy"]},{"e":"🧖♂️","d":"man in steamy room","c":1,"a":["sauna_man"],"t":["steamy"]},{"e":"🧖♀️","d":"woman in steamy room","c":1,"a":["sauna_woman"],"t":["steamy"]},{"e":"🧗","d":"person climbing","c":1,"a":["climbing"],"t":["bouldering"]},{"e":"🧗♂️","d":"man climbing","c":1,"a":["climbing_man"],"t":["bouldering"]},{"e":"🧗♀️","d":"woman climbing","c":1,"a":["climbing_woman"],"t":["bouldering"]},{"e":"🤺","d":"person fencing","c":1,"a":["person_fencing"]},{"e":"🏇","d":"horse racing","c":1,"a":["horse_racing"]},{"e":"⛷️","d":"skier","c":1,"a":["skier"]},{"e":"🏂","d":"snowboarder","c":1,"a":["snowboarder"]},{"e":"🏌️","d":"person golfing","c":1,"a":["golfing"]},{"e":"🏌️♂️","d":"man golfing","c":1,"a":["golfing_man"]},{"e":"🏌️♀️","d":"woman golfing","c":1,"a":["golfing_woman"]},{"e":"🏄","d":"person surfing","c":1,"a":["surfer"]},{"e":"🏄♂️","d":"man surfing","c":1,"a":["surfing_man"]},{"e":"🏄♀️","d":"woman surfing","c":1,"a":["surfing_woman"]},{"e":"🚣","d":"person rowing boat","c":1,"a":["rowboat"]},{"e":"🚣♂️","d":"man rowing boat","c":1,"a":["rowing_man"]},{"e":"🚣♀️","d":"woman rowing boat","c":1,"a":["rowing_woman"]},{"e":"🏊","d":"person swimming","c":1,"a":["swimmer"]},{"e":"🏊♂️","d":"man swimming","c":1,"a":["swimming_man"]},{"e":"🏊♀️","d":"woman swimming","c":1,"a":["swimming_woman"]},{"e":"⛹️","d":"person bouncing ball","c":1,"a":["bouncing_ball_person"],"t":["basketball"]},{"e":"⛹️♂️","d":"man bouncing ball","c":1,"a":["bouncing_ball_man","basketball_man"]},{"e":"⛹️♀️","d":"woman bouncing ball","c":1,"a":["bouncing_ball_woman","basketball_woman"]},{"e":"🏋️","d":"person lifting weights","c":1,"a":["weight_lifting"],"t":["gym","workout"]},{"e":"🏋️♂️","d":"man lifting weights","c":1,"a":["weight_lifting_man"],"t":["gym","workout"]},{"e":"🏋️♀️","d":"woman lifting weights","c":1,"a":["weight_lifting_woman"],"t":["gym","workout"]},{"e":"🚴","d":"person biking","c":1,"a":["bicyclist"]},{"e":"🚴♂️","d":"man biking","c":1,"a":["biking_man"]},{"e":"🚴♀️","d":"woman biking","c":1,"a":["biking_woman"]},{"e":"🚵","d":"person mountain biking","c":1,"a":["mountain_bicyclist"]},{"e":"🚵♂️","d":"man mountain biking","c":1,"a":["mountain_biking_man"]},{"e":"🚵♀️","d":"woman mountain biking","c":1,"a":["mountain_biking_woman"]},{"e":"🤸","d":"person cartwheeling","c":1,"a":["cartwheeling"]},{"e":"🤸♂️","d":"man cartwheeling","c":1,"a":["man_cartwheeling"]},{"e":"🤸♀️","d":"woman cartwheeling","c":1,"a":["woman_cartwheeling"]},{"e":"🤼","d":"people wrestling","c":1,"a":["wrestling"]},{"e":"🤼♂️","d":"men wrestling","c":1,"a":["men_wrestling"]},{"e":"🤼♀️","d":"women wrestling","c":1,"a":["women_wrestling"]},{"e":"🤽","d":"person playing water polo","c":1,"a":["water_polo"]},{"e":"🤽♂️","d":"man playing water polo","c":1,"a":["man_playing_water_polo"]},{"e":"🤽♀️","d":"woman playing water polo","c":1,"a":["woman_playing_water_polo"]},{"e":"🤾","d":"person playing handball","c":1,"a":["handball_person"]},{"e":"🤾♂️","d":"man playing handball","c":1,"a":["man_playing_handball"]},{"e":"🤾♀️","d":"woman playing handball","c":1,"a":["woman_playing_handball"]},{"e":"🤹","d":"person juggling","c":1,"a":["juggling_person"]},{"e":"🤹♂️","d":"man juggling","c":1,"a":["man_juggling"]},{"e":"🤹♀️","d":"woman juggling","c":1,"a":["woman_juggling"]},{"e":"🧘","d":"person in lotus position","c":1,"a":["lotus_position"],"t":["meditation"]},{"e":"🧘♂️","d":"man in lotus position","c":1,"a":["lotus_position_man"],"t":["meditation"]},{"e":"🧘♀️","d":"woman in lotus position","c":1,"a":["lotus_position_woman"],"t":["meditation"]},{"e":"🛀","d":"person taking bath","c":1,"a":["bath"],"t":["shower"]},{"e":"🛌","d":"person in bed","c":1,"a":["sleeping_bed"]},{"e":"🧑🤝🧑","d":"people holding hands","c":1,"a":["people_holding_hands"],"t":["couple","date"]},{"e":"👭","d":"women holding hands","c":1,"a":["two_women_holding_hands"],"t":["couple","date"]},{"e":"👫","d":"woman and man holding hands","c":1,"a":["couple"],"t":["date"]},{"e":"👬","d":"men holding hands","c":1,"a":["two_men_holding_hands"],"t":["couple","date"]},{"e":"💏","d":"kiss","c":1,"a":["couplekiss"]},{"e":"👩❤️💋👨","d":"kiss: woman, man","c":1,"a":["couplekiss_man_woman"]},{"e":"👨❤️💋👨","d":"kiss: man, man","c":1,"a":["couplekiss_man_man"]},{"e":"👩❤️💋👩","d":"kiss: woman, woman","c":1,"a":["couplekiss_woman_woman"]},{"e":"💑","d":"couple with heart","c":1,"a":["couple_with_heart"]},{"e":"👩❤️👨","d":"couple with heart: woman, man","c":1,"a":["couple_with_heart_woman_man"]},{"e":"👨❤️👨","d":"couple with heart: man, man","c":1,"a":["couple_with_heart_man_man"]},{"e":"👩❤️👩","d":"couple with heart: woman, woman","c":1,"a":["couple_with_heart_woman_woman"]},{"e":"👪","d":"family","c":1,"a":["family"],"t":["home","parents","child"]},{"e":"👨👩👦","d":"family: man, woman, boy","c":1,"a":["family_man_woman_boy"]},{"e":"👨👩👧","d":"family: man, woman, girl","c":1,"a":["family_man_woman_girl"]},{"e":"👨👩👧👦","d":"family: man, woman, girl, boy","c":1,"a":["family_man_woman_girl_boy"]},{"e":"👨👩👦👦","d":"family: man, woman, boy, boy","c":1,"a":["family_man_woman_boy_boy"]},{"e":"👨👩👧👧","d":"family: man, woman, girl, girl","c":1,"a":["family_man_woman_girl_girl"]},{"e":"👨👨👦","d":"family: man, man, boy","c":1,"a":["family_man_man_boy"]},{"e":"👨👨👧","d":"family: man, man, girl","c":1,"a":["family_man_man_girl"]},{"e":"👨👨👧👦","d":"family: man, man, girl, boy","c":1,"a":["family_man_man_girl_boy"]},{"e":"👨👨👦👦","d":"family: man, man, boy, boy","c":1,"a":["family_man_man_boy_boy"]},{"e":"👨👨👧👧","d":"family: man, man, girl, girl","c":1,"a":["family_man_man_girl_girl"]},{"e":"👩👩👦","d":"family: woman, woman, boy","c":1,"a":["family_woman_woman_boy"]},{"e":"👩👩👧","d":"family: woman, woman, girl","c":1,"a":["family_woman_woman_girl"]},{"e":"👩👩👧👦","d":"family: woman, woman, girl, boy","c":1,"a":["family_woman_woman_girl_boy"]},{"e":"👩👩👦👦","d":"family: woman, woman, boy, boy","c":1,"a":["family_woman_woman_boy_boy"]},{"e":"👩👩👧👧","d":"family: woman, woman, girl, girl","c":1,"a":["family_woman_woman_girl_girl"]},{"e":"👨👦","d":"family: man, boy","c":1,"a":["family_man_boy"]},{"e":"👨👦👦","d":"family: man, boy, boy","c":1,"a":["family_man_boy_boy"]},{"e":"👨👧","d":"family: man, girl","c":1,"a":["family_man_girl"]},{"e":"👨👧👦","d":"family: man, girl, boy","c":1,"a":["family_man_girl_boy"]},{"e":"👨👧👧","d":"family: man, girl, girl","c":1,"a":["family_man_girl_girl"]},{"e":"👩👦","d":"family: woman, boy","c":1,"a":["family_woman_boy"]},{"e":"👩👦👦","d":"family: woman, boy, boy","c":1,"a":["family_woman_boy_boy"]},{"e":"👩👧","d":"family: woman, girl","c":1,"a":["family_woman_girl"]},{"e":"👩👧👦","d":"family: woman, girl, boy","c":1,"a":["family_woman_girl_boy"]},{"e":"👩👧👧","d":"family: woman, girl, girl","c":1,"a":["family_woman_girl_girl"]},{"e":"🗣️","d":"speaking head","c":1,"a":["speaking_head"]},{"e":"👤","d":"bust in silhouette","c":1,"a":["bust_in_silhouette"],"t":["user"]},{"e":"👥","d":"busts in silhouette","c":1,"a":["busts_in_silhouette"],"t":["users","group","team"]},{"e":"🫂","d":"people hugging","c":1,"a":["people_hugging"]},{"e":"👣","d":"footprints","c":1,"a":["footprints"],"t":["feet","tracks"]},{"e":"🐵","d":"monkey face","c":2,"a":["monkey_face"]},{"e":"🐒","d":"monkey","c":2,"a":["monkey"]},{"e":"🦍","d":"gorilla","c":2,"a":["gorilla"]},{"e":"🦧","d":"orangutan","c":2,"a":["orangutan"]},{"e":"🐶","d":"dog face","c":2,"a":["dog"],"t":["pet"]},{"e":"🐕","d":"dog","c":2,"a":["dog2"]},{"e":"🦮","d":"guide dog","c":2,"a":["guide_dog"]},{"e":"🐕🦺","d":"service dog","c":2,"a":["service_dog"]},{"e":"🐩","d":"poodle","c":2,"a":["poodle"],"t":["dog"]},{"e":"🐺","d":"wolf","c":2,"a":["wolf"]},{"e":"🦊","d":"fox","c":2,"a":["fox_face"]},{"e":"🦝","d":"raccoon","c":2,"a":["raccoon"]},{"e":"🐱","d":"cat face","c":2,"a":["cat"],"t":["pet"]},{"e":"🐈","d":"cat","c":2,"a":["cat2"]},{"e":"🐈⬛","d":"black cat","c":2,"a":["black_cat"]},{"e":"🦁","d":"lion","c":2,"a":["lion"]},{"e":"🐯","d":"tiger face","c":2,"a":["tiger"]},{"e":"🐅","d":"tiger","c":2,"a":["tiger2"]},{"e":"🐆","d":"leopard","c":2,"a":["leopard"]},{"e":"🐴","d":"horse face","c":2,"a":["horse"]},{"e":"🐎","d":"horse","c":2,"a":["racehorse"],"t":["speed"]},{"e":"🦄","d":"unicorn","c":2,"a":["unicorn"]},{"e":"🦓","d":"zebra","c":2,"a":["zebra"]},{"e":"🦌","d":"deer","c":2,"a":["deer"]},{"e":"🦬","d":"bison","c":2,"a":["bison"]},{"e":"🐮","d":"cow face","c":2,"a":["cow"]},{"e":"🐂","d":"ox","c":2,"a":["ox"]},{"e":"🐃","d":"water buffalo","c":2,"a":["water_buffalo"]},{"e":"🐄","d":"cow","c":2,"a":["cow2"]},{"e":"🐷","d":"pig face","c":2,"a":["pig"]},{"e":"🐖","d":"pig","c":2,"a":["pig2"]},{"e":"🐗","d":"boar","c":2,"a":["boar"]},{"e":"🐽","d":"pig nose","c":2,"a":["pig_nose"]},{"e":"🐏","d":"ram","c":2,"a":["ram"]},{"e":"🐑","d":"ewe","c":2,"a":["sheep"]},{"e":"🐐","d":"goat","c":2,"a":["goat"]},{"e":"🐪","d":"camel","c":2,"a":["dromedary_camel"],"t":["desert"]},{"e":"🐫","d":"two-hump camel","c":2,"a":["camel"]},{"e":"🦙","d":"llama","c":2,"a":["llama"]},{"e":"🦒","d":"giraffe","c":2,"a":["giraffe"]},{"e":"🐘","d":"elephant","c":2,"a":["elephant"]},{"e":"🦣","d":"mammoth","c":2,"a":["mammoth"]},{"e":"🦏","d":"rhinoceros","c":2,"a":["rhinoceros"]},{"e":"🦛","d":"hippopotamus","c":2,"a":["hippopotamus"]},{"e":"🐭","d":"mouse face","c":2,"a":["mouse"]},{"e":"🐁","d":"mouse","c":2,"a":["mouse2"]},{"e":"🐀","d":"rat","c":2,"a":["rat"]},{"e":"🐹","d":"hamster","c":2,"a":["hamster"],"t":["pet"]},{"e":"🐰","d":"rabbit face","c":2,"a":["rabbit"],"t":["bunny"]},{"e":"🐇","d":"rabbit","c":2,"a":["rabbit2"]},{"e":"🐿️","d":"chipmunk","c":2,"a":["chipmunk"]},{"e":"🦫","d":"beaver","c":2,"a":["beaver"]},{"e":"🦔","d":"hedgehog","c":2,"a":["hedgehog"]},{"e":"🦇","d":"bat","c":2,"a":["bat"]},{"e":"🐻","d":"bear","c":2,"a":["bear"]},{"e":"🐻❄️","d":"polar bear","c":2,"a":["polar_bear"]},{"e":"🐨","d":"koala","c":2,"a":["koala"]},{"e":"🐼","d":"panda","c":2,"a":["panda_face"]},{"e":"🦥","d":"sloth","c":2,"a":["sloth"]},{"e":"🦦","d":"otter","c":2,"a":["otter"]},{"e":"🦨","d":"skunk","c":2,"a":["skunk"]},{"e":"🦘","d":"kangaroo","c":2,"a":["kangaroo"]},{"e":"🦡","d":"badger","c":2,"a":["badger"]},{"e":"🐾","d":"paw prints","c":2,"a":["feet","paw_prints"]},{"e":"🦃","d":"turkey","c":2,"a":["turkey"],"t":["thanksgiving"]},{"e":"🐔","d":"chicken","c":2,"a":["chicken"]},{"e":"🐓","d":"rooster","c":2,"a":["rooster"]},{"e":"🐣","d":"hatching chick","c":2,"a":["hatching_chick"]},{"e":"🐤","d":"baby chick","c":2,"a":["baby_chick"]},{"e":"🐥","d":"front-facing baby chick","c":2,"a":["hatched_chick"]},{"e":"🐦","d":"bird","c":2,"a":["bird"]},{"e":"🐧","d":"penguin","c":2,"a":["penguin"]},{"e":"🕊️","d":"dove","c":2,"a":["dove"],"t":["peace"]},{"e":"🦅","d":"eagle","c":2,"a":["eagle"]},{"e":"🦆","d":"duck","c":2,"a":["duck"]},{"e":"🦢","d":"swan","c":2,"a":["swan"]},{"e":"🦉","d":"owl","c":2,"a":["owl"]},{"e":"🦤","d":"dodo","c":2,"a":["dodo"]},{"e":"🪶","d":"feather","c":2,"a":["feather"]},{"e":"🦩","d":"flamingo","c":2,"a":["flamingo"]},{"e":"🦚","d":"peacock","c":2,"a":["peacock"]},{"e":"🦜","d":"parrot","c":2,"a":["parrot"]},{"e":"🐸","d":"frog","c":2,"a":["frog"]},{"e":"🐊","d":"crocodile","c":2,"a":["crocodile"]},{"e":"🐢","d":"turtle","c":2,"a":["turtle"],"t":["slow"]},{"e":"🦎","d":"lizard","c":2,"a":["lizard"]},{"e":"🐍","d":"snake","c":2,"a":["snake"]},{"e":"🐲","d":"dragon face","c":2,"a":["dragon_face"]},{"e":"🐉","d":"dragon","c":2,"a":["dragon"]},{"e":"🦕","d":"sauropod","c":2,"a":["sauropod"],"t":["dinosaur"]},{"e":"🦖","d":"T-Rex","c":2,"a":["t-rex"],"t":["dinosaur"]},{"e":"🐳","d":"spouting whale","c":2,"a":["whale"],"t":["sea"]},{"e":"🐋","d":"whale","c":2,"a":["whale2"]},{"e":"🐬","d":"dolphin","c":2,"a":["dolphin","flipper"]},{"e":"🦭","d":"seal","c":2,"a":["seal"]},{"e":"🐟","d":"fish","c":2,"a":["fish"]},{"e":"🐠","d":"tropical fish","c":2,"a":["tropical_fish"]},{"e":"🐡","d":"blowfish","c":2,"a":["blowfish"]},{"e":"🦈","d":"shark","c":2,"a":["shark"]},{"e":"🐙","d":"octopus","c":2,"a":["octopus"]},{"e":"🐚","d":"spiral shell","c":2,"a":["shell"],"t":["sea","beach"]},{"e":"🐌","d":"snail","c":2,"a":["snail"],"t":["slow"]},{"e":"🦋","d":"butterfly","c":2,"a":["butterfly"]},{"e":"🐛","d":"bug","c":2,"a":["bug"]},{"e":"🐜","d":"ant","c":2,"a":["ant"]},{"e":"🐝","d":"honeybee","c":2,"a":["bee","honeybee"]},{"e":"🪲","d":"beetle","c":2,"a":["beetle"]},{"e":"🐞","d":"lady beetle","c":2,"a":["lady_beetle"],"t":["bug"]},{"e":"🦗","d":"cricket","c":2,"a":["cricket"]},{"e":"🪳","d":"cockroach","c":2,"a":["cockroach"]},{"e":"🕷️","d":"spider","c":2,"a":["spider"]},{"e":"🕸️","d":"spider web","c":2,"a":["spider_web"]},{"e":"🦂","d":"scorpion","c":2,"a":["scorpion"]},{"e":"🦟","d":"mosquito","c":2,"a":["mosquito"]},{"e":"🪰","d":"fly","c":2,"a":["fly"]},{"e":"🪱","d":"worm","c":2,"a":["worm"]},{"e":"🦠","d":"microbe","c":2,"a":["microbe"],"t":["germ"]},{"e":"💐","d":"bouquet","c":2,"a":["bouquet"],"t":["flowers"]},{"e":"🌸","d":"cherry blossom","c":2,"a":["cherry_blossom"],"t":["flower","spring"]},{"e":"💮","d":"white flower","c":2,"a":["white_flower"]},{"e":"🏵️","d":"rosette","c":2,"a":["rosette"]},{"e":"🌹","d":"rose","c":2,"a":["rose"],"t":["flower"]},{"e":"🥀","d":"wilted flower","c":2,"a":["wilted_flower"]},{"e":"🌺","d":"hibiscus","c":2,"a":["hibiscus"]},{"e":"🌻","d":"sunflower","c":2,"a":["sunflower"]},{"e":"🌼","d":"blossom","c":2,"a":["blossom"]},{"e":"🌷","d":"tulip","c":2,"a":["tulip"],"t":["flower"]},{"e":"🌱","d":"seedling","c":2,"a":["seedling"],"t":["plant"]},{"e":"🪴","d":"potted plant","c":2,"a":["potted_plant"]},{"e":"🌲","d":"evergreen tree","c":2,"a":["evergreen_tree"],"t":["wood"]},{"e":"🌳","d":"deciduous tree","c":2,"a":["deciduous_tree"],"t":["wood"]},{"e":"🌴","d":"palm tree","c":2,"a":["palm_tree"]},{"e":"🌵","d":"cactus","c":2,"a":["cactus"]},{"e":"🌾","d":"sheaf of rice","c":2,"a":["ear_of_rice"]},{"e":"🌿","d":"herb","c":2,"a":["herb"]},{"e":"☘️","d":"shamrock","c":2,"a":["shamrock"]},{"e":"🍀","d":"four leaf clover","c":2,"a":["four_leaf_clover"],"t":["luck"]},{"e":"🍁","d":"maple leaf","c":2,"a":["maple_leaf"],"t":["canada"]},{"e":"🍂","d":"fallen leaf","c":2,"a":["fallen_leaf"],"t":["autumn"]},{"e":"🍃","d":"leaf fluttering in wind","c":2,"a":["leaves"],"t":["leaf"]},{"e":"🍇","d":"grapes","c":3,"a":["grapes"]},{"e":"🍈","d":"melon","c":3,"a":["melon"]},{"e":"🍉","d":"watermelon","c":3,"a":["watermelon"]},{"e":"🍊","d":"tangerine","c":3,"a":["tangerine","orange","mandarin"]},{"e":"🍋","d":"lemon","c":3,"a":["lemon"]},{"e":"🍌","d":"banana","c":3,"a":["banana"],"t":["fruit"]},{"e":"🍍","d":"pineapple","c":3,"a":["pineapple"]},{"e":"🥭","d":"mango","c":3,"a":["mango"]},{"e":"🍎","d":"red apple","c":3,"a":["apple"]},{"e":"🍏","d":"green apple","c":3,"a":["green_apple"],"t":["fruit"]},{"e":"🍐","d":"pear","c":3,"a":["pear"]},{"e":"🍑","d":"peach","c":3,"a":["peach"]},{"e":"🍒","d":"cherries","c":3,"a":["cherries"],"t":["fruit"]},{"e":"🍓","d":"strawberry","c":3,"a":["strawberry"],"t":["fruit"]},{"e":"🫐","d":"blueberries","c":3,"a":["blueberries"]},{"e":"🥝","d":"kiwi fruit","c":3,"a":["kiwi_fruit"]},{"e":"🍅","d":"tomato","c":3,"a":["tomato"]},{"e":"🫒","d":"olive","c":3,"a":["olive"]},{"e":"🥥","d":"coconut","c":3,"a":["coconut"]},{"e":"🥑","d":"avocado","c":3,"a":["avocado"]},{"e":"🍆","d":"eggplant","c":3,"a":["eggplant"],"t":["aubergine"]},{"e":"🥔","d":"potato","c":3,"a":["potato"]},{"e":"🥕","d":"carrot","c":3,"a":["carrot"]},{"e":"🌽","d":"ear of corn","c":3,"a":["corn"]},{"e":"🌶️","d":"hot pepper","c":3,"a":["hot_pepper"],"t":["spicy"]},{"e":"🫑","d":"bell pepper","c":3,"a":["bell_pepper"]},{"e":"🥒","d":"cucumber","c":3,"a":["cucumber"]},{"e":"🥬","d":"leafy green","c":3,"a":["leafy_green"]},{"e":"🥦","d":"broccoli","c":3,"a":["broccoli"]},{"e":"🧄","d":"garlic","c":3,"a":["garlic"]},{"e":"🧅","d":"onion","c":3,"a":["onion"]},{"e":"🍄","d":"mushroom","c":3,"a":["mushroom"]},{"e":"🥜","d":"peanuts","c":3,"a":["peanuts"]},{"e":"🌰","d":"chestnut","c":3,"a":["chestnut"]},{"e":"🍞","d":"bread","c":3,"a":["bread"],"t":["toast"]},{"e":"🥐","d":"croissant","c":3,"a":["croissant"]},{"e":"🥖","d":"baguette bread","c":3,"a":["baguette_bread"]},{"e":"🫓","d":"flatbread","c":3,"a":["flatbread"]},{"e":"🥨","d":"pretzel","c":3,"a":["pretzel"]},{"e":"🥯","d":"bagel","c":3,"a":["bagel"]},{"e":"🥞","d":"pancakes","c":3,"a":["pancakes"]},{"e":"🧇","d":"waffle","c":3,"a":["waffle"]},{"e":"🧀","d":"cheese wedge","c":3,"a":["cheese"]},{"e":"🍖","d":"meat on bone","c":3,"a":["meat_on_bone"]},{"e":"🍗","d":"poultry leg","c":3,"a":["poultry_leg"],"t":["meat","chicken"]},{"e":"🥩","d":"cut of meat","c":3,"a":["cut_of_meat"]},{"e":"🥓","d":"bacon","c":3,"a":["bacon"]},{"e":"🍔","d":"hamburger","c":3,"a":["hamburger"],"t":["burger"]},{"e":"🍟","d":"french fries","c":3,"a":["fries"]},{"e":"🍕","d":"pizza","c":3,"a":["pizza"]},{"e":"🌭","d":"hot dog","c":3,"a":["hotdog"]},{"e":"🥪","d":"sandwich","c":3,"a":["sandwich"]},{"e":"🌮","d":"taco","c":3,"a":["taco"]},{"e":"🌯","d":"burrito","c":3,"a":["burrito"]},{"e":"🫔","d":"tamale","c":3,"a":["tamale"]},{"e":"🥙","d":"stuffed flatbread","c":3,"a":["stuffed_flatbread"]},{"e":"🧆","d":"falafel","c":3,"a":["falafel"]},{"e":"🥚","d":"egg","c":3,"a":["egg"]},{"e":"🍳","d":"cooking","c":3,"a":["fried_egg"],"t":["breakfast"]},{"e":"🥘","d":"shallow pan of food","c":3,"a":["shallow_pan_of_food"],"t":["paella","curry"]},{"e":"🍲","d":"pot of food","c":3,"a":["stew"]},{"e":"🫕","d":"fondue","c":3,"a":["fondue"]},{"e":"🥣","d":"bowl with spoon","c":3,"a":["bowl_with_spoon"]},{"e":"🥗","d":"green salad","c":3,"a":["green_salad"]},{"e":"🍿","d":"popcorn","c":3,"a":["popcorn"]},{"e":"🧈","d":"butter","c":3,"a":["butter"]},{"e":"🧂","d":"salt","c":3,"a":["salt"]},{"e":"🥫","d":"canned food","c":3,"a":["canned_food"]},{"e":"🍱","d":"bento box","c":3,"a":["bento"]},{"e":"🍘","d":"rice cracker","c":3,"a":["rice_cracker"]},{"e":"🍙","d":"rice ball","c":3,"a":["rice_ball"]},{"e":"🍚","d":"cooked rice","c":3,"a":["rice"]},{"e":"🍛","d":"curry rice","c":3,"a":["curry"]},{"e":"🍜","d":"steaming bowl","c":3,"a":["ramen"],"t":["noodle"]},{"e":"🍝","d":"spaghetti","c":3,"a":["spaghetti"],"t":["pasta"]},{"e":"🍠","d":"roasted sweet potato","c":3,"a":["sweet_potato"]},{"e":"🍢","d":"oden","c":3,"a":["oden"]},{"e":"🍣","d":"sushi","c":3,"a":["sushi"]},{"e":"🍤","d":"fried shrimp","c":3,"a":["fried_shrimp"],"t":["tempura"]},{"e":"🍥","d":"fish cake with swirl","c":3,"a":["fish_cake"]},{"e":"🥮","d":"moon cake","c":3,"a":["moon_cake"]},{"e":"🍡","d":"dango","c":3,"a":["dango"]},{"e":"🥟","d":"dumpling","c":3,"a":["dumpling"]},{"e":"🥠","d":"fortune cookie","c":3,"a":["fortune_cookie"]},{"e":"🥡","d":"takeout box","c":3,"a":["takeout_box"]},{"e":"🦀","d":"crab","c":3,"a":["crab"]},{"e":"🦞","d":"lobster","c":3,"a":["lobster"]},{"e":"🦐","d":"shrimp","c":3,"a":["shrimp"]},{"e":"🦑","d":"squid","c":3,"a":["squid"]},{"e":"🦪","d":"oyster","c":3,"a":["oyster"]},{"e":"🍦","d":"soft ice cream","c":3,"a":["icecream"]},{"e":"🍧","d":"shaved ice","c":3,"a":["shaved_ice"]},{"e":"🍨","d":"ice cream","c":3,"a":["ice_cream"]},{"e":"🍩","d":"doughnut","c":3,"a":["doughnut"]},{"e":"🍪","d":"cookie","c":3,"a":["cookie"]},{"e":"🎂","d":"birthday cake","c":3,"a":["birthday"],"t":["party"]},{"e":"🍰","d":"shortcake","c":3,"a":["cake"],"t":["dessert"]},{"e":"🧁","d":"cupcake","c":3,"a":["cupcake"]},{"e":"🥧","d":"pie","c":3,"a":["pie"]},{"e":"🍫","d":"chocolate bar","c":3,"a":["chocolate_bar"]},{"e":"🍬","d":"candy","c":3,"a":["candy"],"t":["sweet"]},{"e":"🍭","d":"lollipop","c":3,"a":["lollipop"]},{"e":"🍮","d":"custard","c":3,"a":["custard"]},{"e":"🍯","d":"honey pot","c":3,"a":["honey_pot"]},{"e":"🍼","d":"baby bottle","c":3,"a":["baby_bottle"],"t":["milk"]},{"e":"🥛","d":"glass of milk","c":3,"a":["milk_glass"]},{"e":"☕","d":"hot beverage","c":3,"a":["coffee"],"t":["cafe","espresso"]},{"e":"🫖","d":"teapot","c":3,"a":["teapot"]},{"e":"🍵","d":"teacup without handle","c":3,"a":["tea"],"t":["green","breakfast"]},{"e":"🍶","d":"sake","c":3,"a":["sake"]},{"e":"🍾","d":"bottle with popping cork","c":3,"a":["champagne"],"t":["bottle","bubbly","celebration"]},{"e":"🍷","d":"wine glass","c":3,"a":["wine_glass"]},{"e":"🍸","d":"cocktail glass","c":3,"a":["cocktail"],"t":["drink"]},{"e":"🍹","d":"tropical drink","c":3,"a":["tropical_drink"],"t":["summer","vacation"]},{"e":"🍺","d":"beer mug","c":3,"a":["beer"],"t":["drink"]},{"e":"🍻","d":"clinking beer mugs","c":3,"a":["beers"],"t":["drinks"]},{"e":"🥂","d":"clinking glasses","c":3,"a":["clinking_glasses"],"t":["cheers","toast"]},{"e":"🥃","d":"tumbler glass","c":3,"a":["tumbler_glass"],"t":["whisky"]},{"e":"🥤","d":"cup with straw","c":3,"a":["cup_with_straw"]},{"e":"🧋","d":"bubble tea","c":3,"a":["bubble_tea"]},{"e":"🧃","d":"beverage box","c":3,"a":["beverage_box"]},{"e":"🧉","d":"mate","c":3,"a":["mate"]},{"e":"🧊","d":"ice","c":3,"a":["ice_cube"]},{"e":"🥢","d":"chopsticks","c":3,"a":["chopsticks"]},{"e":"🍽️","d":"fork and knife with plate","c":3,"a":["plate_with_cutlery"],"t":["dining","dinner"]},{"e":"🍴","d":"fork and knife","c":3,"a":["fork_and_knife"],"t":["cutlery"]},{"e":"🥄","d":"spoon","c":3,"a":["spoon"]},{"e":"🔪","d":"kitchen knife","c":3,"a":["hocho","knife"],"t":["cut","chop"]},{"e":"🏺","d":"amphora","c":3,"a":["amphora"]},{"e":"🌍","d":"globe showing Europe-Africa","c":4,"a":["earth_africa"],"t":["globe","world","international"]},{"e":"🌎","d":"globe showing Americas","c":4,"a":["earth_americas"],"t":["globe","world","international"]},{"e":"🌏","d":"globe showing Asia-Australia","c":4,"a":["earth_asia"],"t":["globe","world","international"]},{"e":"🌐","d":"globe with meridians","c":4,"a":["globe_with_meridians"],"t":["world","global","international"]},{"e":"🗺️","d":"world map","c":4,"a":["world_map"],"t":["travel"]},{"e":"🗾","d":"map of Japan","c":4,"a":["japan"]},{"e":"🧭","d":"compass","c":4,"a":["compass"]},{"e":"🏔️","d":"snow-capped mountain","c":4,"a":["mountain_snow"]},{"e":"⛰️","d":"mountain","c":4,"a":["mountain"]},{"e":"🌋","d":"volcano","c":4,"a":["volcano"]},{"e":"🗻","d":"mount fuji","c":4,"a":["mount_fuji"]},{"e":"🏕️","d":"camping","c":4,"a":["camping"]},{"e":"🏖️","d":"beach with umbrella","c":4,"a":["beach_umbrella"]},{"e":"🏜️","d":"desert","c":4,"a":["desert"]},{"e":"🏝️","d":"desert island","c":4,"a":["desert_island"]},{"e":"🏞️","d":"national park","c":4,"a":["national_park"]},{"e":"🏟️","d":"stadium","c":4,"a":["stadium"]},{"e":"🏛️","d":"classical building","c":4,"a":["classical_building"]},{"e":"🏗️","d":"building construction","c":4,"a":["building_construction"]},{"e":"🧱","d":"brick","c":4,"a":["bricks"]},{"e":"🪨","d":"rock","c":4,"a":["rock"]},{"e":"🪵","d":"wood","c":4,"a":["wood"]},{"e":"🛖","d":"hut","c":4,"a":["hut"]},{"e":"🏘️","d":"houses","c":4,"a":["houses"]},{"e":"🏚️","d":"derelict house","c":4,"a":["derelict_house"]},{"e":"🏠","d":"house","c":4,"a":["house"]},{"e":"🏡","d":"house with garden","c":4,"a":["house_with_garden"]},{"e":"🏢","d":"office building","c":4,"a":["office"]},{"e":"🏣","d":"Japanese post office","c":4,"a":["post_office"]},{"e":"🏤","d":"post office","c":4,"a":["european_post_office"]},{"e":"🏥","d":"hospital","c":4,"a":["hospital"]},{"e":"🏦","d":"bank","c":4,"a":["bank"]},{"e":"🏨","d":"hotel","c":4,"a":["hotel"]},{"e":"🏩","d":"love hotel","c":4,"a":["love_hotel"]},{"e":"🏪","d":"convenience store","c":4,"a":["convenience_store"]},{"e":"🏫","d":"school","c":4,"a":["school"]},{"e":"🏬","d":"department store","c":4,"a":["department_store"]},{"e":"🏭","d":"factory","c":4,"a":["factory"]},{"e":"🏯","d":"Japanese castle","c":4,"a":["japanese_castle"]},{"e":"🏰","d":"castle","c":4,"a":["european_castle"]},{"e":"💒","d":"wedding","c":4,"a":["wedding"],"t":["marriage"]},{"e":"🗼","d":"Tokyo tower","c":4,"a":["tokyo_tower"]},{"e":"🗽","d":"Statue of Liberty","c":4,"a":["statue_of_liberty"]},{"e":"⛪","d":"church","c":4,"a":["church"]},{"e":"🕌","d":"mosque","c":4,"a":["mosque"]},{"e":"🛕","d":"hindu temple","c":4,"a":["hindu_temple"]},{"e":"🕍","d":"synagogue","c":4,"a":["synagogue"]},{"e":"⛩️","d":"shinto shrine","c":4,"a":["shinto_shrine"]},{"e":"🕋","d":"kaaba","c":4,"a":["kaaba"]},{"e":"⛲","d":"fountain","c":4,"a":["fountain"]},{"e":"⛺","d":"tent","c":4,"a":["tent"],"t":["camping"]},{"e":"🌁","d":"foggy","c":4,"a":["foggy"],"t":["karl"]},{"e":"🌃","d":"night with stars","c":4,"a":["night_with_stars"]},{"e":"🏙️","d":"cityscape","c":4,"a":["cityscape"],"t":["skyline"]},{"e":"🌄","d":"sunrise over mountains","c":4,"a":["sunrise_over_mountains"]},{"e":"🌅","d":"sunrise","c":4,"a":["sunrise"]},{"e":"🌆","d":"cityscape at dusk","c":4,"a":["city_sunset"]},{"e":"🌇","d":"sunset","c":4,"a":["city_sunrise"]},{"e":"🌉","d":"bridge at night","c":4,"a":["bridge_at_night"]},{"e":"♨️","d":"hot springs","c":4,"a":["hotsprings"]},{"e":"🎠","d":"carousel horse","c":4,"a":["carousel_horse"]},{"e":"🎡","d":"ferris wheel","c":4,"a":["ferris_wheel"]},{"e":"🎢","d":"roller coaster","c":4,"a":["roller_coaster"]},{"e":"💈","d":"barber pole","c":4,"a":["barber"]},{"e":"🎪","d":"circus tent","c":4,"a":["circus_tent"]},{"e":"🚂","d":"locomotive","c":4,"a":["steam_locomotive"],"t":["train"]},{"e":"🚃","d":"railway car","c":4,"a":["railway_car"]},{"e":"🚄","d":"high-speed train","c":4,"a":["bullettrain_side"],"t":["train"]},{"e":"🚅","d":"bullet train","c":4,"a":["bullettrain_front"],"t":["train"]},{"e":"🚆","d":"train","c":4,"a":["train2"]},{"e":"🚇","d":"metro","c":4,"a":["metro"]},{"e":"🚈","d":"light rail","c":4,"a":["light_rail"]},{"e":"🚉","d":"station","c":4,"a":["station"]},{"e":"🚊","d":"tram","c":4,"a":["tram"]},{"e":"🚝","d":"monorail","c":4,"a":["monorail"]},{"e":"🚞","d":"mountain railway","c":4,"a":["mountain_railway"]},{"e":"🚋","d":"tram car","c":4,"a":["train"]},{"e":"🚌","d":"bus","c":4,"a":["bus"]},{"e":"🚍","d":"oncoming bus","c":4,"a":["oncoming_bus"]},{"e":"🚎","d":"trolleybus","c":4,"a":["trolleybus"]},{"e":"🚐","d":"minibus","c":4,"a":["minibus"]},{"e":"🚑","d":"ambulance","c":4,"a":["ambulance"]},{"e":"🚒","d":"fire engine","c":4,"a":["fire_engine"]},{"e":"🚓","d":"police car","c":4,"a":["police_car"]},{"e":"🚔","d":"oncoming police car","c":4,"a":["oncoming_police_car"]},{"e":"🚕","d":"taxi","c":4,"a":["taxi"]},{"e":"🚖","d":"oncoming taxi","c":4,"a":["oncoming_taxi"]},{"e":"🚗","d":"automobile","c":4,"a":["car","red_car"]},{"e":"🚘","d":"oncoming automobile","c":4,"a":["oncoming_automobile"]},{"e":"🚙","d":"sport utility vehicle","c":4,"a":["blue_car"]},{"e":"🛻","d":"pickup truck","c":4,"a":["pickup_truck"]},{"e":"🚚","d":"delivery truck","c":4,"a":["truck"]},{"e":"🚛","d":"articulated lorry","c":4,"a":["articulated_lorry"]},{"e":"🚜","d":"tractor","c":4,"a":["tractor"]},{"e":"🏎️","d":"racing car","c":4,"a":["racing_car"]},{"e":"🏍️","d":"motorcycle","c":4,"a":["motorcycle"]},{"e":"🛵","d":"motor scooter","c":4,"a":["motor_scooter"]},{"e":"🦽","d":"manual wheelchair","c":4,"a":["manual_wheelchair"]},{"e":"🦼","d":"motorized wheelchair","c":4,"a":["motorized_wheelchair"]},{"e":"🛺","d":"auto rickshaw","c":4,"a":["auto_rickshaw"]},{"e":"🚲","d":"bicycle","c":4,"a":["bike"],"t":["bicycle"]},{"e":"🛴","d":"kick scooter","c":4,"a":["kick_scooter"]},{"e":"🛹","d":"skateboard","c":4,"a":["skateboard"]},{"e":"🛼","d":"roller skate","c":4,"a":["roller_skate"]},{"e":"🚏","d":"bus stop","c":4,"a":["busstop"]},{"e":"🛣️","d":"motorway","c":4,"a":["motorway"]},{"e":"🛤️","d":"railway track","c":4,"a":["railway_track"]},{"e":"🛢️","d":"oil drum","c":4,"a":["oil_drum"]},{"e":"⛽","d":"fuel pump","c":4,"a":["fuelpump"]},{"e":"🚨","d":"police car light","c":4,"a":["rotating_light"],"t":["911","emergency"]},{"e":"🚥","d":"horizontal traffic light","c":4,"a":["traffic_light"]},{"e":"🚦","d":"vertical traffic light","c":4,"a":["vertical_traffic_light"],"t":["semaphore"]},{"e":"🛑","d":"stop sign","c":4,"a":["stop_sign"]},{"e":"🚧","d":"construction","c":4,"a":["construction"],"t":["wip"]},{"e":"⚓","d":"anchor","c":4,"a":["anchor"],"t":["ship"]},{"e":"⛵","d":"sailboat","c":4,"a":["boat","sailboat"]},{"e":"🛶","d":"canoe","c":4,"a":["canoe"]},{"e":"🚤","d":"speedboat","c":4,"a":["speedboat"],"t":["ship"]},{"e":"🛳️","d":"passenger ship","c":4,"a":["passenger_ship"],"t":["cruise"]},{"e":"⛴️","d":"ferry","c":4,"a":["ferry"]},{"e":"🛥️","d":"motor boat","c":4,"a":["motor_boat"]},{"e":"🚢","d":"ship","c":4,"a":["ship"]},{"e":"✈️","d":"airplane","c":4,"a":["airplane"],"t":["flight"]},{"e":"🛩️","d":"small airplane","c":4,"a":["small_airplane"],"t":["flight"]},{"e":"🛫","d":"airplane departure","c":4,"a":["flight_departure"]},{"e":"🛬","d":"airplane arrival","c":4,"a":["flight_arrival"]},{"e":"🪂","d":"parachute","c":4,"a":["parachute"]},{"e":"💺","d":"seat","c":4,"a":["seat"]},{"e":"🚁","d":"helicopter","c":4,"a":["helicopter"]},{"e":"🚟","d":"suspension railway","c":4,"a":["suspension_railway"]},{"e":"🚠","d":"mountain cableway","c":4,"a":["mountain_cableway"]},{"e":"🚡","d":"aerial tramway","c":4,"a":["aerial_tramway"]},{"e":"🛰️","d":"satellite","c":4,"a":["artificial_satellite"],"t":["orbit","space"]},{"e":"🚀","d":"rocket","c":4,"a":["rocket"],"t":["ship","launch"]},{"e":"🛸","d":"flying saucer","c":4,"a":["flying_saucer"],"t":["ufo"]},{"e":"🛎️","d":"bellhop bell","c":4,"a":["bellhop_bell"]},{"e":"🧳","d":"luggage","c":4,"a":["luggage"]},{"e":"⌛","d":"hourglass done","c":4,"a":["hourglass"],"t":["time"]},{"e":"⏳","d":"hourglass not done","c":4,"a":["hourglass_flowing_sand"],"t":["time"]},{"e":"⌚","d":"watch","c":4,"a":["watch"],"t":["time"]},{"e":"⏰","d":"alarm clock","c":4,"a":["alarm_clock"],"t":["morning"]},{"e":"⏱️","d":"stopwatch","c":4,"a":["stopwatch"]},{"e":"⏲️","d":"timer clock","c":4,"a":["timer_clock"]},{"e":"🕰️","d":"mantelpiece clock","c":4,"a":["mantelpiece_clock"]},{"e":"🕛","d":"twelve o’clock","c":4,"a":["clock12"]},{"e":"🕧","d":"twelve-thirty","c":4,"a":["clock1230"]},{"e":"🕐","d":"one o’clock","c":4,"a":["clock1"]},{"e":"🕜","d":"one-thirty","c":4,"a":["clock130"]},{"e":"🕑","d":"two o’clock","c":4,"a":["clock2"]},{"e":"🕝","d":"two-thirty","c":4,"a":["clock230"]},{"e":"🕒","d":"three o’clock","c":4,"a":["clock3"]},{"e":"🕞","d":"three-thirty","c":4,"a":["clock330"]},{"e":"🕓","d":"four o’clock","c":4,"a":["clock4"]},{"e":"🕟","d":"four-thirty","c":4,"a":["clock430"]},{"e":"🕔","d":"five o’clock","c":4,"a":["clock5"]},{"e":"🕠","d":"five-thirty","c":4,"a":["clock530"]},{"e":"🕕","d":"six o’clock","c":4,"a":["clock6"]},{"e":"🕡","d":"six-thirty","c":4,"a":["clock630"]},{"e":"🕖","d":"seven o’clock","c":4,"a":["clock7"]},{"e":"🕢","d":"seven-thirty","c":4,"a":["clock730"]},{"e":"🕗","d":"eight o’clock","c":4,"a":["clock8"]},{"e":"🕣","d":"eight-thirty","c":4,"a":["clock830"]},{"e":"🕘","d":"nine o’clock","c":4,"a":["clock9"]},{"e":"🕤","d":"nine-thirty","c":4,"a":["clock930"]},{"e":"🕙","d":"ten o’clock","c":4,"a":["clock10"]},{"e":"🕥","d":"ten-thirty","c":4,"a":["clock1030"]},{"e":"🕚","d":"eleven o’clock","c":4,"a":["clock11"]},{"e":"🕦","d":"eleven-thirty","c":4,"a":["clock1130"]},{"e":"🌑","d":"new moon","c":4,"a":["new_moon"]},{"e":"🌒","d":"waxing crescent moon","c":4,"a":["waxing_crescent_moon"]},{"e":"🌓","d":"first quarter moon","c":4,"a":["first_quarter_moon"]},{"e":"🌔","d":"waxing gibbous moon","c":4,"a":["moon","waxing_gibbous_moon"]},{"e":"🌕","d":"full moon","c":4,"a":["full_moon"]},{"e":"🌖","d":"waning gibbous moon","c":4,"a":["waning_gibbous_moon"]},{"e":"🌗","d":"last quarter moon","c":4,"a":["last_quarter_moon"]},{"e":"🌘","d":"waning crescent moon","c":4,"a":["waning_crescent_moon"]},{"e":"🌙","d":"crescent moon","c":4,"a":["crescent_moon"],"t":["night"]},{"e":"🌚","d":"new moon face","c":4,"a":["new_moon_with_face"]},{"e":"🌛","d":"first quarter moon face","c":4,"a":["first_quarter_moon_with_face"]},{"e":"🌜","d":"last quarter moon face","c":4,"a":["last_quarter_moon_with_face"]},{"e":"🌡️","d":"thermometer","c":4,"a":["thermometer"]},{"e":"☀️","d":"sun","c":4,"a":["sunny"],"t":["weather"]},{"e":"🌝","d":"full moon face","c":4,"a":["full_moon_with_face"]},{"e":"🌞","d":"sun with face","c":4,"a":["sun_with_face"],"t":["summer"]},{"e":"🪐","d":"ringed planet","c":4,"a":["ringed_planet"]},{"e":"⭐","d":"star","c":4,"a":["star"]},{"e":"🌟","d":"glowing star","c":4,"a":["star2"]},{"e":"🌠","d":"shooting star","c":4,"a":["stars"]},{"e":"🌌","d":"milky way","c":4,"a":["milky_way"]},{"e":"☁️","d":"cloud","c":4,"a":["cloud"]},{"e":"⛅","d":"sun behind cloud","c":4,"a":["partly_sunny"],"t":["weather","cloud"]},{"e":"⛈️","d":"cloud with lightning and rain","c":4,"a":["cloud_with_lightning_and_rain"]},{"e":"🌤️","d":"sun behind small cloud","c":4,"a":["sun_behind_small_cloud"]},{"e":"🌥️","d":"sun behind large cloud","c":4,"a":["sun_behind_large_cloud"]},{"e":"🌦️","d":"sun behind rain cloud","c":4,"a":["sun_behind_rain_cloud"]},{"e":"🌧️","d":"cloud with rain","c":4,"a":["cloud_with_rain"]},{"e":"🌨️","d":"cloud with snow","c":4,"a":["cloud_with_snow"]},{"e":"🌩️","d":"cloud with lightning","c":4,"a":["cloud_with_lightning"]},{"e":"🌪️","d":"tornado","c":4,"a":["tornado"]},{"e":"🌫️","d":"fog","c":4,"a":["fog"]},{"e":"🌬️","d":"wind face","c":4,"a":["wind_face"]},{"e":"🌀","d":"cyclone","c":4,"a":["cyclone"],"t":["swirl"]},{"e":"🌈","d":"rainbow","c":4,"a":["rainbow"]},{"e":"🌂","d":"closed umbrella","c":4,"a":["closed_umbrella"],"t":["weather","rain"]},{"e":"☂️","d":"umbrella","c":4,"a":["open_umbrella"]},{"e":"☔","d":"umbrella with rain drops","c":4,"a":["umbrella"],"t":["rain","weather"]},{"e":"⛱️","d":"umbrella on ground","c":4,"a":["parasol_on_ground"],"t":["beach_umbrella"]},{"e":"⚡","d":"high voltage","c":4,"a":["zap"],"t":["lightning","thunder"]},{"e":"❄️","d":"snowflake","c":4,"a":["snowflake"],"t":["winter","cold","weather"]},{"e":"☃️","d":"snowman","c":4,"a":["snowman_with_snow"],"t":["winter","christmas"]},{"e":"⛄","d":"snowman without snow","c":4,"a":["snowman"],"t":["winter"]},{"e":"☄️","d":"comet","c":4,"a":["comet"]},{"e":"🔥","d":"fire","c":4,"a":["fire"],"t":["burn"]},{"e":"💧","d":"droplet","c":4,"a":["droplet"],"t":["water"]},{"e":"🌊","d":"water wave","c":4,"a":["ocean"],"t":["sea"]},{"e":"🎃","d":"jack-o-lantern","c":5,"a":["jack_o_lantern"],"t":["halloween"]},{"e":"🎄","d":"Christmas tree","c":5,"a":["christmas_tree"]},{"e":"🎆","d":"fireworks","c":5,"a":["fireworks"],"t":["festival","celebration"]},{"e":"🎇","d":"sparkler","c":5,"a":["sparkler"]},{"e":"🧨","d":"firecracker","c":5,"a":["firecracker"]},{"e":"✨","d":"sparkles","c":5,"a":["sparkles"],"t":["shiny"]},{"e":"🎈","d":"balloon","c":5,"a":["balloon"],"t":["party","birthday"]},{"e":"🎉","d":"party popper","c":5,"a":["tada"],"t":["hooray","party"]},{"e":"🎊","d":"confetti ball","c":5,"a":["confetti_ball"]},{"e":"🎋","d":"tanabata tree","c":5,"a":["tanabata_tree"]},{"e":"🎍","d":"pine decoration","c":5,"a":["bamboo"]},{"e":"🎎","d":"Japanese dolls","c":5,"a":["dolls"]},{"e":"🎏","d":"carp streamer","c":5,"a":["flags"]},{"e":"🎐","d":"wind chime","c":5,"a":["wind_chime"]},{"e":"🎑","d":"moon viewing ceremony","c":5,"a":["rice_scene"]},{"e":"🧧","d":"red envelope","c":5,"a":["red_envelope"]},{"e":"🎀","d":"ribbon","c":5,"a":["ribbon"]},{"e":"🎁","d":"wrapped gift","c":5,"a":["gift"],"t":["present","birthday","christmas"]},{"e":"🎗️","d":"reminder ribbon","c":5,"a":["reminder_ribbon"]},{"e":"🎟️","d":"admission tickets","c":5,"a":["tickets"]},{"e":"🎫","d":"ticket","c":5,"a":["ticket"]},{"e":"🎖️","d":"military medal","c":5,"a":["medal_military"]},{"e":"🏆","d":"trophy","c":5,"a":["trophy"],"t":["award","contest","winner"]},{"e":"🏅","d":"sports medal","c":5,"a":["medal_sports"],"t":["gold","winner"]},{"e":"🥇","d":"1st place medal","c":5,"a":["1st_place_medal"],"t":["gold"]},{"e":"🥈","d":"2nd place medal","c":5,"a":["2nd_place_medal"],"t":["silver"]},{"e":"🥉","d":"3rd place medal","c":5,"a":["3rd_place_medal"],"t":["bronze"]},{"e":"⚽","d":"soccer ball","c":5,"a":["soccer"],"t":["sports"]},{"e":"⚾","d":"baseball","c":5,"a":["baseball"],"t":["sports"]},{"e":"🥎","d":"softball","c":5,"a":["softball"]},{"e":"🏀","d":"basketball","c":5,"a":["basketball"],"t":["sports"]},{"e":"🏐","d":"volleyball","c":5,"a":["volleyball"]},{"e":"🏈","d":"american football","c":5,"a":["football"],"t":["sports"]},{"e":"🏉","d":"rugby football","c":5,"a":["rugby_football"]},{"e":"🎾","d":"tennis","c":5,"a":["tennis"],"t":["sports"]},{"e":"🥏","d":"flying disc","c":5,"a":["flying_disc"]},{"e":"🎳","d":"bowling","c":5,"a":["bowling"]},{"e":"🏏","d":"cricket game","c":5,"a":["cricket_game"]},{"e":"🏑","d":"field hockey","c":5,"a":["field_hockey"]},{"e":"🏒","d":"ice hockey","c":5,"a":["ice_hockey"]},{"e":"🥍","d":"lacrosse","c":5,"a":["lacrosse"]},{"e":"🏓","d":"ping pong","c":5,"a":["ping_pong"]},{"e":"🏸","d":"badminton","c":5,"a":["badminton"]},{"e":"🥊","d":"boxing glove","c":5,"a":["boxing_glove"]},{"e":"🥋","d":"martial arts uniform","c":5,"a":["martial_arts_uniform"]},{"e":"🥅","d":"goal net","c":5,"a":["goal_net"]},{"e":"⛳","d":"flag in hole","c":5,"a":["golf"]},{"e":"⛸️","d":"ice skate","c":5,"a":["ice_skate"],"t":["skating"]},{"e":"🎣","d":"fishing pole","c":5,"a":["fishing_pole_and_fish"]},{"e":"🤿","d":"diving mask","c":5,"a":["diving_mask"]},{"e":"🎽","d":"running shirt","c":5,"a":["running_shirt_with_sash"],"t":["marathon"]},{"e":"🎿","d":"skis","c":5,"a":["ski"]},{"e":"🛷","d":"sled","c":5,"a":["sled"]},{"e":"🥌","d":"curling stone","c":5,"a":["curling_stone"]},{"e":"🎯","d":"direct hit","c":5,"a":["dart"],"t":["target"]},{"e":"🪀","d":"yo-yo","c":5,"a":["yo_yo"]},{"e":"🪁","d":"kite","c":5,"a":["kite"]},{"e":"🎱","d":"pool 8 ball","c":5,"a":["8ball"],"t":["pool","billiards"]},{"e":"🔮","d":"crystal ball","c":5,"a":["crystal_ball"],"t":["fortune"]},{"e":"🪄","d":"magic wand","c":5,"a":["magic_wand"]},{"e":"🧿","d":"nazar amulet","c":5,"a":["nazar_amulet"]},{"e":"🎮","d":"video game","c":5,"a":["video_game"],"t":["play","controller","console"]},{"e":"🕹️","d":"joystick","c":5,"a":["joystick"]},{"e":"🎰","d":"slot machine","c":5,"a":["slot_machine"]},{"e":"🎲","d":"game die","c":5,"a":["game_die"],"t":["dice","gambling"]},{"e":"🧩","d":"puzzle piece","c":5,"a":["jigsaw"]},{"e":"🧸","d":"teddy bear","c":5,"a":["teddy_bear"]},{"e":"🪅","d":"piñata","c":5,"a":["pinata"]},{"e":"🪆","d":"nesting dolls","c":5,"a":["nesting_dolls"]},{"e":"♠️","d":"spade suit","c":5,"a":["spades"]},{"e":"♥️","d":"heart suit","c":5,"a":["hearts"]},{"e":"♦️","d":"diamond suit","c":5,"a":["diamonds"]},{"e":"♣️","d":"club suit","c":5,"a":["clubs"]},{"e":"♟️","d":"chess pawn","c":5,"a":["chess_pawn"]},{"e":"🃏","d":"joker","c":5,"a":["black_joker"]},{"e":"🀄","d":"mahjong red dragon","c":5,"a":["mahjong"]},{"e":"🎴","d":"flower playing cards","c":5,"a":["flower_playing_cards"]},{"e":"🎭","d":"performing arts","c":5,"a":["performing_arts"],"t":["theater","drama"]},{"e":"🖼️","d":"framed picture","c":5,"a":["framed_picture"]},{"e":"🎨","d":"artist palette","c":5,"a":["art"],"t":["design","paint"]},{"e":"🧵","d":"thread","c":5,"a":["thread"]},{"e":"🪡","d":"sewing needle","c":5,"a":["sewing_needle"]},{"e":"🧶","d":"yarn","c":5,"a":["yarn"]},{"e":"🪢","d":"knot","c":5,"a":["knot"]},{"e":"👓","d":"glasses","c":6,"a":["eyeglasses"],"t":["glasses"]},{"e":"🕶️","d":"sunglasses","c":6,"a":["dark_sunglasses"]},{"e":"🥽","d":"goggles","c":6,"a":["goggles"]},{"e":"🥼","d":"lab coat","c":6,"a":["lab_coat"]},{"e":"🦺","d":"safety vest","c":6,"a":["safety_vest"]},{"e":"👔","d":"necktie","c":6,"a":["necktie"],"t":["shirt","formal"]},{"e":"👕","d":"t-shirt","c":6,"a":["shirt","tshirt"]},{"e":"👖","d":"jeans","c":6,"a":["jeans"],"t":["pants"]},{"e":"🧣","d":"scarf","c":6,"a":["scarf"]},{"e":"🧤","d":"gloves","c":6,"a":["gloves"]},{"e":"🧥","d":"coat","c":6,"a":["coat"]},{"e":"🧦","d":"socks","c":6,"a":["socks"]},{"e":"��","d":"dress","c":6,"a":["dress"]},{"e":"👘","d":"kimono","c":6,"a":["kimono"]},{"e":"🥻","d":"sari","c":6,"a":["sari"]},{"e":"🩱","d":"one-piece swimsuit","c":6,"a":["one_piece_swimsuit"]},{"e":"🩲","d":"briefs","c":6,"a":["swim_brief"]},{"e":"🩳","d":"shorts","c":6,"a":["shorts"]},{"e":"👙","d":"bikini","c":6,"a":["bikini"],"t":["beach"]},{"e":"👚","d":"woman’s clothes","c":6,"a":["womans_clothes"]},{"e":"👛","d":"purse","c":6,"a":["purse"]},{"e":"👜","d":"handbag","c":6,"a":["handbag"],"t":["bag"]},{"e":"👝","d":"clutch bag","c":6,"a":["pouch"],"t":["bag"]},{"e":"🛍️","d":"shopping bags","c":6,"a":["shopping"],"t":["bags"]},{"e":"🎒","d":"backpack","c":6,"a":["school_satchel"]},{"e":"🩴","d":"thong sandal","c":6,"a":["thong_sandal"]},{"e":"👞","d":"man’s shoe","c":6,"a":["mans_shoe","shoe"]},{"e":"👟","d":"running shoe","c":6,"a":["athletic_shoe"],"t":["sneaker","sport","running"]},{"e":"🥾","d":"hiking boot","c":6,"a":["hiking_boot"]},{"e":"🥿","d":"flat shoe","c":6,"a":["flat_shoe"]},{"e":"👠","d":"high-heeled shoe","c":6,"a":["high_heel"],"t":["shoe"]},{"e":"👡","d":"woman’s sandal","c":6,"a":["sandal"],"t":["shoe"]},{"e":"🩰","d":"ballet shoes","c":6,"a":["ballet_shoes"]},{"e":"👢","d":"woman’s boot","c":6,"a":["boot"]},{"e":"👑","d":"crown","c":6,"a":["crown"],"t":["king","queen","royal"]},{"e":"👒","d":"woman’s hat","c":6,"a":["womans_hat"]},{"e":"🎩","d":"top hat","c":6,"a":["tophat"],"t":["hat","classy"]},{"e":"🎓","d":"graduation cap","c":6,"a":["mortar_board"],"t":["education","college","university","graduation"]},{"e":"🧢","d":"billed cap","c":6,"a":["billed_cap"]},{"e":"🪖","d":"military helmet","c":6,"a":["military_helmet"]},{"e":"⛑️","d":"rescue worker’s helmet","c":6,"a":["rescue_worker_helmet"]},{"e":"📿","d":"prayer beads","c":6,"a":["prayer_beads"]},{"e":"💄","d":"lipstick","c":6,"a":["lipstick"],"t":["makeup"]},{"e":"💍","d":"ring","c":6,"a":["ring"],"t":["wedding","marriage","engaged"]},{"e":"💎","d":"gem stone","c":6,"a":["gem"],"t":["diamond"]},{"e":"🔇","d":"muted speaker","c":6,"a":["mute"],"t":["sound","volume"]},{"e":"🔈","d":"speaker low volume","c":6,"a":["speaker"]},{"e":"🔉","d":"speaker medium volume","c":6,"a":["sound"],"t":["volume"]},{"e":"🔊","d":"speaker high volume","c":6,"a":["loud_sound"],"t":["volume"]},{"e":"📢","d":"loudspeaker","c":6,"a":["loudspeaker"],"t":["announcement"]},{"e":"📣","d":"megaphone","c":6,"a":["mega"]},{"e":"📯","d":"postal horn","c":6,"a":["postal_horn"]},{"e":"🔔","d":"bell","c":6,"a":["bell"],"t":["sound","notification"]},{"e":"🔕","d":"bell with slash","c":6,"a":["no_bell"],"t":["volume","off"]},{"e":"🎼","d":"musical score","c":6,"a":["musical_score"]},{"e":"🎵","d":"musical note","c":6,"a":["musical_note"]},{"e":"🎶","d":"musical notes","c":6,"a":["notes"],"t":["music"]},{"e":"🎙️","d":"studio microphone","c":6,"a":["studio_microphone"],"t":["podcast"]},{"e":"🎚️","d":"level slider","c":6,"a":["level_slider"]},{"e":"🎛️","d":"control knobs","c":6,"a":["control_knobs"]},{"e":"🎤","d":"microphone","c":6,"a":["microphone"],"t":["sing"]},{"e":"🎧","d":"headphone","c":6,"a":["headphones"],"t":["music","earphones"]},{"e":"📻","d":"radio","c":6,"a":["radio"],"t":["podcast"]},{"e":"🎷","d":"saxophone","c":6,"a":["saxophone"]},{"e":"🪗","d":"accordion","c":6,"a":["accordion"]},{"e":"🎸","d":"guitar","c":6,"a":["guitar"],"t":["rock"]},{"e":"🎹","d":"musical keyboard","c":6,"a":["musical_keyboard"],"t":["piano"]},{"e":"🎺","d":"trumpet","c":6,"a":["trumpet"]},{"e":"🎻","d":"violin","c":6,"a":["violin"]},{"e":"🪕","d":"banjo","c":6,"a":["banjo"]},{"e":"🥁","d":"drum","c":6,"a":["drum"]},{"e":"🪘","d":"long drum","c":6,"a":["long_drum"]},{"e":"📱","d":"mobile phone","c":6,"a":["iphone"],"t":["smartphone","mobile"]},{"e":"📲","d":"mobile phone with arrow","c":6,"a":["calling"],"t":["call","incoming"]},{"e":"☎️","d":"telephone","c":6,"a":["phone","telephone"]},{"e":"📞","d":"telephone receiver","c":6,"a":["telephone_receiver"],"t":["phone","call"]},{"e":"📟","d":"pager","c":6,"a":["pager"]},{"e":"📠","d":"fax machine","c":6,"a":["fax"]},{"e":"🔋","d":"battery","c":6,"a":["battery"],"t":["power"]},{"e":"🔌","d":"electric plug","c":6,"a":["electric_plug"]},{"e":"💻","d":"laptop","c":6,"a":["computer"],"t":["desktop","screen"]},{"e":"🖥️","d":"desktop computer","c":6,"a":["desktop_computer"]},{"e":"🖨️","d":"printer","c":6,"a":["printer"]},{"e":"⌨️","d":"keyboard","c":6,"a":["keyboard"]},{"e":"🖱️","d":"computer mouse","c":6,"a":["computer_mouse"]},{"e":"🖲️","d":"trackball","c":6,"a":["trackball"]},{"e":"💽","d":"computer disk","c":6,"a":["minidisc"]},{"e":"💾","d":"floppy disk","c":6,"a":["floppy_disk"],"t":["save"]},{"e":"💿","d":"optical disk","c":6,"a":["cd"]},{"e":"📀","d":"dvd","c":6,"a":["dvd"]},{"e":"🧮","d":"abacus","c":6,"a":["abacus"]},{"e":"🎥","d":"movie camera","c":6,"a":["movie_camera"],"t":["film","video"]},{"e":"🎞️","d":"film frames","c":6,"a":["film_strip"]},{"e":"📽️","d":"film projector","c":6,"a":["film_projector"]},{"e":"🎬","d":"clapper board","c":6,"a":["clapper"],"t":["film"]},{"e":"📺","d":"television","c":6,"a":["tv"]},{"e":"📷","d":"camera","c":6,"a":["camera"],"t":["photo"]},{"e":"📸","d":"camera with flash","c":6,"a":["camera_flash"],"t":["photo"]},{"e":"📹","d":"video camera","c":6,"a":["video_camera"]},{"e":"📼","d":"videocassette","c":6,"a":["vhs"]},{"e":"🔍","d":"magnifying glass tilted left","c":6,"a":["mag"],"t":["search","zoom"]},{"e":"🔎","d":"magnifying glass tilted right","c":6,"a":["mag_right"]},{"e":"🕯️","d":"candle","c":6,"a":["candle"]},{"e":"💡","d":"light bulb","c":6,"a":["bulb"],"t":["idea","light"]},{"e":"🔦","d":"flashlight","c":6,"a":["flashlight"]},{"e":"🏮","d":"red paper lantern","c":6,"a":["izakaya_lantern","lantern"]},{"e":"🪔","d":"diya lamp","c":6,"a":["diya_lamp"]},{"e":"📔","d":"notebook with decorative cover","c":6,"a":["notebook_with_decorative_cover"]},{"e":"📕","d":"closed book","c":6,"a":["closed_book"]},{"e":"📖","d":"open book","c":6,"a":["book","open_book"]},{"e":"📗","d":"green book","c":6,"a":["green_book"]},{"e":"📘","d":"blue book","c":6,"a":["blue_book"]},{"e":"📙","d":"orange book","c":6,"a":["orange_book"]},{"e":"📚","d":"books","c":6,"a":["books"],"t":["library"]},{"e":"📓","d":"notebook","c":6,"a":["notebook"]},{"e":"📒","d":"ledger","c":6,"a":["ledger"]},{"e":"📃","d":"page with curl","c":6,"a":["page_with_curl"]},{"e":"📜","d":"scroll","c":6,"a":["scroll"],"t":["document"]},{"e":"📄","d":"page facing up","c":6,"a":["page_facing_up"],"t":["document"]},{"e":"📰","d":"newspaper","c":6,"a":["newspaper"],"t":["press"]},{"e":"🗞️","d":"rolled-up newspaper","c":6,"a":["newspaper_roll"],"t":["press"]},{"e":"📑","d":"bookmark tabs","c":6,"a":["bookmark_tabs"]},{"e":"🔖","d":"bookmark","c":6,"a":["bookmark"]},{"e":"🏷️","d":"label","c":6,"a":["label"],"t":["tag"]},{"e":"💰","d":"money bag","c":6,"a":["moneybag"],"t":["dollar","cream"]},{"e":"🪙","d":"coin","c":6,"a":["coin"]},{"e":"💴","d":"yen banknote","c":6,"a":["yen"]},{"e":"💵","d":"dollar banknote","c":6,"a":["dollar"],"t":["money"]},{"e":"💶","d":"euro banknote","c":6,"a":["euro"]},{"e":"💷","d":"pound banknote","c":6,"a":["pound"]},{"e":"💸","d":"money with wings","c":6,"a":["money_with_wings"],"t":["dollar"]},{"e":"💳","d":"credit card","c":6,"a":["credit_card"],"t":["subscription"]},{"e":"🧾","d":"receipt","c":6,"a":["receipt"]},{"e":"💹","d":"chart increasing with yen","c":6,"a":["chart"]},{"e":"✉️","d":"envelope","c":6,"a":["envelope"],"t":["letter","email"]},{"e":"���","d":"e-mail","c":6,"a":["email","e-mail"]},{"e":"📨","d":"incoming envelope","c":6,"a":["incoming_envelope"]},{"e":"📩","d":"envelope with arrow","c":6,"a":["envelope_with_arrow"]},{"e":"📤","d":"outbox tray","c":6,"a":["outbox_tray"]},{"e":"📥","d":"inbox tray","c":6,"a":["inbox_tray"]},{"e":"📦","d":"package","c":6,"a":["package"],"t":["shipping"]},{"e":"📫","d":"closed mailbox with raised flag","c":6,"a":["mailbox"]},{"e":"📪","d":"closed mailbox with lowered flag","c":6,"a":["mailbox_closed"]},{"e":"📬","d":"open mailbox with raised flag","c":6,"a":["mailbox_with_mail"]},{"e":"📭","d":"open mailbox with lowered flag","c":6,"a":["mailbox_with_no_mail"]},{"e":"📮","d":"postbox","c":6,"a":["postbox"]},{"e":"🗳️","d":"ballot box with ballot","c":6,"a":["ballot_box"]},{"e":"✏️","d":"pencil","c":6,"a":["pencil2"]},{"e":"✒️","d":"black nib","c":6,"a":["black_nib"]},{"e":"🖋️","d":"fountain pen","c":6,"a":["fountain_pen"]},{"e":"🖊️","d":"pen","c":6,"a":["pen"]},{"e":"🖌️","d":"paintbrush","c":6,"a":["paintbrush"]},{"e":"🖍️","d":"crayon","c":6,"a":["crayon"]},{"e":"📝","d":"memo","c":6,"a":["memo","pencil"],"t":["document","note"]},{"e":"💼","d":"briefcase","c":6,"a":["briefcase"],"t":["business"]},{"e":"📁","d":"file folder","c":6,"a":["file_folder"],"t":["directory"]},{"e":"📂","d":"open file folder","c":6,"a":["open_file_folder"]},{"e":"🗂️","d":"card index dividers","c":6,"a":["card_index_dividers"]},{"e":"📅","d":"calendar","c":6,"a":["date"],"t":["calendar","schedule"]},{"e":"📆","d":"tear-off calendar","c":6,"a":["calendar"],"t":["schedule"]},{"e":"🗒️","d":"spiral notepad","c":6,"a":["spiral_notepad"]},{"e":"🗓️","d":"spiral calendar","c":6,"a":["spiral_calendar"]},{"e":"📇","d":"card index","c":6,"a":["card_index"]},{"e":"📈","d":"chart increasing","c":6,"a":["chart_with_upwards_trend"],"t":["graph","metrics"]},{"e":"📉","d":"chart decreasing","c":6,"a":["chart_with_downwards_trend"],"t":["graph","metrics"]},{"e":"📊","d":"bar chart","c":6,"a":["bar_chart"],"t":["stats","metrics"]},{"e":"📋","d":"clipboard","c":6,"a":["clipboard"]},{"e":"📌","d":"pushpin","c":6,"a":["pushpin"],"t":["location"]},{"e":"📍","d":"round pushpin","c":6,"a":["round_pushpin"],"t":["location"]},{"e":"📎","d":"paperclip","c":6,"a":["paperclip"]},{"e":"🖇️","d":"linked paperclips","c":6,"a":["paperclips"]},{"e":"📏","d":"straight ruler","c":6,"a":["straight_ruler"]},{"e":"📐","d":"triangular ruler","c":6,"a":["triangular_ruler"]},{"e":"✂️","d":"scissors","c":6,"a":["scissors"],"t":["cut"]},{"e":"🗃️","d":"card file box","c":6,"a":["card_file_box"]},{"e":"🗄️","d":"file cabinet","c":6,"a":["file_cabinet"]},{"e":"🗑️","d":"wastebasket","c":6,"a":["wastebasket"],"t":["trash"]},{"e":"🔒","d":"locked","c":6,"a":["lock"],"t":["security","private"]},{"e":"🔓","d":"unlocked","c":6,"a":["unlock"],"t":["security"]},{"e":"🔏","d":"locked with pen","c":6,"a":["lock_with_ink_pen"]},{"e":"🔐","d":"locked with key","c":6,"a":["closed_lock_with_key"],"t":["security"]},{"e":"🔑","d":"key","c":6,"a":["key"],"t":["lock","password"]},{"e":"🗝️","d":"old key","c":6,"a":["old_key"]},{"e":"🔨","d":"hammer","c":6,"a":["hammer"],"t":["tool"]},{"e":"🪓","d":"axe","c":6,"a":["axe"]},{"e":"⛏️","d":"pick","c":6,"a":["pick"]},{"e":"⚒️","d":"hammer and pick","c":6,"a":["hammer_and_pick"]},{"e":"🛠️","d":"hammer and wrench","c":6,"a":["hammer_and_wrench"]},{"e":"🗡️","d":"dagger","c":6,"a":["dagger"]},{"e":"⚔️","d":"crossed swords","c":6,"a":["crossed_swords"]},{"e":"🔫","d":"pistol","c":6,"a":["gun"],"t":["shoot","weapon"]},{"e":"🪃","d":"boomerang","c":6,"a":["boomerang"]},{"e":"🏹","d":"bow and arrow","c":6,"a":["bow_and_arrow"],"t":["archery"]},{"e":"🛡️","d":"shield","c":6,"a":["shield"]},{"e":"🪚","d":"carpentry saw","c":6,"a":["carpentry_saw"]},{"e":"🔧","d":"wrench","c":6,"a":["wrench"],"t":["tool"]},{"e":"🪛","d":"screwdriver","c":6,"a":["screwdriver"]},{"e":"🔩","d":"nut and bolt","c":6,"a":["nut_and_bolt"]},{"e":"⚙️","d":"gear","c":6,"a":["gear"]},{"e":"🗜️","d":"clamp","c":6,"a":["clamp"]},{"e":"⚖️","d":"balance scale","c":6,"a":["balance_scale"]},{"e":"🦯","d":"white cane","c":6,"a":["probing_cane"]},{"e":"🔗","d":"link","c":6,"a":["link"]},{"e":"⛓️","d":"chains","c":6,"a":["chains"]},{"e":"🪝","d":"hook","c":6,"a":["hook"]},{"e":"🧰","d":"toolbox","c":6,"a":["toolbox"]},{"e":"🧲","d":"magnet","c":6,"a":["magnet"]},{"e":"🪜","d":"ladder","c":6,"a":["ladder"]},{"e":"⚗️","d":"alembic","c":6,"a":["alembic"]},{"e":"🧪","d":"test tube","c":6,"a":["test_tube"]},{"e":"🧫","d":"petri dish","c":6,"a":["petri_dish"]},{"e":"🧬","d":"dna","c":6,"a":["dna"]},{"e":"🔬","d":"microscope","c":6,"a":["microscope"],"t":["science","laboratory","investigate"]},{"e":"🔭","d":"telescope","c":6,"a":["telescope"]},{"e":"📡","d":"satellite antenna","c":6,"a":["satellite"],"t":["signal"]},{"e":"💉","d":"syringe","c":6,"a":["syringe"],"t":["health","hospital","needle"]},{"e":"🩸","d":"drop of blood","c":6,"a":["drop_of_blood"]},{"e":"💊","d":"pill","c":6,"a":["pill"],"t":["health","medicine"]},{"e":"🩹","d":"adhesive bandage","c":6,"a":["adhesive_bandage"]},{"e":"🩺","d":"stethoscope","c":6,"a":["stethoscope"]},{"e":"🚪","d":"door","c":6,"a":["door"]},{"e":"🛗","d":"elevator","c":6,"a":["elevator"]},{"e":"🪞","d":"mirror","c":6,"a":["mirror"]},{"e":"🪟","d":"window","c":6,"a":["window"]},{"e":"🛏️","d":"bed","c":6,"a":["bed"]},{"e":"🛋️","d":"couch and lamp","c":6,"a":["couch_and_lamp"]},{"e":"🪑","d":"chair","c":6,"a":["chair"]},{"e":"🚽","d":"toilet","c":6,"a":["toilet"],"t":["wc"]},{"e":"🪠","d":"plunger","c":6,"a":["plunger"]},{"e":"🚿","d":"shower","c":6,"a":["shower"],"t":["bath"]},{"e":"🛁","d":"bathtub","c":6,"a":["bathtub"]},{"e":"🪤","d":"mouse trap","c":6,"a":["mouse_trap"]},{"e":"🪒","d":"razor","c":6,"a":["razor"]},{"e":"��","d":"lotion bottle","c":6,"a":["lotion_bottle"]},{"e":"🧷","d":"safety pin","c":6,"a":["safety_pin"]},{"e":"🧹","d":"broom","c":6,"a":["broom"]},{"e":"🧺","d":"basket","c":6,"a":["basket"]},{"e":"🧻","d":"roll of paper","c":6,"a":["roll_of_paper"],"t":["toilet"]},{"e":"🪣","d":"bucket","c":6,"a":["bucket"]},{"e":"🧼","d":"soap","c":6,"a":["soap"]},{"e":"🪥","d":"toothbrush","c":6,"a":["toothbrush"]},{"e":"🧽","d":"sponge","c":6,"a":["sponge"]},{"e":"🧯","d":"fire extinguisher","c":6,"a":["fire_extinguisher"]},{"e":"🛒","d":"shopping cart","c":6,"a":["shopping_cart"]},{"e":"🚬","d":"cigarette","c":6,"a":["smoking"],"t":["cigarette"]},{"e":"⚰️","d":"coffin","c":6,"a":["coffin"],"t":["funeral"]},{"e":"🪦","d":"headstone","c":6,"a":["headstone"]},{"e":"⚱️","d":"funeral urn","c":6,"a":["funeral_urn"]},{"e":"🗿","d":"moai","c":6,"a":["moyai"],"t":["stone"]},{"e":"🪧","d":"placard","c":6,"a":["placard"]},{"e":"🏧","d":"ATM sign","c":7,"a":["atm"]},{"e":"🚮","d":"litter in bin sign","c":7,"a":["put_litter_in_its_place"]},{"e":"🚰","d":"potable water","c":7,"a":["potable_water"]},{"e":"♿","d":"wheelchair symbol","c":7,"a":["wheelchair"],"t":["accessibility"]},{"e":"🚹","d":"men’s room","c":7,"a":["mens"]},{"e":"🚺","d":"women’s room","c":7,"a":["womens"]},{"e":"🚻","d":"restroom","c":7,"a":["restroom"],"t":["toilet"]},{"e":"🚼","d":"baby symbol","c":7,"a":["baby_symbol"]},{"e":"🚾","d":"water closet","c":7,"a":["wc"],"t":["toilet","restroom"]},{"e":"🛂","d":"passport control","c":7,"a":["passport_control"]},{"e":"🛃","d":"customs","c":7,"a":["customs"]},{"e":"🛄","d":"baggage claim","c":7,"a":["baggage_claim"],"t":["airport"]},{"e":"🛅","d":"left luggage","c":7,"a":["left_luggage"]},{"e":"⚠️","d":"warning","c":7,"a":["warning"],"t":["wip"]},{"e":"🚸","d":"children crossing","c":7,"a":["children_crossing"]},{"e":"⛔","d":"no entry","c":7,"a":["no_entry"],"t":["limit"]},{"e":"🚫","d":"prohibited","c":7,"a":["no_entry_sign"],"t":["block","forbidden"]},{"e":"🚳","d":"no bicycles","c":7,"a":["no_bicycles"]},{"e":"🚭","d":"no smoking","c":7,"a":["no_smoking"]},{"e":"🚯","d":"no littering","c":7,"a":["do_not_litter"]},{"e":"🚱","d":"non-potable water","c":7,"a":["non-potable_water"]},{"e":"🚷","d":"no pedestrians","c":7,"a":["no_pedestrians"]},{"e":"📵","d":"no mobile phones","c":7,"a":["no_mobile_phones"]},{"e":"🔞","d":"no one under eighteen","c":7,"a":["underage"]},{"e":"☢️","d":"radioactive","c":7,"a":["radioactive"]},{"e":"☣️","d":"biohazard","c":7,"a":["biohazard"]},{"e":"⬆️","d":"up arrow","c":7,"a":["arrow_up"]},{"e":"↗️","d":"up-right arrow","c":7,"a":["arrow_upper_right"]},{"e":"➡️","d":"right arrow","c":7,"a":["arrow_right"]},{"e":"↘️","d":"down-right arrow","c":7,"a":["arrow_lower_right"]},{"e":"⬇️","d":"down arrow","c":7,"a":["arrow_down"]},{"e":"↙️","d":"down-left arrow","c":7,"a":["arrow_lower_left"]},{"e":"⬅️","d":"left arrow","c":7,"a":["arrow_left"]},{"e":"↖️","d":"up-left arrow","c":7,"a":["arrow_upper_left"]},{"e":"↕️","d":"up-down arrow","c":7,"a":["arrow_up_down"]},{"e":"↔️","d":"left-right arrow","c":7,"a":["left_right_arrow"]},{"e":"↩️","d":"right arrow curving left","c":7,"a":["leftwards_arrow_with_hook"],"t":["return"]},{"e":"↪️","d":"left arrow curving right","c":7,"a":["arrow_right_hook"]},{"e":"⤴️","d":"right arrow curving up","c":7,"a":["arrow_heading_up"]},{"e":"⤵️","d":"right arrow curving down","c":7,"a":["arrow_heading_down"]},{"e":"🔃","d":"clockwise vertical arrows","c":7,"a":["arrows_clockwise"]},{"e":"🔄","d":"counterclockwise arrows button","c":7,"a":["arrows_counterclockwise"],"t":["sync"]},{"e":"🔙","d":"BACK arrow","c":7,"a":["back"]},{"e":"🔚","d":"END arrow","c":7,"a":["end"]},{"e":"🔛","d":"ON! arrow","c":7,"a":["on"]},{"e":"🔜","d":"SOON arrow","c":7,"a":["soon"]},{"e":"🔝","d":"TOP arrow","c":7,"a":["top"]},{"e":"🛐","d":"place of worship","c":7,"a":["place_of_worship"]},{"e":"⚛️","d":"atom symbol","c":7,"a":["atom_symbol"]},{"e":"🕉️","d":"om","c":7,"a":["om"]},{"e":"✡️","d":"star of David","c":7,"a":["star_of_david"]},{"e":"☸️","d":"wheel of dharma","c":7,"a":["wheel_of_dharma"]},{"e":"☯️","d":"yin yang","c":7,"a":["yin_yang"]},{"e":"✝️","d":"latin cross","c":7,"a":["latin_cross"]},{"e":"☦️","d":"orthodox cross","c":7,"a":["orthodox_cross"]},{"e":"☪️","d":"star and crescent","c":7,"a":["star_and_crescent"]},{"e":"☮️","d":"peace symbol","c":7,"a":["peace_symbol"]},{"e":"🕎","d":"menorah","c":7,"a":["menorah"]},{"e":"🔯","d":"dotted six-pointed star","c":7,"a":["six_pointed_star"]},{"e":"♈","d":"Aries","c":7,"a":["aries"]},{"e":"♉","d":"Taurus","c":7,"a":["taurus"]},{"e":"♊","d":"Gemini","c":7,"a":["gemini"]},{"e":"♋","d":"Cancer","c":7,"a":["cancer"]},{"e":"♌","d":"Leo","c":7,"a":["leo"]},{"e":"♍","d":"Virgo","c":7,"a":["virgo"]},{"e":"♎","d":"Libra","c":7,"a":["libra"]},{"e":"♏","d":"Scorpio","c":7,"a":["scorpius"]},{"e":"♐","d":"Sagittarius","c":7,"a":["sagittarius"]},{"e":"♑","d":"Capricorn","c":7,"a":["capricorn"]},{"e":"♒","d":"Aquarius","c":7,"a":["aquarius"]},{"e":"♓","d":"Pisces","c":7,"a":["pisces"]},{"e":"⛎","d":"Ophiuchus","c":7,"a":["ophiuchus"]},{"e":"🔀","d":"shuffle tracks button","c":7,"a":["twisted_rightwards_arrows"],"t":["shuffle"]},{"e":"🔁","d":"repeat button","c":7,"a":["repeat"],"t":["loop"]},{"e":"🔂","d":"repeat single button","c":7,"a":["repeat_one"]},{"e":"▶️","d":"play button","c":7,"a":["arrow_forward"]},{"e":"⏩","d":"fast-forward button","c":7,"a":["fast_forward"]},{"e":"⏭️","d":"next track button","c":7,"a":["next_track_button"]},{"e":"⏯️","d":"play or pause button","c":7,"a":["play_or_pause_button"]},{"e":"◀️","d":"reverse button","c":7,"a":["arrow_backward"]},{"e":"⏪","d":"fast reverse button","c":7,"a":["rewind"]},{"e":"⏮️","d":"last track button","c":7,"a":["previous_track_button"]},{"e":"🔼","d":"upwards button","c":7,"a":["arrow_up_small"]},{"e":"⏫","d":"fast up button","c":7,"a":["arrow_double_up"]},{"e":"🔽","d":"downwards button","c":7,"a":["arrow_down_small"]},{"e":"⏬","d":"fast down button","c":7,"a":["arrow_double_down"]},{"e":"⏸️","d":"pause button","c":7,"a":["pause_button"]},{"e":"⏹️","d":"stop button","c":7,"a":["stop_button"]},{"e":"⏺️","d":"record button","c":7,"a":["record_button"]},{"e":"⏏️","d":"eject button","c":7,"a":["eject_button"]},{"e":"🎦","d":"cinema","c":7,"a":["cinema"],"t":["film","movie"]},{"e":"🔅","d":"dim button","c":7,"a":["low_brightness"]},{"e":"🔆","d":"bright button","c":7,"a":["high_brightness"]},{"e":"📶","d":"antenna bars","c":7,"a":["signal_strength"],"t":["wifi"]},{"e":"📳","d":"vibration mode","c":7,"a":["vibration_mode"]},{"e":"📴","d":"mobile phone off","c":7,"a":["mobile_phone_off"],"t":["mute","off"]},{"e":"♀️","d":"female sign","c":7,"a":["female_sign"]},{"e":"♂️","d":"male sign","c":7,"a":["male_sign"]},{"e":"⚧️","d":"transgender symbol","c":7,"a":["transgender_symbol"]},{"e":"✖️","d":"multiply","c":7,"a":["heavy_multiplication_x"]},{"e":"➕","d":"plus","c":7,"a":["heavy_plus_sign"]},{"e":"➖","d":"minus","c":7,"a":["heavy_minus_sign"]},{"e":"➗","d":"divide","c":7,"a":["heavy_division_sign"]},{"e":"♾️","d":"infinity","c":7,"a":["infinity"]},{"e":"‼️","d":"double exclamation mark","c":7,"a":["bangbang"]},{"e":"⁉️","d":"exclamation question mark","c":7,"a":["interrobang"]},{"e":"❓","d":"question mark","c":7,"a":["question"],"t":["confused"]},{"e":"❔","d":"white question mark","c":7,"a":["grey_question"]},{"e":"❕","d":"white exclamation mark","c":7,"a":["grey_exclamation"]},{"e":"❗","d":"exclamation mark","c":7,"a":["exclamation","heavy_exclamation_mark"],"t":["bang"]},{"e":"〰️","d":"wavy dash","c":7,"a":["wavy_dash"]},{"e":"💱","d":"currency exchange","c":7,"a":["currency_exchange"]},{"e":"💲","d":"heavy dollar sign","c":7,"a":["heavy_dollar_sign"]},{"e":"⚕️","d":"medical symbol","c":7,"a":["medical_symbol"]},{"e":"♻️","d":"recycling symbol","c":7,"a":["recycle"],"t":["environment","green"]},{"e":"⚜️","d":"fleur-de-lis","c":7,"a":["fleur_de_lis"]},{"e":"🔱","d":"trident emblem","c":7,"a":["trident"]},{"e":"📛","d":"name badge","c":7,"a":["name_badge"]},{"e":"🔰","d":"Japanese symbol for beginner","c":7,"a":["beginner"]},{"e":"⭕","d":"hollow red circle","c":7,"a":["o"]},{"e":"✅","d":"check mark button","c":7,"a":["white_check_mark"]},{"e":"☑️","d":"check box with check","c":7,"a":["ballot_box_with_check"]},{"e":"✔️","d":"check mark","c":7,"a":["heavy_check_mark"]},{"e":"❌","d":"cross mark","c":7,"a":["x"]},{"e":"❎","d":"cross mark button","c":7,"a":["negative_squared_cross_mark"]},{"e":"➰","d":"curly loop","c":7,"a":["curly_loop"]},{"e":"➿","d":"double curly loop","c":7,"a":["loop"]},{"e":"〽️","d":"part alternation mark","c":7,"a":["part_alternation_mark"]},{"e":"✳️","d":"eight-spoked asterisk","c":7,"a":["eight_spoked_asterisk"]},{"e":"✴️","d":"eight-pointed star","c":7,"a":["eight_pointed_black_star"]},{"e":"❇️","d":"sparkle","c":7,"a":["sparkle"]},{"e":"©️","d":"copyright","c":7,"a":["copyright"]},{"e":"®️","d":"registered","c":7,"a":["registered"]},{"e":"™️","d":"trade mark","c":7,"a":["tm"],"t":["trademark"]},{"e":"#️⃣","d":"keycap: #","c":7,"a":["hash"],"t":["number"]},{"e":"*️⃣","d":"keycap: *","c":7,"a":["asterisk"]},{"e":"0️⃣","d":"keycap: 0","c":7,"a":["zero"]},{"e":"1️⃣","d":"keycap: 1","c":7,"a":["one"]},{"e":"2️⃣","d":"keycap: 2","c":7,"a":["two"]},{"e":"3️⃣","d":"keycap: 3","c":7,"a":["three"]},{"e":"4️⃣","d":"keycap: 4","c":7,"a":["four"]},{"e":"5️⃣","d":"keycap: 5","c":7,"a":["five"]},{"e":"6️⃣","d":"keycap: 6","c":7,"a":["six"]},{"e":"7️⃣","d":"keycap: 7","c":7,"a":["seven"]},{"e":"8️⃣","d":"keycap: 8","c":7,"a":["eight"]},{"e":"9️⃣","d":"keycap: 9","c":7,"a":["nine"]},{"e":"🔟","d":"keycap: 10","c":7,"a":["keycap_ten"]},{"e":"🔠","d":"input latin uppercase","c":7,"a":["capital_abcd"],"t":["letters"]},{"e":"🔡","d":"input latin lowercase","c":7,"a":["abcd"]},{"e":"🔢","d":"input numbers","c":7,"a":["1234"],"t":["numbers"]},{"e":"🔣","d":"input symbols","c":7,"a":["symbols"]},{"e":"🔤","d":"input latin letters","c":7,"a":["abc"],"t":["alphabet"]},{"e":"🅰️","d":"A button (blood type)","c":7,"a":["a"]},{"e":"🆎","d":"AB button (blood type)","c":7,"a":["ab"]},{"e":"🅱️","d":"B button (blood type)","c":7,"a":["b"]},{"e":"🆑","d":"CL button","c":7,"a":["cl"]},{"e":"🆒","d":"COOL button","c":7,"a":["cool"]},{"e":"🆓","d":"FREE button","c":7,"a":["free"]},{"e":"ℹ️","d":"information","c":7,"a":["information_source"]},{"e":"🆔","d":"ID button","c":7,"a":["id"]},{"e":"Ⓜ️","d":"circled M","c":7,"a":["m"]},{"e":"🆕","d":"NEW button","c":7,"a":["new"],"t":["fresh"]},{"e":"🆖","d":"NG button","c":7,"a":["ng"]},{"e":"🅾️","d":"O button (blood type)","c":7,"a":["o2"]},{"e":"🆗","d":"OK button","c":7,"a":["ok"],"t":["yes"]},{"e":"🅿️","d":"P button","c":7,"a":["parking"]},{"e":"🆘","d":"SOS button","c":7,"a":["sos"],"t":["help","emergency"]},{"e":"🆙","d":"UP! button","c":7,"a":["up"]},{"e":"🆚","d":"VS button","c":7,"a":["vs"]},{"e":"🈁","d":"Japanese “here” button","c":7,"a":["koko"]},{"e":"🈂️","d":"Japanese “service charge” button","c":7,"a":["sa"]},{"e":"🈷️","d":"Japanese “monthly amount” button","c":7,"a":["u6708"]},{"e":"🈶","d":"Japanese “not free of charge” button","c":7,"a":["u6709"]},{"e":"🈯","d":"Japanese “reserved” button","c":7,"a":["u6307"]},{"e":"🉐","d":"Japanese “bargain” button","c":7,"a":["ideograph_advantage"]},{"e":"🈹","d":"Japanese “discount” button","c":7,"a":["u5272"]},{"e":"🈚","d":"Japanese “free of charge” button","c":7,"a":["u7121"]},{"e":"🈲","d":"Japanese “prohibited” button","c":7,"a":["u7981"]},{"e":"🉑","d":"Japanese “acceptable” button","c":7,"a":["accept"]},{"e":"🈸","d":"Japanese “application” button","c":7,"a":["u7533"]},{"e":"🈴","d":"Japanese “passing grade” button","c":7,"a":["u5408"]},{"e":"🈳","d":"Japanese “vacancy” button","c":7,"a":["u7a7a"]},{"e":"㊗️","d":"Japanese “congratulations” button","c":7,"a":["congratulations"]},{"e":"㊙️","d":"Japanese “secret” button","c":7,"a":["secret"]},{"e":"🈺","d":"Japanese “open for business” button","c":7,"a":["u55b6"]},{"e":"🈵","d":"Japanese “no vacancy” button","c":7,"a":["u6e80"]},{"e":"🔴","d":"red circle","c":7,"a":["red_circle"]},{"e":"🟠","d":"orange circle","c":7,"a":["orange_circle"]},{"e":"🟡","d":"yellow circle","c":7,"a":["yellow_circle"]},{"e":"🟢","d":"green circle","c":7,"a":["green_circle"]},{"e":"🔵","d":"blue circle","c":7,"a":["large_blue_circle"]},{"e":"🟣","d":"purple circle","c":7,"a":["purple_circle"]},{"e":"🟤","d":"brown circle","c":7,"a":["brown_circle"]},{"e":"⚫","d":"black circle","c":7,"a":["black_circle"]},{"e":"⚪","d":"white circle","c":7,"a":["white_circle"]},{"e":"🟥","d":"red square","c":7,"a":["red_square"]},{"e":"🟧","d":"orange square","c":7,"a":["orange_square"]},{"e":"🟨","d":"yellow square","c":7,"a":["yellow_square"]},{"e":"🟩","d":"green square","c":7,"a":["green_square"]},{"e":"🟦","d":"blue square","c":7,"a":["blue_square"]},{"e":"🟪","d":"purple square","c":7,"a":["purple_square"]},{"e":"🟫","d":"brown square","c":7,"a":["brown_square"]},{"e":"⬛","d":"black large square","c":7,"a":["black_large_square"]},{"e":"⬜","d":"white large square","c":7,"a":["white_large_square"]},{"e":"◼️","d":"black medium square","c":7,"a":["black_medium_square"]},{"e":"◻️","d":"white medium square","c":7,"a":["white_medium_square"]},{"e":"◾","d":"black medium-small square","c":7,"a":["black_medium_small_square"]},{"e":"◽","d":"white medium-small square","c":7,"a":["white_medium_small_square"]},{"e":"▪️","d":"black small square","c":7,"a":["black_small_square"]},{"e":"▫️","d":"white small square","c":7,"a":["white_small_square"]},{"e":"🔶","d":"large orange diamond","c":7,"a":["large_orange_diamond"]},{"e":"🔷","d":"large blue diamond","c":7,"a":["large_blue_diamond"]},{"e":"🔸","d":"small orange diamond","c":7,"a":["small_orange_diamond"]},{"e":"🔹","d":"small blue diamond","c":7,"a":["small_blue_diamond"]},{"e":"🔺","d":"red triangle pointed up","c":7,"a":["small_red_triangle"]},{"e":"🔻","d":"red triangle pointed down","c":7,"a":["small_red_triangle_down"]},{"e":"💠","d":"diamond with a dot","c":7,"a":["diamond_shape_with_a_dot_inside"]},{"e":"🔘","d":"radio button","c":7,"a":["radio_button"]},{"e":"🔳","d":"white square button","c":7,"a":["white_square_button"]},{"e":"🔲","d":"black square button","c":7,"a":["black_square_button"]},{"e":"🏁","d":"chequered flag","c":8,"a":["checkered_flag"],"t":["milestone","finish"]},{"e":"🚩","d":"triangular flag","c":8,"a":["triangular_flag_on_post"]},{"e":"🎌","d":"crossed flags","c":8,"a":["crossed_flags"]},{"e":"🏴","d":"black flag","c":8,"a":["black_flag"]},{"e":"🏳️","d":"white flag","c":8,"a":["white_flag"]},{"e":"🏳️🌈","d":"rainbow flag","c":8,"a":["rainbow_flag"],"t":["pride"]},{"e":"🏳️⚧️","d":"transgender flag","c":8,"a":["transgender_flag"]},{"e":"🏴☠️","d":"pirate flag","c":8,"a":["pirate_flag"]},{"e":"🇦🇨","d":"flag: Ascension Island","c":8,"a":["ascension_island"]},{"e":"🇦🇩","d":"flag: Andorra","c":8,"a":["andorra"]},{"e":"🇦🇪","d":"flag: United Arab Emirates","c":8,"a":["united_arab_emirates"]},{"e":"🇦🇫","d":"flag: Afghanistan","c":8,"a":["afghanistan"]},{"e":"🇦🇬","d":"flag: Antigua & Barbuda","c":8,"a":["antigua_barbuda"]},{"e":"🇦🇮","d":"flag: Anguilla","c":8,"a":["anguilla"]},{"e":"🇦🇱","d":"flag: Albania","c":8,"a":["albania"]},{"e":"🇦🇲","d":"flag: Armenia","c":8,"a":["armenia"]},{"e":"🇦🇴","d":"flag: Angola","c":8,"a":["angola"]},{"e":"🇦🇶","d":"flag: Antarctica","c":8,"a":["antarctica"]},{"e":"🇦🇷","d":"flag: Argentina","c":8,"a":["argentina"]},{"e":"🇦🇸","d":"flag: American Samoa","c":8,"a":["american_samoa"]},{"e":"🇦🇹","d":"flag: Austria","c":8,"a":["austria"]},{"e":"🇦🇺","d":"flag: Australia","c":8,"a":["australia"]},{"e":"🇦🇼","d":"flag: Aruba","c":8,"a":["aruba"]},{"e":"🇦🇽","d":"flag: Åland Islands","c":8,"a":["aland_islands"]},{"e":"🇦🇿","d":"flag: Azerbaijan","c":8,"a":["azerbaijan"]},{"e":"🇧🇦","d":"flag: Bosnia & Herzegovina","c":8,"a":["bosnia_herzegovina"]},{"e":"🇧🇧","d":"flag: Barbados","c":8,"a":["barbados"]},{"e":"🇧🇩","d":"flag: Bangladesh","c":8,"a":["bangladesh"]},{"e":"🇧🇪","d":"flag: Belgium","c":8,"a":["belgium"]},{"e":"🇧🇫","d":"flag: Burkina Faso","c":8,"a":["burkina_faso"]},{"e":"🇧🇬","d":"flag: Bulgaria","c":8,"a":["bulgaria"]},{"e":"🇧🇭","d":"flag: Bahrain","c":8,"a":["bahrain"]},{"e":"🇧🇮","d":"flag: Burundi","c":8,"a":["burundi"]},{"e":"🇧🇯","d":"flag: Benin","c":8,"a":["benin"]},{"e":"🇧🇱","d":"flag: St. Barthélemy","c":8,"a":["st_barthelemy"]},{"e":"🇧🇲","d":"flag: Bermuda","c":8,"a":["bermuda"]},{"e":"🇧🇳","d":"flag: Brunei","c":8,"a":["brunei"]},{"e":"🇧🇴","d":"flag: Bolivia","c":8,"a":["bolivia"]},{"e":"🇧🇶","d":"flag: Caribbean Netherlands","c":8,"a":["caribbean_netherlands"]},{"e":"🇧🇷","d":"flag: Brazil","c":8,"a":["brazil"]},{"e":"🇧🇸","d":"flag: Bahamas","c":8,"a":["bahamas"]},{"e":"🇧🇹","d":"flag: Bhutan","c":8,"a":["bhutan"]},{"e":"🇧🇻","d":"flag: Bouvet Island","c":8,"a":["bouvet_island"]},{"e":"🇧🇼","d":"flag: Botswana","c":8,"a":["botswana"]},{"e":"🇧🇾","d":"flag: Belarus","c":8,"a":["belarus"]},{"e":"🇧🇿","d":"flag: Belize","c":8,"a":["belize"]},{"e":"🇨🇦","d":"flag: Canada","c":8,"a":["canada"]},{"e":"🇨🇨","d":"flag: Cocos (Keeling) Islands","c":8,"a":["cocos_islands"],"t":["keeling"]},{"e":"🇨🇩","d":"flag: Congo - Kinshasa","c":8,"a":["congo_kinshasa"]},{"e":"🇨🇫","d":"flag: Central African Republic","c":8,"a":["central_african_republic"]},{"e":"🇨🇬","d":"flag: Congo - Brazzaville","c":8,"a":["congo_brazzaville"]},{"e":"🇨🇭","d":"flag: Switzerland","c":8,"a":["switzerland"]},{"e":"🇨🇮","d":"flag: Côte d’Ivoire","c":8,"a":["cote_divoire"],"t":["ivory"]},{"e":"🇨🇰","d":"flag: Cook Islands","c":8,"a":["cook_islands"]},{"e":"🇨🇱","d":"flag: Chile","c":8,"a":["chile"]},{"e":"🇨🇲","d":"flag: Cameroon","c":8,"a":["cameroon"]},{"e":"🇨🇳","d":"flag: China","c":8,"a":["cn"],"t":["china"]},{"e":"🇨🇴","d":"flag: Colombia","c":8,"a":["colombia"]},{"e":"🇨🇵","d":"flag: Clipperton Island","c":8,"a":["clipperton_island"]},{"e":"🇨🇷","d":"flag: Costa Rica","c":8,"a":["costa_rica"]},{"e":"🇨🇺","d":"flag: Cuba","c":8,"a":["cuba"]},{"e":"🇨🇻","d":"flag: Cape Verde","c":8,"a":["cape_verde"]},{"e":"🇨🇼","d":"flag: Curaçao","c":8,"a":["curacao"]},{"e":"🇨🇽","d":"flag: Christmas Island","c":8,"a":["christmas_island"]},{"e":"🇨🇾","d":"flag: Cyprus","c":8,"a":["cyprus"]},{"e":"🇨🇿","d":"flag: Czechia","c":8,"a":["czech_republic"]},{"e":"🇩🇪","d":"flag: Germany","c":8,"a":["de"],"t":["flag","germany"]},{"e":"🇩🇬","d":"flag: Diego Garcia","c":8,"a":["diego_garcia"]},{"e":"🇩🇯","d":"flag: Djibouti","c":8,"a":["djibouti"]},{"e":"🇩🇰","d":"flag: Denmark","c":8,"a":["denmark"]},{"e":"🇩🇲","d":"flag: Dominica","c":8,"a":["dominica"]},{"e":"🇩🇴","d":"flag: Dominican Republic","c":8,"a":["dominican_republic"]},{"e":"🇩🇿","d":"flag: Algeria","c":8,"a":["algeria"]},{"e":"🇪🇦","d":"flag: Ceuta & Melilla","c":8,"a":["ceuta_melilla"]},{"e":"🇪🇨","d":"flag: Ecuador","c":8,"a":["ecuador"]},{"e":"🇪🇪","d":"flag: Estonia","c":8,"a":["estonia"]},{"e":"🇪🇬","d":"flag: Egypt","c":8,"a":["egypt"]},{"e":"🇪🇭","d":"flag: Western Sahara","c":8,"a":["western_sahara"]},{"e":"🇪🇷","d":"flag: Eritrea","c":8,"a":["eritrea"]},{"e":"🇪🇸","d":"flag: Spain","c":8,"a":["es"],"t":["spain"]},{"e":"🇪🇹","d":"flag: Ethiopia","c":8,"a":["ethiopia"]},{"e":"🇪🇺","d":"flag: European Union","c":8,"a":["eu","european_union"]},{"e":"🇫🇮","d":"flag: Finland","c":8,"a":["finland"]},{"e":"🇫🇯","d":"flag: Fiji","c":8,"a":["fiji"]},{"e":"🇫🇰","d":"flag: Falkland Islands","c":8,"a":["falkland_islands"]},{"e":"🇫🇲","d":"flag: Micronesia","c":8,"a":["micronesia"]},{"e":"🇫🇴","d":"flag: Faroe Islands","c":8,"a":["faroe_islands"]},{"e":"🇫🇷","d":"flag: France","c":8,"a":["fr"],"t":["france","french"]},{"e":"🇬🇦","d":"flag: Gabon","c":8,"a":["gabon"]},{"e":"🇬🇧","d":"flag: United Kingdom","c":8,"a":["gb","uk"],"t":["flag","british"]},{"e":"🇬🇩","d":"flag: Grenada","c":8,"a":["grenada"]},{"e":"🇬🇪","d":"flag: Georgia","c":8,"a":["georgia"]},{"e":"🇬🇫","d":"flag: French Guiana","c":8,"a":["french_guiana"]},{"e":"🇬🇬","d":"flag: Guernsey","c":8,"a":["guernsey"]},{"e":"🇬🇭","d":"flag: Ghana","c":8,"a":["ghana"]},{"e":"🇬🇮","d":"flag: Gibraltar","c":8,"a":["gibraltar"]},{"e":"🇬🇱","d":"flag: Greenland","c":8,"a":["greenland"]},{"e":"🇬🇲","d":"flag: Gambia","c":8,"a":["gambia"]},{"e":"🇬🇳","d":"flag: Guinea","c":8,"a":["guinea"]},{"e":"🇬🇵","d":"flag: Guadeloupe","c":8,"a":["guadeloupe"]},{"e":"🇬🇶","d":"flag: Equatorial Guinea","c":8,"a":["equatorial_guinea"]},{"e":"🇬🇷","d":"flag: Greece","c":8,"a":["greece"]},{"e":"🇬🇸","d":"flag: South Georgia & South Sandwich Islands","c":8,"a":["south_georgia_south_sandwich_islands"]},{"e":"🇬🇹","d":"flag: Guatemala","c":8,"a":["guatemala"]},{"e":"🇬🇺","d":"flag: Guam","c":8,"a":["guam"]},{"e":"🇬🇼","d":"flag: Guinea-Bissau","c":8,"a":["guinea_bissau"]},{"e":"🇬🇾","d":"flag: Guyana","c":8,"a":["guyana"]},{"e":"🇭🇰","d":"flag: Hong Kong SAR China","c":8,"a":["hong_kong"]},{"e":"🇭🇲","d":"flag: Heard & McDonald Islands","c":8,"a":["heard_mcdonald_islands"]},{"e":"🇭🇳","d":"flag: Honduras","c":8,"a":["honduras"]},{"e":"🇭🇷","d":"flag: Croatia","c":8,"a":["croatia"]},{"e":"🇭🇹","d":"flag: Haiti","c":8,"a":["haiti"]},{"e":"🇭🇺","d":"flag: Hungary","c":8,"a":["hungary"]},{"e":"🇮🇨","d":"flag: Canary Islands","c":8,"a":["canary_islands"]},{"e":"🇮🇩","d":"flag: Indonesia","c":8,"a":["indonesia"]},{"e":"🇮🇪","d":"flag: Ireland","c":8,"a":["ireland"]},{"e":"🇮🇱","d":"flag: Israel","c":8,"a":["israel"]},{"e":"🇮🇲","d":"flag: Isle of Man","c":8,"a":["isle_of_man"]},{"e":"🇮🇳","d":"flag: India","c":8,"a":["india"]},{"e":"🇮🇴","d":"flag: British Indian Ocean Territory","c":8,"a":["british_indian_ocean_territory"]},{"e":"🇮🇶","d":"flag: Iraq","c":8,"a":["iraq"]},{"e":"🇮🇷","d":"flag: Iran","c":8,"a":["iran"]},{"e":"🇮🇸","d":"flag: Iceland","c":8,"a":["iceland"]},{"e":"🇮🇹","d":"flag: Italy","c":8,"a":["it"],"t":["italy"]},{"e":"🇯🇪","d":"flag: Jersey","c":8,"a":["jersey"]},{"e":"🇯🇲","d":"flag: Jamaica","c":8,"a":["jamaica"]},{"e":"🇯🇴","d":"flag: Jordan","c":8,"a":["jordan"]},{"e":"🇯🇵","d":"flag: Japan","c":8,"a":["jp"],"t":["japan"]},{"e":"🇰🇪","d":"flag: Kenya","c":8,"a":["kenya"]},{"e":"🇰🇬","d":"flag: Kyrgyzstan","c":8,"a":["kyrgyzstan"]},{"e":"🇰🇭","d":"flag: Cambodia","c":8,"a":["cambodia"]},{"e":"🇰🇮","d":"flag: Kiribati","c":8,"a":["kiribati"]},{"e":"🇰🇲","d":"flag: Comoros","c":8,"a":["comoros"]},{"e":"🇰🇳","d":"flag: St. Kitts & Nevis","c":8,"a":["st_kitts_nevis"]},{"e":"🇰🇵","d":"flag: North Korea","c":8,"a":["north_korea"]},{"e":"🇰🇷","d":"flag: South Korea","c":8,"a":["kr"],"t":["korea"]},{"e":"🇰🇼","d":"flag: Kuwait","c":8,"a":["kuwait"]},{"e":"🇰🇾","d":"flag: Cayman Islands","c":8,"a":["cayman_islands"]},{"e":"🇰🇿","d":"flag: Kazakhstan","c":8,"a":["kazakhstan"]},{"e":"🇱🇦","d":"flag: Laos","c":8,"a":["laos"]},{"e":"🇱🇧","d":"flag: Lebanon","c":8,"a":["lebanon"]},{"e":"🇱🇨","d":"flag: St. Lucia","c":8,"a":["st_lucia"]},{"e":"🇱🇮","d":"flag: Liechtenstein","c":8,"a":["liechtenstein"]},{"e":"🇱🇰","d":"flag: Sri Lanka","c":8,"a":["sri_lanka"]},{"e":"🇱🇷","d":"flag: Liberia","c":8,"a":["liberia"]},{"e":"🇱🇸","d":"flag: Lesotho","c":8,"a":["lesotho"]},{"e":"🇱🇹","d":"flag: Lithuania","c":8,"a":["lithuania"]},{"e":"🇱🇺","d":"flag: Luxembourg","c":8,"a":["luxembourg"]},{"e":"🇱🇻","d":"flag: Latvia","c":8,"a":["latvia"]},{"e":"🇱🇾","d":"flag: Libya","c":8,"a":["libya"]},{"e":"🇲🇦","d":"flag: Morocco","c":8,"a":["morocco"]},{"e":"🇲🇨","d":"flag: Monaco","c":8,"a":["monaco"]},{"e":"🇲🇩","d":"flag: Moldova","c":8,"a":["moldova"]},{"e":"🇲🇪","d":"flag: Montenegro","c":8,"a":["montenegro"]},{"e":"🇲🇫","d":"flag: St. Martin","c":8,"a":["st_martin"]},{"e":"🇲🇬","d":"flag: Madagascar","c":8,"a":["madagascar"]},{"e":"🇲🇭","d":"flag: Marshall Islands","c":8,"a":["marshall_islands"]},{"e":"🇲🇰","d":"flag: North Macedonia","c":8,"a":["macedonia"]},{"e":"🇲🇱","d":"flag: Mali","c":8,"a":["mali"]},{"e":"🇲🇲","d":"flag: Myanmar (Burma)","c":8,"a":["myanmar"],"t":["burma"]},{"e":"🇲🇳","d":"flag: Mongolia","c":8,"a":["mongolia"]},{"e":"��🇴","d":"flag: Macao SAR China","c":8,"a":["macau"]},{"e":"🇲🇵","d":"flag: Northern Mariana Islands","c":8,"a":["northern_mariana_islands"]},{"e":"🇲🇶","d":"flag: Martinique","c":8,"a":["martinique"]},{"e":"🇲🇷","d":"flag: Mauritania","c":8,"a":["mauritania"]},{"e":"🇲🇸","d":"flag: Montserrat","c":8,"a":["montserrat"]},{"e":"🇲🇹","d":"flag: Malta","c":8,"a":["malta"]},{"e":"🇲🇺","d":"flag: Mauritius","c":8,"a":["mauritius"]},{"e":"🇲🇻","d":"flag: Maldives","c":8,"a":["maldives"]},{"e":"🇲🇼","d":"flag: Malawi","c":8,"a":["malawi"]},{"e":"🇲🇽","d":"flag: Mexico","c":8,"a":["mexico"]},{"e":"🇲🇾","d":"flag: Malaysia","c":8,"a":["malaysia"]},{"e":"🇲🇿","d":"flag: Mozambique","c":8,"a":["mozambique"]},{"e":"🇳🇦","d":"flag: Namibia","c":8,"a":["namibia"]},{"e":"🇳🇨","d":"flag: New Caledonia","c":8,"a":["new_caledonia"]},{"e":"🇳🇪","d":"flag: Niger","c":8,"a":["niger"]},{"e":"🇳🇫","d":"flag: Norfolk Island","c":8,"a":["norfolk_island"]},{"e":"🇳🇬","d":"flag: Nigeria","c":8,"a":["nigeria"]},{"e":"🇳🇮","d":"flag: Nicaragua","c":8,"a":["nicaragua"]},{"e":"🇳🇱","d":"flag: Netherlands","c":8,"a":["netherlands"]},{"e":"🇳🇴","d":"flag: Norway","c":8,"a":["norway"]},{"e":"🇳🇵","d":"flag: Nepal","c":8,"a":["nepal"]},{"e":"🇳🇷","d":"flag: Nauru","c":8,"a":["nauru"]},{"e":"🇳🇺","d":"flag: Niue","c":8,"a":["niue"]},{"e":"🇳🇿","d":"flag: New Zealand","c":8,"a":["new_zealand"]},{"e":"🇴🇲","d":"flag: Oman","c":8,"a":["oman"]},{"e":"🇵🇦","d":"flag: Panama","c":8,"a":["panama"]},{"e":"🇵🇪","d":"flag: Peru","c":8,"a":["peru"]},{"e":"🇵🇫","d":"flag: French Polynesia","c":8,"a":["french_polynesia"]},{"e":"🇵🇬","d":"flag: Papua New Guinea","c":8,"a":["papua_new_guinea"]},{"e":"🇵🇭","d":"flag: Philippines","c":8,"a":["philippines"]},{"e":"🇵🇰","d":"flag: Pakistan","c":8,"a":["pakistan"]},{"e":"🇵🇱","d":"flag: Poland","c":8,"a":["poland"]},{"e":"🇵🇲","d":"flag: St. Pierre & Miquelon","c":8,"a":["st_pierre_miquelon"]},{"e":"🇵🇳","d":"flag: Pitcairn Islands","c":8,"a":["pitcairn_islands"]},{"e":"🇵🇷","d":"flag: Puerto Rico","c":8,"a":["puerto_rico"]},{"e":"🇵🇸","d":"flag: Palestinian Territories","c":8,"a":["palestinian_territories"]},{"e":"🇵🇹","d":"flag: Portugal","c":8,"a":["portugal"]},{"e":"🇵🇼","d":"flag: Palau","c":8,"a":["palau"]},{"e":"🇵🇾","d":"flag: Paraguay","c":8,"a":["paraguay"]},{"e":"🇶🇦","d":"flag: Qatar","c":8,"a":["qatar"]},{"e":"🇷🇪","d":"flag: Réunion","c":8,"a":["reunion"]},{"e":"🇷🇴","d":"flag: Romania","c":8,"a":["romania"]},{"e":"🇷🇸","d":"flag: Serbia","c":8,"a":["serbia"]},{"e":"🇷🇺","d":"flag: Russia","c":8,"a":["ru"],"t":["russia"]},{"e":"🇷🇼","d":"flag: Rwanda","c":8,"a":["rwanda"]},{"e":"🇸🇦","d":"flag: Saudi Arabia","c":8,"a":["saudi_arabia"]},{"e":"����🇧","d":"flag: Solomon Islands","c":8,"a":["solomon_islands"]},{"e":"🇸🇨","d":"flag: Seychelles","c":8,"a":["seychelles"]},{"e":"🇸🇩","d":"flag: Sudan","c":8,"a":["sudan"]},{"e":"🇸🇪","d":"flag: Sweden","c":8,"a":["sweden"]},{"e":"🇸🇬","d":"flag: Singapore","c":8,"a":["singapore"]},{"e":"🇸🇭","d":"flag: St. Helena","c":8,"a":["st_helena"]},{"e":"🇸🇮","d":"flag: Slovenia","c":8,"a":["slovenia"]},{"e":"🇸🇯","d":"flag: Svalbard & Jan Mayen","c":8,"a":["svalbard_jan_mayen"]},{"e":"🇸🇰","d":"flag: Slovakia","c":8,"a":["slovakia"]},{"e":"🇸🇱","d":"flag: Sierra Leone","c":8,"a":["sierra_leone"]},{"e":"🇸🇲","d":"flag: San Marino","c":8,"a":["san_marino"]},{"e":"🇸🇳","d":"flag: Senegal","c":8,"a":["senegal"]},{"e":"🇸🇴","d":"flag: Somalia","c":8,"a":["somalia"]},{"e":"🇸🇷","d":"flag: Suriname","c":8,"a":["suriname"]},{"e":"🇸🇸","d":"flag: South Sudan","c":8,"a":["south_sudan"]},{"e":"🇸🇹","d":"flag: São Tomé & Príncipe","c":8,"a":["sao_tome_principe"]},{"e":"🇸🇻","d":"flag: El Salvador","c":8,"a":["el_salvador"]},{"e":"🇸🇽","d":"flag: Sint Maarten","c":8,"a":["sint_maarten"]},{"e":"🇸🇾","d":"flag: Syria","c":8,"a":["syria"]},{"e":"🇸🇿","d":"flag: Eswatini","c":8,"a":["swaziland"]},{"e":"🇹🇦","d":"flag: Tristan da Cunha","c":8,"a":["tristan_da_cunha"]},{"e":"🇹🇨","d":"flag: Turks & Caicos Islands","c":8,"a":["turks_caicos_islands"]},{"e":"🇹🇩","d":"flag: Chad","c":8,"a":["chad"]},{"e":"🇹🇫","d":"flag: French Southern Territories","c":8,"a":["french_southern_territories"]},{"e":"🇹🇬","d":"flag: Togo","c":8,"a":["togo"]},{"e":"🇹🇭","d":"flag: Thailand","c":8,"a":["thailand"]},{"e":"🇹🇯","d":"flag: Tajikistan","c":8,"a":["tajikistan"]},{"e":"🇹🇰","d":"flag: Tokelau","c":8,"a":["tokelau"]},{"e":"🇹🇱","d":"flag: Timor-Leste","c":8,"a":["timor_leste"]},{"e":"🇹🇲","d":"flag: Turkmenistan","c":8,"a":["turkmenistan"]},{"e":"🇹🇳","d":"flag: Tunisia","c":8,"a":["tunisia"]},{"e":"🇹🇴","d":"flag: Tonga","c":8,"a":["tonga"]},{"e":"🇹🇷","d":"flag: Turkey","c":8,"a":["tr"],"t":["turkey"]},{"e":"🇹🇹","d":"flag: Trinidad & Tobago","c":8,"a":["trinidad_tobago"]},{"e":"🇹🇻","d":"flag: Tuvalu","c":8,"a":["tuvalu"]},{"e":"🇹🇼","d":"flag: Taiwan","c":8,"a":["taiwan"]},{"e":"🇹🇿","d":"flag: Tanzania","c":8,"a":["tanzania"]},{"e":"🇺🇦","d":"flag: Ukraine","c":8,"a":["ukraine"]},{"e":"🇺🇬","d":"flag: Uganda","c":8,"a":["uganda"]},{"e":"🇺🇲","d":"flag: U.S. Outlying Islands","c":8,"a":["us_outlying_islands"]},{"e":"🇺🇳","d":"flag: United Nations","c":8,"a":["united_nations"]},{"e":"🇺🇸","d":"flag: United States","c":8,"a":["us"],"t":["flag","united","america"]},{"e":"🇺🇾","d":"flag: Uruguay","c":8,"a":["uruguay"]},{"e":"🇺🇿","d":"flag: Uzbekistan","c":8,"a":["uzbekistan"]},{"e":"🇻🇦","d":"flag: Vatican City","c":8,"a":["vatican_city"]},{"e":"🇻🇨","d":"flag: St. Vincent & Grenadines","c":8,"a":["st_vincent_grenadines"]},{"e":"🇻🇪","d":"flag: Venezuela","c":8,"a":["venezuela"]},{"e":"🇻🇬","d":"flag: British Virgin Islands","c":8,"a":["british_virgin_islands"]},{"e":"🇻🇮","d":"flag: U.S. Virgin Islands","c":8,"a":["us_virgin_islands"]},{"e":"🇻🇳","d":"flag: Vietnam","c":8,"a":["vietnam"]},{"e":"🇻🇺","d":"flag: Vanuatu","c":8,"a":["vanuatu"]},{"e":"🇼🇫","d":"flag: Wallis & Futuna","c":8,"a":["wallis_futuna"]},{"e":"🇼🇸","d":"flag: Samoa","c":8,"a":["samoa"]},{"e":"🇽🇰","d":"flag: Kosovo","c":8,"a":["kosovo"]},{"e":"🇾🇪","d":"flag: Yemen","c":8,"a":["yemen"]},{"e":"🇾🇹","d":"flag: Mayotte","c":8,"a":["mayotte"]},{"e":"🇿🇦","d":"flag: South Africa","c":8,"a":["south_africa"]},{"e":"🇿🇲","d":"flag: Zambia","c":8,"a":["zambia"]},{"e":"🇿🇼","d":"flag: Zimbabwe","c":8,"a":["zimbabwe"]},{"e":"🏴","d":"flag: England","c":8,"a":["england"]},{"e":"🏴","d":"flag: Scotland","c":8,"a":["scotland"]},{"e":"🏴","d":"flag: Wales","c":8,"a":["wales"]}]}')}},i={};function n(o){var r=i[o];if(void 0!==r)return r.exports;var s=i[o]={exports:{}};return t[o].call(s.exports,s,s.exports,n),s.exports}n.n=function(t){var i=t&&t.__esModule?function(){return t.default}:function(){return t};return n.d(i,{a:i}),i},n.d=function(t,i){for(var o in i)n.o(i,o)&&!n.o(t,o)&&Object.defineProperty(t,o,{enumerable:!0,get:i[o]})},n.o=function(t,i){return Object.prototype.hasOwnProperty.call(t,i)},n.r=function(t){"u">typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})};var o={};return!function(){"use strict";n.r(o),n.d(o,{Jodit:function(){return i.JoditPro}}),n(12373);var t=n(31356),i=n(2692);i.JoditPro.plugins.add("poweredByJodit",function(){}),i.JoditPro.modules.ListReconciler=t.ListReconciler}(),o});
|
|
1488
|
+
`}strong({tokens:t}){return`<strong>${this.parser.parseInline(t)}</strong>`}em({tokens:t}){return`<em>${this.parser.parseInline(t)}</em>`}codespan({text:t}){return`<code>${ed(t,!0)}</code>`}br(t){return"<br>"}del({tokens:t}){return`<del>${this.parser.parseInline(t)}</del>`}link({href:t,title:i,tokens:n}){let o=this.parser.parseInline(n),r=eu(t);if(null===r)return o;let s='<a href="'+(t=r)+'"';return i&&(s+=' title="'+ed(i)+'"'),s+=">"+o+"</a>"}image({href:t,title:i,text:n,tokens:o}){o&&(n=this.parser.parseInline(o,this.parser.textRenderer));let r=eu(t);if(null===r)return ed(n);t=r;let s=`<img src="${t}" alt="${ed(n)}"`;return i&&(s+=` title="${ed(i)}"`),s+=">"}text(t){return"tokens"in t&&t.tokens?this.parser.parseInline(t.tokens):"escaped"in t&&t.escaped?t.text:ed(t.text)}constructor(t){o(this,"options",void 0),o(this,"parser",void 0),this.options=t||a}},ev=class{strong({text:t}){return t}em({text:t}){return t}codespan({text:t}){return t}del({text:t}){return t}html({text:t}){return t}text({text:t}){return t}link({text:t}){return""+t}image({text:t}){return""+t}br(){return""}checkbox({raw:t}){return t}},ey=class t{static parse(i,n){return new t(n).parse(i)}static parseInline(i,n){return new t(n).parseInline(i)}parse(t){this.renderer.parser=this;let i="";for(let n=0;n<t.length;n++){let o=t[n];if(this.options.extensions?.renderers?.[o.type]){let t=this.options.extensions.renderers[o.type].call({parser:this},o);if(!1!==t||!["space","hr","heading","code","table","blockquote","list","html","def","paragraph","text"].includes(o.type)){i+=t||"";continue}}switch(o.type){case"space":i+=this.renderer.space(o);break;case"hr":i+=this.renderer.hr(o);break;case"heading":i+=this.renderer.heading(o);break;case"code":i+=this.renderer.code(o);break;case"table":i+=this.renderer.table(o);break;case"blockquote":i+=this.renderer.blockquote(o);break;case"list":i+=this.renderer.list(o);break;case"checkbox":i+=this.renderer.checkbox(o);break;case"html":i+=this.renderer.html(o);break;case"def":i+=this.renderer.def(o);break;case"paragraph":i+=this.renderer.paragraph(o);break;case"text":i+=this.renderer.text(o);break;default:{let t='Token with "'+o.type+'" type was not found.';if(this.options.silent)return"";throw Error(t)}}}return i}parseInline(t,i=this.renderer){this.renderer.parser=this;let n="";for(let o=0;o<t.length;o++){let r=t[o];if(this.options.extensions?.renderers?.[r.type]){let t=this.options.extensions.renderers[r.type].call({parser:this},r);if(!1!==t||!["escape","html","link","image","strong","em","codespan","br","del","text"].includes(r.type)){n+=t||"";continue}}switch(r.type){case"escape":case"text":n+=i.text(r);break;case"html":n+=i.html(r);break;case"link":n+=i.link(r);break;case"image":n+=i.image(r);break;case"checkbox":n+=i.checkbox(r);break;case"strong":n+=i.strong(r);break;case"em":n+=i.em(r);break;case"codespan":n+=i.codespan(r);break;case"br":n+=i.br(r);break;case"del":n+=i.del(r);break;default:{let t='Token with "'+r.type+'" type was not found.';if(this.options.silent)return"";throw Error(t)}}}return n}constructor(t){o(this,"options",void 0),o(this,"renderer",void 0),o(this,"textRenderer",void 0),this.options=t||a,this.options.renderer=this.options.renderer||new eb,this.renderer=this.options.renderer,this.renderer.options=this.options,this.renderer.parser=this,this.textRenderer=new ev}},ew=(s=class{preprocess(t){return t}postprocess(t){return t}processAllTokens(t){return t}emStrongMask(t){return t}provideLexer(t=this.block){return t?eg.lex:eg.lexInline}provideParser(t=this.block){return t?ey.parse:ey.parseInline}constructor(t){o(this,"options",void 0),o(this,"block",void 0),this.options=t||a}},o(s,"passThroughHooks",new Set(["preprocess","postprocess","processAllTokens","emStrongMask"])),o(s,"passThroughHooksRespectAsync",new Set(["preprocess","postprocess","processAllTokens"])),s),e_=new class{walkTokens(t,i){let n=[];for(let o of t)switch(n=n.concat(i.call(this,o)),o.type){case"table":for(let t of o.header)n=n.concat(this.walkTokens(t.tokens,i));for(let t of o.rows)for(let o of t)n=n.concat(this.walkTokens(o.tokens,i));break;case"list":n=n.concat(this.walkTokens(o.items,i));break;default:{let t=o;this.defaults.extensions?.childTokens?.[t.type]?this.defaults.extensions.childTokens[t.type].forEach(o=>{let r=t[o].flat(1/0);n=n.concat(this.walkTokens(r,i))}):t.tokens&&(n=n.concat(this.walkTokens(t.tokens,i)))}}return n}use(...t){let i=this.defaults.extensions||{renderers:{},childTokens:{}};return t.forEach(t=>{let n={...t};if(n.async=this.defaults.async||n.async||!1,t.extensions&&(t.extensions.forEach(t=>{if(!t.name)throw Error("extension name required");if("renderer"in t){let n=i.renderers[t.name];n?i.renderers[t.name]=function(...i){let o=t.renderer.apply(this,i);return!1===o&&(o=n.apply(this,i)),o}:i.renderers[t.name]=t.renderer}if("tokenizer"in t){if(!t.level||"block"!==t.level&&"inline"!==t.level)throw Error("extension level must be 'block' or 'inline'");let n=i[t.level];n?n.unshift(t.tokenizer):i[t.level]=[t.tokenizer],t.start&&("block"===t.level?i.startBlock?i.startBlock.push(t.start):i.startBlock=[t.start]:"inline"===t.level&&(i.startInline?i.startInline.push(t.start):i.startInline=[t.start]))}"childTokens"in t&&t.childTokens&&(i.childTokens[t.name]=t.childTokens)}),n.extensions=i),t.renderer){let i=this.defaults.renderer||new eb(this.defaults);for(let n in t.renderer){if(!(n in i))throw Error(`renderer '${n}' does not exist`);if(["options","parser"].includes(n))continue;let o=t.renderer[n],r=i[n];i[n]=(...t)=>{let n=o.apply(i,t);return!1===n&&(n=r.apply(i,t)),n||""}}n.renderer=i}if(t.tokenizer){let i=this.defaults.tokenizer||new em(this.defaults);for(let n in t.tokenizer){if(!(n in i))throw Error(`tokenizer '${n}' does not exist`);if(["options","rules","lexer"].includes(n))continue;let o=t.tokenizer[n],r=i[n];i[n]=(...t)=>{let n=o.apply(i,t);return!1===n&&(n=r.apply(i,t)),n}}n.tokenizer=i}if(t.hooks){let i=this.defaults.hooks||new ew;for(let n in t.hooks){if(!(n in i))throw Error(`hook '${n}' does not exist`);if(["options","block"].includes(n))continue;let o=t.hooks[n],r=i[n];ew.passThroughHooks.has(n)?i[n]=t=>{if(this.defaults.async&&ew.passThroughHooksRespectAsync.has(n))return(async()=>{let n=await o.call(i,t);return r.call(i,n)})();let s=o.call(i,t);return r.call(i,s)}:i[n]=(...t)=>{if(this.defaults.async)return(async()=>{let n=await o.apply(i,t);return!1===n&&(n=await r.apply(i,t)),n})();let n=o.apply(i,t);return!1===n&&(n=r.apply(i,t)),n}}n.hooks=i}if(t.walkTokens){let i=this.defaults.walkTokens,o=t.walkTokens;n.walkTokens=function(t){let n=[];return n.push(o.call(this,t)),i&&(n=n.concat(i.call(this,t))),n}}this.defaults={...this.defaults,...n}}),this}setOptions(t){return this.defaults={...this.defaults,...t},this}lexer(t,i){return eg.lex(t,i??this.defaults)}parser(t,i){return ey.parse(t,i??this.defaults)}parseMarkdown(t){return(i,n)=>{let o={...n},r={...this.defaults,...o},s=this.onError(!!r.silent,!!r.async);if(!0===this.defaults.async&&!1===o.async)return s(Error("marked(): The async option was set to true by an extension. Remove async: false from the parse options object to return a Promise."));if(typeof i>"u"||null===i)return s(Error("marked(): input parameter is undefined or null"));if("string"!=typeof i)return s(Error("marked(): input parameter is of type "+Object.prototype.toString.call(i)+", string expected"));if(r.hooks&&(r.hooks.options=r,r.hooks.block=t),r.async)return(async()=>{let n=r.hooks?await r.hooks.preprocess(i):i,o=await (r.hooks?await r.hooks.provideLexer(t):t?eg.lex:eg.lexInline)(n,r),s=r.hooks?await r.hooks.processAllTokens(o):o;r.walkTokens&&await Promise.all(this.walkTokens(s,r.walkTokens));let a=await (r.hooks?await r.hooks.provideParser(t):t?ey.parse:ey.parseInline)(s,r);return r.hooks?await r.hooks.postprocess(a):a})().catch(s);try{r.hooks&&(i=r.hooks.preprocess(i));let n=(r.hooks?r.hooks.provideLexer(t):t?eg.lex:eg.lexInline)(i,r);r.hooks&&(n=r.hooks.processAllTokens(n)),r.walkTokens&&this.walkTokens(n,r.walkTokens);let o=(r.hooks?r.hooks.provideParser(t):t?ey.parse:ey.parseInline)(n,r);return r.hooks&&(o=r.hooks.postprocess(o)),o}catch(t){return s(t)}}}onError(t,i){return n=>{if(n.message+=`
|
|
1489
|
+
Please report this to https://github.com/markedjs/marked.`,t){let t="<p>An error occurred:</p><pre>"+ed(n.message+"",!0)+"</pre>";return i?Promise.resolve(t):t}if(i)return Promise.reject(n);throw n}}constructor(...t){o(this,"defaults",r()),o(this,"options",this.setOptions),o(this,"parse",this.parseMarkdown(!0)),o(this,"parseInline",this.parseMarkdown(!1)),o(this,"Parser",ey),o(this,"Renderer",eb),o(this,"TextRenderer",ev),o(this,"Lexer",eg),o(this,"Tokenizer",em),o(this,"Hooks",ew),this.use(...t)}};function eC(t,i){return e_.parse(t,i)}eC.options=eC.setOptions=function(t){return e_.setOptions(t),eC.defaults=e_.defaults,a=eC.defaults,eC},eC.getDefaults=r,eC.defaults=a,eC.use=function(...t){return e_.use(...t),eC.defaults=e_.defaults,a=eC.defaults,eC},eC.walkTokens=function(t,i){return e_.walkTokens(t,i)},eC.parseInline=e_.parseInline,eC.Parser=ey,eC.parser=ey.parse,eC.Renderer=eb,eC.TextRenderer=ev,eC.Lexer=eg,eC.lexer=eg.lex,eC.Tokenizer=em,eC.Hooks=ew,eC.parse=eC,eC.options,eC.setOptions,eC.use,eC.walkTokens,eC.parseInline,ey.parse,eg.lex},31635:function(t,i,n){"use strict";function o(t,i,n,o){var r,s=arguments.length,a=s<3?i:null===o?o=Object.getOwnPropertyDescriptor(i,n):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(t,i,n,o);else for(var l=t.length-1;l>=0;l--)(r=t[l])&&(a=(s<3?r(a):s>3?r(i,n,a):r(i,n))||a);return s>3&&a&&Object.defineProperty(i,n,a),a}n.d(i,{__decorate:function(){return o}}),"function"==typeof SuppressedError&&SuppressedError},43039:function(t){"use strict";t.exports=JSON.parse('[{"be":"#5cbf2a","bs":"#44c767","bc":"#18ab29","br":"28px","bse":"1px","bsh":false,"bsbr":0,"bsc":"#3dc21b","bsi":false,"bsox":0,"bsoy":0,"bssr":0,"fc":"#fff","ff":"Arial","fs":"17px","fse":false,"fw":false,"px":"31px","py":"16px","pbc":"#f5f5f5","s":true,"t":"green","ts":true,"tsbr":0,"tsc":"#2f6627","tsox":0,"tsoy":"1px"},{"be":"#476e9e","bs":"#7892c2","bc":"#4e6096","br":"10px","bse":"1px","bsh":true,"bsbr":0,"bsc":"#9fb4f2","bsi":false,"bsox":0,"bsoy":0,"bssr":"2px","fc":"#fff","ff":"Arial","fs":"19px","fse":false,"fw":false,"px":"37px","py":"12px","pbc":"#f5f5f5","s":false,"t":"blue","ts":true,"tsbr":0,"tsc":"#283966","tsox":0,"tsoy":"1px"},{"be":"#408c99","bs":"#599bb3","bc":"#29668f","br":"8px","bse":0,"bsh":true,"bsbr":"14px","bsc":"#276873","bsi":false,"bsox":0,"bsoy":"10px","bssr":"-7px","fc":"#fff","ff":"Arial","fs":"20px","fse":false,"fw":true,"px":"32px","py":"13px","pbc":"#f5f5f5","s":false,"t":"turquoise","ts":true,"tsbr":0,"tsc":"#3d768a","tsox":0,"tsoy":"1px"},{"be":"#6c7c7c","bs":"#768d87","bc":"#566963","br":"5px","bse":"1px","bsh":true,"bsbr":"3px","bsc":"#91b8b3","bsi":true,"bsox":0,"bsoy":"1px","bssr":0,"fc":"#fff","ff":"Arial","fs":"15px","fse":false,"fw":true,"px":"23px","py":"11px","pbc":"#e8e7e2","s":false,"t":"dark grey","ts":true,"tsbr":0,"tsc":"#2b665e","tsox":0,"tsoy":"-1px"},{"be":"#72b352","bs":"#77b55a","bc":"#4b8f29","br":"4px","bse":"1px","bsh":true,"bsbr":"14px","bsc":"#3e7327","bsi":false,"bsox":0,"bsoy":"10px","bssr":"-7px","fc":"#fff","ff":"Arial","fs":"13px","fse":false,"fw":true,"px":"12px","py":"6px","pbc":"#f5f5f5","s":false,"t":"green","ts":true,"tsbr":0,"tsc":"#5b8a3c","tsox":0,"tsoy":"1px"},{"be":"#eb675e","bs":"#e4685d","bc":"#fff","br":"4px","bse":"1px","bsh":true,"bsbr":0,"bsc":"#e67a73","bsi":true,"bsox":0,"bsoy":"39px","bssr":"-24px","fc":"#fff","ff":"Arial","fs":"15px","fse":false,"fw":false,"px":"15px","py":"6px","pbc":"#f2f2f2","s":true,"t":"light red","ts":true,"tsbr":0,"tsc":"#b23e35","tsox":0,"tsoy":"1px"},{"be":"#b34332","bs":"#a73f2d","bc":"#241d13","br":0,"bse":"1px","bsh":true,"bsbr":0,"bsc":"#b54b3a","bsi":true,"bsox":0,"bsoy":"34px","bssr":"-15px","fc":"#fff","ff":"Arial","fs":"15px","fse":false,"fw":true,"px":"23px","py":"9px","pbc":"#2a2218","s":true,"t":"brown","ts":true,"tsbr":0,"tsc":"#7a2a1d","tsox":0,"tsoy":"-1px"},{"be":"#0688fa","bs":"#2dabf9","bc":"#0b0e07","br":"3px","bse":"1px","bsh":true,"bsbr":"7px","bsc":"#29bbff","bsi":true,"bsox":0,"bsoy":"-3px","bssr":0,"fc":"#fff","ff":"Arial","fs":"15px","fse":false,"fw":false,"px":"23px","py":"9px","pbc":"#1c1c1e","s":false,"t":"blue","ts":true,"tsbr":0,"tsc":"#263666","tsox":0,"tsoy":"1px"},{"be":"#415989","bs":"#2e466e","bc":"#1f2f47","br":"17px","bse":"1px","bsh":true,"bsbr":"15px","bsc":"#23395e","bsi":true,"bsox":0,"bsoy":0,"bssr":"3px","fc":"#fff","ff":"Arial","fs":"15px","fse":false,"fw":false,"px":"13px","py":"6px","pbc":"#3f5c93","s":false,"t":"blue","ts":true,"tsbr":0,"tsc":"#263666","tsox":0,"tsoy":"1px"},{"be":"#bc3315","bs":"#d0451b","bc":"#942911","br":"3px","bse":"1px","bsh":true,"bsbr":0,"bsc":"#cf866c","bsi":true,"bsox":0,"bsoy":"1px","bssr":0,"fc":"#fff","ff":"Arial","fs":"13px","fse":false,"fw":false,"px":"24px","py":"6px","pbc":"#f5f5f5","s":false,"t":"codecanyon","ts":true,"tsbr":0,"tsc":"#854629","tsox":0,"tsoy":"1px"},{"be":"#ccc2a6","bs":"#eae0c2","bc":"#333029","br":"15px","bse":"2px","bsh":true,"bsbr":0,"bsc":"#1c1b18","bsi":false,"bsox":0,"bsoy":"1px","bssr":0,"fc":"#505739","ff":"Arial","fs":"14px","fse":false,"fw":true,"px":"16px","py":"12px","pbc":"#2d2e29","s":false,"t":"creme","ts":true,"tsbr":0,"tsc":"#fff","tsox":0,"tsoy":"1px"},{"be":"#634b30","bs":"#7d5d3b","bc":"#54381e","br":"3px","bse":"1px","bsh":true,"bsbr":0,"bsc":"#a6827e","bsi":true,"bsox":0,"bsoy":"1px","bssr":0,"fc":"#fff","ff":"Arial","fs":"13px","fse":false,"fw":false,"px":"24px","py":"6px","pbc":"#f5f5f5","s":false,"t":"themeforest","ts":true,"tsbr":0,"tsc":"#4d3534","tsox":0,"tsoy":"1px"},{"be":"#0061a7","bs":"#007dc1","bc":"#124d77","br":"3px","bse":"1px","bsh":true,"bsbr":0,"bsc":"#54a3f7","bsi":true,"bsox":0,"bsoy":"1px","bssr":0,"fc":"#fff","ff":"Arial","fs":"13px","fse":false,"fw":false,"px":"24px","py":"6px","pbc":"#f5f5f5","s":false,"t":"graphicriver","ts":true,"tsbr":0,"tsc":"#154682","tsox":0,"tsoy":"1px"},{"be":"#019ad2","bs":"#33bdef","bc":"#057fd0","br":"6px","bse":"1px","bsh":true,"bsbr":0,"bsc":"#f0f7fa","bsi":false,"bsox":0,"bsoy":"1px","bssr":0,"fc":"#fff","ff":"Arial","fs":"15px","fse":false,"fw":true,"px":"24px","py":"6px","pbc":"#e2e2e2","s":false,"t":"twitter","ts":true,"tsbr":0,"tsc":"#5b6178","tsox":0,"tsoy":"-1px"},{"be":"#ffab23","bs":"#ffec64","bc":"#ffaa22","br":"6px","bse":"1px","bsh":true,"bsbr":0,"bsc":"#fff6af","bsi":false,"bsox":0,"bsoy":"1px","bssr":0,"fc":"#333333","ff":"Arial","fs":"15px","fse":false,"fw":true,"px":"24px","py":"6px","pbc":"#e2e2e2","s":false,"t":"twitter","ts":true,"tsbr":0,"tsc":"#ffee66","tsox":0,"tsoy":"1px"},{"be":"#68a54b","bs":"#74ad5a","bc":"#3b6e22","br":0,"bse":"1px","bsh":true,"bsbr":0,"bsc":"#9acc85","bsi":true,"bsox":0,"bsoy":"1px","bssr":0,"fc":"#fff","ff":"Arial","fs":"13px","fse":false,"fw":true,"px":"12px","py":"6px","pbc":"#f5f5f5","s":false,"t":"facebook","ts":false,"tsbr":0,"tsc":"#92b879","tsox":0,"tsoy":"1px"},{"be":"#5972a7","bs":"#637aad","bc":"#314179","br":0,"bse":"1px","bsh":true,"bsbr":0,"bsc":"#7a8eb9","bsi":true,"bsox":0,"bsoy":"1px","bssr":0,"fc":"#fff","ff":"Arial","fs":"13px","fse":false,"fw":true,"px":"12px","py":"6px","pbc":"#3b5898","s":false,"t":"facebook","ts":false,"tsbr":0,"tsc":"#7a8eb9","tsox":0,"tsoy":"1px"},{"be":"#bab1ba","bs":"#ededed","bc":"#d6bcd6","br":"15px","bse":"1px","bsh":true,"bsbr":0,"bsc":"#899599","bsi":false,"bsox":"3px","bsoy":"4px","bssr":0,"fc":"#3a8a9e","ff":"Arial","fs":"17px","fse":false,"fw":false,"px":"25px","py":"7px","pbc":"#f5f5f5","s":false,"t":"grey","ts":true,"tsbr":0,"tsc":"#e1e2ed","tsox":0,"tsoy":"1px"},{"be":"#f24437","bs":"#c62d1f","bc":"#d02718","br":"18px","bse":"1px","bsh":true,"bsbr":0,"bsc":"#8a2a21","bsi":false,"bsox":"3px","bsoy":"4px","bssr":0,"fc":"#fff","ff":"Arial","fs":"17px","fse":false,"fw":false,"px":"25px","py":"7px","pbc":"#f5f5f5","s":false,"t":"red","ts":true,"tsbr":0,"tsc":"#810e05","tsox":0,"tsoy":"1px"},{"be":"#378de5","bs":"#79bbff","bc":"#337bc4","br":"5px","bse":"1px","bsh":true,"bsbr":0,"bsc":"#1564ad","bsi":false,"bsox":"3px","bsoy":"4px","bssr":0,"fc":"#fff","ff":"Arial","fs":"17px","fse":false,"fw":true,"px":"44px","py":"12px","pbc":"#f5f5f5","s":false,"t":"blue","ts":true,"tsbr":0,"tsc":"#528ecc","tsox":0,"tsoy":"1px"},{"be":"#9ba892","bs":"#dbe6c4","bc":"#b2b8ad","br":"6px","bse":"1px","bsh":true,"bsbr":"14px","bsc":"#f2fadc","bsi":true,"bsox":0,"bsoy":0,"bssr":"-3px","fc":"#757d6f","ff":"Arial","fs":"15px","fse":false,"fw":true,"px":"24px","py":"6px","pbc":"#f5f5f5","s":false,"t":"olive","ts":true,"tsbr":0,"tsc":"#ced9bf","tsox":0,"tsoy":"1px"},{"be":"#bc80ea","bs":"#dfbdfa","bc":"#c584f3","br":"6px","bse":"1px","bsh":true,"bsbr":0,"bsc":"#efdcfb","bsi":true,"bsox":0,"bsoy":"1px","bssr":0,"fc":"#fff","ff":"Arial","fs":"15px","fse":false,"fw":true,"px":"24px","py":"6px","pbc":"#f5f5f5","s":false,"t":"purple","ts":true,"tsbr":0,"tsc":"#9752cc","tsox":0,"tsoy":"1px"},{"be":"#80b5ea","bs":"#bddbfa","bc":"#84bbf3","br":"6px","bse":"1px","bsh":true,"bsbr":0,"bsc":"#dcecfb","bsi":true,"bsox":0,"bsoy":"1px","bssr":0,"fc":"#fff","ff":"Arial","fs":"15px","fse":false,"fw":true,"px":"24px","py":"6px","pbc":"#f5f5f5","s":false,"t":"light blue","ts":true,"tsbr":0,"tsc":"#528ecc","tsox":0,"tsoy":"1px"},{"be":"#f6f6f6","bs":"#fff","bc":"#dcdcdc","br":"6px","bse":"1px","bsh":true,"bsbr":0,"bsc":"#fff","bsi":true,"bsox":0,"bsoy":"1px","bssr":0,"fc":"#666666","ff":"Arial","fs":"15px","fse":false,"fw":true,"px":"24px","py":"6px","pbc":"#f5f5f5","s":false,"t":"white","ts":true,"tsbr":0,"tsc":"#fff","tsox":0,"tsoy":"1px"},{"be":"#e4685d","bs":"#fc8d83","bc":"#d83526","br":"6px","bse":"1px","bsh":true,"bsbr":0,"bsc":"#f7c5c0","bsi":true,"bsox":0,"bsoy":"1px","bssr":0,"fc":"#fff","ff":"Arial","fs":"15px","fse":false,"fw":true,"px":"24px","py":"6px","pbc":"#f5f5f5","s":false,"t":"light red","ts":true,"tsbr":0,"tsc":"#b23e35","tsox":0,"tsoy":"1px"},{"be":"#468ccf","bs":"#63b8ee","bc":"#3866a3","br":"6px","bse":"1px","bsh":true,"bsbr":0,"bsc":"#bee2f9","bsi":true,"bsox":0,"bsoy":"1px","bssr":0,"fc":"#14396a","ff":"Arial","fs":"15px","fse":false,"fw":true,"px":"24px","py":"6px","pbc":"#f5f5f5","s":false,"t":"dark blue","ts":true,"tsbr":0,"tsc":"#7cacde","tsox":0,"tsoy":"1px"},{"be":"#ffab23","bs":"#ffec64","bc":"#ffaa22","br":"6px","bse":"1px","bsh":true,"bsbr":0,"bsc":"#fff6af","bsi":true,"bsox":0,"bsoy":"1px","bssr":0,"fc":"#333333","ff":"Arial","fs":"15px","fse":false,"fw":true,"px":"24px","py":"6px","pbc":"#f5f5f5","s":false,"t":"orange","ts":true,"tsbr":0,"tsc":"#ffee66","tsox":0,"tsoy":"1px"},{"be":"#77a809","bs":"#89c403","bc":"#74b807","br":"6px","bse":"1px","bsh":true,"bsbr":0,"bsc":"#a4e271","bsi":true,"bsox":0,"bsoy":"1px","bssr":0,"fc":"#fff","ff":"Arial","fs":"15px","fse":false,"fw":true,"px":"24px","py":"6px","pbc":"#f5f5f5","s":false,"t":"green","ts":true,"tsbr":0,"tsc":"#528009","tsox":0,"tsoy":"1px"},{"be":"#e9e9e9","bs":"#f9f9f9","bc":"#dcdcdc","br":"6px","bse":"1px","bsh":true,"bsbr":0,"bsc":"#fff","bsi":true,"bsox":0,"bsoy":"1px","bssr":0,"fc":"#666666","ff":"Arial","fs":"15px","fse":false,"fw":true,"px":"24px","py":"6px","pbc":"#f5f5f5","s":false,"t":"light grey","ts":true,"tsbr":0,"tsc":"#fff","tsox":0,"tsoy":"1px"},{"be":"#a20dbd","bs":"#c123de","bc":"#a511c0","br":"6px","bse":"1px","bsh":true,"bsbr":0,"bsc":"#e184f3","bsi":true,"bsox":0,"bsoy":"1px","bssr":0,"fc":"#fff","ff":"Arial","fs":"15px","fse":false,"fw":true,"px":"24px","py":"6px","pbc":"#f5f5f5","s":false,"t":"purple","ts":true,"tsbr":0,"tsc":"#9b14b3","tsox":0,"tsoy":"1px"},{"be":"#1e62d0","bs":"#3d94f6","bc":"#337fed","br":"6px","bse":"1px","bsh":true,"bsbr":0,"bsc":"#97c4fe","bsi":true,"bsox":0,"bsoy":"1px","bssr":0,"fc":"#fff","ff":"Arial","fs":"15px","fse":false,"fw":true,"px":"24px","py":"6px","pbc":"#f5f5f5","s":false,"t":"blue","ts":true,"tsbr":0,"tsc":"#1570cd","tsox":0,"tsoy":"1px"},{"be":"#ef027d","bs":"#ff5bb0","bc":"#ee1eb5","br":"6px","bse":"1px","bsh":true,"bsbr":0,"bsc":"#fbafe3","bsi":true,"bsox":0,"bsoy":"1px","bssr":0,"fc":"#fff","ff":"Arial","fs":"15px","fse":false,"fw":true,"px":"24px","py":"6px","pbc":"#f5f5f5","s":false,"t":"pink","ts":true,"tsbr":0,"tsc":"#c70067","tsox":0,"tsoy":"1px"},{"be":"#f2ab1e","bs":"#f0c911","bc":"#e65f44","br":"6px","bse":"1px","bsh":true,"bsbr":0,"bsc":"#f9eca0","bsi":true,"bsox":0,"bsoy":"1px","bssr":0,"fc":"#c92200","ff":"Arial","fs":"15px","fse":false,"fw":true,"px":"24px","py":"6px","pbc":"#f5f5f5","s":false,"t":"orange","ts":true,"tsbr":0,"tsc":"#ded17c","tsox":0,"tsoy":"1px"},{"be":"#c62d1f","bs":"#f24537","bc":"#d02718","br":"6px","bse":"1px","bsh":true,"bsbr":0,"bsc":"#f5978e","bsi":true,"bsox":0,"bsoy":"1px","bssr":0,"fc":"#fff","ff":"Arial","fs":"15px","fse":false,"fw":true,"px":"24px","py":"6px","pbc":"#f5f5f5","s":false,"t":"red","ts":true,"tsbr":0,"tsc":"#810e05","tsox":0,"tsoy":"1px"},{"be":"#a5cc52","bs":"#b8e356","bc":"#83c41a","br":"6px","bse":"1px","bsh":true,"bsbr":0,"bsc":"#d9fbbe","bsi":true,"bsox":0,"bsoy":"1px","bssr":0,"fc":"#fff","ff":"Arial","fs":"15px","fse":false,"fw":true,"px":"24px","py":"6px","pbc":"#f5f5f5","s":false,"t":"light green","ts":true,"tsbr":0,"tsc":"#86ae47","tsox":0,"tsoy":"1px"},{"be":"#fb9e25","bs":"#ffc477","bc":"#eeb44f","br":"6px","bse":"1px","bsh":true,"bsbr":0,"bsc":"#fce2c1","bsi":true,"bsox":0,"bsoy":"1px","bssr":0,"fc":"#fff","ff":"Arial","fs":"15px","fse":false,"fw":true,"px":"24px","py":"6px","pbc":"#f5f5f5","s":false,"t":"light orange","ts":true,"tsbr":0,"tsc":"#cc9f52","tsox":0,"tsoy":"1px"},{"be":"#dfdfdf","bs":"#ededed","bc":"#dcdcdc","br":"6px","bse":"1px","bsh":true,"bsbr":0,"bsc":"#fff","bsi":true,"bsox":0,"bsoy":"1px","bssr":0,"fc":"#777777","ff":"Arial","fs":"15px","fse":false,"fw":true,"px":"24px","py":"6px","pbc":"#f5f5f5","s":false,"t":"grey","ts":true,"tsbr":0,"tsc":"#fff","tsox":0,"tsoy":"1px"},{"be":"#378de5","bs":"#79bbff","bc":"#84bbf3","br":"6px","bse":"1px","bsh":true,"bsbr":0,"bsc":"#bbdaf7","bsi":true,"bsox":0,"bsoy":"1px","bssr":0,"fc":"#fff","ff":"Arial","fs":"15px","fse":false,"fw":true,"px":"24px","py":"6px","pbc":"#f5f5f5","s":false,"t":"blue","ts":true,"tsbr":0,"tsc":"#528ecc","tsox":0,"tsoy":"1px"},{"be":"#5cb811","bs":"#77d42a","bc":"#268a16","br":"6px","bse":"1px","bsh":true,"bsbr":0,"bsc":"#caefab","bsi":true,"bsox":0,"bsoy":"1px","bssr":0,"fc":"#306108","ff":"Arial","fs":"15px","fse":false,"fw":true,"px":"24px","py":"6px","pbc":"#f5f5f5","s":false,"t":"green","ts":true,"tsbr":0,"tsc":"#aade7c","tsox":0,"tsoy":"1px"},{"be":"#ce0100","bs":"#fe1a00","bc":"#d83526","br":"6px","bse":"1px","bsh":true,"bsbr":0,"bsc":"#f29c93","bsi":true,"bsox":0,"bsoy":"1px","bssr":0,"fc":"#fff","ff":"Arial","fs":"15px","fse":false,"fw":true,"px":"24px","py":"6px","pbc":"#f5f5f5","s":false,"t":"red","ts":true,"tsbr":0,"tsc":"#b23e35","tsox":0,"tsoy":"1px"}]')},41943:function(t){"use strict";t.exports=JSON.parse('{"categories":["Smileys & Emotion","People & Body","Animals & Nature","Food & Drink","Travel & Places","Activities","Objects","Symbols","Flags"],"emoji":[{"e":"😀","d":"grinning face","c":0,"a":["grinning"],"t":["smile","happy"]},{"e":"😃","d":"grinning face with big eyes","c":0,"a":["smiley"],"t":["happy","joy","haha"]},{"e":"😄","d":"grinning face with smiling eyes","c":0,"a":["smile"],"t":["happy","joy","laugh","pleased"]},{"e":"😁","d":"beaming face with smiling eyes","c":0,"a":["grin"]},{"e":"😆","d":"grinning squinting face","c":0,"a":["laughing","satisfied"],"t":["happy","haha"]},{"e":"😅","d":"grinning face with sweat","c":0,"a":["sweat_smile"],"t":["hot"]},{"e":"🤣","d":"rolling on the floor laughing","c":0,"a":["rofl"],"t":["lol","laughing"]},{"e":"😂","d":"face with tears of joy","c":0,"a":["joy"],"t":["tears"]},{"e":"🙂","d":"slightly smiling face","c":0,"a":["slightly_smiling_face"]},{"e":"🙃","d":"upside-down face","c":0,"a":["upside_down_face"]},{"e":"😉","d":"winking face","c":0,"a":["wink"],"t":["flirt"]},{"e":"😊","d":"smiling face with smiling eyes","c":0,"a":["blush"],"t":["proud"]},{"e":"😇","d":"smiling face with halo","c":0,"a":["innocent"],"t":["angel"]},{"e":"🥰","d":"smiling face with hearts","c":0,"a":["smiling_face_with_three_hearts"],"t":["love"]},{"e":"😍","d":"smiling face with heart-eyes","c":0,"a":["heart_eyes"],"t":["love","crush"]},{"e":"🤩","d":"star-struck","c":0,"a":["star_struck"],"t":["eyes"]},{"e":"😘","d":"face blowing a kiss","c":0,"a":["kissing_heart"],"t":["flirt"]},{"e":"😗","d":"kissing face","c":0,"a":["kissing"]},{"e":"☺️","d":"smiling face","c":0,"a":["relaxed"],"t":["blush","pleased"]},{"e":"😚","d":"kissing face with closed eyes","c":0,"a":["kissing_closed_eyes"]},{"e":"😙","d":"kissing face with smiling eyes","c":0,"a":["kissing_smiling_eyes"]},{"e":"🥲","d":"smiling face with tear","c":0,"a":["smiling_face_with_tear"]},{"e":"😋","d":"face savoring food","c":0,"a":["yum"],"t":["tongue","lick"]},{"e":"😛","d":"face with tongue","c":0,"a":["stuck_out_tongue"]},{"e":"😜","d":"winking face with tongue","c":0,"a":["stuck_out_tongue_winking_eye"],"t":["prank","silly"]},{"e":"🤪","d":"zany face","c":0,"a":["zany_face"],"t":["goofy","wacky"]},{"e":"😝","d":"squinting face with tongue","c":0,"a":["stuck_out_tongue_closed_eyes"],"t":["prank"]},{"e":"🤑","d":"money-mouth face","c":0,"a":["money_mouth_face"],"t":["rich"]},{"e":"🤗","d":"hugging face","c":0,"a":["hugs"]},{"e":"🤭","d":"face with hand over mouth","c":0,"a":["hand_over_mouth"],"t":["quiet","whoops"]},{"e":"🤫","d":"shushing face","c":0,"a":["shushing_face"],"t":["silence","quiet"]},{"e":"🤔","d":"thinking face","c":0,"a":["thinking"]},{"e":"🤐","d":"zipper-mouth face","c":0,"a":["zipper_mouth_face"],"t":["silence","hush"]},{"e":"🤨","d":"face with raised eyebrow","c":0,"a":["raised_eyebrow"],"t":["suspicious"]},{"e":"😐","d":"neutral face","c":0,"a":["neutral_face"],"t":["meh"]},{"e":"😑","d":"expressionless face","c":0,"a":["expressionless"]},{"e":"😶","d":"face without mouth","c":0,"a":["no_mouth"],"t":["mute","silence"]},{"e":"😏","d":"smirking face","c":0,"a":["smirk"],"t":["smug"]},{"e":"😒","d":"unamused face","c":0,"a":["unamused"],"t":["meh"]},{"e":"🙄","d":"face with rolling eyes","c":0,"a":["roll_eyes"]},{"e":"😬","d":"grimacing face","c":0,"a":["grimacing"]},{"e":"🤥","d":"lying face","c":0,"a":["lying_face"],"t":["liar"]},{"e":"😌","d":"relieved face","c":0,"a":["relieved"],"t":["whew"]},{"e":"😔","d":"pensive face","c":0,"a":["pensive"]},{"e":"😪","d":"sleepy face","c":0,"a":["sleepy"],"t":["tired"]},{"e":"🤤","d":"drooling face","c":0,"a":["drooling_face"]},{"e":"😴","d":"sleeping face","c":0,"a":["sleeping"],"t":["zzz"]},{"e":"😷","d":"face with medical mask","c":0,"a":["mask"],"t":["sick","ill"]},{"e":"🤒","d":"face with thermometer","c":0,"a":["face_with_thermometer"],"t":["sick"]},{"e":"🤕","d":"face with head-bandage","c":0,"a":["face_with_head_bandage"],"t":["hurt"]},{"e":"🤢","d":"nauseated face","c":0,"a":["nauseated_face"],"t":["sick","barf","disgusted"]},{"e":"🤮","d":"face vomiting","c":0,"a":["vomiting_face"],"t":["barf","sick"]},{"e":"🤧","d":"sneezing face","c":0,"a":["sneezing_face"],"t":["achoo","sick"]},{"e":"🥵","d":"hot face","c":0,"a":["hot_face"],"t":["heat","sweating"]},{"e":"🥶","d":"cold face","c":0,"a":["cold_face"],"t":["freezing","ice"]},{"e":"🥴","d":"woozy face","c":0,"a":["woozy_face"],"t":["groggy"]},{"e":"😵","d":"dizzy face","c":0,"a":["dizzy_face"]},{"e":"🤯","d":"exploding head","c":0,"a":["exploding_head"],"t":["mind","blown"]},{"e":"🤠","d":"cowboy hat face","c":0,"a":["cowboy_hat_face"]},{"e":"🥳","d":"partying face","c":0,"a":["partying_face"],"t":["celebration","birthday"]},{"e":"🥸","d":"disguised face","c":0,"a":["disguised_face"]},{"e":"😎","d":"smiling face with sunglasses","c":0,"a":["sunglasses"],"t":["cool"]},{"e":"🤓","d":"nerd face","c":0,"a":["nerd_face"],"t":["geek","glasses"]},{"e":"🧐","d":"face with monocle","c":0,"a":["monocle_face"]},{"e":"😕","d":"confused face","c":0,"a":["confused"]},{"e":"😟","d":"worried face","c":0,"a":["worried"],"t":["nervous"]},{"e":"🙁","d":"slightly frowning face","c":0,"a":["slightly_frowning_face"]},{"e":"☹️","d":"frowning face","c":0,"a":["frowning_face"]},{"e":"😮","d":"face with open mouth","c":0,"a":["open_mouth"],"t":["surprise","impressed","wow"]},{"e":"😯","d":"hushed face","c":0,"a":["hushed"],"t":["silence","speechless"]},{"e":"😲","d":"astonished face","c":0,"a":["astonished"],"t":["amazed","gasp"]},{"e":"😳","d":"flushed face","c":0,"a":["flushed"]},{"e":"🥺","d":"pleading face","c":0,"a":["pleading_face"],"t":["puppy","eyes"]},{"e":"😦","d":"frowning face with open mouth","c":0,"a":["frowning"]},{"e":"😧","d":"anguished face","c":0,"a":["anguished"],"t":["stunned"]},{"e":"😨","d":"fearful face","c":0,"a":["fearful"],"t":["scared","shocked","oops"]},{"e":"😰","d":"anxious face with sweat","c":0,"a":["cold_sweat"],"t":["nervous"]},{"e":"😥","d":"sad but relieved face","c":0,"a":["disappointed_relieved"],"t":["phew","sweat","nervous"]},{"e":"😢","d":"crying face","c":0,"a":["cry"],"t":["sad","tear"]},{"e":"😭","d":"loudly crying face","c":0,"a":["sob"],"t":["sad","cry","bawling"]},{"e":"😱","d":"face screaming in fear","c":0,"a":["scream"],"t":["horror","shocked"]},{"e":"😖","d":"confounded face","c":0,"a":["confounded"]},{"e":"😣","d":"persevering face","c":0,"a":["persevere"],"t":["struggling"]},{"e":"😞","d":"disappointed face","c":0,"a":["disappointed"],"t":["sad"]},{"e":"😓","d":"downcast face with sweat","c":0,"a":["sweat"]},{"e":"😩","d":"weary face","c":0,"a":["weary"],"t":["tired"]},{"e":"😫","d":"tired face","c":0,"a":["tired_face"],"t":["upset","whine"]},{"e":"🥱","d":"yawning face","c":0,"a":["yawning_face"]},{"e":"😤","d":"face with steam from nose","c":0,"a":["triumph"],"t":["smug"]},{"e":"😡","d":"pouting face","c":0,"a":["rage","pout"],"t":["angry"]},{"e":"😠","d":"angry face","c":0,"a":["angry"],"t":["mad","annoyed"]},{"e":"🤬","d":"face with symbols on mouth","c":0,"a":["cursing_face"],"t":["foul"]},{"e":"😈","d":"smiling face with horns","c":0,"a":["smiling_imp"],"t":["devil","evil","horns"]},{"e":"👿","d":"angry face with horns","c":0,"a":["imp"],"t":["angry","devil","evil","horns"]},{"e":"💀","d":"skull","c":0,"a":["skull"],"t":["dead","danger","poison"]},{"e":"☠️","d":"skull and crossbones","c":0,"a":["skull_and_crossbones"],"t":["danger","pirate"]},{"e":"💩","d":"pile of poo","c":0,"a":["hankey","poop","shit"],"t":["crap"]},{"e":"🤡","d":"clown face","c":0,"a":["clown_face"]},{"e":"👹","d":"ogre","c":0,"a":["japanese_ogre"],"t":["monster"]},{"e":"👺","d":"goblin","c":0,"a":["japanese_goblin"]},{"e":"👻","d":"ghost","c":0,"a":["ghost"],"t":["halloween"]},{"e":"👽","d":"alien","c":0,"a":["alien"],"t":["ufo"]},{"e":"👾","d":"alien monster","c":0,"a":["space_invader"],"t":["game","retro"]},{"e":"🤖","d":"robot","c":0,"a":["robot"]},{"e":"😺","d":"grinning cat","c":0,"a":["smiley_cat"]},{"e":"😸","d":"grinning cat with smiling eyes","c":0,"a":["smile_cat"]},{"e":"😹","d":"cat with tears of joy","c":0,"a":["joy_cat"]},{"e":"😻","d":"smiling cat with heart-eyes","c":0,"a":["heart_eyes_cat"]},{"e":"😼","d":"cat with wry smile","c":0,"a":["smirk_cat"]},{"e":"😽","d":"kissing cat","c":0,"a":["kissing_cat"]},{"e":"🙀","d":"weary cat","c":0,"a":["scream_cat"],"t":["horror"]},{"e":"😿","d":"crying cat","c":0,"a":["crying_cat_face"],"t":["sad","tear"]},{"e":"😾","d":"pouting cat","c":0,"a":["pouting_cat"]},{"e":"🙈","d":"see-no-evil monkey","c":0,"a":["see_no_evil"],"t":["monkey","blind","ignore"]},{"e":"🙉","d":"hear-no-evil monkey","c":0,"a":["hear_no_evil"],"t":["monkey","deaf"]},{"e":"🙊","d":"speak-no-evil monkey","c":0,"a":["speak_no_evil"],"t":["monkey","mute","hush"]},{"e":"💋","d":"kiss mark","c":0,"a":["kiss"],"t":["lipstick"]},{"e":"💌","d":"love letter","c":0,"a":["love_letter"],"t":["email","envelope"]},{"e":"💘","d":"heart with arrow","c":0,"a":["cupid"],"t":["love","heart"]},{"e":"💝","d":"heart with ribbon","c":0,"a":["gift_heart"],"t":["chocolates"]},{"e":"💖","d":"sparkling heart","c":0,"a":["sparkling_heart"]},{"e":"💗","d":"growing heart","c":0,"a":["heartpulse"]},{"e":"💓","d":"beating heart","c":0,"a":["heartbeat"]},{"e":"💞","d":"revolving hearts","c":0,"a":["revolving_hearts"]},{"e":"💕","d":"two hearts","c":0,"a":["two_hearts"]},{"e":"💟","d":"heart decoration","c":0,"a":["heart_decoration"]},{"e":"❣️","d":"heart exclamation","c":0,"a":["heavy_heart_exclamation"]},{"e":"💔","d":"broken heart","c":0,"a":["broken_heart"]},{"e":"❤️","d":"red heart","c":0,"a":["heart"],"t":["love"]},{"e":"🧡","d":"orange heart","c":0,"a":["orange_heart"]},{"e":"💛","d":"yellow heart","c":0,"a":["yellow_heart"]},{"e":"💚","d":"green heart","c":0,"a":["green_heart"]},{"e":"💙","d":"blue heart","c":0,"a":["blue_heart"]},{"e":"💜","d":"purple heart","c":0,"a":["purple_heart"]},{"e":"🤎","d":"brown heart","c":0,"a":["brown_heart"]},{"e":"🖤","d":"black heart","c":0,"a":["black_heart"]},{"e":"🤍","d":"white heart","c":0,"a":["white_heart"]},{"e":"💯","d":"hundred points","c":0,"a":["100"],"t":["score","perfect"]},{"e":"💢","d":"anger symbol","c":0,"a":["anger"],"t":["angry"]},{"e":"💥","d":"collision","c":0,"a":["boom","collision"],"t":["explode"]},{"e":"💫","d":"dizzy","c":0,"a":["dizzy"],"t":["star"]},{"e":"💦","d":"sweat droplets","c":0,"a":["sweat_drops"],"t":["water","workout"]},{"e":"💨","d":"dashing away","c":0,"a":["dash"],"t":["wind","blow","fast"]},{"e":"🕳️","d":"hole","c":0,"a":["hole"]},{"e":"💣","d":"bomb","c":0,"a":["bomb"],"t":["boom"]},{"e":"💬","d":"speech balloon","c":0,"a":["speech_balloon"],"t":["comment"]},{"e":"👁️🗨️","d":"eye in speech bubble","c":0,"a":["eye_speech_bubble"]},{"e":"🗨️","d":"left speech bubble","c":0,"a":["left_speech_bubble"]},{"e":"🗯️","d":"right anger bubble","c":0,"a":["right_anger_bubble"]},{"e":"💭","d":"thought balloon","c":0,"a":["thought_balloon"],"t":["thinking"]},{"e":"💤","d":"zzz","c":0,"a":["zzz"],"t":["sleeping"]},{"e":"👋","d":"waving hand","c":1,"a":["wave"],"t":["goodbye"]},{"e":"🤚","d":"raised back of hand","c":1,"a":["raised_back_of_hand"]},{"e":"🖐️","d":"hand with fingers splayed","c":1,"a":["raised_hand_with_fingers_splayed"]},{"e":"✋","d":"raised hand","c":1,"a":["hand","raised_hand"],"t":["highfive","stop"]},{"e":"🖖","d":"vulcan salute","c":1,"a":["vulcan_salute"],"t":["prosper","spock"]},{"e":"👌","d":"OK hand","c":1,"a":["ok_hand"]},{"e":"🤌","d":"pinched fingers","c":1,"a":["pinched_fingers"]},{"e":"🤏","d":"pinching hand","c":1,"a":["pinching_hand"]},{"e":"✌️","d":"victory hand","c":1,"a":["v"],"t":["victory","peace"]},{"e":"🤞","d":"crossed fingers","c":1,"a":["crossed_fingers"],"t":["luck","hopeful"]},{"e":"🤟","d":"love-you gesture","c":1,"a":["love_you_gesture"]},{"e":"🤘","d":"sign of the horns","c":1,"a":["metal"]},{"e":"🤙","d":"call me hand","c":1,"a":["call_me_hand"]},{"e":"👈","d":"backhand index pointing left","c":1,"a":["point_left"]},{"e":"👉","d":"backhand index pointing right","c":1,"a":["point_right"]},{"e":"👆","d":"backhand index pointing up","c":1,"a":["point_up_2"]},{"e":"🖕","d":"middle finger","c":1,"a":["middle_finger","fu"]},{"e":"👇","d":"backhand index pointing down","c":1,"a":["point_down"]},{"e":"☝️","d":"index pointing up","c":1,"a":["point_up"]},{"e":"👍","d":"thumbs up","c":1,"a":["+1","thumbsup"],"t":["approve","ok"]},{"e":"👎","d":"thumbs down","c":1,"a":["-1","thumbsdown"],"t":["disapprove","bury"]},{"e":"✊","d":"raised fist","c":1,"a":["fist_raised","fist"],"t":["power"]},{"e":"👊","d":"oncoming fist","c":1,"a":["fist_oncoming","facepunch","punch"],"t":["attack"]},{"e":"🤛","d":"left-facing fist","c":1,"a":["fist_left"]},{"e":"🤜","d":"right-facing fist","c":1,"a":["fist_right"]},{"e":"👏","d":"clapping hands","c":1,"a":["clap"],"t":["praise","applause"]},{"e":"🙌","d":"raising hands","c":1,"a":["raised_hands"],"t":["hooray"]},{"e":"👐","d":"open hands","c":1,"a":["open_hands"]},{"e":"🤲","d":"palms up together","c":1,"a":["palms_up_together"]},{"e":"🤝","d":"handshake","c":1,"a":["handshake"],"t":["deal"]},{"e":"🙏","d":"folded hands","c":1,"a":["pray"],"t":["please","hope","wish"]},{"e":"✍️","d":"writing hand","c":1,"a":["writing_hand"]},{"e":"💅","d":"nail polish","c":1,"a":["nail_care"],"t":["beauty","manicure"]},{"e":"🤳","d":"selfie","c":1,"a":["selfie"]},{"e":"💪","d":"flexed biceps","c":1,"a":["muscle"],"t":["flex","bicep","strong","workout"]},{"e":"🦾","d":"mechanical arm","c":1,"a":["mechanical_arm"]},{"e":"🦿","d":"mechanical leg","c":1,"a":["mechanical_leg"]},{"e":"🦵","d":"leg","c":1,"a":["leg"]},{"e":"🦶","d":"foot","c":1,"a":["foot"]},{"e":"👂","d":"ear","c":1,"a":["ear"],"t":["hear","sound","listen"]},{"e":"🦻","d":"ear with hearing aid","c":1,"a":["ear_with_hearing_aid"]},{"e":"👃","d":"nose","c":1,"a":["nose"],"t":["smell"]},{"e":"🧠","d":"brain","c":1,"a":["brain"]},{"e":"🫀","d":"anatomical heart","c":1,"a":["anatomical_heart"]},{"e":"🫁","d":"lungs","c":1,"a":["lungs"]},{"e":"🦷","d":"tooth","c":1,"a":["tooth"]},{"e":"🦴","d":"bone","c":1,"a":["bone"]},{"e":"👀","d":"eyes","c":1,"a":["eyes"],"t":["look","see","watch"]},{"e":"👁️","d":"eye","c":1,"a":["eye"]},{"e":"👅","d":"tongue","c":1,"a":["tongue"],"t":["taste"]},{"e":"👄","d":"mouth","c":1,"a":["lips"],"t":["kiss"]},{"e":"👶","d":"baby","c":1,"a":["baby"],"t":["child","newborn"]},{"e":"🧒","d":"child","c":1,"a":["child"]},{"e":"👦","d":"boy","c":1,"a":["boy"],"t":["child"]},{"e":"👧","d":"girl","c":1,"a":["girl"],"t":["child"]},{"e":"🧑","d":"person","c":1,"a":["adult"]},{"e":"👱","d":"person: blond hair","c":1,"a":["blond_haired_person"]},{"e":"👨","d":"man","c":1,"a":["man"],"t":["mustache","father","dad"]},{"e":"🧔","d":"man: beard","c":1,"a":["bearded_person"]},{"e":"👨🦰","d":"man: red hair","c":1,"a":["red_haired_man"]},{"e":"👨🦱","d":"man: curly hair","c":1,"a":["curly_haired_man"]},{"e":"👨🦳","d":"man: white hair","c":1,"a":["white_haired_man"]},{"e":"👨🦲","d":"man: bald","c":1,"a":["bald_man"]},{"e":"👩","d":"woman","c":1,"a":["woman"],"t":["girls"]},{"e":"👩🦰","d":"woman: red hair","c":1,"a":["red_haired_woman"]},{"e":"🧑🦰","d":"person: red hair","c":1,"a":["person_red_hair"]},{"e":"👩🦱","d":"woman: curly hair","c":1,"a":["curly_haired_woman"]},{"e":"🧑🦱","d":"person: curly hair","c":1,"a":["person_curly_hair"]},{"e":"👩🦳","d":"woman: white hair","c":1,"a":["white_haired_woman"]},{"e":"🧑🦳","d":"person: white hair","c":1,"a":["person_white_hair"]},{"e":"👩🦲","d":"woman: bald","c":1,"a":["bald_woman"]},{"e":"🧑🦲","d":"person: bald","c":1,"a":["person_bald"]},{"e":"👱♀️","d":"woman: blond hair","c":1,"a":["blond_haired_woman","blonde_woman"]},{"e":"👱♂️","d":"man: blond hair","c":1,"a":["blond_haired_man"]},{"e":"🧓","d":"older person","c":1,"a":["older_adult"]},{"e":"👴","d":"old man","c":1,"a":["older_man"]},{"e":"👵","d":"old woman","c":1,"a":["older_woman"]},{"e":"🙍","d":"person frowning","c":1,"a":["frowning_person"]},{"e":"🙍♂️","d":"man frowning","c":1,"a":["frowning_man"]},{"e":"🙍♀️","d":"woman frowning","c":1,"a":["frowning_woman"]},{"e":"🙎","d":"person pouting","c":1,"a":["pouting_face"]},{"e":"🙎♂️","d":"man pouting","c":1,"a":["pouting_man"]},{"e":"🙎♀️","d":"woman pouting","c":1,"a":["pouting_woman"]},{"e":"🙅","d":"person gesturing NO","c":1,"a":["no_good"],"t":["stop","halt","denied"]},{"e":"🙅♂️","d":"man gesturing NO","c":1,"a":["no_good_man","ng_man"],"t":["stop","halt","denied"]},{"e":"🙅♀️","d":"woman gesturing NO","c":1,"a":["no_good_woman","ng_woman"],"t":["stop","halt","denied"]},{"e":"🙆","d":"person gesturing OK","c":1,"a":["ok_person"]},{"e":"🙆♂️","d":"man gesturing OK","c":1,"a":["ok_man"]},{"e":"🙆♀️","d":"woman gesturing OK","c":1,"a":["ok_woman"]},{"e":"💁","d":"person tipping hand","c":1,"a":["tipping_hand_person","information_desk_person"]},{"e":"💁♂️","d":"man tipping hand","c":1,"a":["tipping_hand_man","sassy_man"],"t":["information"]},{"e":"💁♀️","d":"woman tipping hand","c":1,"a":["tipping_hand_woman","sassy_woman"],"t":["information"]},{"e":"🙋","d":"person raising hand","c":1,"a":["raising_hand"]},{"e":"🙋♂️","d":"man raising hand","c":1,"a":["raising_hand_man"]},{"e":"🙋♀️","d":"woman raising hand","c":1,"a":["raising_hand_woman"]},{"e":"🧏","d":"deaf person","c":1,"a":["deaf_person"]},{"e":"🧏♂️","d":"deaf man","c":1,"a":["deaf_man"]},{"e":"🧏♀️","d":"deaf woman","c":1,"a":["deaf_woman"]},{"e":"🙇","d":"person bowing","c":1,"a":["bow"],"t":["respect","thanks"]},{"e":"🙇♂️","d":"man bowing","c":1,"a":["bowing_man"],"t":["respect","thanks"]},{"e":"🙇♀️","d":"woman bowing","c":1,"a":["bowing_woman"],"t":["respect","thanks"]},{"e":"🤦","d":"person facepalming","c":1,"a":["facepalm"]},{"e":"🤦♂️","d":"man facepalming","c":1,"a":["man_facepalming"]},{"e":"🤦♀️","d":"woman facepalming","c":1,"a":["woman_facepalming"]},{"e":"🤷","d":"person shrugging","c":1,"a":["shrug"]},{"e":"🤷♂️","d":"man shrugging","c":1,"a":["man_shrugging"]},{"e":"🤷♀️","d":"woman shrugging","c":1,"a":["woman_shrugging"]},{"e":"🧑��️","d":"health worker","c":1,"a":["health_worker"]},{"e":"👨⚕️","d":"man health worker","c":1,"a":["man_health_worker"],"t":["doctor","nurse"]},{"e":"👩⚕️","d":"woman health worker","c":1,"a":["woman_health_worker"],"t":["doctor","nurse"]},{"e":"🧑🎓","d":"student","c":1,"a":["student"]},{"e":"👨🎓","d":"man student","c":1,"a":["man_student"],"t":["graduation"]},{"e":"👩🎓","d":"woman student","c":1,"a":["woman_student"],"t":["graduation"]},{"e":"🧑🏫","d":"teacher","c":1,"a":["teacher"]},{"e":"👨🏫","d":"man teacher","c":1,"a":["man_teacher"],"t":["school","professor"]},{"e":"👩🏫","d":"woman teacher","c":1,"a":["woman_teacher"],"t":["school","professor"]},{"e":"🧑⚖️","d":"judge","c":1,"a":["judge"]},{"e":"👨⚖️","d":"man judge","c":1,"a":["man_judge"],"t":["justice"]},{"e":"👩⚖️","d":"woman judge","c":1,"a":["woman_judge"],"t":["justice"]},{"e":"🧑🌾","d":"farmer","c":1,"a":["farmer"]},{"e":"👨🌾","d":"man farmer","c":1,"a":["man_farmer"]},{"e":"👩🌾","d":"woman farmer","c":1,"a":["woman_farmer"]},{"e":"🧑🍳","d":"cook","c":1,"a":["cook"]},{"e":"👨🍳","d":"man cook","c":1,"a":["man_cook"],"t":["chef"]},{"e":"👩🍳","d":"woman cook","c":1,"a":["woman_cook"],"t":["chef"]},{"e":"🧑🔧","d":"mechanic","c":1,"a":["mechanic"]},{"e":"👨🔧","d":"man mechanic","c":1,"a":["man_mechanic"]},{"e":"👩🔧","d":"woman mechanic","c":1,"a":["woman_mechanic"]},{"e":"🧑🏭","d":"factory worker","c":1,"a":["factory_worker"]},{"e":"👨���","d":"man factory worker","c":1,"a":["man_factory_worker"]},{"e":"👩🏭","d":"woman factory worker","c":1,"a":["woman_factory_worker"]},{"e":"🧑💼","d":"office worker","c":1,"a":["office_worker"]},{"e":"👨💼","d":"man office worker","c":1,"a":["man_office_worker"],"t":["business"]},{"e":"👩💼","d":"woman office worker","c":1,"a":["woman_office_worker"],"t":["business"]},{"e":"🧑🔬","d":"scientist","c":1,"a":["scientist"]},{"e":"👨🔬","d":"man scientist","c":1,"a":["man_scientist"],"t":["research"]},{"e":"👩🔬","d":"woman scientist","c":1,"a":["woman_scientist"],"t":["research"]},{"e":"🧑💻","d":"technologist","c":1,"a":["technologist"]},{"e":"👨💻","d":"man technologist","c":1,"a":["man_technologist"],"t":["coder"]},{"e":"👩💻","d":"woman technologist","c":1,"a":["woman_technologist"],"t":["coder"]},{"e":"🧑🎤","d":"singer","c":1,"a":["singer"]},{"e":"👨🎤","d":"man singer","c":1,"a":["man_singer"],"t":["rockstar"]},{"e":"👩🎤","d":"woman singer","c":1,"a":["woman_singer"],"t":["rockstar"]},{"e":"🧑🎨","d":"artist","c":1,"a":["artist"]},{"e":"👨🎨","d":"man artist","c":1,"a":["man_artist"],"t":["painter"]},{"e":"👩🎨","d":"woman artist","c":1,"a":["woman_artist"],"t":["painter"]},{"e":"🧑✈️","d":"pilot","c":1,"a":["pilot"]},{"e":"👨✈️","d":"man pilot","c":1,"a":["man_pilot"]},{"e":"👩✈️","d":"woman pilot","c":1,"a":["woman_pilot"]},{"e":"🧑🚀","d":"astronaut","c":1,"a":["astronaut"]},{"e":"👨🚀","d":"man astronaut","c":1,"a":["man_astronaut"],"t":["space"]},{"e":"👩🚀","d":"woman astronaut","c":1,"a":["woman_astronaut"],"t":["space"]},{"e":"🧑🚒","d":"firefighter","c":1,"a":["firefighter"]},{"e":"👨🚒","d":"man firefighter","c":1,"a":["man_firefighter"]},{"e":"👩🚒","d":"woman firefighter","c":1,"a":["woman_firefighter"]},{"e":"👮","d":"police officer","c":1,"a":["police_officer","cop"],"t":["law"]},{"e":"👮♂️","d":"man police officer","c":1,"a":["policeman"],"t":["law","cop"]},{"e":"👮♀️","d":"woman police officer","c":1,"a":["policewoman"],"t":["law","cop"]},{"e":"🕵️","d":"detective","c":1,"a":["detective"],"t":["sleuth"]},{"e":"🕵️♂️","d":"man detective","c":1,"a":["male_detective"],"t":["sleuth"]},{"e":"🕵️♀️","d":"woman detective","c":1,"a":["female_detective"],"t":["sleuth"]},{"e":"💂","d":"guard","c":1,"a":["guard"]},{"e":"💂♂️","d":"man guard","c":1,"a":["guardsman"]},{"e":"💂♀️","d":"woman guard","c":1,"a":["guardswoman"]},{"e":"🥷","d":"ninja","c":1,"a":["ninja"]},{"e":"👷","d":"construction worker","c":1,"a":["construction_worker"],"t":["helmet"]},{"e":"👷♂️","d":"man construction worker","c":1,"a":["construction_worker_man"],"t":["helmet"]},{"e":"👷♀️","d":"woman construction worker","c":1,"a":["construction_worker_woman"],"t":["helmet"]},{"e":"🤴","d":"prince","c":1,"a":["prince"],"t":["crown","royal"]},{"e":"👸","d":"princess","c":1,"a":["princess"],"t":["crown","royal"]},{"e":"👳","d":"person wearing turban","c":1,"a":["person_with_turban"]},{"e":"👳♂️","d":"man wearing turban","c":1,"a":["man_with_turban"]},{"e":"👳♀️","d":"woman wearing turban","c":1,"a":["woman_with_turban"]},{"e":"👲","d":"person with skullcap","c":1,"a":["man_with_gua_pi_mao"]},{"e":"🧕","d":"woman with headscarf","c":1,"a":["woman_with_headscarf"],"t":["hijab"]},{"e":"🤵","d":"person in tuxedo","c":1,"a":["person_in_tuxedo"],"t":["groom","marriage","wedding"]},{"e":"🤵♂️","d":"man in tuxedo","c":1,"a":["man_in_tuxedo"]},{"e":"🤵♀️","d":"woman in tuxedo","c":1,"a":["woman_in_tuxedo"]},{"e":"👰","d":"person with veil","c":1,"a":["person_with_veil"],"t":["marriage","wedding"]},{"e":"👰♂️","d":"man with veil","c":1,"a":["man_with_veil"]},{"e":"👰♀️","d":"woman with veil","c":1,"a":["woman_with_veil","bride_with_veil"]},{"e":"🤰","d":"pregnant woman","c":1,"a":["pregnant_woman"]},{"e":"🤱","d":"breast-feeding","c":1,"a":["breast_feeding"],"t":["nursing"]},{"e":"👩🍼","d":"woman feeding baby","c":1,"a":["woman_feeding_baby"]},{"e":"👨🍼","d":"man feeding baby","c":1,"a":["man_feeding_baby"]},{"e":"🧑🍼","d":"person feeding baby","c":1,"a":["person_feeding_baby"]},{"e":"👼","d":"baby angel","c":1,"a":["angel"]},{"e":"🎅","d":"Santa Claus","c":1,"a":["santa"],"t":["christmas"]},{"e":"🤶","d":"Mrs. Claus","c":1,"a":["mrs_claus"],"t":["santa"]},{"e":"🧑🎄","d":"mx claus","c":1,"a":["mx_claus"]},{"e":"🦸","d":"superhero","c":1,"a":["superhero"]},{"e":"🦸♂️","d":"man superhero","c":1,"a":["superhero_man"]},{"e":"🦸♀️","d":"woman superhero","c":1,"a":["superhero_woman"]},{"e":"🦹","d":"supervillain","c":1,"a":["supervillain"]},{"e":"🦹♂️","d":"man supervillain","c":1,"a":["supervillain_man"]},{"e":"🦹♀️","d":"woman supervillain","c":1,"a":["supervillain_woman"]},{"e":"🧙","d":"mage","c":1,"a":["mage"],"t":["wizard"]},{"e":"🧙♂️","d":"man mage","c":1,"a":["mage_man"],"t":["wizard"]},{"e":"🧙♀️","d":"woman mage","c":1,"a":["mage_woman"],"t":["wizard"]},{"e":"🧚","d":"fairy","c":1,"a":["fairy"]},{"e":"🧚♂️","d":"man fairy","c":1,"a":["fairy_man"]},{"e":"🧚♀️","d":"woman fairy","c":1,"a":["fairy_woman"]},{"e":"🧛","d":"vampire","c":1,"a":["vampire"]},{"e":"🧛♂️","d":"man vampire","c":1,"a":["vampire_man"]},{"e":"🧛♀️","d":"woman vampire","c":1,"a":["vampire_woman"]},{"e":"🧜","d":"merperson","c":1,"a":["merperson"]},{"e":"🧜♂️","d":"merman","c":1,"a":["merman"]},{"e":"🧜♀️","d":"mermaid","c":1,"a":["mermaid"]},{"e":"🧝","d":"elf","c":1,"a":["elf"]},{"e":"🧝♂️","d":"man elf","c":1,"a":["elf_man"]},{"e":"🧝♀️","d":"woman elf","c":1,"a":["elf_woman"]},{"e":"🧞","d":"genie","c":1,"a":["genie"]},{"e":"🧞♂️","d":"man genie","c":1,"a":["genie_man"]},{"e":"🧞♀️","d":"woman genie","c":1,"a":["genie_woman"]},{"e":"🧟","d":"zombie","c":1,"a":["zombie"]},{"e":"🧟♂️","d":"man zombie","c":1,"a":["zombie_man"]},{"e":"🧟♀️","d":"woman zombie","c":1,"a":["zombie_woman"]},{"e":"💆","d":"person getting massage","c":1,"a":["massage"],"t":["spa"]},{"e":"💆♂️","d":"man getting massage","c":1,"a":["massage_man"],"t":["spa"]},{"e":"💆♀️","d":"woman getting massage","c":1,"a":["massage_woman"],"t":["spa"]},{"e":"💇","d":"person getting haircut","c":1,"a":["haircut"],"t":["beauty"]},{"e":"💇♂️","d":"man getting haircut","c":1,"a":["haircut_man"]},{"e":"💇♀️","d":"woman getting haircut","c":1,"a":["haircut_woman"]},{"e":"🚶","d":"person walking","c":1,"a":["walking"]},{"e":"🚶♂️","d":"man walking","c":1,"a":["walking_man"]},{"e":"🚶♀️","d":"woman walking","c":1,"a":["walking_woman"]},{"e":"🧍","d":"person standing","c":1,"a":["standing_person"]},{"e":"🧍♂️","d":"man standing","c":1,"a":["standing_man"]},{"e":"🧍♀️","d":"woman standing","c":1,"a":["standing_woman"]},{"e":"🧎","d":"person kneeling","c":1,"a":["kneeling_person"]},{"e":"🧎♂️","d":"man kneeling","c":1,"a":["kneeling_man"]},{"e":"🧎♀️","d":"woman kneeling","c":1,"a":["kneeling_woman"]},{"e":"🧑🦯","d":"person with white cane","c":1,"a":["person_with_probing_cane"]},{"e":"👨🦯","d":"man with white cane","c":1,"a":["man_with_probing_cane"]},{"e":"👩🦯","d":"woman with white cane","c":1,"a":["woman_with_probing_cane"]},{"e":"🧑🦼","d":"person in motorized wheelchair","c":1,"a":["person_in_motorized_wheelchair"]},{"e":"👨🦼","d":"man in motorized wheelchair","c":1,"a":["man_in_motorized_wheelchair"]},{"e":"👩🦼","d":"woman in motorized wheelchair","c":1,"a":["woman_in_motorized_wheelchair"]},{"e":"🧑🦽","d":"person in manual wheelchair","c":1,"a":["person_in_manual_wheelchair"]},{"e":"����🦽","d":"man in manual wheelchair","c":1,"a":["man_in_manual_wheelchair"]},{"e":"👩🦽","d":"woman in manual wheelchair","c":1,"a":["woman_in_manual_wheelchair"]},{"e":"🏃","d":"person running","c":1,"a":["runner","running"],"t":["exercise","workout","marathon"]},{"e":"🏃♂️","d":"man running","c":1,"a":["running_man"],"t":["exercise","workout","marathon"]},{"e":"🏃♀️","d":"woman running","c":1,"a":["running_woman"],"t":["exercise","workout","marathon"]},{"e":"💃","d":"woman dancing","c":1,"a":["woman_dancing","dancer"],"t":["dress"]},{"e":"🕺","d":"man dancing","c":1,"a":["man_dancing"],"t":["dancer"]},{"e":"🕴️","d":"person in suit levitating","c":1,"a":["business_suit_levitating"]},{"e":"👯","d":"people with bunny ears","c":1,"a":["dancers"],"t":["bunny"]},{"e":"👯♂️","d":"men with bunny ears","c":1,"a":["dancing_men"],"t":["bunny"]},{"e":"👯♀️","d":"women with bunny ears","c":1,"a":["dancing_women"],"t":["bunny"]},{"e":"🧖","d":"person in steamy room","c":1,"a":["sauna_person"],"t":["steamy"]},{"e":"🧖♂️","d":"man in steamy room","c":1,"a":["sauna_man"],"t":["steamy"]},{"e":"🧖♀️","d":"woman in steamy room","c":1,"a":["sauna_woman"],"t":["steamy"]},{"e":"🧗","d":"person climbing","c":1,"a":["climbing"],"t":["bouldering"]},{"e":"🧗♂️","d":"man climbing","c":1,"a":["climbing_man"],"t":["bouldering"]},{"e":"🧗♀️","d":"woman climbing","c":1,"a":["climbing_woman"],"t":["bouldering"]},{"e":"🤺","d":"person fencing","c":1,"a":["person_fencing"]},{"e":"🏇","d":"horse racing","c":1,"a":["horse_racing"]},{"e":"⛷️","d":"skier","c":1,"a":["skier"]},{"e":"🏂","d":"snowboarder","c":1,"a":["snowboarder"]},{"e":"🏌️","d":"person golfing","c":1,"a":["golfing"]},{"e":"🏌️♂️","d":"man golfing","c":1,"a":["golfing_man"]},{"e":"🏌️♀️","d":"woman golfing","c":1,"a":["golfing_woman"]},{"e":"🏄","d":"person surfing","c":1,"a":["surfer"]},{"e":"🏄♂️","d":"man surfing","c":1,"a":["surfing_man"]},{"e":"🏄♀️","d":"woman surfing","c":1,"a":["surfing_woman"]},{"e":"🚣","d":"person rowing boat","c":1,"a":["rowboat"]},{"e":"🚣♂️","d":"man rowing boat","c":1,"a":["rowing_man"]},{"e":"🚣♀️","d":"woman rowing boat","c":1,"a":["rowing_woman"]},{"e":"🏊","d":"person swimming","c":1,"a":["swimmer"]},{"e":"🏊♂️","d":"man swimming","c":1,"a":["swimming_man"]},{"e":"🏊♀️","d":"woman swimming","c":1,"a":["swimming_woman"]},{"e":"⛹️","d":"person bouncing ball","c":1,"a":["bouncing_ball_person"],"t":["basketball"]},{"e":"⛹️♂️","d":"man bouncing ball","c":1,"a":["bouncing_ball_man","basketball_man"]},{"e":"⛹️♀️","d":"woman bouncing ball","c":1,"a":["bouncing_ball_woman","basketball_woman"]},{"e":"🏋️","d":"person lifting weights","c":1,"a":["weight_lifting"],"t":["gym","workout"]},{"e":"🏋️♂️","d":"man lifting weights","c":1,"a":["weight_lifting_man"],"t":["gym","workout"]},{"e":"🏋️♀️","d":"woman lifting weights","c":1,"a":["weight_lifting_woman"],"t":["gym","workout"]},{"e":"🚴","d":"person biking","c":1,"a":["bicyclist"]},{"e":"🚴♂️","d":"man biking","c":1,"a":["biking_man"]},{"e":"🚴♀️","d":"woman biking","c":1,"a":["biking_woman"]},{"e":"🚵","d":"person mountain biking","c":1,"a":["mountain_bicyclist"]},{"e":"🚵♂️","d":"man mountain biking","c":1,"a":["mountain_biking_man"]},{"e":"🚵♀️","d":"woman mountain biking","c":1,"a":["mountain_biking_woman"]},{"e":"🤸","d":"person cartwheeling","c":1,"a":["cartwheeling"]},{"e":"🤸♂️","d":"man cartwheeling","c":1,"a":["man_cartwheeling"]},{"e":"🤸♀️","d":"woman cartwheeling","c":1,"a":["woman_cartwheeling"]},{"e":"🤼","d":"people wrestling","c":1,"a":["wrestling"]},{"e":"🤼♂️","d":"men wrestling","c":1,"a":["men_wrestling"]},{"e":"🤼♀️","d":"women wrestling","c":1,"a":["women_wrestling"]},{"e":"🤽","d":"person playing water polo","c":1,"a":["water_polo"]},{"e":"🤽♂️","d":"man playing water polo","c":1,"a":["man_playing_water_polo"]},{"e":"🤽♀️","d":"woman playing water polo","c":1,"a":["woman_playing_water_polo"]},{"e":"🤾","d":"person playing handball","c":1,"a":["handball_person"]},{"e":"🤾♂️","d":"man playing handball","c":1,"a":["man_playing_handball"]},{"e":"🤾♀️","d":"woman playing handball","c":1,"a":["woman_playing_handball"]},{"e":"🤹","d":"person juggling","c":1,"a":["juggling_person"]},{"e":"🤹♂️","d":"man juggling","c":1,"a":["man_juggling"]},{"e":"🤹♀️","d":"woman juggling","c":1,"a":["woman_juggling"]},{"e":"🧘","d":"person in lotus position","c":1,"a":["lotus_position"],"t":["meditation"]},{"e":"🧘♂️","d":"man in lotus position","c":1,"a":["lotus_position_man"],"t":["meditation"]},{"e":"🧘♀️","d":"woman in lotus position","c":1,"a":["lotus_position_woman"],"t":["meditation"]},{"e":"🛀","d":"person taking bath","c":1,"a":["bath"],"t":["shower"]},{"e":"🛌","d":"person in bed","c":1,"a":["sleeping_bed"]},{"e":"🧑🤝🧑","d":"people holding hands","c":1,"a":["people_holding_hands"],"t":["couple","date"]},{"e":"👭","d":"women holding hands","c":1,"a":["two_women_holding_hands"],"t":["couple","date"]},{"e":"👫","d":"woman and man holding hands","c":1,"a":["couple"],"t":["date"]},{"e":"👬","d":"men holding hands","c":1,"a":["two_men_holding_hands"],"t":["couple","date"]},{"e":"💏","d":"kiss","c":1,"a":["couplekiss"]},{"e":"👩❤️💋👨","d":"kiss: woman, man","c":1,"a":["couplekiss_man_woman"]},{"e":"👨❤️💋👨","d":"kiss: man, man","c":1,"a":["couplekiss_man_man"]},{"e":"👩❤️💋👩","d":"kiss: woman, woman","c":1,"a":["couplekiss_woman_woman"]},{"e":"💑","d":"couple with heart","c":1,"a":["couple_with_heart"]},{"e":"👩❤️👨","d":"couple with heart: woman, man","c":1,"a":["couple_with_heart_woman_man"]},{"e":"👨❤️👨","d":"couple with heart: man, man","c":1,"a":["couple_with_heart_man_man"]},{"e":"👩❤️👩","d":"couple with heart: woman, woman","c":1,"a":["couple_with_heart_woman_woman"]},{"e":"👪","d":"family","c":1,"a":["family"],"t":["home","parents","child"]},{"e":"👨👩👦","d":"family: man, woman, boy","c":1,"a":["family_man_woman_boy"]},{"e":"👨👩👧","d":"family: man, woman, girl","c":1,"a":["family_man_woman_girl"]},{"e":"👨👩👧👦","d":"family: man, woman, girl, boy","c":1,"a":["family_man_woman_girl_boy"]},{"e":"👨👩👦👦","d":"family: man, woman, boy, boy","c":1,"a":["family_man_woman_boy_boy"]},{"e":"👨👩👧👧","d":"family: man, woman, girl, girl","c":1,"a":["family_man_woman_girl_girl"]},{"e":"👨👨👦","d":"family: man, man, boy","c":1,"a":["family_man_man_boy"]},{"e":"👨👨👧","d":"family: man, man, girl","c":1,"a":["family_man_man_girl"]},{"e":"👨👨👧👦","d":"family: man, man, girl, boy","c":1,"a":["family_man_man_girl_boy"]},{"e":"👨👨👦👦","d":"family: man, man, boy, boy","c":1,"a":["family_man_man_boy_boy"]},{"e":"👨👨👧👧","d":"family: man, man, girl, girl","c":1,"a":["family_man_man_girl_girl"]},{"e":"👩👩👦","d":"family: woman, woman, boy","c":1,"a":["family_woman_woman_boy"]},{"e":"👩👩👧","d":"family: woman, woman, girl","c":1,"a":["family_woman_woman_girl"]},{"e":"👩👩👧👦","d":"family: woman, woman, girl, boy","c":1,"a":["family_woman_woman_girl_boy"]},{"e":"👩👩👦👦","d":"family: woman, woman, boy, boy","c":1,"a":["family_woman_woman_boy_boy"]},{"e":"👩👩👧👧","d":"family: woman, woman, girl, girl","c":1,"a":["family_woman_woman_girl_girl"]},{"e":"👨👦","d":"family: man, boy","c":1,"a":["family_man_boy"]},{"e":"👨👦👦","d":"family: man, boy, boy","c":1,"a":["family_man_boy_boy"]},{"e":"👨👧","d":"family: man, girl","c":1,"a":["family_man_girl"]},{"e":"👨👧👦","d":"family: man, girl, boy","c":1,"a":["family_man_girl_boy"]},{"e":"👨👧👧","d":"family: man, girl, girl","c":1,"a":["family_man_girl_girl"]},{"e":"👩👦","d":"family: woman, boy","c":1,"a":["family_woman_boy"]},{"e":"👩👦👦","d":"family: woman, boy, boy","c":1,"a":["family_woman_boy_boy"]},{"e":"👩👧","d":"family: woman, girl","c":1,"a":["family_woman_girl"]},{"e":"👩👧👦","d":"family: woman, girl, boy","c":1,"a":["family_woman_girl_boy"]},{"e":"👩👧👧","d":"family: woman, girl, girl","c":1,"a":["family_woman_girl_girl"]},{"e":"🗣️","d":"speaking head","c":1,"a":["speaking_head"]},{"e":"👤","d":"bust in silhouette","c":1,"a":["bust_in_silhouette"],"t":["user"]},{"e":"👥","d":"busts in silhouette","c":1,"a":["busts_in_silhouette"],"t":["users","group","team"]},{"e":"🫂","d":"people hugging","c":1,"a":["people_hugging"]},{"e":"👣","d":"footprints","c":1,"a":["footprints"],"t":["feet","tracks"]},{"e":"🐵","d":"monkey face","c":2,"a":["monkey_face"]},{"e":"🐒","d":"monkey","c":2,"a":["monkey"]},{"e":"🦍","d":"gorilla","c":2,"a":["gorilla"]},{"e":"🦧","d":"orangutan","c":2,"a":["orangutan"]},{"e":"🐶","d":"dog face","c":2,"a":["dog"],"t":["pet"]},{"e":"🐕","d":"dog","c":2,"a":["dog2"]},{"e":"🦮","d":"guide dog","c":2,"a":["guide_dog"]},{"e":"🐕🦺","d":"service dog","c":2,"a":["service_dog"]},{"e":"🐩","d":"poodle","c":2,"a":["poodle"],"t":["dog"]},{"e":"🐺","d":"wolf","c":2,"a":["wolf"]},{"e":"🦊","d":"fox","c":2,"a":["fox_face"]},{"e":"🦝","d":"raccoon","c":2,"a":["raccoon"]},{"e":"🐱","d":"cat face","c":2,"a":["cat"],"t":["pet"]},{"e":"🐈","d":"cat","c":2,"a":["cat2"]},{"e":"🐈⬛","d":"black cat","c":2,"a":["black_cat"]},{"e":"🦁","d":"lion","c":2,"a":["lion"]},{"e":"🐯","d":"tiger face","c":2,"a":["tiger"]},{"e":"🐅","d":"tiger","c":2,"a":["tiger2"]},{"e":"🐆","d":"leopard","c":2,"a":["leopard"]},{"e":"🐴","d":"horse face","c":2,"a":["horse"]},{"e":"🐎","d":"horse","c":2,"a":["racehorse"],"t":["speed"]},{"e":"🦄","d":"unicorn","c":2,"a":["unicorn"]},{"e":"🦓","d":"zebra","c":2,"a":["zebra"]},{"e":"🦌","d":"deer","c":2,"a":["deer"]},{"e":"🦬","d":"bison","c":2,"a":["bison"]},{"e":"🐮","d":"cow face","c":2,"a":["cow"]},{"e":"🐂","d":"ox","c":2,"a":["ox"]},{"e":"🐃","d":"water buffalo","c":2,"a":["water_buffalo"]},{"e":"🐄","d":"cow","c":2,"a":["cow2"]},{"e":"🐷","d":"pig face","c":2,"a":["pig"]},{"e":"🐖","d":"pig","c":2,"a":["pig2"]},{"e":"🐗","d":"boar","c":2,"a":["boar"]},{"e":"🐽","d":"pig nose","c":2,"a":["pig_nose"]},{"e":"🐏","d":"ram","c":2,"a":["ram"]},{"e":"🐑","d":"ewe","c":2,"a":["sheep"]},{"e":"🐐","d":"goat","c":2,"a":["goat"]},{"e":"🐪","d":"camel","c":2,"a":["dromedary_camel"],"t":["desert"]},{"e":"🐫","d":"two-hump camel","c":2,"a":["camel"]},{"e":"🦙","d":"llama","c":2,"a":["llama"]},{"e":"🦒","d":"giraffe","c":2,"a":["giraffe"]},{"e":"🐘","d":"elephant","c":2,"a":["elephant"]},{"e":"🦣","d":"mammoth","c":2,"a":["mammoth"]},{"e":"🦏","d":"rhinoceros","c":2,"a":["rhinoceros"]},{"e":"🦛","d":"hippopotamus","c":2,"a":["hippopotamus"]},{"e":"🐭","d":"mouse face","c":2,"a":["mouse"]},{"e":"🐁","d":"mouse","c":2,"a":["mouse2"]},{"e":"🐀","d":"rat","c":2,"a":["rat"]},{"e":"🐹","d":"hamster","c":2,"a":["hamster"],"t":["pet"]},{"e":"🐰","d":"rabbit face","c":2,"a":["rabbit"],"t":["bunny"]},{"e":"🐇","d":"rabbit","c":2,"a":["rabbit2"]},{"e":"🐿️","d":"chipmunk","c":2,"a":["chipmunk"]},{"e":"🦫","d":"beaver","c":2,"a":["beaver"]},{"e":"🦔","d":"hedgehog","c":2,"a":["hedgehog"]},{"e":"🦇","d":"bat","c":2,"a":["bat"]},{"e":"🐻","d":"bear","c":2,"a":["bear"]},{"e":"🐻❄️","d":"polar bear","c":2,"a":["polar_bear"]},{"e":"🐨","d":"koala","c":2,"a":["koala"]},{"e":"🐼","d":"panda","c":2,"a":["panda_face"]},{"e":"🦥","d":"sloth","c":2,"a":["sloth"]},{"e":"🦦","d":"otter","c":2,"a":["otter"]},{"e":"🦨","d":"skunk","c":2,"a":["skunk"]},{"e":"🦘","d":"kangaroo","c":2,"a":["kangaroo"]},{"e":"🦡","d":"badger","c":2,"a":["badger"]},{"e":"🐾","d":"paw prints","c":2,"a":["feet","paw_prints"]},{"e":"🦃","d":"turkey","c":2,"a":["turkey"],"t":["thanksgiving"]},{"e":"🐔","d":"chicken","c":2,"a":["chicken"]},{"e":"🐓","d":"rooster","c":2,"a":["rooster"]},{"e":"🐣","d":"hatching chick","c":2,"a":["hatching_chick"]},{"e":"🐤","d":"baby chick","c":2,"a":["baby_chick"]},{"e":"🐥","d":"front-facing baby chick","c":2,"a":["hatched_chick"]},{"e":"🐦","d":"bird","c":2,"a":["bird"]},{"e":"🐧","d":"penguin","c":2,"a":["penguin"]},{"e":"🕊️","d":"dove","c":2,"a":["dove"],"t":["peace"]},{"e":"🦅","d":"eagle","c":2,"a":["eagle"]},{"e":"🦆","d":"duck","c":2,"a":["duck"]},{"e":"🦢","d":"swan","c":2,"a":["swan"]},{"e":"🦉","d":"owl","c":2,"a":["owl"]},{"e":"🦤","d":"dodo","c":2,"a":["dodo"]},{"e":"🪶","d":"feather","c":2,"a":["feather"]},{"e":"🦩","d":"flamingo","c":2,"a":["flamingo"]},{"e":"🦚","d":"peacock","c":2,"a":["peacock"]},{"e":"🦜","d":"parrot","c":2,"a":["parrot"]},{"e":"🐸","d":"frog","c":2,"a":["frog"]},{"e":"🐊","d":"crocodile","c":2,"a":["crocodile"]},{"e":"🐢","d":"turtle","c":2,"a":["turtle"],"t":["slow"]},{"e":"🦎","d":"lizard","c":2,"a":["lizard"]},{"e":"🐍","d":"snake","c":2,"a":["snake"]},{"e":"🐲","d":"dragon face","c":2,"a":["dragon_face"]},{"e":"🐉","d":"dragon","c":2,"a":["dragon"]},{"e":"🦕","d":"sauropod","c":2,"a":["sauropod"],"t":["dinosaur"]},{"e":"🦖","d":"T-Rex","c":2,"a":["t-rex"],"t":["dinosaur"]},{"e":"🐳","d":"spouting whale","c":2,"a":["whale"],"t":["sea"]},{"e":"🐋","d":"whale","c":2,"a":["whale2"]},{"e":"🐬","d":"dolphin","c":2,"a":["dolphin","flipper"]},{"e":"🦭","d":"seal","c":2,"a":["seal"]},{"e":"🐟","d":"fish","c":2,"a":["fish"]},{"e":"🐠","d":"tropical fish","c":2,"a":["tropical_fish"]},{"e":"🐡","d":"blowfish","c":2,"a":["blowfish"]},{"e":"🦈","d":"shark","c":2,"a":["shark"]},{"e":"🐙","d":"octopus","c":2,"a":["octopus"]},{"e":"🐚","d":"spiral shell","c":2,"a":["shell"],"t":["sea","beach"]},{"e":"🐌","d":"snail","c":2,"a":["snail"],"t":["slow"]},{"e":"🦋","d":"butterfly","c":2,"a":["butterfly"]},{"e":"🐛","d":"bug","c":2,"a":["bug"]},{"e":"🐜","d":"ant","c":2,"a":["ant"]},{"e":"🐝","d":"honeybee","c":2,"a":["bee","honeybee"]},{"e":"🪲","d":"beetle","c":2,"a":["beetle"]},{"e":"🐞","d":"lady beetle","c":2,"a":["lady_beetle"],"t":["bug"]},{"e":"🦗","d":"cricket","c":2,"a":["cricket"]},{"e":"🪳","d":"cockroach","c":2,"a":["cockroach"]},{"e":"🕷️","d":"spider","c":2,"a":["spider"]},{"e":"🕸️","d":"spider web","c":2,"a":["spider_web"]},{"e":"🦂","d":"scorpion","c":2,"a":["scorpion"]},{"e":"🦟","d":"mosquito","c":2,"a":["mosquito"]},{"e":"🪰","d":"fly","c":2,"a":["fly"]},{"e":"🪱","d":"worm","c":2,"a":["worm"]},{"e":"🦠","d":"microbe","c":2,"a":["microbe"],"t":["germ"]},{"e":"💐","d":"bouquet","c":2,"a":["bouquet"],"t":["flowers"]},{"e":"🌸","d":"cherry blossom","c":2,"a":["cherry_blossom"],"t":["flower","spring"]},{"e":"💮","d":"white flower","c":2,"a":["white_flower"]},{"e":"🏵️","d":"rosette","c":2,"a":["rosette"]},{"e":"🌹","d":"rose","c":2,"a":["rose"],"t":["flower"]},{"e":"🥀","d":"wilted flower","c":2,"a":["wilted_flower"]},{"e":"🌺","d":"hibiscus","c":2,"a":["hibiscus"]},{"e":"🌻","d":"sunflower","c":2,"a":["sunflower"]},{"e":"🌼","d":"blossom","c":2,"a":["blossom"]},{"e":"🌷","d":"tulip","c":2,"a":["tulip"],"t":["flower"]},{"e":"🌱","d":"seedling","c":2,"a":["seedling"],"t":["plant"]},{"e":"🪴","d":"potted plant","c":2,"a":["potted_plant"]},{"e":"🌲","d":"evergreen tree","c":2,"a":["evergreen_tree"],"t":["wood"]},{"e":"🌳","d":"deciduous tree","c":2,"a":["deciduous_tree"],"t":["wood"]},{"e":"🌴","d":"palm tree","c":2,"a":["palm_tree"]},{"e":"🌵","d":"cactus","c":2,"a":["cactus"]},{"e":"🌾","d":"sheaf of rice","c":2,"a":["ear_of_rice"]},{"e":"🌿","d":"herb","c":2,"a":["herb"]},{"e":"☘️","d":"shamrock","c":2,"a":["shamrock"]},{"e":"🍀","d":"four leaf clover","c":2,"a":["four_leaf_clover"],"t":["luck"]},{"e":"🍁","d":"maple leaf","c":2,"a":["maple_leaf"],"t":["canada"]},{"e":"🍂","d":"fallen leaf","c":2,"a":["fallen_leaf"],"t":["autumn"]},{"e":"🍃","d":"leaf fluttering in wind","c":2,"a":["leaves"],"t":["leaf"]},{"e":"🍇","d":"grapes","c":3,"a":["grapes"]},{"e":"🍈","d":"melon","c":3,"a":["melon"]},{"e":"🍉","d":"watermelon","c":3,"a":["watermelon"]},{"e":"🍊","d":"tangerine","c":3,"a":["tangerine","orange","mandarin"]},{"e":"🍋","d":"lemon","c":3,"a":["lemon"]},{"e":"🍌","d":"banana","c":3,"a":["banana"],"t":["fruit"]},{"e":"🍍","d":"pineapple","c":3,"a":["pineapple"]},{"e":"🥭","d":"mango","c":3,"a":["mango"]},{"e":"🍎","d":"red apple","c":3,"a":["apple"]},{"e":"🍏","d":"green apple","c":3,"a":["green_apple"],"t":["fruit"]},{"e":"🍐","d":"pear","c":3,"a":["pear"]},{"e":"🍑","d":"peach","c":3,"a":["peach"]},{"e":"🍒","d":"cherries","c":3,"a":["cherries"],"t":["fruit"]},{"e":"🍓","d":"strawberry","c":3,"a":["strawberry"],"t":["fruit"]},{"e":"🫐","d":"blueberries","c":3,"a":["blueberries"]},{"e":"🥝","d":"kiwi fruit","c":3,"a":["kiwi_fruit"]},{"e":"🍅","d":"tomato","c":3,"a":["tomato"]},{"e":"🫒","d":"olive","c":3,"a":["olive"]},{"e":"🥥","d":"coconut","c":3,"a":["coconut"]},{"e":"🥑","d":"avocado","c":3,"a":["avocado"]},{"e":"🍆","d":"eggplant","c":3,"a":["eggplant"],"t":["aubergine"]},{"e":"🥔","d":"potato","c":3,"a":["potato"]},{"e":"🥕","d":"carrot","c":3,"a":["carrot"]},{"e":"🌽","d":"ear of corn","c":3,"a":["corn"]},{"e":"🌶️","d":"hot pepper","c":3,"a":["hot_pepper"],"t":["spicy"]},{"e":"🫑","d":"bell pepper","c":3,"a":["bell_pepper"]},{"e":"🥒","d":"cucumber","c":3,"a":["cucumber"]},{"e":"🥬","d":"leafy green","c":3,"a":["leafy_green"]},{"e":"🥦","d":"broccoli","c":3,"a":["broccoli"]},{"e":"🧄","d":"garlic","c":3,"a":["garlic"]},{"e":"🧅","d":"onion","c":3,"a":["onion"]},{"e":"🍄","d":"mushroom","c":3,"a":["mushroom"]},{"e":"🥜","d":"peanuts","c":3,"a":["peanuts"]},{"e":"🌰","d":"chestnut","c":3,"a":["chestnut"]},{"e":"🍞","d":"bread","c":3,"a":["bread"],"t":["toast"]},{"e":"🥐","d":"croissant","c":3,"a":["croissant"]},{"e":"🥖","d":"baguette bread","c":3,"a":["baguette_bread"]},{"e":"🫓","d":"flatbread","c":3,"a":["flatbread"]},{"e":"🥨","d":"pretzel","c":3,"a":["pretzel"]},{"e":"🥯","d":"bagel","c":3,"a":["bagel"]},{"e":"🥞","d":"pancakes","c":3,"a":["pancakes"]},{"e":"🧇","d":"waffle","c":3,"a":["waffle"]},{"e":"🧀","d":"cheese wedge","c":3,"a":["cheese"]},{"e":"🍖","d":"meat on bone","c":3,"a":["meat_on_bone"]},{"e":"🍗","d":"poultry leg","c":3,"a":["poultry_leg"],"t":["meat","chicken"]},{"e":"🥩","d":"cut of meat","c":3,"a":["cut_of_meat"]},{"e":"🥓","d":"bacon","c":3,"a":["bacon"]},{"e":"🍔","d":"hamburger","c":3,"a":["hamburger"],"t":["burger"]},{"e":"🍟","d":"french fries","c":3,"a":["fries"]},{"e":"🍕","d":"pizza","c":3,"a":["pizza"]},{"e":"🌭","d":"hot dog","c":3,"a":["hotdog"]},{"e":"🥪","d":"sandwich","c":3,"a":["sandwich"]},{"e":"🌮","d":"taco","c":3,"a":["taco"]},{"e":"🌯","d":"burrito","c":3,"a":["burrito"]},{"e":"🫔","d":"tamale","c":3,"a":["tamale"]},{"e":"🥙","d":"stuffed flatbread","c":3,"a":["stuffed_flatbread"]},{"e":"🧆","d":"falafel","c":3,"a":["falafel"]},{"e":"🥚","d":"egg","c":3,"a":["egg"]},{"e":"🍳","d":"cooking","c":3,"a":["fried_egg"],"t":["breakfast"]},{"e":"🥘","d":"shallow pan of food","c":3,"a":["shallow_pan_of_food"],"t":["paella","curry"]},{"e":"🍲","d":"pot of food","c":3,"a":["stew"]},{"e":"🫕","d":"fondue","c":3,"a":["fondue"]},{"e":"🥣","d":"bowl with spoon","c":3,"a":["bowl_with_spoon"]},{"e":"🥗","d":"green salad","c":3,"a":["green_salad"]},{"e":"🍿","d":"popcorn","c":3,"a":["popcorn"]},{"e":"🧈","d":"butter","c":3,"a":["butter"]},{"e":"🧂","d":"salt","c":3,"a":["salt"]},{"e":"🥫","d":"canned food","c":3,"a":["canned_food"]},{"e":"🍱","d":"bento box","c":3,"a":["bento"]},{"e":"🍘","d":"rice cracker","c":3,"a":["rice_cracker"]},{"e":"🍙","d":"rice ball","c":3,"a":["rice_ball"]},{"e":"🍚","d":"cooked rice","c":3,"a":["rice"]},{"e":"🍛","d":"curry rice","c":3,"a":["curry"]},{"e":"🍜","d":"steaming bowl","c":3,"a":["ramen"],"t":["noodle"]},{"e":"🍝","d":"spaghetti","c":3,"a":["spaghetti"],"t":["pasta"]},{"e":"🍠","d":"roasted sweet potato","c":3,"a":["sweet_potato"]},{"e":"🍢","d":"oden","c":3,"a":["oden"]},{"e":"🍣","d":"sushi","c":3,"a":["sushi"]},{"e":"🍤","d":"fried shrimp","c":3,"a":["fried_shrimp"],"t":["tempura"]},{"e":"🍥","d":"fish cake with swirl","c":3,"a":["fish_cake"]},{"e":"🥮","d":"moon cake","c":3,"a":["moon_cake"]},{"e":"🍡","d":"dango","c":3,"a":["dango"]},{"e":"🥟","d":"dumpling","c":3,"a":["dumpling"]},{"e":"🥠","d":"fortune cookie","c":3,"a":["fortune_cookie"]},{"e":"🥡","d":"takeout box","c":3,"a":["takeout_box"]},{"e":"🦀","d":"crab","c":3,"a":["crab"]},{"e":"🦞","d":"lobster","c":3,"a":["lobster"]},{"e":"🦐","d":"shrimp","c":3,"a":["shrimp"]},{"e":"🦑","d":"squid","c":3,"a":["squid"]},{"e":"🦪","d":"oyster","c":3,"a":["oyster"]},{"e":"🍦","d":"soft ice cream","c":3,"a":["icecream"]},{"e":"🍧","d":"shaved ice","c":3,"a":["shaved_ice"]},{"e":"🍨","d":"ice cream","c":3,"a":["ice_cream"]},{"e":"🍩","d":"doughnut","c":3,"a":["doughnut"]},{"e":"🍪","d":"cookie","c":3,"a":["cookie"]},{"e":"🎂","d":"birthday cake","c":3,"a":["birthday"],"t":["party"]},{"e":"🍰","d":"shortcake","c":3,"a":["cake"],"t":["dessert"]},{"e":"🧁","d":"cupcake","c":3,"a":["cupcake"]},{"e":"🥧","d":"pie","c":3,"a":["pie"]},{"e":"🍫","d":"chocolate bar","c":3,"a":["chocolate_bar"]},{"e":"🍬","d":"candy","c":3,"a":["candy"],"t":["sweet"]},{"e":"🍭","d":"lollipop","c":3,"a":["lollipop"]},{"e":"🍮","d":"custard","c":3,"a":["custard"]},{"e":"🍯","d":"honey pot","c":3,"a":["honey_pot"]},{"e":"🍼","d":"baby bottle","c":3,"a":["baby_bottle"],"t":["milk"]},{"e":"🥛","d":"glass of milk","c":3,"a":["milk_glass"]},{"e":"☕","d":"hot beverage","c":3,"a":["coffee"],"t":["cafe","espresso"]},{"e":"🫖","d":"teapot","c":3,"a":["teapot"]},{"e":"🍵","d":"teacup without handle","c":3,"a":["tea"],"t":["green","breakfast"]},{"e":"🍶","d":"sake","c":3,"a":["sake"]},{"e":"🍾","d":"bottle with popping cork","c":3,"a":["champagne"],"t":["bottle","bubbly","celebration"]},{"e":"🍷","d":"wine glass","c":3,"a":["wine_glass"]},{"e":"🍸","d":"cocktail glass","c":3,"a":["cocktail"],"t":["drink"]},{"e":"🍹","d":"tropical drink","c":3,"a":["tropical_drink"],"t":["summer","vacation"]},{"e":"🍺","d":"beer mug","c":3,"a":["beer"],"t":["drink"]},{"e":"🍻","d":"clinking beer mugs","c":3,"a":["beers"],"t":["drinks"]},{"e":"🥂","d":"clinking glasses","c":3,"a":["clinking_glasses"],"t":["cheers","toast"]},{"e":"🥃","d":"tumbler glass","c":3,"a":["tumbler_glass"],"t":["whisky"]},{"e":"🥤","d":"cup with straw","c":3,"a":["cup_with_straw"]},{"e":"🧋","d":"bubble tea","c":3,"a":["bubble_tea"]},{"e":"🧃","d":"beverage box","c":3,"a":["beverage_box"]},{"e":"🧉","d":"mate","c":3,"a":["mate"]},{"e":"🧊","d":"ice","c":3,"a":["ice_cube"]},{"e":"🥢","d":"chopsticks","c":3,"a":["chopsticks"]},{"e":"🍽️","d":"fork and knife with plate","c":3,"a":["plate_with_cutlery"],"t":["dining","dinner"]},{"e":"🍴","d":"fork and knife","c":3,"a":["fork_and_knife"],"t":["cutlery"]},{"e":"🥄","d":"spoon","c":3,"a":["spoon"]},{"e":"🔪","d":"kitchen knife","c":3,"a":["hocho","knife"],"t":["cut","chop"]},{"e":"🏺","d":"amphora","c":3,"a":["amphora"]},{"e":"🌍","d":"globe showing Europe-Africa","c":4,"a":["earth_africa"],"t":["globe","world","international"]},{"e":"🌎","d":"globe showing Americas","c":4,"a":["earth_americas"],"t":["globe","world","international"]},{"e":"🌏","d":"globe showing Asia-Australia","c":4,"a":["earth_asia"],"t":["globe","world","international"]},{"e":"🌐","d":"globe with meridians","c":4,"a":["globe_with_meridians"],"t":["world","global","international"]},{"e":"🗺️","d":"world map","c":4,"a":["world_map"],"t":["travel"]},{"e":"🗾","d":"map of Japan","c":4,"a":["japan"]},{"e":"🧭","d":"compass","c":4,"a":["compass"]},{"e":"🏔️","d":"snow-capped mountain","c":4,"a":["mountain_snow"]},{"e":"⛰️","d":"mountain","c":4,"a":["mountain"]},{"e":"🌋","d":"volcano","c":4,"a":["volcano"]},{"e":"🗻","d":"mount fuji","c":4,"a":["mount_fuji"]},{"e":"🏕️","d":"camping","c":4,"a":["camping"]},{"e":"🏖️","d":"beach with umbrella","c":4,"a":["beach_umbrella"]},{"e":"🏜️","d":"desert","c":4,"a":["desert"]},{"e":"🏝️","d":"desert island","c":4,"a":["desert_island"]},{"e":"🏞️","d":"national park","c":4,"a":["national_park"]},{"e":"🏟️","d":"stadium","c":4,"a":["stadium"]},{"e":"🏛️","d":"classical building","c":4,"a":["classical_building"]},{"e":"🏗️","d":"building construction","c":4,"a":["building_construction"]},{"e":"🧱","d":"brick","c":4,"a":["bricks"]},{"e":"🪨","d":"rock","c":4,"a":["rock"]},{"e":"🪵","d":"wood","c":4,"a":["wood"]},{"e":"🛖","d":"hut","c":4,"a":["hut"]},{"e":"🏘️","d":"houses","c":4,"a":["houses"]},{"e":"🏚️","d":"derelict house","c":4,"a":["derelict_house"]},{"e":"🏠","d":"house","c":4,"a":["house"]},{"e":"🏡","d":"house with garden","c":4,"a":["house_with_garden"]},{"e":"🏢","d":"office building","c":4,"a":["office"]},{"e":"🏣","d":"Japanese post office","c":4,"a":["post_office"]},{"e":"🏤","d":"post office","c":4,"a":["european_post_office"]},{"e":"🏥","d":"hospital","c":4,"a":["hospital"]},{"e":"🏦","d":"bank","c":4,"a":["bank"]},{"e":"🏨","d":"hotel","c":4,"a":["hotel"]},{"e":"🏩","d":"love hotel","c":4,"a":["love_hotel"]},{"e":"🏪","d":"convenience store","c":4,"a":["convenience_store"]},{"e":"🏫","d":"school","c":4,"a":["school"]},{"e":"🏬","d":"department store","c":4,"a":["department_store"]},{"e":"🏭","d":"factory","c":4,"a":["factory"]},{"e":"🏯","d":"Japanese castle","c":4,"a":["japanese_castle"]},{"e":"🏰","d":"castle","c":4,"a":["european_castle"]},{"e":"💒","d":"wedding","c":4,"a":["wedding"],"t":["marriage"]},{"e":"🗼","d":"Tokyo tower","c":4,"a":["tokyo_tower"]},{"e":"🗽","d":"Statue of Liberty","c":4,"a":["statue_of_liberty"]},{"e":"⛪","d":"church","c":4,"a":["church"]},{"e":"🕌","d":"mosque","c":4,"a":["mosque"]},{"e":"🛕","d":"hindu temple","c":4,"a":["hindu_temple"]},{"e":"🕍","d":"synagogue","c":4,"a":["synagogue"]},{"e":"⛩️","d":"shinto shrine","c":4,"a":["shinto_shrine"]},{"e":"🕋","d":"kaaba","c":4,"a":["kaaba"]},{"e":"⛲","d":"fountain","c":4,"a":["fountain"]},{"e":"⛺","d":"tent","c":4,"a":["tent"],"t":["camping"]},{"e":"🌁","d":"foggy","c":4,"a":["foggy"],"t":["karl"]},{"e":"🌃","d":"night with stars","c":4,"a":["night_with_stars"]},{"e":"🏙️","d":"cityscape","c":4,"a":["cityscape"],"t":["skyline"]},{"e":"🌄","d":"sunrise over mountains","c":4,"a":["sunrise_over_mountains"]},{"e":"🌅","d":"sunrise","c":4,"a":["sunrise"]},{"e":"🌆","d":"cityscape at dusk","c":4,"a":["city_sunset"]},{"e":"🌇","d":"sunset","c":4,"a":["city_sunrise"]},{"e":"🌉","d":"bridge at night","c":4,"a":["bridge_at_night"]},{"e":"♨️","d":"hot springs","c":4,"a":["hotsprings"]},{"e":"🎠","d":"carousel horse","c":4,"a":["carousel_horse"]},{"e":"🎡","d":"ferris wheel","c":4,"a":["ferris_wheel"]},{"e":"🎢","d":"roller coaster","c":4,"a":["roller_coaster"]},{"e":"💈","d":"barber pole","c":4,"a":["barber"]},{"e":"🎪","d":"circus tent","c":4,"a":["circus_tent"]},{"e":"🚂","d":"locomotive","c":4,"a":["steam_locomotive"],"t":["train"]},{"e":"🚃","d":"railway car","c":4,"a":["railway_car"]},{"e":"🚄","d":"high-speed train","c":4,"a":["bullettrain_side"],"t":["train"]},{"e":"🚅","d":"bullet train","c":4,"a":["bullettrain_front"],"t":["train"]},{"e":"🚆","d":"train","c":4,"a":["train2"]},{"e":"🚇","d":"metro","c":4,"a":["metro"]},{"e":"🚈","d":"light rail","c":4,"a":["light_rail"]},{"e":"🚉","d":"station","c":4,"a":["station"]},{"e":"🚊","d":"tram","c":4,"a":["tram"]},{"e":"🚝","d":"monorail","c":4,"a":["monorail"]},{"e":"🚞","d":"mountain railway","c":4,"a":["mountain_railway"]},{"e":"🚋","d":"tram car","c":4,"a":["train"]},{"e":"🚌","d":"bus","c":4,"a":["bus"]},{"e":"🚍","d":"oncoming bus","c":4,"a":["oncoming_bus"]},{"e":"🚎","d":"trolleybus","c":4,"a":["trolleybus"]},{"e":"🚐","d":"minibus","c":4,"a":["minibus"]},{"e":"🚑","d":"ambulance","c":4,"a":["ambulance"]},{"e":"🚒","d":"fire engine","c":4,"a":["fire_engine"]},{"e":"🚓","d":"police car","c":4,"a":["police_car"]},{"e":"🚔","d":"oncoming police car","c":4,"a":["oncoming_police_car"]},{"e":"🚕","d":"taxi","c":4,"a":["taxi"]},{"e":"🚖","d":"oncoming taxi","c":4,"a":["oncoming_taxi"]},{"e":"🚗","d":"automobile","c":4,"a":["car","red_car"]},{"e":"🚘","d":"oncoming automobile","c":4,"a":["oncoming_automobile"]},{"e":"🚙","d":"sport utility vehicle","c":4,"a":["blue_car"]},{"e":"🛻","d":"pickup truck","c":4,"a":["pickup_truck"]},{"e":"🚚","d":"delivery truck","c":4,"a":["truck"]},{"e":"🚛","d":"articulated lorry","c":4,"a":["articulated_lorry"]},{"e":"🚜","d":"tractor","c":4,"a":["tractor"]},{"e":"🏎️","d":"racing car","c":4,"a":["racing_car"]},{"e":"🏍️","d":"motorcycle","c":4,"a":["motorcycle"]},{"e":"🛵","d":"motor scooter","c":4,"a":["motor_scooter"]},{"e":"🦽","d":"manual wheelchair","c":4,"a":["manual_wheelchair"]},{"e":"🦼","d":"motorized wheelchair","c":4,"a":["motorized_wheelchair"]},{"e":"🛺","d":"auto rickshaw","c":4,"a":["auto_rickshaw"]},{"e":"🚲","d":"bicycle","c":4,"a":["bike"],"t":["bicycle"]},{"e":"🛴","d":"kick scooter","c":4,"a":["kick_scooter"]},{"e":"🛹","d":"skateboard","c":4,"a":["skateboard"]},{"e":"🛼","d":"roller skate","c":4,"a":["roller_skate"]},{"e":"🚏","d":"bus stop","c":4,"a":["busstop"]},{"e":"🛣️","d":"motorway","c":4,"a":["motorway"]},{"e":"🛤️","d":"railway track","c":4,"a":["railway_track"]},{"e":"🛢️","d":"oil drum","c":4,"a":["oil_drum"]},{"e":"⛽","d":"fuel pump","c":4,"a":["fuelpump"]},{"e":"🚨","d":"police car light","c":4,"a":["rotating_light"],"t":["911","emergency"]},{"e":"🚥","d":"horizontal traffic light","c":4,"a":["traffic_light"]},{"e":"🚦","d":"vertical traffic light","c":4,"a":["vertical_traffic_light"],"t":["semaphore"]},{"e":"🛑","d":"stop sign","c":4,"a":["stop_sign"]},{"e":"🚧","d":"construction","c":4,"a":["construction"],"t":["wip"]},{"e":"⚓","d":"anchor","c":4,"a":["anchor"],"t":["ship"]},{"e":"⛵","d":"sailboat","c":4,"a":["boat","sailboat"]},{"e":"🛶","d":"canoe","c":4,"a":["canoe"]},{"e":"🚤","d":"speedboat","c":4,"a":["speedboat"],"t":["ship"]},{"e":"🛳️","d":"passenger ship","c":4,"a":["passenger_ship"],"t":["cruise"]},{"e":"⛴️","d":"ferry","c":4,"a":["ferry"]},{"e":"🛥️","d":"motor boat","c":4,"a":["motor_boat"]},{"e":"🚢","d":"ship","c":4,"a":["ship"]},{"e":"✈️","d":"airplane","c":4,"a":["airplane"],"t":["flight"]},{"e":"🛩️","d":"small airplane","c":4,"a":["small_airplane"],"t":["flight"]},{"e":"🛫","d":"airplane departure","c":4,"a":["flight_departure"]},{"e":"🛬","d":"airplane arrival","c":4,"a":["flight_arrival"]},{"e":"🪂","d":"parachute","c":4,"a":["parachute"]},{"e":"💺","d":"seat","c":4,"a":["seat"]},{"e":"🚁","d":"helicopter","c":4,"a":["helicopter"]},{"e":"🚟","d":"suspension railway","c":4,"a":["suspension_railway"]},{"e":"🚠","d":"mountain cableway","c":4,"a":["mountain_cableway"]},{"e":"🚡","d":"aerial tramway","c":4,"a":["aerial_tramway"]},{"e":"🛰️","d":"satellite","c":4,"a":["artificial_satellite"],"t":["orbit","space"]},{"e":"🚀","d":"rocket","c":4,"a":["rocket"],"t":["ship","launch"]},{"e":"🛸","d":"flying saucer","c":4,"a":["flying_saucer"],"t":["ufo"]},{"e":"🛎️","d":"bellhop bell","c":4,"a":["bellhop_bell"]},{"e":"🧳","d":"luggage","c":4,"a":["luggage"]},{"e":"⌛","d":"hourglass done","c":4,"a":["hourglass"],"t":["time"]},{"e":"⏳","d":"hourglass not done","c":4,"a":["hourglass_flowing_sand"],"t":["time"]},{"e":"⌚","d":"watch","c":4,"a":["watch"],"t":["time"]},{"e":"⏰","d":"alarm clock","c":4,"a":["alarm_clock"],"t":["morning"]},{"e":"⏱️","d":"stopwatch","c":4,"a":["stopwatch"]},{"e":"⏲️","d":"timer clock","c":4,"a":["timer_clock"]},{"e":"🕰️","d":"mantelpiece clock","c":4,"a":["mantelpiece_clock"]},{"e":"🕛","d":"twelve o’clock","c":4,"a":["clock12"]},{"e":"🕧","d":"twelve-thirty","c":4,"a":["clock1230"]},{"e":"🕐","d":"one o’clock","c":4,"a":["clock1"]},{"e":"🕜","d":"one-thirty","c":4,"a":["clock130"]},{"e":"🕑","d":"two o’clock","c":4,"a":["clock2"]},{"e":"🕝","d":"two-thirty","c":4,"a":["clock230"]},{"e":"🕒","d":"three o’clock","c":4,"a":["clock3"]},{"e":"🕞","d":"three-thirty","c":4,"a":["clock330"]},{"e":"🕓","d":"four o’clock","c":4,"a":["clock4"]},{"e":"🕟","d":"four-thirty","c":4,"a":["clock430"]},{"e":"🕔","d":"five o’clock","c":4,"a":["clock5"]},{"e":"🕠","d":"five-thirty","c":4,"a":["clock530"]},{"e":"🕕","d":"six o’clock","c":4,"a":["clock6"]},{"e":"🕡","d":"six-thirty","c":4,"a":["clock630"]},{"e":"🕖","d":"seven o’clock","c":4,"a":["clock7"]},{"e":"🕢","d":"seven-thirty","c":4,"a":["clock730"]},{"e":"🕗","d":"eight o’clock","c":4,"a":["clock8"]},{"e":"🕣","d":"eight-thirty","c":4,"a":["clock830"]},{"e":"🕘","d":"nine o’clock","c":4,"a":["clock9"]},{"e":"🕤","d":"nine-thirty","c":4,"a":["clock930"]},{"e":"🕙","d":"ten o’clock","c":4,"a":["clock10"]},{"e":"🕥","d":"ten-thirty","c":4,"a":["clock1030"]},{"e":"🕚","d":"eleven o’clock","c":4,"a":["clock11"]},{"e":"🕦","d":"eleven-thirty","c":4,"a":["clock1130"]},{"e":"🌑","d":"new moon","c":4,"a":["new_moon"]},{"e":"🌒","d":"waxing crescent moon","c":4,"a":["waxing_crescent_moon"]},{"e":"🌓","d":"first quarter moon","c":4,"a":["first_quarter_moon"]},{"e":"🌔","d":"waxing gibbous moon","c":4,"a":["moon","waxing_gibbous_moon"]},{"e":"🌕","d":"full moon","c":4,"a":["full_moon"]},{"e":"🌖","d":"waning gibbous moon","c":4,"a":["waning_gibbous_moon"]},{"e":"🌗","d":"last quarter moon","c":4,"a":["last_quarter_moon"]},{"e":"🌘","d":"waning crescent moon","c":4,"a":["waning_crescent_moon"]},{"e":"🌙","d":"crescent moon","c":4,"a":["crescent_moon"],"t":["night"]},{"e":"🌚","d":"new moon face","c":4,"a":["new_moon_with_face"]},{"e":"🌛","d":"first quarter moon face","c":4,"a":["first_quarter_moon_with_face"]},{"e":"🌜","d":"last quarter moon face","c":4,"a":["last_quarter_moon_with_face"]},{"e":"🌡️","d":"thermometer","c":4,"a":["thermometer"]},{"e":"☀️","d":"sun","c":4,"a":["sunny"],"t":["weather"]},{"e":"🌝","d":"full moon face","c":4,"a":["full_moon_with_face"]},{"e":"🌞","d":"sun with face","c":4,"a":["sun_with_face"],"t":["summer"]},{"e":"🪐","d":"ringed planet","c":4,"a":["ringed_planet"]},{"e":"⭐","d":"star","c":4,"a":["star"]},{"e":"🌟","d":"glowing star","c":4,"a":["star2"]},{"e":"🌠","d":"shooting star","c":4,"a":["stars"]},{"e":"🌌","d":"milky way","c":4,"a":["milky_way"]},{"e":"☁️","d":"cloud","c":4,"a":["cloud"]},{"e":"⛅","d":"sun behind cloud","c":4,"a":["partly_sunny"],"t":["weather","cloud"]},{"e":"⛈️","d":"cloud with lightning and rain","c":4,"a":["cloud_with_lightning_and_rain"]},{"e":"🌤️","d":"sun behind small cloud","c":4,"a":["sun_behind_small_cloud"]},{"e":"🌥️","d":"sun behind large cloud","c":4,"a":["sun_behind_large_cloud"]},{"e":"🌦️","d":"sun behind rain cloud","c":4,"a":["sun_behind_rain_cloud"]},{"e":"🌧️","d":"cloud with rain","c":4,"a":["cloud_with_rain"]},{"e":"🌨️","d":"cloud with snow","c":4,"a":["cloud_with_snow"]},{"e":"🌩️","d":"cloud with lightning","c":4,"a":["cloud_with_lightning"]},{"e":"🌪️","d":"tornado","c":4,"a":["tornado"]},{"e":"🌫️","d":"fog","c":4,"a":["fog"]},{"e":"🌬️","d":"wind face","c":4,"a":["wind_face"]},{"e":"🌀","d":"cyclone","c":4,"a":["cyclone"],"t":["swirl"]},{"e":"🌈","d":"rainbow","c":4,"a":["rainbow"]},{"e":"🌂","d":"closed umbrella","c":4,"a":["closed_umbrella"],"t":["weather","rain"]},{"e":"☂️","d":"umbrella","c":4,"a":["open_umbrella"]},{"e":"☔","d":"umbrella with rain drops","c":4,"a":["umbrella"],"t":["rain","weather"]},{"e":"⛱️","d":"umbrella on ground","c":4,"a":["parasol_on_ground"],"t":["beach_umbrella"]},{"e":"⚡","d":"high voltage","c":4,"a":["zap"],"t":["lightning","thunder"]},{"e":"❄️","d":"snowflake","c":4,"a":["snowflake"],"t":["winter","cold","weather"]},{"e":"☃️","d":"snowman","c":4,"a":["snowman_with_snow"],"t":["winter","christmas"]},{"e":"⛄","d":"snowman without snow","c":4,"a":["snowman"],"t":["winter"]},{"e":"☄️","d":"comet","c":4,"a":["comet"]},{"e":"🔥","d":"fire","c":4,"a":["fire"],"t":["burn"]},{"e":"💧","d":"droplet","c":4,"a":["droplet"],"t":["water"]},{"e":"🌊","d":"water wave","c":4,"a":["ocean"],"t":["sea"]},{"e":"🎃","d":"jack-o-lantern","c":5,"a":["jack_o_lantern"],"t":["halloween"]},{"e":"🎄","d":"Christmas tree","c":5,"a":["christmas_tree"]},{"e":"🎆","d":"fireworks","c":5,"a":["fireworks"],"t":["festival","celebration"]},{"e":"🎇","d":"sparkler","c":5,"a":["sparkler"]},{"e":"🧨","d":"firecracker","c":5,"a":["firecracker"]},{"e":"✨","d":"sparkles","c":5,"a":["sparkles"],"t":["shiny"]},{"e":"🎈","d":"balloon","c":5,"a":["balloon"],"t":["party","birthday"]},{"e":"🎉","d":"party popper","c":5,"a":["tada"],"t":["hooray","party"]},{"e":"🎊","d":"confetti ball","c":5,"a":["confetti_ball"]},{"e":"🎋","d":"tanabata tree","c":5,"a":["tanabata_tree"]},{"e":"🎍","d":"pine decoration","c":5,"a":["bamboo"]},{"e":"🎎","d":"Japanese dolls","c":5,"a":["dolls"]},{"e":"🎏","d":"carp streamer","c":5,"a":["flags"]},{"e":"🎐","d":"wind chime","c":5,"a":["wind_chime"]},{"e":"🎑","d":"moon viewing ceremony","c":5,"a":["rice_scene"]},{"e":"🧧","d":"red envelope","c":5,"a":["red_envelope"]},{"e":"🎀","d":"ribbon","c":5,"a":["ribbon"]},{"e":"🎁","d":"wrapped gift","c":5,"a":["gift"],"t":["present","birthday","christmas"]},{"e":"🎗️","d":"reminder ribbon","c":5,"a":["reminder_ribbon"]},{"e":"🎟️","d":"admission tickets","c":5,"a":["tickets"]},{"e":"🎫","d":"ticket","c":5,"a":["ticket"]},{"e":"🎖️","d":"military medal","c":5,"a":["medal_military"]},{"e":"🏆","d":"trophy","c":5,"a":["trophy"],"t":["award","contest","winner"]},{"e":"🏅","d":"sports medal","c":5,"a":["medal_sports"],"t":["gold","winner"]},{"e":"🥇","d":"1st place medal","c":5,"a":["1st_place_medal"],"t":["gold"]},{"e":"🥈","d":"2nd place medal","c":5,"a":["2nd_place_medal"],"t":["silver"]},{"e":"🥉","d":"3rd place medal","c":5,"a":["3rd_place_medal"],"t":["bronze"]},{"e":"⚽","d":"soccer ball","c":5,"a":["soccer"],"t":["sports"]},{"e":"⚾","d":"baseball","c":5,"a":["baseball"],"t":["sports"]},{"e":"🥎","d":"softball","c":5,"a":["softball"]},{"e":"🏀","d":"basketball","c":5,"a":["basketball"],"t":["sports"]},{"e":"🏐","d":"volleyball","c":5,"a":["volleyball"]},{"e":"🏈","d":"american football","c":5,"a":["football"],"t":["sports"]},{"e":"🏉","d":"rugby football","c":5,"a":["rugby_football"]},{"e":"🎾","d":"tennis","c":5,"a":["tennis"],"t":["sports"]},{"e":"🥏","d":"flying disc","c":5,"a":["flying_disc"]},{"e":"🎳","d":"bowling","c":5,"a":["bowling"]},{"e":"🏏","d":"cricket game","c":5,"a":["cricket_game"]},{"e":"🏑","d":"field hockey","c":5,"a":["field_hockey"]},{"e":"🏒","d":"ice hockey","c":5,"a":["ice_hockey"]},{"e":"🥍","d":"lacrosse","c":5,"a":["lacrosse"]},{"e":"🏓","d":"ping pong","c":5,"a":["ping_pong"]},{"e":"🏸","d":"badminton","c":5,"a":["badminton"]},{"e":"🥊","d":"boxing glove","c":5,"a":["boxing_glove"]},{"e":"🥋","d":"martial arts uniform","c":5,"a":["martial_arts_uniform"]},{"e":"🥅","d":"goal net","c":5,"a":["goal_net"]},{"e":"⛳","d":"flag in hole","c":5,"a":["golf"]},{"e":"⛸️","d":"ice skate","c":5,"a":["ice_skate"],"t":["skating"]},{"e":"🎣","d":"fishing pole","c":5,"a":["fishing_pole_and_fish"]},{"e":"🤿","d":"diving mask","c":5,"a":["diving_mask"]},{"e":"🎽","d":"running shirt","c":5,"a":["running_shirt_with_sash"],"t":["marathon"]},{"e":"🎿","d":"skis","c":5,"a":["ski"]},{"e":"🛷","d":"sled","c":5,"a":["sled"]},{"e":"🥌","d":"curling stone","c":5,"a":["curling_stone"]},{"e":"🎯","d":"direct hit","c":5,"a":["dart"],"t":["target"]},{"e":"🪀","d":"yo-yo","c":5,"a":["yo_yo"]},{"e":"🪁","d":"kite","c":5,"a":["kite"]},{"e":"🎱","d":"pool 8 ball","c":5,"a":["8ball"],"t":["pool","billiards"]},{"e":"🔮","d":"crystal ball","c":5,"a":["crystal_ball"],"t":["fortune"]},{"e":"🪄","d":"magic wand","c":5,"a":["magic_wand"]},{"e":"🧿","d":"nazar amulet","c":5,"a":["nazar_amulet"]},{"e":"🎮","d":"video game","c":5,"a":["video_game"],"t":["play","controller","console"]},{"e":"🕹️","d":"joystick","c":5,"a":["joystick"]},{"e":"🎰","d":"slot machine","c":5,"a":["slot_machine"]},{"e":"🎲","d":"game die","c":5,"a":["game_die"],"t":["dice","gambling"]},{"e":"🧩","d":"puzzle piece","c":5,"a":["jigsaw"]},{"e":"🧸","d":"teddy bear","c":5,"a":["teddy_bear"]},{"e":"🪅","d":"piñata","c":5,"a":["pinata"]},{"e":"🪆","d":"nesting dolls","c":5,"a":["nesting_dolls"]},{"e":"♠️","d":"spade suit","c":5,"a":["spades"]},{"e":"♥️","d":"heart suit","c":5,"a":["hearts"]},{"e":"♦️","d":"diamond suit","c":5,"a":["diamonds"]},{"e":"♣️","d":"club suit","c":5,"a":["clubs"]},{"e":"♟️","d":"chess pawn","c":5,"a":["chess_pawn"]},{"e":"🃏","d":"joker","c":5,"a":["black_joker"]},{"e":"🀄","d":"mahjong red dragon","c":5,"a":["mahjong"]},{"e":"🎴","d":"flower playing cards","c":5,"a":["flower_playing_cards"]},{"e":"🎭","d":"performing arts","c":5,"a":["performing_arts"],"t":["theater","drama"]},{"e":"🖼️","d":"framed picture","c":5,"a":["framed_picture"]},{"e":"🎨","d":"artist palette","c":5,"a":["art"],"t":["design","paint"]},{"e":"🧵","d":"thread","c":5,"a":["thread"]},{"e":"🪡","d":"sewing needle","c":5,"a":["sewing_needle"]},{"e":"🧶","d":"yarn","c":5,"a":["yarn"]},{"e":"🪢","d":"knot","c":5,"a":["knot"]},{"e":"👓","d":"glasses","c":6,"a":["eyeglasses"],"t":["glasses"]},{"e":"🕶️","d":"sunglasses","c":6,"a":["dark_sunglasses"]},{"e":"🥽","d":"goggles","c":6,"a":["goggles"]},{"e":"🥼","d":"lab coat","c":6,"a":["lab_coat"]},{"e":"🦺","d":"safety vest","c":6,"a":["safety_vest"]},{"e":"👔","d":"necktie","c":6,"a":["necktie"],"t":["shirt","formal"]},{"e":"👕","d":"t-shirt","c":6,"a":["shirt","tshirt"]},{"e":"👖","d":"jeans","c":6,"a":["jeans"],"t":["pants"]},{"e":"🧣","d":"scarf","c":6,"a":["scarf"]},{"e":"🧤","d":"gloves","c":6,"a":["gloves"]},{"e":"🧥","d":"coat","c":6,"a":["coat"]},{"e":"🧦","d":"socks","c":6,"a":["socks"]},{"e":"��","d":"dress","c":6,"a":["dress"]},{"e":"👘","d":"kimono","c":6,"a":["kimono"]},{"e":"🥻","d":"sari","c":6,"a":["sari"]},{"e":"🩱","d":"one-piece swimsuit","c":6,"a":["one_piece_swimsuit"]},{"e":"🩲","d":"briefs","c":6,"a":["swim_brief"]},{"e":"🩳","d":"shorts","c":6,"a":["shorts"]},{"e":"👙","d":"bikini","c":6,"a":["bikini"],"t":["beach"]},{"e":"👚","d":"woman’s clothes","c":6,"a":["womans_clothes"]},{"e":"👛","d":"purse","c":6,"a":["purse"]},{"e":"👜","d":"handbag","c":6,"a":["handbag"],"t":["bag"]},{"e":"👝","d":"clutch bag","c":6,"a":["pouch"],"t":["bag"]},{"e":"🛍️","d":"shopping bags","c":6,"a":["shopping"],"t":["bags"]},{"e":"🎒","d":"backpack","c":6,"a":["school_satchel"]},{"e":"🩴","d":"thong sandal","c":6,"a":["thong_sandal"]},{"e":"👞","d":"man’s shoe","c":6,"a":["mans_shoe","shoe"]},{"e":"👟","d":"running shoe","c":6,"a":["athletic_shoe"],"t":["sneaker","sport","running"]},{"e":"🥾","d":"hiking boot","c":6,"a":["hiking_boot"]},{"e":"🥿","d":"flat shoe","c":6,"a":["flat_shoe"]},{"e":"👠","d":"high-heeled shoe","c":6,"a":["high_heel"],"t":["shoe"]},{"e":"👡","d":"woman’s sandal","c":6,"a":["sandal"],"t":["shoe"]},{"e":"🩰","d":"ballet shoes","c":6,"a":["ballet_shoes"]},{"e":"👢","d":"woman’s boot","c":6,"a":["boot"]},{"e":"👑","d":"crown","c":6,"a":["crown"],"t":["king","queen","royal"]},{"e":"👒","d":"woman’s hat","c":6,"a":["womans_hat"]},{"e":"🎩","d":"top hat","c":6,"a":["tophat"],"t":["hat","classy"]},{"e":"🎓","d":"graduation cap","c":6,"a":["mortar_board"],"t":["education","college","university","graduation"]},{"e":"🧢","d":"billed cap","c":6,"a":["billed_cap"]},{"e":"🪖","d":"military helmet","c":6,"a":["military_helmet"]},{"e":"⛑️","d":"rescue worker’s helmet","c":6,"a":["rescue_worker_helmet"]},{"e":"📿","d":"prayer beads","c":6,"a":["prayer_beads"]},{"e":"💄","d":"lipstick","c":6,"a":["lipstick"],"t":["makeup"]},{"e":"💍","d":"ring","c":6,"a":["ring"],"t":["wedding","marriage","engaged"]},{"e":"💎","d":"gem stone","c":6,"a":["gem"],"t":["diamond"]},{"e":"🔇","d":"muted speaker","c":6,"a":["mute"],"t":["sound","volume"]},{"e":"🔈","d":"speaker low volume","c":6,"a":["speaker"]},{"e":"🔉","d":"speaker medium volume","c":6,"a":["sound"],"t":["volume"]},{"e":"🔊","d":"speaker high volume","c":6,"a":["loud_sound"],"t":["volume"]},{"e":"📢","d":"loudspeaker","c":6,"a":["loudspeaker"],"t":["announcement"]},{"e":"📣","d":"megaphone","c":6,"a":["mega"]},{"e":"📯","d":"postal horn","c":6,"a":["postal_horn"]},{"e":"🔔","d":"bell","c":6,"a":["bell"],"t":["sound","notification"]},{"e":"🔕","d":"bell with slash","c":6,"a":["no_bell"],"t":["volume","off"]},{"e":"🎼","d":"musical score","c":6,"a":["musical_score"]},{"e":"🎵","d":"musical note","c":6,"a":["musical_note"]},{"e":"🎶","d":"musical notes","c":6,"a":["notes"],"t":["music"]},{"e":"🎙️","d":"studio microphone","c":6,"a":["studio_microphone"],"t":["podcast"]},{"e":"🎚️","d":"level slider","c":6,"a":["level_slider"]},{"e":"🎛️","d":"control knobs","c":6,"a":["control_knobs"]},{"e":"🎤","d":"microphone","c":6,"a":["microphone"],"t":["sing"]},{"e":"🎧","d":"headphone","c":6,"a":["headphones"],"t":["music","earphones"]},{"e":"📻","d":"radio","c":6,"a":["radio"],"t":["podcast"]},{"e":"🎷","d":"saxophone","c":6,"a":["saxophone"]},{"e":"🪗","d":"accordion","c":6,"a":["accordion"]},{"e":"🎸","d":"guitar","c":6,"a":["guitar"],"t":["rock"]},{"e":"🎹","d":"musical keyboard","c":6,"a":["musical_keyboard"],"t":["piano"]},{"e":"🎺","d":"trumpet","c":6,"a":["trumpet"]},{"e":"🎻","d":"violin","c":6,"a":["violin"]},{"e":"🪕","d":"banjo","c":6,"a":["banjo"]},{"e":"🥁","d":"drum","c":6,"a":["drum"]},{"e":"🪘","d":"long drum","c":6,"a":["long_drum"]},{"e":"📱","d":"mobile phone","c":6,"a":["iphone"],"t":["smartphone","mobile"]},{"e":"📲","d":"mobile phone with arrow","c":6,"a":["calling"],"t":["call","incoming"]},{"e":"☎️","d":"telephone","c":6,"a":["phone","telephone"]},{"e":"📞","d":"telephone receiver","c":6,"a":["telephone_receiver"],"t":["phone","call"]},{"e":"📟","d":"pager","c":6,"a":["pager"]},{"e":"📠","d":"fax machine","c":6,"a":["fax"]},{"e":"🔋","d":"battery","c":6,"a":["battery"],"t":["power"]},{"e":"🔌","d":"electric plug","c":6,"a":["electric_plug"]},{"e":"💻","d":"laptop","c":6,"a":["computer"],"t":["desktop","screen"]},{"e":"🖥️","d":"desktop computer","c":6,"a":["desktop_computer"]},{"e":"🖨️","d":"printer","c":6,"a":["printer"]},{"e":"⌨️","d":"keyboard","c":6,"a":["keyboard"]},{"e":"🖱️","d":"computer mouse","c":6,"a":["computer_mouse"]},{"e":"🖲️","d":"trackball","c":6,"a":["trackball"]},{"e":"💽","d":"computer disk","c":6,"a":["minidisc"]},{"e":"💾","d":"floppy disk","c":6,"a":["floppy_disk"],"t":["save"]},{"e":"💿","d":"optical disk","c":6,"a":["cd"]},{"e":"📀","d":"dvd","c":6,"a":["dvd"]},{"e":"🧮","d":"abacus","c":6,"a":["abacus"]},{"e":"🎥","d":"movie camera","c":6,"a":["movie_camera"],"t":["film","video"]},{"e":"🎞️","d":"film frames","c":6,"a":["film_strip"]},{"e":"📽️","d":"film projector","c":6,"a":["film_projector"]},{"e":"🎬","d":"clapper board","c":6,"a":["clapper"],"t":["film"]},{"e":"📺","d":"television","c":6,"a":["tv"]},{"e":"📷","d":"camera","c":6,"a":["camera"],"t":["photo"]},{"e":"📸","d":"camera with flash","c":6,"a":["camera_flash"],"t":["photo"]},{"e":"📹","d":"video camera","c":6,"a":["video_camera"]},{"e":"📼","d":"videocassette","c":6,"a":["vhs"]},{"e":"🔍","d":"magnifying glass tilted left","c":6,"a":["mag"],"t":["search","zoom"]},{"e":"🔎","d":"magnifying glass tilted right","c":6,"a":["mag_right"]},{"e":"🕯️","d":"candle","c":6,"a":["candle"]},{"e":"💡","d":"light bulb","c":6,"a":["bulb"],"t":["idea","light"]},{"e":"🔦","d":"flashlight","c":6,"a":["flashlight"]},{"e":"🏮","d":"red paper lantern","c":6,"a":["izakaya_lantern","lantern"]},{"e":"🪔","d":"diya lamp","c":6,"a":["diya_lamp"]},{"e":"📔","d":"notebook with decorative cover","c":6,"a":["notebook_with_decorative_cover"]},{"e":"📕","d":"closed book","c":6,"a":["closed_book"]},{"e":"📖","d":"open book","c":6,"a":["book","open_book"]},{"e":"📗","d":"green book","c":6,"a":["green_book"]},{"e":"📘","d":"blue book","c":6,"a":["blue_book"]},{"e":"📙","d":"orange book","c":6,"a":["orange_book"]},{"e":"📚","d":"books","c":6,"a":["books"],"t":["library"]},{"e":"📓","d":"notebook","c":6,"a":["notebook"]},{"e":"📒","d":"ledger","c":6,"a":["ledger"]},{"e":"📃","d":"page with curl","c":6,"a":["page_with_curl"]},{"e":"📜","d":"scroll","c":6,"a":["scroll"],"t":["document"]},{"e":"📄","d":"page facing up","c":6,"a":["page_facing_up"],"t":["document"]},{"e":"📰","d":"newspaper","c":6,"a":["newspaper"],"t":["press"]},{"e":"🗞️","d":"rolled-up newspaper","c":6,"a":["newspaper_roll"],"t":["press"]},{"e":"📑","d":"bookmark tabs","c":6,"a":["bookmark_tabs"]},{"e":"🔖","d":"bookmark","c":6,"a":["bookmark"]},{"e":"🏷️","d":"label","c":6,"a":["label"],"t":["tag"]},{"e":"💰","d":"money bag","c":6,"a":["moneybag"],"t":["dollar","cream"]},{"e":"🪙","d":"coin","c":6,"a":["coin"]},{"e":"💴","d":"yen banknote","c":6,"a":["yen"]},{"e":"💵","d":"dollar banknote","c":6,"a":["dollar"],"t":["money"]},{"e":"💶","d":"euro banknote","c":6,"a":["euro"]},{"e":"💷","d":"pound banknote","c":6,"a":["pound"]},{"e":"💸","d":"money with wings","c":6,"a":["money_with_wings"],"t":["dollar"]},{"e":"💳","d":"credit card","c":6,"a":["credit_card"],"t":["subscription"]},{"e":"🧾","d":"receipt","c":6,"a":["receipt"]},{"e":"💹","d":"chart increasing with yen","c":6,"a":["chart"]},{"e":"✉️","d":"envelope","c":6,"a":["envelope"],"t":["letter","email"]},{"e":"���","d":"e-mail","c":6,"a":["email","e-mail"]},{"e":"📨","d":"incoming envelope","c":6,"a":["incoming_envelope"]},{"e":"📩","d":"envelope with arrow","c":6,"a":["envelope_with_arrow"]},{"e":"📤","d":"outbox tray","c":6,"a":["outbox_tray"]},{"e":"📥","d":"inbox tray","c":6,"a":["inbox_tray"]},{"e":"📦","d":"package","c":6,"a":["package"],"t":["shipping"]},{"e":"📫","d":"closed mailbox with raised flag","c":6,"a":["mailbox"]},{"e":"📪","d":"closed mailbox with lowered flag","c":6,"a":["mailbox_closed"]},{"e":"📬","d":"open mailbox with raised flag","c":6,"a":["mailbox_with_mail"]},{"e":"📭","d":"open mailbox with lowered flag","c":6,"a":["mailbox_with_no_mail"]},{"e":"📮","d":"postbox","c":6,"a":["postbox"]},{"e":"🗳️","d":"ballot box with ballot","c":6,"a":["ballot_box"]},{"e":"✏️","d":"pencil","c":6,"a":["pencil2"]},{"e":"✒️","d":"black nib","c":6,"a":["black_nib"]},{"e":"🖋️","d":"fountain pen","c":6,"a":["fountain_pen"]},{"e":"🖊️","d":"pen","c":6,"a":["pen"]},{"e":"🖌️","d":"paintbrush","c":6,"a":["paintbrush"]},{"e":"🖍️","d":"crayon","c":6,"a":["crayon"]},{"e":"📝","d":"memo","c":6,"a":["memo","pencil"],"t":["document","note"]},{"e":"💼","d":"briefcase","c":6,"a":["briefcase"],"t":["business"]},{"e":"📁","d":"file folder","c":6,"a":["file_folder"],"t":["directory"]},{"e":"📂","d":"open file folder","c":6,"a":["open_file_folder"]},{"e":"🗂️","d":"card index dividers","c":6,"a":["card_index_dividers"]},{"e":"📅","d":"calendar","c":6,"a":["date"],"t":["calendar","schedule"]},{"e":"📆","d":"tear-off calendar","c":6,"a":["calendar"],"t":["schedule"]},{"e":"🗒️","d":"spiral notepad","c":6,"a":["spiral_notepad"]},{"e":"🗓️","d":"spiral calendar","c":6,"a":["spiral_calendar"]},{"e":"📇","d":"card index","c":6,"a":["card_index"]},{"e":"📈","d":"chart increasing","c":6,"a":["chart_with_upwards_trend"],"t":["graph","metrics"]},{"e":"📉","d":"chart decreasing","c":6,"a":["chart_with_downwards_trend"],"t":["graph","metrics"]},{"e":"📊","d":"bar chart","c":6,"a":["bar_chart"],"t":["stats","metrics"]},{"e":"📋","d":"clipboard","c":6,"a":["clipboard"]},{"e":"📌","d":"pushpin","c":6,"a":["pushpin"],"t":["location"]},{"e":"📍","d":"round pushpin","c":6,"a":["round_pushpin"],"t":["location"]},{"e":"📎","d":"paperclip","c":6,"a":["paperclip"]},{"e":"🖇️","d":"linked paperclips","c":6,"a":["paperclips"]},{"e":"📏","d":"straight ruler","c":6,"a":["straight_ruler"]},{"e":"📐","d":"triangular ruler","c":6,"a":["triangular_ruler"]},{"e":"✂️","d":"scissors","c":6,"a":["scissors"],"t":["cut"]},{"e":"🗃️","d":"card file box","c":6,"a":["card_file_box"]},{"e":"🗄️","d":"file cabinet","c":6,"a":["file_cabinet"]},{"e":"🗑️","d":"wastebasket","c":6,"a":["wastebasket"],"t":["trash"]},{"e":"🔒","d":"locked","c":6,"a":["lock"],"t":["security","private"]},{"e":"🔓","d":"unlocked","c":6,"a":["unlock"],"t":["security"]},{"e":"🔏","d":"locked with pen","c":6,"a":["lock_with_ink_pen"]},{"e":"🔐","d":"locked with key","c":6,"a":["closed_lock_with_key"],"t":["security"]},{"e":"🔑","d":"key","c":6,"a":["key"],"t":["lock","password"]},{"e":"🗝️","d":"old key","c":6,"a":["old_key"]},{"e":"🔨","d":"hammer","c":6,"a":["hammer"],"t":["tool"]},{"e":"🪓","d":"axe","c":6,"a":["axe"]},{"e":"⛏️","d":"pick","c":6,"a":["pick"]},{"e":"⚒️","d":"hammer and pick","c":6,"a":["hammer_and_pick"]},{"e":"🛠️","d":"hammer and wrench","c":6,"a":["hammer_and_wrench"]},{"e":"🗡️","d":"dagger","c":6,"a":["dagger"]},{"e":"⚔️","d":"crossed swords","c":6,"a":["crossed_swords"]},{"e":"🔫","d":"pistol","c":6,"a":["gun"],"t":["shoot","weapon"]},{"e":"🪃","d":"boomerang","c":6,"a":["boomerang"]},{"e":"🏹","d":"bow and arrow","c":6,"a":["bow_and_arrow"],"t":["archery"]},{"e":"🛡️","d":"shield","c":6,"a":["shield"]},{"e":"🪚","d":"carpentry saw","c":6,"a":["carpentry_saw"]},{"e":"🔧","d":"wrench","c":6,"a":["wrench"],"t":["tool"]},{"e":"🪛","d":"screwdriver","c":6,"a":["screwdriver"]},{"e":"🔩","d":"nut and bolt","c":6,"a":["nut_and_bolt"]},{"e":"⚙️","d":"gear","c":6,"a":["gear"]},{"e":"🗜️","d":"clamp","c":6,"a":["clamp"]},{"e":"⚖️","d":"balance scale","c":6,"a":["balance_scale"]},{"e":"🦯","d":"white cane","c":6,"a":["probing_cane"]},{"e":"🔗","d":"link","c":6,"a":["link"]},{"e":"⛓️","d":"chains","c":6,"a":["chains"]},{"e":"🪝","d":"hook","c":6,"a":["hook"]},{"e":"🧰","d":"toolbox","c":6,"a":["toolbox"]},{"e":"🧲","d":"magnet","c":6,"a":["magnet"]},{"e":"🪜","d":"ladder","c":6,"a":["ladder"]},{"e":"⚗️","d":"alembic","c":6,"a":["alembic"]},{"e":"🧪","d":"test tube","c":6,"a":["test_tube"]},{"e":"🧫","d":"petri dish","c":6,"a":["petri_dish"]},{"e":"🧬","d":"dna","c":6,"a":["dna"]},{"e":"🔬","d":"microscope","c":6,"a":["microscope"],"t":["science","laboratory","investigate"]},{"e":"🔭","d":"telescope","c":6,"a":["telescope"]},{"e":"📡","d":"satellite antenna","c":6,"a":["satellite"],"t":["signal"]},{"e":"💉","d":"syringe","c":6,"a":["syringe"],"t":["health","hospital","needle"]},{"e":"🩸","d":"drop of blood","c":6,"a":["drop_of_blood"]},{"e":"💊","d":"pill","c":6,"a":["pill"],"t":["health","medicine"]},{"e":"🩹","d":"adhesive bandage","c":6,"a":["adhesive_bandage"]},{"e":"🩺","d":"stethoscope","c":6,"a":["stethoscope"]},{"e":"🚪","d":"door","c":6,"a":["door"]},{"e":"🛗","d":"elevator","c":6,"a":["elevator"]},{"e":"🪞","d":"mirror","c":6,"a":["mirror"]},{"e":"🪟","d":"window","c":6,"a":["window"]},{"e":"🛏️","d":"bed","c":6,"a":["bed"]},{"e":"🛋️","d":"couch and lamp","c":6,"a":["couch_and_lamp"]},{"e":"🪑","d":"chair","c":6,"a":["chair"]},{"e":"🚽","d":"toilet","c":6,"a":["toilet"],"t":["wc"]},{"e":"🪠","d":"plunger","c":6,"a":["plunger"]},{"e":"🚿","d":"shower","c":6,"a":["shower"],"t":["bath"]},{"e":"🛁","d":"bathtub","c":6,"a":["bathtub"]},{"e":"🪤","d":"mouse trap","c":6,"a":["mouse_trap"]},{"e":"🪒","d":"razor","c":6,"a":["razor"]},{"e":"��","d":"lotion bottle","c":6,"a":["lotion_bottle"]},{"e":"🧷","d":"safety pin","c":6,"a":["safety_pin"]},{"e":"🧹","d":"broom","c":6,"a":["broom"]},{"e":"🧺","d":"basket","c":6,"a":["basket"]},{"e":"🧻","d":"roll of paper","c":6,"a":["roll_of_paper"],"t":["toilet"]},{"e":"🪣","d":"bucket","c":6,"a":["bucket"]},{"e":"🧼","d":"soap","c":6,"a":["soap"]},{"e":"🪥","d":"toothbrush","c":6,"a":["toothbrush"]},{"e":"🧽","d":"sponge","c":6,"a":["sponge"]},{"e":"🧯","d":"fire extinguisher","c":6,"a":["fire_extinguisher"]},{"e":"🛒","d":"shopping cart","c":6,"a":["shopping_cart"]},{"e":"🚬","d":"cigarette","c":6,"a":["smoking"],"t":["cigarette"]},{"e":"⚰️","d":"coffin","c":6,"a":["coffin"],"t":["funeral"]},{"e":"🪦","d":"headstone","c":6,"a":["headstone"]},{"e":"⚱️","d":"funeral urn","c":6,"a":["funeral_urn"]},{"e":"🗿","d":"moai","c":6,"a":["moyai"],"t":["stone"]},{"e":"🪧","d":"placard","c":6,"a":["placard"]},{"e":"🏧","d":"ATM sign","c":7,"a":["atm"]},{"e":"🚮","d":"litter in bin sign","c":7,"a":["put_litter_in_its_place"]},{"e":"🚰","d":"potable water","c":7,"a":["potable_water"]},{"e":"♿","d":"wheelchair symbol","c":7,"a":["wheelchair"],"t":["accessibility"]},{"e":"🚹","d":"men’s room","c":7,"a":["mens"]},{"e":"🚺","d":"women’s room","c":7,"a":["womens"]},{"e":"🚻","d":"restroom","c":7,"a":["restroom"],"t":["toilet"]},{"e":"🚼","d":"baby symbol","c":7,"a":["baby_symbol"]},{"e":"🚾","d":"water closet","c":7,"a":["wc"],"t":["toilet","restroom"]},{"e":"🛂","d":"passport control","c":7,"a":["passport_control"]},{"e":"🛃","d":"customs","c":7,"a":["customs"]},{"e":"🛄","d":"baggage claim","c":7,"a":["baggage_claim"],"t":["airport"]},{"e":"🛅","d":"left luggage","c":7,"a":["left_luggage"]},{"e":"⚠️","d":"warning","c":7,"a":["warning"],"t":["wip"]},{"e":"🚸","d":"children crossing","c":7,"a":["children_crossing"]},{"e":"⛔","d":"no entry","c":7,"a":["no_entry"],"t":["limit"]},{"e":"🚫","d":"prohibited","c":7,"a":["no_entry_sign"],"t":["block","forbidden"]},{"e":"🚳","d":"no bicycles","c":7,"a":["no_bicycles"]},{"e":"🚭","d":"no smoking","c":7,"a":["no_smoking"]},{"e":"🚯","d":"no littering","c":7,"a":["do_not_litter"]},{"e":"🚱","d":"non-potable water","c":7,"a":["non-potable_water"]},{"e":"🚷","d":"no pedestrians","c":7,"a":["no_pedestrians"]},{"e":"📵","d":"no mobile phones","c":7,"a":["no_mobile_phones"]},{"e":"🔞","d":"no one under eighteen","c":7,"a":["underage"]},{"e":"☢️","d":"radioactive","c":7,"a":["radioactive"]},{"e":"☣️","d":"biohazard","c":7,"a":["biohazard"]},{"e":"⬆️","d":"up arrow","c":7,"a":["arrow_up"]},{"e":"↗️","d":"up-right arrow","c":7,"a":["arrow_upper_right"]},{"e":"➡️","d":"right arrow","c":7,"a":["arrow_right"]},{"e":"↘️","d":"down-right arrow","c":7,"a":["arrow_lower_right"]},{"e":"⬇️","d":"down arrow","c":7,"a":["arrow_down"]},{"e":"↙️","d":"down-left arrow","c":7,"a":["arrow_lower_left"]},{"e":"⬅️","d":"left arrow","c":7,"a":["arrow_left"]},{"e":"↖️","d":"up-left arrow","c":7,"a":["arrow_upper_left"]},{"e":"↕️","d":"up-down arrow","c":7,"a":["arrow_up_down"]},{"e":"↔️","d":"left-right arrow","c":7,"a":["left_right_arrow"]},{"e":"↩️","d":"right arrow curving left","c":7,"a":["leftwards_arrow_with_hook"],"t":["return"]},{"e":"↪️","d":"left arrow curving right","c":7,"a":["arrow_right_hook"]},{"e":"⤴️","d":"right arrow curving up","c":7,"a":["arrow_heading_up"]},{"e":"⤵️","d":"right arrow curving down","c":7,"a":["arrow_heading_down"]},{"e":"🔃","d":"clockwise vertical arrows","c":7,"a":["arrows_clockwise"]},{"e":"🔄","d":"counterclockwise arrows button","c":7,"a":["arrows_counterclockwise"],"t":["sync"]},{"e":"🔙","d":"BACK arrow","c":7,"a":["back"]},{"e":"🔚","d":"END arrow","c":7,"a":["end"]},{"e":"🔛","d":"ON! arrow","c":7,"a":["on"]},{"e":"🔜","d":"SOON arrow","c":7,"a":["soon"]},{"e":"🔝","d":"TOP arrow","c":7,"a":["top"]},{"e":"🛐","d":"place of worship","c":7,"a":["place_of_worship"]},{"e":"⚛️","d":"atom symbol","c":7,"a":["atom_symbol"]},{"e":"🕉️","d":"om","c":7,"a":["om"]},{"e":"✡️","d":"star of David","c":7,"a":["star_of_david"]},{"e":"☸️","d":"wheel of dharma","c":7,"a":["wheel_of_dharma"]},{"e":"☯️","d":"yin yang","c":7,"a":["yin_yang"]},{"e":"✝️","d":"latin cross","c":7,"a":["latin_cross"]},{"e":"☦️","d":"orthodox cross","c":7,"a":["orthodox_cross"]},{"e":"☪️","d":"star and crescent","c":7,"a":["star_and_crescent"]},{"e":"☮️","d":"peace symbol","c":7,"a":["peace_symbol"]},{"e":"🕎","d":"menorah","c":7,"a":["menorah"]},{"e":"🔯","d":"dotted six-pointed star","c":7,"a":["six_pointed_star"]},{"e":"♈","d":"Aries","c":7,"a":["aries"]},{"e":"♉","d":"Taurus","c":7,"a":["taurus"]},{"e":"♊","d":"Gemini","c":7,"a":["gemini"]},{"e":"♋","d":"Cancer","c":7,"a":["cancer"]},{"e":"♌","d":"Leo","c":7,"a":["leo"]},{"e":"♍","d":"Virgo","c":7,"a":["virgo"]},{"e":"♎","d":"Libra","c":7,"a":["libra"]},{"e":"♏","d":"Scorpio","c":7,"a":["scorpius"]},{"e":"♐","d":"Sagittarius","c":7,"a":["sagittarius"]},{"e":"♑","d":"Capricorn","c":7,"a":["capricorn"]},{"e":"♒","d":"Aquarius","c":7,"a":["aquarius"]},{"e":"♓","d":"Pisces","c":7,"a":["pisces"]},{"e":"⛎","d":"Ophiuchus","c":7,"a":["ophiuchus"]},{"e":"🔀","d":"shuffle tracks button","c":7,"a":["twisted_rightwards_arrows"],"t":["shuffle"]},{"e":"🔁","d":"repeat button","c":7,"a":["repeat"],"t":["loop"]},{"e":"🔂","d":"repeat single button","c":7,"a":["repeat_one"]},{"e":"▶️","d":"play button","c":7,"a":["arrow_forward"]},{"e":"⏩","d":"fast-forward button","c":7,"a":["fast_forward"]},{"e":"⏭️","d":"next track button","c":7,"a":["next_track_button"]},{"e":"⏯️","d":"play or pause button","c":7,"a":["play_or_pause_button"]},{"e":"◀️","d":"reverse button","c":7,"a":["arrow_backward"]},{"e":"⏪","d":"fast reverse button","c":7,"a":["rewind"]},{"e":"⏮️","d":"last track button","c":7,"a":["previous_track_button"]},{"e":"🔼","d":"upwards button","c":7,"a":["arrow_up_small"]},{"e":"⏫","d":"fast up button","c":7,"a":["arrow_double_up"]},{"e":"🔽","d":"downwards button","c":7,"a":["arrow_down_small"]},{"e":"⏬","d":"fast down button","c":7,"a":["arrow_double_down"]},{"e":"⏸️","d":"pause button","c":7,"a":["pause_button"]},{"e":"⏹️","d":"stop button","c":7,"a":["stop_button"]},{"e":"⏺️","d":"record button","c":7,"a":["record_button"]},{"e":"⏏️","d":"eject button","c":7,"a":["eject_button"]},{"e":"🎦","d":"cinema","c":7,"a":["cinema"],"t":["film","movie"]},{"e":"🔅","d":"dim button","c":7,"a":["low_brightness"]},{"e":"🔆","d":"bright button","c":7,"a":["high_brightness"]},{"e":"📶","d":"antenna bars","c":7,"a":["signal_strength"],"t":["wifi"]},{"e":"📳","d":"vibration mode","c":7,"a":["vibration_mode"]},{"e":"📴","d":"mobile phone off","c":7,"a":["mobile_phone_off"],"t":["mute","off"]},{"e":"♀️","d":"female sign","c":7,"a":["female_sign"]},{"e":"♂️","d":"male sign","c":7,"a":["male_sign"]},{"e":"⚧️","d":"transgender symbol","c":7,"a":["transgender_symbol"]},{"e":"✖️","d":"multiply","c":7,"a":["heavy_multiplication_x"]},{"e":"➕","d":"plus","c":7,"a":["heavy_plus_sign"]},{"e":"➖","d":"minus","c":7,"a":["heavy_minus_sign"]},{"e":"➗","d":"divide","c":7,"a":["heavy_division_sign"]},{"e":"♾️","d":"infinity","c":7,"a":["infinity"]},{"e":"‼️","d":"double exclamation mark","c":7,"a":["bangbang"]},{"e":"⁉️","d":"exclamation question mark","c":7,"a":["interrobang"]},{"e":"❓","d":"question mark","c":7,"a":["question"],"t":["confused"]},{"e":"❔","d":"white question mark","c":7,"a":["grey_question"]},{"e":"❕","d":"white exclamation mark","c":7,"a":["grey_exclamation"]},{"e":"❗","d":"exclamation mark","c":7,"a":["exclamation","heavy_exclamation_mark"],"t":["bang"]},{"e":"〰️","d":"wavy dash","c":7,"a":["wavy_dash"]},{"e":"💱","d":"currency exchange","c":7,"a":["currency_exchange"]},{"e":"💲","d":"heavy dollar sign","c":7,"a":["heavy_dollar_sign"]},{"e":"⚕️","d":"medical symbol","c":7,"a":["medical_symbol"]},{"e":"♻️","d":"recycling symbol","c":7,"a":["recycle"],"t":["environment","green"]},{"e":"⚜️","d":"fleur-de-lis","c":7,"a":["fleur_de_lis"]},{"e":"🔱","d":"trident emblem","c":7,"a":["trident"]},{"e":"📛","d":"name badge","c":7,"a":["name_badge"]},{"e":"🔰","d":"Japanese symbol for beginner","c":7,"a":["beginner"]},{"e":"⭕","d":"hollow red circle","c":7,"a":["o"]},{"e":"✅","d":"check mark button","c":7,"a":["white_check_mark"]},{"e":"☑️","d":"check box with check","c":7,"a":["ballot_box_with_check"]},{"e":"✔️","d":"check mark","c":7,"a":["heavy_check_mark"]},{"e":"❌","d":"cross mark","c":7,"a":["x"]},{"e":"❎","d":"cross mark button","c":7,"a":["negative_squared_cross_mark"]},{"e":"➰","d":"curly loop","c":7,"a":["curly_loop"]},{"e":"➿","d":"double curly loop","c":7,"a":["loop"]},{"e":"〽️","d":"part alternation mark","c":7,"a":["part_alternation_mark"]},{"e":"✳️","d":"eight-spoked asterisk","c":7,"a":["eight_spoked_asterisk"]},{"e":"✴️","d":"eight-pointed star","c":7,"a":["eight_pointed_black_star"]},{"e":"❇️","d":"sparkle","c":7,"a":["sparkle"]},{"e":"©️","d":"copyright","c":7,"a":["copyright"]},{"e":"®️","d":"registered","c":7,"a":["registered"]},{"e":"™️","d":"trade mark","c":7,"a":["tm"],"t":["trademark"]},{"e":"#️⃣","d":"keycap: #","c":7,"a":["hash"],"t":["number"]},{"e":"*️⃣","d":"keycap: *","c":7,"a":["asterisk"]},{"e":"0️⃣","d":"keycap: 0","c":7,"a":["zero"]},{"e":"1️⃣","d":"keycap: 1","c":7,"a":["one"]},{"e":"2️⃣","d":"keycap: 2","c":7,"a":["two"]},{"e":"3️⃣","d":"keycap: 3","c":7,"a":["three"]},{"e":"4️⃣","d":"keycap: 4","c":7,"a":["four"]},{"e":"5️⃣","d":"keycap: 5","c":7,"a":["five"]},{"e":"6️⃣","d":"keycap: 6","c":7,"a":["six"]},{"e":"7️⃣","d":"keycap: 7","c":7,"a":["seven"]},{"e":"8️⃣","d":"keycap: 8","c":7,"a":["eight"]},{"e":"9️⃣","d":"keycap: 9","c":7,"a":["nine"]},{"e":"🔟","d":"keycap: 10","c":7,"a":["keycap_ten"]},{"e":"🔠","d":"input latin uppercase","c":7,"a":["capital_abcd"],"t":["letters"]},{"e":"🔡","d":"input latin lowercase","c":7,"a":["abcd"]},{"e":"🔢","d":"input numbers","c":7,"a":["1234"],"t":["numbers"]},{"e":"🔣","d":"input symbols","c":7,"a":["symbols"]},{"e":"🔤","d":"input latin letters","c":7,"a":["abc"],"t":["alphabet"]},{"e":"🅰️","d":"A button (blood type)","c":7,"a":["a"]},{"e":"🆎","d":"AB button (blood type)","c":7,"a":["ab"]},{"e":"🅱️","d":"B button (blood type)","c":7,"a":["b"]},{"e":"🆑","d":"CL button","c":7,"a":["cl"]},{"e":"🆒","d":"COOL button","c":7,"a":["cool"]},{"e":"🆓","d":"FREE button","c":7,"a":["free"]},{"e":"ℹ️","d":"information","c":7,"a":["information_source"]},{"e":"🆔","d":"ID button","c":7,"a":["id"]},{"e":"Ⓜ️","d":"circled M","c":7,"a":["m"]},{"e":"🆕","d":"NEW button","c":7,"a":["new"],"t":["fresh"]},{"e":"🆖","d":"NG button","c":7,"a":["ng"]},{"e":"🅾️","d":"O button (blood type)","c":7,"a":["o2"]},{"e":"🆗","d":"OK button","c":7,"a":["ok"],"t":["yes"]},{"e":"🅿️","d":"P button","c":7,"a":["parking"]},{"e":"🆘","d":"SOS button","c":7,"a":["sos"],"t":["help","emergency"]},{"e":"🆙","d":"UP! button","c":7,"a":["up"]},{"e":"🆚","d":"VS button","c":7,"a":["vs"]},{"e":"🈁","d":"Japanese “here” button","c":7,"a":["koko"]},{"e":"🈂️","d":"Japanese “service charge” button","c":7,"a":["sa"]},{"e":"🈷️","d":"Japanese “monthly amount” button","c":7,"a":["u6708"]},{"e":"🈶","d":"Japanese “not free of charge” button","c":7,"a":["u6709"]},{"e":"🈯","d":"Japanese “reserved” button","c":7,"a":["u6307"]},{"e":"🉐","d":"Japanese “bargain” button","c":7,"a":["ideograph_advantage"]},{"e":"🈹","d":"Japanese “discount” button","c":7,"a":["u5272"]},{"e":"🈚","d":"Japanese “free of charge” button","c":7,"a":["u7121"]},{"e":"🈲","d":"Japanese “prohibited” button","c":7,"a":["u7981"]},{"e":"🉑","d":"Japanese “acceptable” button","c":7,"a":["accept"]},{"e":"🈸","d":"Japanese “application” button","c":7,"a":["u7533"]},{"e":"🈴","d":"Japanese “passing grade” button","c":7,"a":["u5408"]},{"e":"🈳","d":"Japanese “vacancy” button","c":7,"a":["u7a7a"]},{"e":"㊗️","d":"Japanese “congratulations” button","c":7,"a":["congratulations"]},{"e":"㊙️","d":"Japanese “secret” button","c":7,"a":["secret"]},{"e":"🈺","d":"Japanese “open for business” button","c":7,"a":["u55b6"]},{"e":"🈵","d":"Japanese “no vacancy” button","c":7,"a":["u6e80"]},{"e":"🔴","d":"red circle","c":7,"a":["red_circle"]},{"e":"🟠","d":"orange circle","c":7,"a":["orange_circle"]},{"e":"🟡","d":"yellow circle","c":7,"a":["yellow_circle"]},{"e":"🟢","d":"green circle","c":7,"a":["green_circle"]},{"e":"🔵","d":"blue circle","c":7,"a":["large_blue_circle"]},{"e":"🟣","d":"purple circle","c":7,"a":["purple_circle"]},{"e":"🟤","d":"brown circle","c":7,"a":["brown_circle"]},{"e":"⚫","d":"black circle","c":7,"a":["black_circle"]},{"e":"⚪","d":"white circle","c":7,"a":["white_circle"]},{"e":"🟥","d":"red square","c":7,"a":["red_square"]},{"e":"🟧","d":"orange square","c":7,"a":["orange_square"]},{"e":"🟨","d":"yellow square","c":7,"a":["yellow_square"]},{"e":"🟩","d":"green square","c":7,"a":["green_square"]},{"e":"🟦","d":"blue square","c":7,"a":["blue_square"]},{"e":"🟪","d":"purple square","c":7,"a":["purple_square"]},{"e":"🟫","d":"brown square","c":7,"a":["brown_square"]},{"e":"⬛","d":"black large square","c":7,"a":["black_large_square"]},{"e":"⬜","d":"white large square","c":7,"a":["white_large_square"]},{"e":"◼️","d":"black medium square","c":7,"a":["black_medium_square"]},{"e":"◻️","d":"white medium square","c":7,"a":["white_medium_square"]},{"e":"◾","d":"black medium-small square","c":7,"a":["black_medium_small_square"]},{"e":"◽","d":"white medium-small square","c":7,"a":["white_medium_small_square"]},{"e":"▪️","d":"black small square","c":7,"a":["black_small_square"]},{"e":"▫️","d":"white small square","c":7,"a":["white_small_square"]},{"e":"🔶","d":"large orange diamond","c":7,"a":["large_orange_diamond"]},{"e":"🔷","d":"large blue diamond","c":7,"a":["large_blue_diamond"]},{"e":"🔸","d":"small orange diamond","c":7,"a":["small_orange_diamond"]},{"e":"🔹","d":"small blue diamond","c":7,"a":["small_blue_diamond"]},{"e":"🔺","d":"red triangle pointed up","c":7,"a":["small_red_triangle"]},{"e":"🔻","d":"red triangle pointed down","c":7,"a":["small_red_triangle_down"]},{"e":"💠","d":"diamond with a dot","c":7,"a":["diamond_shape_with_a_dot_inside"]},{"e":"🔘","d":"radio button","c":7,"a":["radio_button"]},{"e":"🔳","d":"white square button","c":7,"a":["white_square_button"]},{"e":"🔲","d":"black square button","c":7,"a":["black_square_button"]},{"e":"🏁","d":"chequered flag","c":8,"a":["checkered_flag"],"t":["milestone","finish"]},{"e":"🚩","d":"triangular flag","c":8,"a":["triangular_flag_on_post"]},{"e":"🎌","d":"crossed flags","c":8,"a":["crossed_flags"]},{"e":"🏴","d":"black flag","c":8,"a":["black_flag"]},{"e":"🏳️","d":"white flag","c":8,"a":["white_flag"]},{"e":"🏳️🌈","d":"rainbow flag","c":8,"a":["rainbow_flag"],"t":["pride"]},{"e":"🏳️⚧️","d":"transgender flag","c":8,"a":["transgender_flag"]},{"e":"🏴☠️","d":"pirate flag","c":8,"a":["pirate_flag"]},{"e":"🇦🇨","d":"flag: Ascension Island","c":8,"a":["ascension_island"]},{"e":"🇦🇩","d":"flag: Andorra","c":8,"a":["andorra"]},{"e":"🇦🇪","d":"flag: United Arab Emirates","c":8,"a":["united_arab_emirates"]},{"e":"🇦🇫","d":"flag: Afghanistan","c":8,"a":["afghanistan"]},{"e":"🇦🇬","d":"flag: Antigua & Barbuda","c":8,"a":["antigua_barbuda"]},{"e":"🇦🇮","d":"flag: Anguilla","c":8,"a":["anguilla"]},{"e":"🇦🇱","d":"flag: Albania","c":8,"a":["albania"]},{"e":"🇦🇲","d":"flag: Armenia","c":8,"a":["armenia"]},{"e":"🇦🇴","d":"flag: Angola","c":8,"a":["angola"]},{"e":"🇦🇶","d":"flag: Antarctica","c":8,"a":["antarctica"]},{"e":"🇦🇷","d":"flag: Argentina","c":8,"a":["argentina"]},{"e":"🇦🇸","d":"flag: American Samoa","c":8,"a":["american_samoa"]},{"e":"🇦🇹","d":"flag: Austria","c":8,"a":["austria"]},{"e":"🇦🇺","d":"flag: Australia","c":8,"a":["australia"]},{"e":"🇦🇼","d":"flag: Aruba","c":8,"a":["aruba"]},{"e":"🇦🇽","d":"flag: Åland Islands","c":8,"a":["aland_islands"]},{"e":"🇦🇿","d":"flag: Azerbaijan","c":8,"a":["azerbaijan"]},{"e":"🇧🇦","d":"flag: Bosnia & Herzegovina","c":8,"a":["bosnia_herzegovina"]},{"e":"🇧🇧","d":"flag: Barbados","c":8,"a":["barbados"]},{"e":"🇧🇩","d":"flag: Bangladesh","c":8,"a":["bangladesh"]},{"e":"🇧🇪","d":"flag: Belgium","c":8,"a":["belgium"]},{"e":"🇧🇫","d":"flag: Burkina Faso","c":8,"a":["burkina_faso"]},{"e":"🇧🇬","d":"flag: Bulgaria","c":8,"a":["bulgaria"]},{"e":"🇧🇭","d":"flag: Bahrain","c":8,"a":["bahrain"]},{"e":"🇧🇮","d":"flag: Burundi","c":8,"a":["burundi"]},{"e":"🇧🇯","d":"flag: Benin","c":8,"a":["benin"]},{"e":"🇧🇱","d":"flag: St. Barthélemy","c":8,"a":["st_barthelemy"]},{"e":"🇧🇲","d":"flag: Bermuda","c":8,"a":["bermuda"]},{"e":"🇧🇳","d":"flag: Brunei","c":8,"a":["brunei"]},{"e":"🇧🇴","d":"flag: Bolivia","c":8,"a":["bolivia"]},{"e":"🇧🇶","d":"flag: Caribbean Netherlands","c":8,"a":["caribbean_netherlands"]},{"e":"🇧🇷","d":"flag: Brazil","c":8,"a":["brazil"]},{"e":"🇧🇸","d":"flag: Bahamas","c":8,"a":["bahamas"]},{"e":"🇧🇹","d":"flag: Bhutan","c":8,"a":["bhutan"]},{"e":"🇧🇻","d":"flag: Bouvet Island","c":8,"a":["bouvet_island"]},{"e":"🇧🇼","d":"flag: Botswana","c":8,"a":["botswana"]},{"e":"🇧🇾","d":"flag: Belarus","c":8,"a":["belarus"]},{"e":"🇧🇿","d":"flag: Belize","c":8,"a":["belize"]},{"e":"🇨🇦","d":"flag: Canada","c":8,"a":["canada"]},{"e":"🇨🇨","d":"flag: Cocos (Keeling) Islands","c":8,"a":["cocos_islands"],"t":["keeling"]},{"e":"🇨🇩","d":"flag: Congo - Kinshasa","c":8,"a":["congo_kinshasa"]},{"e":"🇨🇫","d":"flag: Central African Republic","c":8,"a":["central_african_republic"]},{"e":"🇨🇬","d":"flag: Congo - Brazzaville","c":8,"a":["congo_brazzaville"]},{"e":"🇨🇭","d":"flag: Switzerland","c":8,"a":["switzerland"]},{"e":"🇨🇮","d":"flag: Côte d’Ivoire","c":8,"a":["cote_divoire"],"t":["ivory"]},{"e":"🇨🇰","d":"flag: Cook Islands","c":8,"a":["cook_islands"]},{"e":"🇨🇱","d":"flag: Chile","c":8,"a":["chile"]},{"e":"🇨🇲","d":"flag: Cameroon","c":8,"a":["cameroon"]},{"e":"🇨🇳","d":"flag: China","c":8,"a":["cn"],"t":["china"]},{"e":"🇨🇴","d":"flag: Colombia","c":8,"a":["colombia"]},{"e":"🇨🇵","d":"flag: Clipperton Island","c":8,"a":["clipperton_island"]},{"e":"🇨🇷","d":"flag: Costa Rica","c":8,"a":["costa_rica"]},{"e":"🇨🇺","d":"flag: Cuba","c":8,"a":["cuba"]},{"e":"🇨🇻","d":"flag: Cape Verde","c":8,"a":["cape_verde"]},{"e":"🇨🇼","d":"flag: Curaçao","c":8,"a":["curacao"]},{"e":"🇨🇽","d":"flag: Christmas Island","c":8,"a":["christmas_island"]},{"e":"🇨🇾","d":"flag: Cyprus","c":8,"a":["cyprus"]},{"e":"🇨🇿","d":"flag: Czechia","c":8,"a":["czech_republic"]},{"e":"🇩🇪","d":"flag: Germany","c":8,"a":["de"],"t":["flag","germany"]},{"e":"🇩🇬","d":"flag: Diego Garcia","c":8,"a":["diego_garcia"]},{"e":"🇩🇯","d":"flag: Djibouti","c":8,"a":["djibouti"]},{"e":"🇩🇰","d":"flag: Denmark","c":8,"a":["denmark"]},{"e":"🇩🇲","d":"flag: Dominica","c":8,"a":["dominica"]},{"e":"🇩🇴","d":"flag: Dominican Republic","c":8,"a":["dominican_republic"]},{"e":"🇩🇿","d":"flag: Algeria","c":8,"a":["algeria"]},{"e":"🇪🇦","d":"flag: Ceuta & Melilla","c":8,"a":["ceuta_melilla"]},{"e":"🇪🇨","d":"flag: Ecuador","c":8,"a":["ecuador"]},{"e":"🇪🇪","d":"flag: Estonia","c":8,"a":["estonia"]},{"e":"🇪🇬","d":"flag: Egypt","c":8,"a":["egypt"]},{"e":"🇪🇭","d":"flag: Western Sahara","c":8,"a":["western_sahara"]},{"e":"🇪🇷","d":"flag: Eritrea","c":8,"a":["eritrea"]},{"e":"🇪🇸","d":"flag: Spain","c":8,"a":["es"],"t":["spain"]},{"e":"🇪🇹","d":"flag: Ethiopia","c":8,"a":["ethiopia"]},{"e":"🇪🇺","d":"flag: European Union","c":8,"a":["eu","european_union"]},{"e":"🇫🇮","d":"flag: Finland","c":8,"a":["finland"]},{"e":"🇫🇯","d":"flag: Fiji","c":8,"a":["fiji"]},{"e":"🇫🇰","d":"flag: Falkland Islands","c":8,"a":["falkland_islands"]},{"e":"🇫🇲","d":"flag: Micronesia","c":8,"a":["micronesia"]},{"e":"🇫🇴","d":"flag: Faroe Islands","c":8,"a":["faroe_islands"]},{"e":"🇫🇷","d":"flag: France","c":8,"a":["fr"],"t":["france","french"]},{"e":"🇬🇦","d":"flag: Gabon","c":8,"a":["gabon"]},{"e":"🇬🇧","d":"flag: United Kingdom","c":8,"a":["gb","uk"],"t":["flag","british"]},{"e":"🇬🇩","d":"flag: Grenada","c":8,"a":["grenada"]},{"e":"🇬🇪","d":"flag: Georgia","c":8,"a":["georgia"]},{"e":"🇬🇫","d":"flag: French Guiana","c":8,"a":["french_guiana"]},{"e":"🇬🇬","d":"flag: Guernsey","c":8,"a":["guernsey"]},{"e":"🇬🇭","d":"flag: Ghana","c":8,"a":["ghana"]},{"e":"🇬🇮","d":"flag: Gibraltar","c":8,"a":["gibraltar"]},{"e":"🇬🇱","d":"flag: Greenland","c":8,"a":["greenland"]},{"e":"🇬🇲","d":"flag: Gambia","c":8,"a":["gambia"]},{"e":"🇬🇳","d":"flag: Guinea","c":8,"a":["guinea"]},{"e":"🇬🇵","d":"flag: Guadeloupe","c":8,"a":["guadeloupe"]},{"e":"🇬🇶","d":"flag: Equatorial Guinea","c":8,"a":["equatorial_guinea"]},{"e":"🇬🇷","d":"flag: Greece","c":8,"a":["greece"]},{"e":"🇬🇸","d":"flag: South Georgia & South Sandwich Islands","c":8,"a":["south_georgia_south_sandwich_islands"]},{"e":"🇬🇹","d":"flag: Guatemala","c":8,"a":["guatemala"]},{"e":"🇬🇺","d":"flag: Guam","c":8,"a":["guam"]},{"e":"🇬🇼","d":"flag: Guinea-Bissau","c":8,"a":["guinea_bissau"]},{"e":"🇬🇾","d":"flag: Guyana","c":8,"a":["guyana"]},{"e":"🇭🇰","d":"flag: Hong Kong SAR China","c":8,"a":["hong_kong"]},{"e":"🇭🇲","d":"flag: Heard & McDonald Islands","c":8,"a":["heard_mcdonald_islands"]},{"e":"🇭🇳","d":"flag: Honduras","c":8,"a":["honduras"]},{"e":"🇭🇷","d":"flag: Croatia","c":8,"a":["croatia"]},{"e":"🇭🇹","d":"flag: Haiti","c":8,"a":["haiti"]},{"e":"🇭🇺","d":"flag: Hungary","c":8,"a":["hungary"]},{"e":"🇮🇨","d":"flag: Canary Islands","c":8,"a":["canary_islands"]},{"e":"🇮🇩","d":"flag: Indonesia","c":8,"a":["indonesia"]},{"e":"🇮🇪","d":"flag: Ireland","c":8,"a":["ireland"]},{"e":"🇮🇱","d":"flag: Israel","c":8,"a":["israel"]},{"e":"🇮🇲","d":"flag: Isle of Man","c":8,"a":["isle_of_man"]},{"e":"🇮🇳","d":"flag: India","c":8,"a":["india"]},{"e":"🇮🇴","d":"flag: British Indian Ocean Territory","c":8,"a":["british_indian_ocean_territory"]},{"e":"🇮🇶","d":"flag: Iraq","c":8,"a":["iraq"]},{"e":"🇮🇷","d":"flag: Iran","c":8,"a":["iran"]},{"e":"🇮🇸","d":"flag: Iceland","c":8,"a":["iceland"]},{"e":"🇮🇹","d":"flag: Italy","c":8,"a":["it"],"t":["italy"]},{"e":"🇯🇪","d":"flag: Jersey","c":8,"a":["jersey"]},{"e":"🇯🇲","d":"flag: Jamaica","c":8,"a":["jamaica"]},{"e":"🇯🇴","d":"flag: Jordan","c":8,"a":["jordan"]},{"e":"🇯🇵","d":"flag: Japan","c":8,"a":["jp"],"t":["japan"]},{"e":"🇰🇪","d":"flag: Kenya","c":8,"a":["kenya"]},{"e":"🇰🇬","d":"flag: Kyrgyzstan","c":8,"a":["kyrgyzstan"]},{"e":"🇰🇭","d":"flag: Cambodia","c":8,"a":["cambodia"]},{"e":"🇰🇮","d":"flag: Kiribati","c":8,"a":["kiribati"]},{"e":"🇰🇲","d":"flag: Comoros","c":8,"a":["comoros"]},{"e":"🇰🇳","d":"flag: St. Kitts & Nevis","c":8,"a":["st_kitts_nevis"]},{"e":"🇰🇵","d":"flag: North Korea","c":8,"a":["north_korea"]},{"e":"🇰🇷","d":"flag: South Korea","c":8,"a":["kr"],"t":["korea"]},{"e":"🇰🇼","d":"flag: Kuwait","c":8,"a":["kuwait"]},{"e":"🇰🇾","d":"flag: Cayman Islands","c":8,"a":["cayman_islands"]},{"e":"🇰🇿","d":"flag: Kazakhstan","c":8,"a":["kazakhstan"]},{"e":"🇱🇦","d":"flag: Laos","c":8,"a":["laos"]},{"e":"🇱🇧","d":"flag: Lebanon","c":8,"a":["lebanon"]},{"e":"🇱🇨","d":"flag: St. Lucia","c":8,"a":["st_lucia"]},{"e":"🇱🇮","d":"flag: Liechtenstein","c":8,"a":["liechtenstein"]},{"e":"🇱🇰","d":"flag: Sri Lanka","c":8,"a":["sri_lanka"]},{"e":"🇱🇷","d":"flag: Liberia","c":8,"a":["liberia"]},{"e":"🇱🇸","d":"flag: Lesotho","c":8,"a":["lesotho"]},{"e":"🇱🇹","d":"flag: Lithuania","c":8,"a":["lithuania"]},{"e":"🇱🇺","d":"flag: Luxembourg","c":8,"a":["luxembourg"]},{"e":"🇱🇻","d":"flag: Latvia","c":8,"a":["latvia"]},{"e":"🇱🇾","d":"flag: Libya","c":8,"a":["libya"]},{"e":"🇲🇦","d":"flag: Morocco","c":8,"a":["morocco"]},{"e":"🇲🇨","d":"flag: Monaco","c":8,"a":["monaco"]},{"e":"🇲🇩","d":"flag: Moldova","c":8,"a":["moldova"]},{"e":"🇲🇪","d":"flag: Montenegro","c":8,"a":["montenegro"]},{"e":"🇲🇫","d":"flag: St. Martin","c":8,"a":["st_martin"]},{"e":"🇲🇬","d":"flag: Madagascar","c":8,"a":["madagascar"]},{"e":"🇲🇭","d":"flag: Marshall Islands","c":8,"a":["marshall_islands"]},{"e":"🇲🇰","d":"flag: North Macedonia","c":8,"a":["macedonia"]},{"e":"🇲🇱","d":"flag: Mali","c":8,"a":["mali"]},{"e":"🇲🇲","d":"flag: Myanmar (Burma)","c":8,"a":["myanmar"],"t":["burma"]},{"e":"🇲🇳","d":"flag: Mongolia","c":8,"a":["mongolia"]},{"e":"��🇴","d":"flag: Macao SAR China","c":8,"a":["macau"]},{"e":"🇲🇵","d":"flag: Northern Mariana Islands","c":8,"a":["northern_mariana_islands"]},{"e":"🇲🇶","d":"flag: Martinique","c":8,"a":["martinique"]},{"e":"🇲🇷","d":"flag: Mauritania","c":8,"a":["mauritania"]},{"e":"🇲🇸","d":"flag: Montserrat","c":8,"a":["montserrat"]},{"e":"🇲🇹","d":"flag: Malta","c":8,"a":["malta"]},{"e":"🇲🇺","d":"flag: Mauritius","c":8,"a":["mauritius"]},{"e":"🇲🇻","d":"flag: Maldives","c":8,"a":["maldives"]},{"e":"🇲🇼","d":"flag: Malawi","c":8,"a":["malawi"]},{"e":"🇲🇽","d":"flag: Mexico","c":8,"a":["mexico"]},{"e":"🇲🇾","d":"flag: Malaysia","c":8,"a":["malaysia"]},{"e":"🇲🇿","d":"flag: Mozambique","c":8,"a":["mozambique"]},{"e":"🇳🇦","d":"flag: Namibia","c":8,"a":["namibia"]},{"e":"🇳🇨","d":"flag: New Caledonia","c":8,"a":["new_caledonia"]},{"e":"🇳🇪","d":"flag: Niger","c":8,"a":["niger"]},{"e":"🇳🇫","d":"flag: Norfolk Island","c":8,"a":["norfolk_island"]},{"e":"🇳🇬","d":"flag: Nigeria","c":8,"a":["nigeria"]},{"e":"🇳🇮","d":"flag: Nicaragua","c":8,"a":["nicaragua"]},{"e":"🇳🇱","d":"flag: Netherlands","c":8,"a":["netherlands"]},{"e":"🇳🇴","d":"flag: Norway","c":8,"a":["norway"]},{"e":"🇳🇵","d":"flag: Nepal","c":8,"a":["nepal"]},{"e":"🇳🇷","d":"flag: Nauru","c":8,"a":["nauru"]},{"e":"🇳🇺","d":"flag: Niue","c":8,"a":["niue"]},{"e":"🇳🇿","d":"flag: New Zealand","c":8,"a":["new_zealand"]},{"e":"🇴🇲","d":"flag: Oman","c":8,"a":["oman"]},{"e":"🇵🇦","d":"flag: Panama","c":8,"a":["panama"]},{"e":"🇵🇪","d":"flag: Peru","c":8,"a":["peru"]},{"e":"🇵🇫","d":"flag: French Polynesia","c":8,"a":["french_polynesia"]},{"e":"🇵🇬","d":"flag: Papua New Guinea","c":8,"a":["papua_new_guinea"]},{"e":"🇵🇭","d":"flag: Philippines","c":8,"a":["philippines"]},{"e":"🇵🇰","d":"flag: Pakistan","c":8,"a":["pakistan"]},{"e":"🇵🇱","d":"flag: Poland","c":8,"a":["poland"]},{"e":"🇵🇲","d":"flag: St. Pierre & Miquelon","c":8,"a":["st_pierre_miquelon"]},{"e":"🇵🇳","d":"flag: Pitcairn Islands","c":8,"a":["pitcairn_islands"]},{"e":"🇵🇷","d":"flag: Puerto Rico","c":8,"a":["puerto_rico"]},{"e":"🇵🇸","d":"flag: Palestinian Territories","c":8,"a":["palestinian_territories"]},{"e":"🇵🇹","d":"flag: Portugal","c":8,"a":["portugal"]},{"e":"🇵🇼","d":"flag: Palau","c":8,"a":["palau"]},{"e":"🇵🇾","d":"flag: Paraguay","c":8,"a":["paraguay"]},{"e":"🇶🇦","d":"flag: Qatar","c":8,"a":["qatar"]},{"e":"🇷🇪","d":"flag: Réunion","c":8,"a":["reunion"]},{"e":"🇷🇴","d":"flag: Romania","c":8,"a":["romania"]},{"e":"🇷🇸","d":"flag: Serbia","c":8,"a":["serbia"]},{"e":"🇷🇺","d":"flag: Russia","c":8,"a":["ru"],"t":["russia"]},{"e":"🇷🇼","d":"flag: Rwanda","c":8,"a":["rwanda"]},{"e":"🇸🇦","d":"flag: Saudi Arabia","c":8,"a":["saudi_arabia"]},{"e":"����🇧","d":"flag: Solomon Islands","c":8,"a":["solomon_islands"]},{"e":"🇸🇨","d":"flag: Seychelles","c":8,"a":["seychelles"]},{"e":"🇸🇩","d":"flag: Sudan","c":8,"a":["sudan"]},{"e":"🇸🇪","d":"flag: Sweden","c":8,"a":["sweden"]},{"e":"🇸🇬","d":"flag: Singapore","c":8,"a":["singapore"]},{"e":"🇸🇭","d":"flag: St. Helena","c":8,"a":["st_helena"]},{"e":"🇸🇮","d":"flag: Slovenia","c":8,"a":["slovenia"]},{"e":"🇸🇯","d":"flag: Svalbard & Jan Mayen","c":8,"a":["svalbard_jan_mayen"]},{"e":"🇸🇰","d":"flag: Slovakia","c":8,"a":["slovakia"]},{"e":"🇸🇱","d":"flag: Sierra Leone","c":8,"a":["sierra_leone"]},{"e":"🇸🇲","d":"flag: San Marino","c":8,"a":["san_marino"]},{"e":"🇸🇳","d":"flag: Senegal","c":8,"a":["senegal"]},{"e":"🇸🇴","d":"flag: Somalia","c":8,"a":["somalia"]},{"e":"🇸🇷","d":"flag: Suriname","c":8,"a":["suriname"]},{"e":"🇸🇸","d":"flag: South Sudan","c":8,"a":["south_sudan"]},{"e":"🇸🇹","d":"flag: São Tomé & Príncipe","c":8,"a":["sao_tome_principe"]},{"e":"🇸🇻","d":"flag: El Salvador","c":8,"a":["el_salvador"]},{"e":"🇸🇽","d":"flag: Sint Maarten","c":8,"a":["sint_maarten"]},{"e":"🇸🇾","d":"flag: Syria","c":8,"a":["syria"]},{"e":"🇸🇿","d":"flag: Eswatini","c":8,"a":["swaziland"]},{"e":"🇹🇦","d":"flag: Tristan da Cunha","c":8,"a":["tristan_da_cunha"]},{"e":"🇹🇨","d":"flag: Turks & Caicos Islands","c":8,"a":["turks_caicos_islands"]},{"e":"🇹🇩","d":"flag: Chad","c":8,"a":["chad"]},{"e":"🇹🇫","d":"flag: French Southern Territories","c":8,"a":["french_southern_territories"]},{"e":"🇹🇬","d":"flag: Togo","c":8,"a":["togo"]},{"e":"🇹🇭","d":"flag: Thailand","c":8,"a":["thailand"]},{"e":"🇹🇯","d":"flag: Tajikistan","c":8,"a":["tajikistan"]},{"e":"🇹🇰","d":"flag: Tokelau","c":8,"a":["tokelau"]},{"e":"🇹🇱","d":"flag: Timor-Leste","c":8,"a":["timor_leste"]},{"e":"🇹🇲","d":"flag: Turkmenistan","c":8,"a":["turkmenistan"]},{"e":"🇹🇳","d":"flag: Tunisia","c":8,"a":["tunisia"]},{"e":"🇹🇴","d":"flag: Tonga","c":8,"a":["tonga"]},{"e":"🇹🇷","d":"flag: Turkey","c":8,"a":["tr"],"t":["turkey"]},{"e":"🇹🇹","d":"flag: Trinidad & Tobago","c":8,"a":["trinidad_tobago"]},{"e":"🇹🇻","d":"flag: Tuvalu","c":8,"a":["tuvalu"]},{"e":"🇹🇼","d":"flag: Taiwan","c":8,"a":["taiwan"]},{"e":"🇹🇿","d":"flag: Tanzania","c":8,"a":["tanzania"]},{"e":"🇺🇦","d":"flag: Ukraine","c":8,"a":["ukraine"]},{"e":"🇺🇬","d":"flag: Uganda","c":8,"a":["uganda"]},{"e":"🇺🇲","d":"flag: U.S. Outlying Islands","c":8,"a":["us_outlying_islands"]},{"e":"🇺🇳","d":"flag: United Nations","c":8,"a":["united_nations"]},{"e":"🇺🇸","d":"flag: United States","c":8,"a":["us"],"t":["flag","united","america"]},{"e":"🇺🇾","d":"flag: Uruguay","c":8,"a":["uruguay"]},{"e":"🇺🇿","d":"flag: Uzbekistan","c":8,"a":["uzbekistan"]},{"e":"🇻🇦","d":"flag: Vatican City","c":8,"a":["vatican_city"]},{"e":"🇻🇨","d":"flag: St. Vincent & Grenadines","c":8,"a":["st_vincent_grenadines"]},{"e":"🇻🇪","d":"flag: Venezuela","c":8,"a":["venezuela"]},{"e":"🇻🇬","d":"flag: British Virgin Islands","c":8,"a":["british_virgin_islands"]},{"e":"🇻🇮","d":"flag: U.S. Virgin Islands","c":8,"a":["us_virgin_islands"]},{"e":"🇻🇳","d":"flag: Vietnam","c":8,"a":["vietnam"]},{"e":"🇻🇺","d":"flag: Vanuatu","c":8,"a":["vanuatu"]},{"e":"🇼🇫","d":"flag: Wallis & Futuna","c":8,"a":["wallis_futuna"]},{"e":"🇼🇸","d":"flag: Samoa","c":8,"a":["samoa"]},{"e":"🇽🇰","d":"flag: Kosovo","c":8,"a":["kosovo"]},{"e":"🇾🇪","d":"flag: Yemen","c":8,"a":["yemen"]},{"e":"🇾🇹","d":"flag: Mayotte","c":8,"a":["mayotte"]},{"e":"🇿🇦","d":"flag: South Africa","c":8,"a":["south_africa"]},{"e":"🇿🇲","d":"flag: Zambia","c":8,"a":["zambia"]},{"e":"🇿🇼","d":"flag: Zimbabwe","c":8,"a":["zimbabwe"]},{"e":"🏴","d":"flag: England","c":8,"a":["england"]},{"e":"🏴","d":"flag: Scotland","c":8,"a":["scotland"]},{"e":"🏴","d":"flag: Wales","c":8,"a":["wales"]}]}')}},i={};function n(o){var r=i[o];if(void 0!==r)return r.exports;var s=i[o]={exports:{}};return t[o].call(s.exports,s,s.exports,n),s.exports}n.n=function(t){var i=t&&t.__esModule?function(){return t.default}:function(){return t};return n.d(i,{a:i}),i},n.d=function(t,i){for(var o in i)n.o(i,o)&&!n.o(t,o)&&Object.defineProperty(t,o,{enumerable:!0,get:i[o]})},n.o=function(t,i){return Object.prototype.hasOwnProperty.call(t,i)},n.r=function(t){"u">typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})};var o={};return!function(){"use strict";n.r(o),n.d(o,{Jodit:function(){return i.JoditPro}}),n(12373);var t=n(31356),i=n(2692);i.JoditPro.plugins.add("poweredByJodit",function(){}),i.JoditPro.modules.ListReconciler=t.ListReconciler}(),o});
|