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.
Files changed (343) hide show
  1. package/es2015/jodit.css +1 -1
  2. package/es2015/jodit.fat.min.css +1 -1
  3. package/es2015/jodit.fat.min.js +28 -28
  4. package/es2015/jodit.js +83 -190
  5. package/es2015/jodit.min.css +1 -1
  6. package/es2015/jodit.min.js +2 -2
  7. package/es2015/plugins/ai-assistant-pro/ai-assistant-pro.css +1 -1
  8. package/es2015/plugins/ai-assistant-pro/ai-assistant-pro.js +306 -168
  9. package/es2015/plugins/ai-assistant-pro/ai-assistant-pro.min.js +29 -29
  10. package/es2015/plugins/autocomplete/autocomplete.css +1 -1
  11. package/es2015/plugins/autocomplete/autocomplete.js +1 -1
  12. package/es2015/plugins/autocomplete/autocomplete.min.js +1 -1
  13. package/es2015/plugins/backup/backup.css +1 -1
  14. package/es2015/plugins/backup/backup.js +1 -1
  15. package/es2015/plugins/backup/backup.min.js +1 -1
  16. package/es2015/plugins/button-generator/button-generator.css +1 -1
  17. package/es2015/plugins/button-generator/button-generator.js +1 -1
  18. package/es2015/plugins/button-generator/button-generator.min.js +1 -1
  19. package/es2015/plugins/change-case/change-case.js +1 -1
  20. package/es2015/plugins/change-case/change-case.min.js +1 -1
  21. package/es2015/plugins/color-picker/color-picker.css +1 -1
  22. package/es2015/plugins/color-picker/color-picker.js +1 -1
  23. package/es2015/plugins/color-picker/color-picker.min.js +1 -1
  24. package/es2015/plugins/emoji/emoji.css +1 -1
  25. package/es2015/plugins/emoji/emoji.js +1 -1
  26. package/es2015/plugins/emoji/emoji.min.js +1 -1
  27. package/es2015/plugins/export-docs/export-docs.js +1 -1
  28. package/es2015/plugins/export-docs/export-docs.min.js +1 -1
  29. package/es2015/plugins/finder/finder.css +1 -1
  30. package/es2015/plugins/finder/finder.js +1 -1
  31. package/es2015/plugins/finder/finder.min.css +1 -1
  32. package/es2015/plugins/finder/finder.min.js +1 -1
  33. package/es2015/plugins/google-maps/google-maps.css +1 -1
  34. package/es2015/plugins/google-maps/google-maps.js +241 -72
  35. package/es2015/plugins/google-maps/google-maps.min.js +4 -4
  36. package/es2015/plugins/google-search/google-search.js +1 -1
  37. package/es2015/plugins/google-search/google-search.min.js +1 -1
  38. package/es2015/plugins/highlight-signature/highlight-signature.js +1 -1
  39. package/es2015/plugins/highlight-signature/highlight-signature.min.js +1 -1
  40. package/es2015/plugins/iframe-editor/iframe-editor.css +1 -1
  41. package/es2015/plugins/iframe-editor/iframe-editor.js +1 -1
  42. package/es2015/plugins/iframe-editor/iframe-editor.min.js +1 -1
  43. package/es2015/plugins/image-editor-pro/image-editor-pro.css +1 -1
  44. package/es2015/plugins/image-editor-pro/image-editor-pro.js +6 -12
  45. package/es2015/plugins/image-editor-pro/image-editor-pro.min.js +1 -1
  46. package/es2015/plugins/keyboard/keyboard.css +1 -1
  47. package/es2015/plugins/keyboard/keyboard.js +1 -1
  48. package/es2015/plugins/keyboard/keyboard.min.js +1 -1
  49. package/es2015/plugins/mobile-view/mobile-view.js +1 -1
  50. package/es2015/plugins/mobile-view/mobile-view.min.js +1 -1
  51. package/es2015/plugins/page-break/page-break.js +1 -1
  52. package/es2015/plugins/page-break/page-break.min.js +1 -1
  53. package/es2015/plugins/paste-code/paste-code.css +1 -1
  54. package/es2015/plugins/paste-code/paste-code.js +1 -1
  55. package/es2015/plugins/paste-code/paste-code.min.js +1 -1
  56. package/es2015/plugins/paste-from-word/paste-from-word.js +1 -1
  57. package/es2015/plugins/paste-from-word/paste-from-word.min.js +1 -1
  58. package/es2015/plugins/show-blocks/show-blocks.js +1 -1
  59. package/es2015/plugins/show-blocks/show-blocks.min.js +1 -1
  60. package/es2015/plugins/style/style.css +1 -1
  61. package/es2015/plugins/style/style.js +1 -1
  62. package/es2015/plugins/style/style.min.js +1 -1
  63. package/es2015/plugins/templates/templates.css +1 -1
  64. package/es2015/plugins/templates/templates.js +1 -1
  65. package/es2015/plugins/templates/templates.min.js +1 -1
  66. package/es2015/plugins/todo-list/todo-list.css +1 -1
  67. package/es2015/plugins/todo-list/todo-list.js +1 -1
  68. package/es2015/plugins/todo-list/todo-list.min.js +1 -1
  69. package/es2015/plugins/translate/translate.css +1 -1
  70. package/es2015/plugins/translate/translate.js +1 -1
  71. package/es2015/plugins/translate/translate.min.js +1 -1
  72. package/es2015/plugins/tune-block/tune-block.css +1 -1
  73. package/es2015/plugins/tune-block/tune-block.js +1 -1
  74. package/es2015/plugins/tune-block/tune-block.min.js +1 -1
  75. package/es2018/jodit.fat.min.css +1 -1
  76. package/es2018/jodit.fat.min.js +19 -19
  77. package/es2018/jodit.min.css +1 -1
  78. package/es2018/jodit.min.js +2 -2
  79. package/es2018/plugins/ai-assistant-pro/ai-assistant-pro.min.js +15 -15
  80. package/es2018/plugins/autocomplete/autocomplete.min.js +1 -1
  81. package/es2018/plugins/backup/backup.min.js +1 -1
  82. package/es2018/plugins/button-generator/button-generator.min.js +1 -1
  83. package/es2018/plugins/change-case/change-case.min.js +1 -1
  84. package/es2018/plugins/color-picker/color-picker.min.js +1 -1
  85. package/es2018/plugins/emoji/emoji.min.js +1 -1
  86. package/es2018/plugins/export-docs/export-docs.min.js +1 -1
  87. package/es2018/plugins/finder/finder.min.css +1 -1
  88. package/es2018/plugins/finder/finder.min.js +1 -1
  89. package/es2018/plugins/google-maps/google-maps.min.js +7 -7
  90. package/es2018/plugins/google-search/google-search.min.js +1 -1
  91. package/es2018/plugins/highlight-signature/highlight-signature.min.js +1 -1
  92. package/es2018/plugins/iframe-editor/iframe-editor.min.js +1 -1
  93. package/es2018/plugins/image-editor-pro/image-editor-pro.min.js +1 -1
  94. package/es2018/plugins/keyboard/keyboard.min.js +1 -1
  95. package/es2018/plugins/mobile-view/mobile-view.min.js +1 -1
  96. package/es2018/plugins/page-break/page-break.min.js +1 -1
  97. package/es2018/plugins/paste-code/paste-code.min.js +1 -1
  98. package/es2018/plugins/paste-from-word/paste-from-word.min.js +1 -1
  99. package/es2018/plugins/show-blocks/show-blocks.min.js +1 -1
  100. package/es2018/plugins/style/style.min.js +1 -1
  101. package/es2018/plugins/templates/templates.min.js +1 -1
  102. package/es2018/plugins/todo-list/todo-list.min.js +1 -1
  103. package/es2018/plugins/translate/translate.min.js +1 -1
  104. package/es2018/plugins/tune-block/tune-block.min.js +1 -1
  105. package/es2021/jodit.css +1 -1
  106. package/es2021/jodit.fat.min.css +1 -1
  107. package/es2021/jodit.fat.min.js +19 -19
  108. package/es2021/jodit.js +2 -2
  109. package/es2021/jodit.min.css +1 -1
  110. package/es2021/jodit.min.js +2 -2
  111. package/es2021/plugins/ai-assistant-pro/ai-assistant-pro.css +1 -1
  112. package/es2021/plugins/ai-assistant-pro/ai-assistant-pro.js +204 -162
  113. package/es2021/plugins/ai-assistant-pro/ai-assistant-pro.min.js +15 -15
  114. package/es2021/plugins/autocomplete/autocomplete.css +1 -1
  115. package/es2021/plugins/autocomplete/autocomplete.js +1 -1
  116. package/es2021/plugins/autocomplete/autocomplete.min.js +1 -1
  117. package/es2021/plugins/backup/backup.css +1 -1
  118. package/es2021/plugins/backup/backup.js +1 -1
  119. package/es2021/plugins/backup/backup.min.js +1 -1
  120. package/es2021/plugins/button-generator/button-generator.css +1 -1
  121. package/es2021/plugins/button-generator/button-generator.js +1 -1
  122. package/es2021/plugins/button-generator/button-generator.min.js +1 -1
  123. package/es2021/plugins/change-case/change-case.js +1 -1
  124. package/es2021/plugins/change-case/change-case.min.js +1 -1
  125. package/es2021/plugins/color-picker/color-picker.css +1 -1
  126. package/es2021/plugins/color-picker/color-picker.js +1 -1
  127. package/es2021/plugins/color-picker/color-picker.min.js +1 -1
  128. package/es2021/plugins/emoji/emoji.css +1 -1
  129. package/es2021/plugins/emoji/emoji.js +1 -1
  130. package/es2021/plugins/emoji/emoji.min.js +1 -1
  131. package/es2021/plugins/export-docs/export-docs.js +1 -1
  132. package/es2021/plugins/export-docs/export-docs.min.js +1 -1
  133. package/es2021/plugins/finder/finder.css +1 -1
  134. package/es2021/plugins/finder/finder.js +1 -1
  135. package/es2021/plugins/finder/finder.min.css +1 -1
  136. package/es2021/plugins/finder/finder.min.js +1 -1
  137. package/es2021/plugins/google-maps/google-maps.css +1 -1
  138. package/es2021/plugins/google-maps/google-maps.js +236 -75
  139. package/es2021/plugins/google-maps/google-maps.min.js +9 -9
  140. package/es2021/plugins/google-search/google-search.js +1 -1
  141. package/es2021/plugins/google-search/google-search.min.js +1 -1
  142. package/es2021/plugins/highlight-signature/highlight-signature.js +1 -1
  143. package/es2021/plugins/highlight-signature/highlight-signature.min.js +1 -1
  144. package/es2021/plugins/iframe-editor/iframe-editor.css +1 -1
  145. package/es2021/plugins/iframe-editor/iframe-editor.js +1 -1
  146. package/es2021/plugins/iframe-editor/iframe-editor.min.js +1 -1
  147. package/es2021/plugins/image-editor-pro/image-editor-pro.css +1 -1
  148. package/es2021/plugins/image-editor-pro/image-editor-pro.js +2 -4
  149. package/es2021/plugins/image-editor-pro/image-editor-pro.min.js +1 -1
  150. package/es2021/plugins/keyboard/keyboard.css +1 -1
  151. package/es2021/plugins/keyboard/keyboard.js +1 -1
  152. package/es2021/plugins/keyboard/keyboard.min.js +1 -1
  153. package/es2021/plugins/mobile-view/mobile-view.js +1 -1
  154. package/es2021/plugins/mobile-view/mobile-view.min.js +1 -1
  155. package/es2021/plugins/page-break/page-break.js +1 -1
  156. package/es2021/plugins/page-break/page-break.min.js +1 -1
  157. package/es2021/plugins/paste-code/paste-code.css +1 -1
  158. package/es2021/plugins/paste-code/paste-code.js +1 -1
  159. package/es2021/plugins/paste-code/paste-code.min.js +1 -1
  160. package/es2021/plugins/paste-from-word/paste-from-word.js +1 -1
  161. package/es2021/plugins/paste-from-word/paste-from-word.min.js +1 -1
  162. package/es2021/plugins/show-blocks/show-blocks.js +1 -1
  163. package/es2021/plugins/show-blocks/show-blocks.min.js +1 -1
  164. package/es2021/plugins/style/style.css +1 -1
  165. package/es2021/plugins/style/style.js +1 -1
  166. package/es2021/plugins/style/style.min.js +1 -1
  167. package/es2021/plugins/templates/templates.css +1 -1
  168. package/es2021/plugins/templates/templates.js +1 -1
  169. package/es2021/plugins/templates/templates.min.js +1 -1
  170. package/es2021/plugins/todo-list/todo-list.css +1 -1
  171. package/es2021/plugins/todo-list/todo-list.js +1 -1
  172. package/es2021/plugins/todo-list/todo-list.min.js +1 -1
  173. package/es2021/plugins/translate/translate.css +1 -1
  174. package/es2021/plugins/translate/translate.js +1 -1
  175. package/es2021/plugins/translate/translate.min.js +1 -1
  176. package/es2021/plugins/tune-block/tune-block.css +1 -1
  177. package/es2021/plugins/tune-block/tune-block.js +1 -1
  178. package/es2021/plugins/tune-block/tune-block.min.js +1 -1
  179. package/es2021.en/jodit.css +1 -1
  180. package/es2021.en/jodit.fat.min.css +1 -1
  181. package/es2021.en/jodit.fat.min.js +19 -19
  182. package/es2021.en/jodit.js +2 -2
  183. package/es2021.en/jodit.min.css +1 -1
  184. package/es2021.en/jodit.min.js +2 -2
  185. package/es2021.en/plugins/ai-assistant-pro/ai-assistant-pro.css +1 -1
  186. package/es2021.en/plugins/ai-assistant-pro/ai-assistant-pro.js +204 -162
  187. package/es2021.en/plugins/ai-assistant-pro/ai-assistant-pro.min.js +15 -15
  188. package/es2021.en/plugins/autocomplete/autocomplete.css +1 -1
  189. package/es2021.en/plugins/autocomplete/autocomplete.js +1 -1
  190. package/es2021.en/plugins/autocomplete/autocomplete.min.js +1 -1
  191. package/es2021.en/plugins/backup/backup.css +1 -1
  192. package/es2021.en/plugins/backup/backup.js +1 -1
  193. package/es2021.en/plugins/backup/backup.min.js +1 -1
  194. package/es2021.en/plugins/button-generator/button-generator.css +1 -1
  195. package/es2021.en/plugins/button-generator/button-generator.js +1 -1
  196. package/es2021.en/plugins/button-generator/button-generator.min.js +1 -1
  197. package/es2021.en/plugins/change-case/change-case.js +1 -1
  198. package/es2021.en/plugins/change-case/change-case.min.js +1 -1
  199. package/es2021.en/plugins/color-picker/color-picker.css +1 -1
  200. package/es2021.en/plugins/color-picker/color-picker.js +1 -1
  201. package/es2021.en/plugins/color-picker/color-picker.min.js +1 -1
  202. package/es2021.en/plugins/emoji/emoji.css +1 -1
  203. package/es2021.en/plugins/emoji/emoji.js +1 -1
  204. package/es2021.en/plugins/emoji/emoji.min.js +1 -1
  205. package/es2021.en/plugins/export-docs/export-docs.js +1 -1
  206. package/es2021.en/plugins/export-docs/export-docs.min.js +1 -1
  207. package/es2021.en/plugins/finder/finder.css +1 -1
  208. package/es2021.en/plugins/finder/finder.js +1 -1
  209. package/es2021.en/plugins/finder/finder.min.css +1 -1
  210. package/es2021.en/plugins/finder/finder.min.js +1 -1
  211. package/es2021.en/plugins/google-maps/google-maps.css +1 -1
  212. package/es2021.en/plugins/google-maps/google-maps.js +236 -75
  213. package/es2021.en/plugins/google-maps/google-maps.min.js +9 -9
  214. package/es2021.en/plugins/google-search/google-search.js +1 -1
  215. package/es2021.en/plugins/google-search/google-search.min.js +1 -1
  216. package/es2021.en/plugins/highlight-signature/highlight-signature.js +1 -1
  217. package/es2021.en/plugins/highlight-signature/highlight-signature.min.js +1 -1
  218. package/es2021.en/plugins/iframe-editor/iframe-editor.css +1 -1
  219. package/es2021.en/plugins/iframe-editor/iframe-editor.js +1 -1
  220. package/es2021.en/plugins/iframe-editor/iframe-editor.min.js +1 -1
  221. package/es2021.en/plugins/image-editor-pro/image-editor-pro.css +1 -1
  222. package/es2021.en/plugins/image-editor-pro/image-editor-pro.js +2 -4
  223. package/es2021.en/plugins/image-editor-pro/image-editor-pro.min.js +1 -1
  224. package/es2021.en/plugins/keyboard/keyboard.css +1 -1
  225. package/es2021.en/plugins/keyboard/keyboard.js +1 -1
  226. package/es2021.en/plugins/keyboard/keyboard.min.js +1 -1
  227. package/es2021.en/plugins/mobile-view/mobile-view.js +1 -1
  228. package/es2021.en/plugins/mobile-view/mobile-view.min.js +1 -1
  229. package/es2021.en/plugins/page-break/page-break.js +1 -1
  230. package/es2021.en/plugins/page-break/page-break.min.js +1 -1
  231. package/es2021.en/plugins/paste-code/paste-code.css +1 -1
  232. package/es2021.en/plugins/paste-code/paste-code.js +1 -1
  233. package/es2021.en/plugins/paste-code/paste-code.min.js +1 -1
  234. package/es2021.en/plugins/paste-from-word/paste-from-word.js +1 -1
  235. package/es2021.en/plugins/paste-from-word/paste-from-word.min.js +1 -1
  236. package/es2021.en/plugins/show-blocks/show-blocks.js +1 -1
  237. package/es2021.en/plugins/show-blocks/show-blocks.min.js +1 -1
  238. package/es2021.en/plugins/style/style.css +1 -1
  239. package/es2021.en/plugins/style/style.js +1 -1
  240. package/es2021.en/plugins/style/style.min.js +1 -1
  241. package/es2021.en/plugins/templates/templates.css +1 -1
  242. package/es2021.en/plugins/templates/templates.js +1 -1
  243. package/es2021.en/plugins/templates/templates.min.js +1 -1
  244. package/es2021.en/plugins/todo-list/todo-list.css +1 -1
  245. package/es2021.en/plugins/todo-list/todo-list.js +1 -1
  246. package/es2021.en/plugins/todo-list/todo-list.min.js +1 -1
  247. package/es2021.en/plugins/translate/translate.css +1 -1
  248. package/es2021.en/plugins/translate/translate.js +1 -1
  249. package/es2021.en/plugins/translate/translate.min.js +1 -1
  250. package/es2021.en/plugins/tune-block/tune-block.css +1 -1
  251. package/es2021.en/plugins/tune-block/tune-block.js +1 -1
  252. package/es2021.en/plugins/tune-block/tune-block.min.js +1 -1
  253. package/es5/jodit.css +2 -2
  254. package/es5/jodit.fat.min.css +1 -1
  255. package/es5/jodit.fat.min.js +2 -2
  256. package/es5/jodit.js +1788 -2701
  257. package/es5/jodit.min.css +3 -3
  258. package/es5/jodit.min.js +2 -2
  259. package/es5/plugins/ai-assistant-pro/ai-assistant-pro.css +1 -1
  260. package/es5/plugins/ai-assistant-pro/ai-assistant-pro.js +406 -275
  261. package/es5/plugins/ai-assistant-pro/ai-assistant-pro.min.js +2 -2
  262. package/es5/plugins/autocomplete/autocomplete.css +1 -1
  263. package/es5/plugins/autocomplete/autocomplete.js +1 -1
  264. package/es5/plugins/autocomplete/autocomplete.min.js +1 -1
  265. package/es5/plugins/backup/backup.css +1 -1
  266. package/es5/plugins/backup/backup.js +9 -9
  267. package/es5/plugins/backup/backup.min.js +2 -2
  268. package/es5/plugins/button-generator/button-generator.css +1 -1
  269. package/es5/plugins/button-generator/button-generator.js +11 -18
  270. package/es5/plugins/button-generator/button-generator.min.js +2 -2
  271. package/es5/plugins/change-case/change-case.js +1 -1
  272. package/es5/plugins/change-case/change-case.min.js +1 -1
  273. package/es5/plugins/color-picker/color-picker.css +1 -1
  274. package/es5/plugins/color-picker/color-picker.js +10 -17
  275. package/es5/plugins/color-picker/color-picker.min.js +2 -2
  276. package/es5/plugins/emoji/emoji.css +1 -1
  277. package/es5/plugins/emoji/emoji.js +7 -7
  278. package/es5/plugins/emoji/emoji.min.js +2 -2
  279. package/es5/plugins/export-docs/export-docs.js +11 -11
  280. package/es5/plugins/export-docs/export-docs.min.js +2 -2
  281. package/es5/plugins/finder/finder.css +1 -1
  282. package/es5/plugins/finder/finder.js +4 -10
  283. package/es5/plugins/finder/finder.min.css +1 -1
  284. package/es5/plugins/finder/finder.min.js +2 -2
  285. package/es5/plugins/google-maps/google-maps.css +1 -1
  286. package/es5/plugins/google-maps/google-maps.js +334 -114
  287. package/es5/plugins/google-maps/google-maps.min.js +2 -2
  288. package/es5/plugins/google-search/google-search.js +1 -1
  289. package/es5/plugins/google-search/google-search.min.js +1 -1
  290. package/es5/plugins/highlight-signature/highlight-signature.js +6 -6
  291. package/es5/plugins/highlight-signature/highlight-signature.min.js +2 -2
  292. package/es5/plugins/iframe-editor/iframe-editor.css +1 -1
  293. package/es5/plugins/iframe-editor/iframe-editor.js +6 -6
  294. package/es5/plugins/iframe-editor/iframe-editor.min.js +2 -2
  295. package/es5/plugins/image-editor-pro/image-editor-pro.css +1 -1
  296. package/es5/plugins/image-editor-pro/image-editor-pro.js +29 -42
  297. package/es5/plugins/image-editor-pro/image-editor-pro.min.js +2 -2
  298. package/es5/plugins/keyboard/keyboard.css +1 -1
  299. package/es5/plugins/keyboard/keyboard.js +6 -6
  300. package/es5/plugins/keyboard/keyboard.min.js +2 -2
  301. package/es5/plugins/mobile-view/mobile-view.js +6 -6
  302. package/es5/plugins/mobile-view/mobile-view.min.js +2 -2
  303. package/es5/plugins/page-break/page-break.js +6 -6
  304. package/es5/plugins/page-break/page-break.min.js +2 -2
  305. package/es5/plugins/paste-code/paste-code.css +1 -1
  306. package/es5/plugins/paste-code/paste-code.js +13 -13
  307. package/es5/plugins/paste-code/paste-code.min.js +2 -2
  308. package/es5/plugins/paste-from-word/paste-from-word.js +1 -1
  309. package/es5/plugins/paste-from-word/paste-from-word.min.js +1 -1
  310. package/es5/plugins/show-blocks/show-blocks.js +8 -8
  311. package/es5/plugins/show-blocks/show-blocks.min.js +2 -2
  312. package/es5/plugins/style/style.css +1 -1
  313. package/es5/plugins/style/style.js +1 -1
  314. package/es5/plugins/style/style.min.js +1 -1
  315. package/es5/plugins/templates/templates.css +1 -1
  316. package/es5/plugins/templates/templates.js +1 -1
  317. package/es5/plugins/templates/templates.min.js +1 -1
  318. package/es5/plugins/todo-list/todo-list.css +1 -1
  319. package/es5/plugins/todo-list/todo-list.js +18 -18
  320. package/es5/plugins/todo-list/todo-list.min.js +2 -2
  321. package/es5/plugins/translate/translate.css +1 -1
  322. package/es5/plugins/translate/translate.js +7 -7
  323. package/es5/plugins/translate/translate.min.js +2 -2
  324. package/es5/plugins/tune-block/tune-block.css +1 -1
  325. package/es5/plugins/tune-block/tune-block.js +7 -7
  326. package/es5/plugins/tune-block/tune-block.min.js +2 -2
  327. package/es5/polyfills.fat.min.js +2 -2
  328. package/es5/polyfills.js +225 -105
  329. package/es5/polyfills.min.js +2 -2
  330. package/esm/plugins/ai-assistant-pro/core/sanitize-utils.d.ts +18 -0
  331. package/esm/plugins/ai-assistant-pro/core/sanitize-utils.js +1 -0
  332. package/esm/plugins/ai-assistant-pro/tools/add-html/executor.js +1 -1
  333. package/esm/plugins/ai-assistant-pro/tools/replace-block/executor.js +1 -1
  334. package/esm/plugins/ai-assistant-pro/tools/replace-in-document/executor.js +1 -1
  335. package/esm/plugins/google-maps/config.js +1 -1
  336. package/esm/plugins/google-maps/ui/map/map.d.ts +3 -2
  337. package/esm/plugins/google-maps/ui/map/map.js +2 -2
  338. package/esm/plugins/google-maps/ui/map/modules/drawing-controller.d.ts +42 -0
  339. package/esm/plugins/google-maps/ui/map/modules/drawing-controller.js +1 -0
  340. package/package.json +1 -1
  341. package/types/plugins/ai-assistant-pro/core/sanitize-utils.d.ts +18 -0
  342. package/types/plugins/google-maps/ui/map/map.d.ts +3 -2
  343. package/types/plugins/google-maps/ui/map/modules/drawing-controller.d.ts +42 -0
@@ -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.38
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,drawing&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,"&nbsp;",(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">
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,"&nbsp;",(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 y}});var o=n(82749),r=n(31635);n(55029);var s=n(22125),a=n(1475),l=n(81577),c=n(97357),d=n(13525),u=n(37133),h=n(580),p=n(38837),f=n(41180),m=n(67510),g=n(11676),b=n(17298);class y extends m.UIGroup{className(){return"UIMap"}json(){return JSON.stringify({...this.state,mode:"hand"})}async onReady(){await this.apiLoaded;let t=this.getElm("map-root");(0,p.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.initDrawManager(),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")})}initDrawManager(){try{let t=new google.maps.drawing.DrawingManager;t.setMap(this.map),t.setOptions({drawingControl:!1,polygonOptions:{...this.options.googleMaps.map.defaultStates.polygon,clickable:!0,editable:!0},polylineOptions:{...this.options.googleMaps.map.defaultStates.polyline,clickable:!0,editable:!0},markerOptions:{...this.options.googleMaps.map.defaultStates.marker,clickable:!0},circleOptions:{...this.options.googleMaps.map.defaultStates.circle,clickable:!0,editable:!0}}),this.drawingManager=t,google.maps.event.addListener(t,"overlaycomplete",t=>{t.overlay&&(s.addNewInState.call(this,t.overlay),t.overlay.setMap(null))})}catch{}}changeCreateMode(t){this.state.mode=this.state.mode===t?"hand":t}onChangeMode(){this.j.buffer.set("createMode.gm",this.state.mode),this.drawingManager?.setDrawingMode("hand"===this.state.mode?null: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)=>a.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(b.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,p.assert)(null!=t,"map-size element does not exists"),(0,f.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))}render(){return`<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 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=/(?![*_])[\p{P}\p{S}]/u,B=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(),N=/^(?:\*+(?:((?!\*)punct)|[^\s*]))|^_+(?:((?!_)punct)|([^\s_]))/,O=c(N,"u").replace(/punct/g,P).getRegex(),F=c(N,"u").replace(/punct/g,R).getRegex(),H="^[^_*]*?__[^_*]*?\\*[^_*]*?(?=__)|[^*]+(?=[^*])|(?!\\*)punct(\\*+)(?=[\\s]|$)|notPunctSpace(\\*+)(?!\\*)(?=punctSpace|$)|(?!\\*)punctSpace(\\*+)(?=notPunctSpace)|[\\s](\\*+)(?!\\*)(?=punct)|(?!\\*)punct(\\*+)(?!\\*)(?=punct)|notPunctSpace(\\*+)(?=notPunctSpace)",U=c(H,"gu").replace(/notPunctSpace/g,D).replace(/punctSpace/g,L).replace(/punct/g,P).getRegex(),q=c(H,"gu").replace(/notPunctSpace/g,/(?:[^\s\p{P}\p{S}]|~)/u).replace(/punctSpace/g,/(?!~)[\s\p{P}\p{S}]/u).replace(/punct/g,R).getRegex(),V=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(),W=c(/^~~?(?:((?!~)punct)|[^\s~])/,"u").replace(/punct/g,z).getRegex(),$=c("^[^~]+(?=[^~])|(?!~)punct(~~?)(?=[\\s]|$)|notPunctSpace(~~?)(?!~)(?=punctSpace|$)|(?!~)punctSpace(~~?)(?=notPunctSpace)|[\\s](~~?)(?!~)(?=punct)|(?!~)punct(~~?)(?!~)(?=punct)|notPunctSpace(~~?)(?=notPunctSpace)","gu").replace(/notPunctSpace/g,/(?:[^\s\p{P}\p{S}]|[*_])/u).replace(/punctSpace/g,/(?![*_])[\s\p{P}\p{S}]/u).replace(/punct/g,z).getRegex(),G=c(/\\(punct)/,"gu").replace(/punct/g,P).getRegex(),K=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(),Y=c(k).replace("(?:--\x3e|$)","--\x3e").getRegex(),J=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",Y).replace("attribute",/\s+[a-zA-Z:_][\w.:-]*(?:\s*=\s*"[^"]*"|\s*=\s*'[^']*'|\s*=\s*[^\s"'=<>`]+)?/).getRegex(),X=/(?:\[(?:\\[\s\S]|[^\[\]\\])*\]|\\[\s\S]|`+[^`]*?`+(?!`)|[^\[\]\\`])*?/,Z=c(/^!?\[(label)\]\(\s*(href)(?:(?:[ \t]+(?:\n[ \t]*)?|\n[ \t]*)(title))?\s*\)/).replace("label",X).replace("href",/<(?:\\.|[^\n<>\\])+>|[^ \t\n\x00-\x1f]*/).replace("title",/"(?:\\"?|[^"\\])*"|'(?:\\'?|[^'\\])*'|\((?:\\\)?|[^)\\])*\)/).getRegex(),Q=c(/^!?\[(label)\]\[(ref)\]/).replace("label",X).replace("ref",y).getRegex(),ee=c(/^!?\[(ref)\](?:\[\])?/).replace("ref",y).getRegex(),et=c("reflink|nolink(?!\\()","g").replace("reflink",Q).replace("nolink",ee).getRegex(),ei=/[hH][tT][tT][pP][sS]?|[fF][tT][pP]/,en={_backpedal:l,anyPunctuation:G,autolink:K,blockSkip:B,br:A,code:/^(`+)([^`]|[^`][\s\S]*?[^`])\1(?!`)/,del:l,delLDelim:l,delRDelim:l,emStrongLDelim:O,emStrongRDelimAst:U,emStrongRDelimUnd:V,escape:/^\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/,link:Z,nolink:ee,punctuation:M,reflink:Q,reflinkSearch:et,tag:J,text:/^(`+|[^`])(?:(?= {2,}\n)|[\s\S]*?(?:(?=[\\<!\[`*_]|\b_|$)|[^ ](?= {2,}\n)))/,url:l},eo={...en,link:c(/^!?\[(label)\]\((.*?)\)/).replace("label",X).getRegex(),reflink:c(/^!?\[(label)\]\s*\[([^\]]*)\]/).replace("label",X).getRegex()},er={...en,emStrongRDelimAst:q,emStrongLDelim:F,delLDelim:W,delRDelim:$,url:c(/^((?:protocol):\/\/|www\.)(?:[a-zA-Z0-9\-]+\.?)+[^\s<]*|^email/).replace("protocol",ei).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",ei).getRegex()},es={...er,br:c(A).replace("{2,}","*").getRegex(),text:c(er.text).replace("\\b_","\\b_| {2,}\\n").replace(/\{2,\}/g,"*").getRegex()},ea={normal:I,gfm:T,pedantic:j},el={normal:en,gfm:er,breaks:es,pedantic:eo},ec={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;"},ed=t=>ec[t];function eu(t,i){if(i){if(u.escapeTest.test(t))return t.replace(u.escapeReplace,ed)}else if(u.escapeTestNoEncode.test(t))return t.replace(u.escapeReplaceNoEncode,ed);return t}function eh(t){try{t=encodeURI(t).replace(u.percentDecode,"%")}catch{return null}return t}function ep(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 ef(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 em(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 eg=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:ef(t,`
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={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;"},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=ef(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:ef(i[0],`
1436
- `)}}blockquote(t){let i=this.rules.block.blockquote.exec(t);if(i){let t=ef(i[0],`
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=ep(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(ep(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)return{type:"heading",raw:i[0],depth:"="===i[2].charAt(0)?1:2,text:i[1],tokens:this.lexer.inline(i[1])}}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=ef(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)),em(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 em(n,t,n[0],this.lexer,this.rules)}}emStrong(t,i,n=""){let o=this.rules.inline.emStrongLDelim.exec(t);if(!(!o||o[3]&&n.match(this.rules.other.unicodeAlphaNumeric))&&(!(o[1]||o[2])||!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}},eb=class t{static get rules(){return{block:ea,inline:el}}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.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,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 eg,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:ea.normal,inline:el.normal};this.options.pedantic?(i.block=ea.pedantic,i.inline=el.pedantic):this.options.gfm&&(i.block=ea.gfm,this.options.breaks?i.inline=el.breaks:i.inline=el.gfm),this.tokenizer.rules=i}},ev=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-'+eu(o)+'">'+(n?r:eu(r,!0))+`</code></pre>
1472
- `:"<pre><code>"+(n?r:eu(r,!0))+`</code></pre>
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>${eu(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=eh(t);if(null===r)return o;let s='<a href="'+(t=r)+'"';return i&&(s+=' title="'+eu(i)+'"'),s+=">"+o+"</a>"}image({href:t,title:i,text:n,tokens:o}){o&&(n=this.parser.parseInline(o,this.parser.textRenderer));let r=eh(t);if(null===r)return eu(n);t=r;let s=`<img src="${t}" alt="${eu(n)}"`;return i&&(s+=` title="${eu(i)}"`),s+=">"}text(t){return"tokens"in t&&t.tokens?this.parser.parseInline(t.tokens):"escaped"in t&&t.escaped?t.text:eu(t.text)}constructor(t){o(this,"options",void 0),o(this,"parser",void 0),this.options=t||a}},ey=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}},ew=class t{static parse(i,n){return new t(n).parse(i)}static parseInline(i,n){return new t(n).parseInline(i)}parse(t){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){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 ev,this.renderer=this.options.renderer,this.renderer.options=this.options,this.renderer.parser=this,this.textRenderer=new ey}},e_=(s=class{preprocess(t){return t}postprocess(t){return t}processAllTokens(t){return t}emStrongMask(t){return t}provideLexer(){return this.block?eb.lex:eb.lexInline}provideParser(){return this.block?ew.parse:ew.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),eC=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 ev(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 eg(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 e_;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];e_.passThroughHooks.has(n)?i[n]=t=>{if(this.defaults.async&&e_.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 eb.lex(t,i??this.defaults)}parser(t,i){return ew.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?eb.lex:eb.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?ew.parse:ew.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?eb.lex:eb.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?ew.parse:ew.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>"+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});